How About an InstallSqueak Image?

Tim Rowledge rowledge at interval.com
Tue Jun 15 05:36:40 UTC 1999


On Mon 14 Jun, Eric Ulevik wrote:

> This is too hard! The point of an installer is to create a single file that
> is run and does all the setup needed.
Have you looked at a Windows installable CD recently? Good grief, there's
usually so many files it's hard to spot the 'install.exe' or 'setup.thingy'
or whatever!

Probably the simplest 'universal' format for this would be a zip file;
every platform I have access to seems to be able to decode a zip, most of
them can do it via a nice GUI app. Several X window managers, the Acorn,
Windows and Mac can even treat zip files as directories, allowing you to
simply drag the files out with the mouse. Since Squeak needs no complicated
extension files or registry magic etc, this ought to be fine.
So we _can_ distribute a single file, it just happens to contain several
inside it. I suppose Windows and KDE(etc) under X11 would need some way to
make the association between image file and the VM - Mac and Acorn seem
to have no problem.
> 
> Further, the drag-image-over-VM idea is very fiddly for typical Windows
> developers. Double-click the EXE should open a VM, assuming there is one and
> only one in the same directory.
We had some discussions about this a _long_ time ago and I think the
conclusion was that it could be done in various ways; for example on Mac,
compile the image/source/changelog into the resource fork, similar on
Windows, Acorn is trivial to do (in fact I do it anyway), Unix not much
more problematic.
Other suggestions were made at the time, most of them quite
feasible. I think the only trick is making the default image request that
the user saves immediately under a new name.

AND....
On Mon 14 Jun, Andrew C. Greenberg wrote:

> That's great.  Dan's stuff should make this fairly easy to do. 
> (Since the VM is itself pretty small, I wonder if it isn't better 
> just to make them download it once, download an installSqueak image, 
> drag the image over the VM, and the next time they click on the VM -- 
> the regular system just autoloads.  (They are free to keep around or 
> delete the installSqueak image as they see fit)).
The point I wanted to make was that there is no need for there to be a
separate install image or VM -- with partial image chunks the minimal image
can simply grow to include whatever bits are needed as you use it! Same for
the VM with everything pluginised; if you try to open a net connection, the
partial image with net-stuff gets loaded and when a net primitive is called
the plugin module is loaded. If you don't use the net, it never gets
loaded. The user will never know it wasn't there....

It may be that the quick load and startup time that a micro-system should
provide would make a feasible 'scripting' environment to compete with PERL
and Python etc. You could even have BitBlt and all the display/event stuff
as plugins. Actually you _could_ go so far as to make the entire VM plugins
and be able to replace  them on the fly as requirements change:-
 - bring in a more sophisticated memory manger if the image grows,
 otherwise don't bother.
 - bring in the jitter core if the program runs a while and would benefit,
 otherwise stick with the interpreter on the assumption it is a short lived
 script.
 - swap simplistic IO for full Display/Windows/etc when an error occurs to
 allow debugging

tim

-- 
Useful random insult:- His future is behind schedule.  -- Bob Thaves
Tim Rowledge:  rowledge at interval.com (w)  +1 (650) 842-6110 (w)
 tim at sumeru.stanford.edu (h)  <http://sumeru.stanford.edu/tim>





More information about the Squeak-dev mailing list