Squeak SmalltalkJoker Squeak Smalltalk : Image VM OS Application : prevnext Croquet Remote Application Integration

Well, there's integration and then there's integration.

One thing the Wisconsin package in the repository does is let the user specify 
a URL to create a connection to. The system brings up a shared Remove Frame 
Buffer display (aka Virtual Network Computing) to a Unix server.  If the URL 
ends in .doc, it brings up a Word clone (OpenOffice). If it ends in .pdf, it 
brings up an Acrobet clone (evince). No .xls support yet, but OpenOffice 
should handle that. Anything else, and it brings up Firefox.

The effect is that the users of the space have a series of "virtual table PCs" 
that are each dedicated to a particular application -- i.e., a program 
operating on a particular data file.  Instead of opening and closing 
executables on dead files on your Windows desktop, you have long-lived 
"objects" that embody the application AND the data in one.

Under the hood, there's a little protocol whereby the Unix server is running a 
little python HTTP server to launch these applications in a sandbox. That is, 
you don't see the full Unix desktop -- instead, each virtual tablet PC panel 
is trapped to just that one application.

There are a couple of issues here. Some temporary, some deep:

* It's relatively slow. This is improving rapidly as we tune it, but I don't 
  think it's ever going to be fast enough to run First-Person Shooter games in 
  a browser on a remote system within Croquet. It should (soon) be fine for 
  .doc or .pdf or normal Web browsing.

* Neither the application nor the data are "in" Croquet. Suppose you edit a 
  file and want to save it. As it stands now, it would save on the server. 
  Managing files and versions and copies is a mess that Croquet is 
  successfully designed (as I view it) to avoid. But this non-Croquet stuff 
  brings those issues back. Also, for the server to see the file in the first 
  place, it has to be world-accessible via http so that the server can fetch 
  it via the specified URL. We can address both these issues after a fashion 
  by having a means to get files from/to your disk to the server, but that's 
  not a Croquet issue.

* As with any shared VNC application, all users have the same security. I hope 
  and believe that long-term, we can arrange for different security to be on 
  different UI objects that at least appear to be within the same space. But 
  this is a bit past my current time horizon. And even then, it will only 
  allow for different access for different users of different Croquet objects 
  (e.g., the display panels), not for individual operations within the foreign 
  application. (I.e., we can't fix Windows(TM).)

* This approach essentially makes a window that punches a whole through the 
  fabric of Croquet to legacy applications. Some consequences (in addition to 
  file management and access) are that the model of time and objects is 
  different. Croquet is designed for everybody to see the same thing at the 
  same Croquet-time. What's happening on the VNC server is happening in the 
  server's real-time. And the objects at the far end of the VNC "window" or 
  "tunnel" can't interact with objects in Croquet. For example, you can't drag 
  an object within a foreign Web browser off the display panel and onto some 
  other Croquet object. These issues probably don't matter at all for legacy 
  applications, which aren't designed to support coordination between 
  applications anyway. But as Croquet environments get richer and get designed 
  to take advantage of such concepts, a VNC-based solution is going to start 
  looking pretty hokey.

All these issues are not peculiar to RFB/VNC, of course. You could do use the 
RFB stuff as a model to punch an analogous hole to display LOCAL Java, .NET, 
or whatever you want. Andreas has written a powerful EmbeddedApplication 
framework that is used underneath the RFB stuff. One additional issue you 
would face (that RFB covers) is what should other folks in the space see? Do 

Howard Stearns
they need to have the same applications and data files on their computer?