A roadmap for 3.9

Hannes Hirzel hirzel at spw.unizh.ch
Sun Dec 12 18:27:58 UTC 2004


Hi

<this is a longer email but I hope it is worth reading>


A. Main goal for 3.9
--------------------

May I ask you if one can summarize the discussion so far that the goal
for 3.9 is 'better usability' in a very general sense.


A question which leads to quite some heated emails is what to include in 
the base image and which packages should be supported in the full image.

I do not think that this is in fact is so important as the mechanisms 
for loading additional packages works excellent.

I there a current updated list of all packages which are 'official'?
(This means they are somehow more 'supported' than the 'non-official'
  packages)





B. Better usability on a UI level
----------------------------------

A Better usability on a UI level means

- Diegos new menubar at the top (and other UI changes)
- Shout (Syntax highlighting)
- eCompletion (Proposal of method signatures as you type - like Eclipse)
- New Preferences Browser (Hernan T.)
- KeyMapping tool

Better usability on a system/developer level means
- Anthonys compiler in addition -> the default is still the current one.
   (helps users working with Smalltalk as the language because it has
    a clean and adaptabel parse tree structure - for example one
    could use Squeak as an MDA modeling language and generate code
    for various platforms)
- SystemDictionary changes (see note below)
- Monticello ( an alternative to change sets, it gives
                a better view at the packages and gives more
                options for co-developing code)
- Traits ( a kind of Java interfaces but instead of only method
            signature definitions may contain instance variables and
            code - see as well note below)




C. Concerns
-----------

Concerns are that the rate of change is too high and that the system 
gets unstable and unreliable or that the effort of keeping the old 
packages in line with the new versions is difficult.

This is really a concern. But I think we generally can handle this by 
not including to much in a version. For this 3.8 is a fine example.
It once was decided that the main goal for 3.8 is the inclusion of 
multilingualisation (with which I am happy). But still a wealth
of minor enhancements were added. I have been testing 3.8 in the last 
two weeks and with the help of Monticello it was very easy to port an 
application and two utility packages from 3.6 to 3.8.


see the list of things accomplished in 3.8
http://minnow.cc.gatech.edu/squeak/3832
(Thank you Marcus Denker for updating it).


As Traits is in a sense a major language change (actually an viable good 
enhancement) I would suggest to postpone its inclusion in the base image 
but at the same time add it to the official package list and make sure
that it works fine with 3.9. In a later version its inclusion could be 
reconsidered again.

A note to the Berne group:
The Berne group always can take a base 3.8 or later 3.9 image, add some 
additional package and distribute it to their students (and others - I 
could imagine many other people are intested).



D. Outlook
-----------

What do you think?
Wouln't it be an idea to focus more on the completion and testing of the 
indivual packages in the future than discussing what to include in the
base image in addition. It is surely a good thing to have a lean base
image.

We could even reconsider having a 'developer image'. I well remember the 
discussion about how many images to officially support and how to name them.

Therefore it could be a good thing to have the base image pretty much as 
is now (besides the addition of Anthonys compiler and some 
SystemDictionary changes) and work with the rest in the packages and 
finally assemble a developer image version. So for example Andreas could 
build on the base image.


Kind regards
Hannes







More information about the Squeak-dev mailing list