[squeak-dev] All-In-One distribution (was: Changing the Trunk version from 6.0alpha to 5.2alpha)

H. Hirzel hannes.hirzel at gmail.com
Thu May 31 06:46:07 UTC 2018


Hello

I think a compromise could be to

a) go for a smooth Mac installation experience  at the moment; but
still maintain on the to do list to later on go for an AIO experience
again [1] (Mac/Windows/Linux)

b) Thus remove the inclusion of Mac support from the All-In-One at the
moment. The All-In-One would only support Linux and Windows as it is
currently.

c) Focus on getting loading legacy image segments to work fully[2].
Then there is less pressure on having different VMs around in order to
open *.morph and *.pr files done in earlier versions. [3]

d) Work on updating the compile and installation instructions for
doing different VMs for different variants of Linux. Tobias Pape
mentions limited resources. In terms of priority it is not so much the
availability of an actual Linux VM which counts but to have a good
process descriptions which allow other developers to produce Linux
VMs. [4][5]


--Hannes



[1] Bert Freudenberg writes in this thread: 'E.g. users in schools
used to love Etoys-to-Go installed on a USB stick, which would work
the same plugged into a Mac at school or a PC at home.'


[2] As of now it is possible to load a limited set of 6502 interpreter
*.pr and *.morph files.
http://wiki.squeak.org/squeak/6502
Work is all done in Smalltalk - no longer in C on the VM level.
See class LegacyImageSegment and also
http://forum.world.st/How-does-ImageSegmentLoader-readObject-work-tp5077513.html

This allows people to contribute to finalize this without any other
tool support than just the regular Squeak enviroment.


[3] It is probably mainly the loading of MethodProperties as Eliot
Miranda writes

http://forum.world.st/How-does-ImageSegmentLoader-readObject-work-tp5077513p5077578.html

<citation>
3.10 had an instance of MethodProperties as the penultimate literal in
all methods.  As of Cog (but this has nothing to do with the VM)
methods either have a selector in the penultimate literal, or an
instance of AdditionalMethodState (if the method has a pragma or
properties), hence saving considerable space.
</citation>




[4] Updated compiling and installation instructions for VMs on Linux.
This includes people reading the OpenSmalltalk lists (Cuis, Pharo,
Squeak) who do not have in-depth knowledge about VMs but can easily
follow well-written instructions.

This as well has to include more in-depth explanations about the
different types on VMs

- Virtual machine http://wiki.squeak.org/squeak/676
- Updated README file on
https://github.com/OpenSmalltalk/opensmalltalk-vm pointing to compile
and installation instructions


[5] See the thread on this list from 14th May 2018
'[squeak-dev] Squeak 4.6 on 32-Bits FreeBSD 11.1'
Questions about compiling a VM for FreeBSD. Then knowledge gained
there should be put in a place where it can be later on found easily.
(Help file - list of links to instructions?, Wiki on OpenSmalltalk?)

On 5/31/18, Tim Johnson <digit at sonic.net> wrote:
> Hi David,
>
>> On May 30, 2018, at 5:54 AM, David T. Lewis <lewis at mail.msen.com> wrote:
>>
>> This topic deserves a new subject line, and it would be great to get some
>> more input regarding who prefers using the All-In-One distribution for
>> regular use, versus other approaches for organizing their image and VM.
>
> Thanks for the request for comments.  :)
>
> I think the AIO is neat on its own.  I sometimes use the AIO and/or app
> bundle for one-off experiments which require a quick "download-n-go"
> experience where I expect to throw away any changes.
>
> But for Mac users, I'm afraid the AIO and especially the .app bundle take
> too prominent a place on the website compared to the more traditional VM &
> sources + image & changes combination, which takes a few extra clicks to
> discover.  I say this because there is AFAIK hardly any in-image or in-VM
> support for the "work style" imposed by the AIO / .app bundle on OS X /
> macOS.
>
> For example:  new users working with the AIO / app bundle may try "save
> as..." or "save as new version..." from the world menu and be surprised when
> any changes they thought they'd saved are gone the next time they run the
> AIO.  This is because, AFAIK, the AIO / .app bundle work style has no
> in-image support (or in-VM support) for loading any image other than the one
> bundled within an AIO / app bundle.  IIRC there have been discussions on the
> mailing list about adding this support (say, making the .app bundle load the
> highest successive .1 .2 .3 image inside the bundle, as created by "save as
> new version...") but I don't know if any changes ever were implemented.
> Forgive me if they have, and I missed it!
>
> When I really set an OS X system up for Squeak, I create a folder called
> "Squeak" in the /Applications folder.  Inside that folder, I put VMs and
> .sources files.  (The VM, when used in this way, already contains the
> facilities to pop up a file requester asking which image to load, which the
> AIO/.app wouldn't do.  It usually even remembers the last-used directory.)
> I'll usually throw my current preferred VM onto the Dock.  My image and
> changes files live elsewhere, either on my Desktop or in my Documents
> folder.   To load an image, I either double-click, right-click and "open
> with," or drag its icon onto a VM icon on my Dock.
>
> If I had my druthers, the default OS X / macOS download on squeak.org would
> no longer be the .app bundle, since this is too close to the AIO experience
> and shares its drawbacks.  It would instead be an archive or dmg with some
> combination of VM, sources, image, and changes files.  It could potentially
> even contain an installer .pkg which sets up the environment similar to what
> I described above.
>
>> My personal view is that the All-In-One is a valuable enhancement to
>> the basic image and VM downloads. I do not think that it is practical
>> to maintain it as the primary release artifact, but I do think that we
>> should provide it, as best we can, in addition to the primary image and
>> VM release downloads.
>
> Hear hear.
>
> best,
> { 'tim'.  'tim'.  'tim'.  'tim' } anyOne
>
>
>


More information about the Squeak-dev mailing list