[self-interest] Re: remote GUI
Jecel Assumpcao Jr.
jecel at merlintec.com
Mon Feb 28 20:46:44 UTC 2000
Thanks for the input, Stefan and Jerry. I am guessing that the Sun Ray protocol
is very similar to VNC, and that it also works best over fast networks.
In the end, I decided that the only way to work over the networks I will be
using is to have the whole application on the client machines, including
replicas of the shared model. The server would then work as a kind of hub,
receiving state updates from the clients and retransmitting those to all other
clients. One advantage of this design is that it can allow you to work offline
as well, which is important for those with dial-up connections.
Unfortunately, I think I will be forced to use Perl for the server and Squeak
for the client. Hopefully, I'll be able to replace both with Self versions
before the projects ends in June.
Perl: I can run Self on the server, but my site has a 33kbps link. If the
server is simple enough, then writing it in Perl will allow me to run it on any
hosting provider (Rapid Site, in this case). I would much prefer Python to
Perl, but many sites don't announce it being available...
Squeak: the client machines are underpowered Windows PCs. Self doesn't run on
PCs yet, and when it does it will first be in Linux and it will be slow (I am
supposing that the SIC won't be ported). A stripped down Squeak image can be
3MB or less, and clients don't need source and changes files. So it looks to me
like a smaller download and simpler install than Java2.
Some time ago, I wrote a simulator for a chorded keyboard I designed in Self.
It took me just about three minutes to get it working. I wasn't able to fully
test it since the Sun keyboard doesn't allow you to press more than three keys
at a time. To let other people try it (who didn't have SparcStations) I started
to rewrite it in Squeak. I didn't get very far before I had to give up due to
Squeak's lack of keyUp events. The I tried VisualBasic, but found that the
version I had didn't generate .EXE files so I would only be able to distribute
each version of the language handled events very differently so I would have to
write a special version for each browser! So I finally tried Java, using only
vi and linux.jdk-1.0.2-pl1 as my development tools. Though it was my third
complete rewrite of the program, this one took me much longer. The primitive
tools weren't so much of a problem, but the totally misleading descriptions of
the paint and update functions made we waste some two days until things were
working reasonably well.
The ideal solution (not counting being able to upload "Selflets" to client
machines) would be to be able to write the application in Self and have people
be able to use it with their normal browsers. For a while (in 1995, I think)
there was a machine at Sun outside their firewall and running Self so anyone
with a X server could connect and play around. It wasn't very usable on my
14400 modem, but things are a bit faster these days.
More information about the Self-interest