"Richard A. O'Keefe" ok@atlas.otago.ac.nz writes:
The beauty and power of Squeak is amazing; its fragility is scary. By this I mean the way things stop working between one release and the next, the number of projects out there that just don't load any more.
Nicely put, I want to highlight this. It's an important insight for newcomers, whose first instinct is to load a bunch of projects off BSS and squeakland in order to see some interesting stuff.
When this works reliably squeak will start spreading more quickly, and be a more pleasant end-user tool.
On the one hand that kind of thing practically doesn't happen in Eiffel;
I'd really like to be able to sling around this phrase with "Squeak" on the end of it. Hmm, what else could we be doing to make better use of assertions/tests/peer-review-type safety nets ?
I was thinking about cost-effective ways to improve the project loading experience. One might be to do semi-automated distributed testing of project loading, something like this:
- gather image compatibility data for projects: every time a project is loaded from a super swiki, record the outcome and this image's version (its highest-numbered update from the main stream) on the server. Eg save a couple of fields on the project's swiki page:
successfullyLoadedWith: #(4599@1 4640@9 ...) failedToLoadWith: #(4640@1 4102@5 4664@3 ...)
The second number is a count. Reset these lists or the counts whenever the project changes.
- optionally, have one or more robots loading projects in various images to find the problems before we do. Something like mozilla's tinderbox.
- use this data in various clever ways. In particular when browsing projects for download indicate up front how likely they are to work in this image. Eg green = "many people have successfully loaded this project recently in an image resembling yours", red = the opposite, black = unknown status. For newbies eg in the squeakland image, list only projects known to be currently compatible with this image.
Comments ? I won't get further with this in the short term, if anyone feels so moved please jump right in.
-Simon