Folks -
I awoke this morning with a scene from the movie "Look who's Talking" in my mind (I've never really seen the whole movie, but I did pass by the tube when my family was watching this scene). A 5- or 6-year old girl is having a fantasy of playing basketball (which she loves) with Michael Jordan (I think). She utters the subject exhortation, and then procedes to go out and tear up the court. I hope some of you recognize the scene.
At any rate, I have this feeling about Squeak right now. It's a time when there are great challenges in every direction, but I also think we can get through them and be on a completely new plateau in a month or two. It's also a time when we could use some help, so I figured it might be worth a message to the list.
My top priority My sole focus, and I will be working with Ted and consulting with Andreas about this, is to bring together ImageSegment swapping Project export/import A simple name space architecture Our goal is before the end of the year, to be able to start up a small kernel Squeak image, and then browse around to active content (remote projects) on the web, importing any that look interesting. The new content would be swappable off the disk thereafter so it is quick to access, and yet doesn't make the image too big for small machines.
There are two ways outsiders can help with this -- first is to critique the design, and second is to test the result. I greatly appreciate the feedback I got last month. OOPSLA caused me to suspend the work, but I'm back at it again. I plan to send out another message on this in the next day or two.
I think you can see that if this all works at all well, it will give us the effect of everyone in the world having access to the best Squeak demos and active tutorials. Remember that we have a working eventRecorder with built-in compressed voice-over. AND you can now launch Squeak from within Netscape. Tee Hee.
You Can Help The rest of the gruop is also pretty heavily loaded too, with John, Alan, and Scott focussed on end-user syntax and scripting issues, and Andreas up to his ears in polygons and JIT-Blt. There are at least two small items that would help us, or at least help me, just to keep the pace going in this busy time.
World Within a World Window. One of the tasks on my list is to implement a world within a world window for Morphic. I would love to hand this off to someone else, and I know there are several Squeakers out there who could do the job. Note that we already have the ability to have a morphic world in an MVC window. What we need is a morphic world in a morphic window. I got this partly working a month ago, and would be happy to pass along that code. One tricky thing to deal with is: is the inner world always active, or only when the window is active? The latter would be simplest and would be adequate for now. Another thing to deal with is global flaps. Currently global flaps are single instances that get moved around from project to project. The analogous thing to do for an inner world would be that when you activate the inner window, flaps disappear from the outer project and appear in the inner window. An alternative would be not to show global flaps in nested worlds.
Collecting Recent Submissions to 2.7alpha It would also save me a couple of days if someone could run through Squeak mail since the last time we were caught up with various enhancements and bug fixes. It would be ideal if that person would assemble the submissions, help me pick out any that might be questionable, and make sure the rest are happy in 2.7apha. I could then very easily turn the result around into the update stream. That way we can all keep going forward while I'm working on other stuff.
Volunteers for either of the above?
Squeak Socket Primitives I have held back from participating in this discussion because it is not an area in which I feel competent to make judgements. However I think we're converging on an approach that makes the best of the existing primitive interface, and also takes advantage of Craig's work on Correspondents. I'm going to stay out of details here, since if you get Squeak mail you have already been immersed in the whole discussion. At any rate, we'll do what we can to bring this to closure in the next little while.
Jitter/J3/TGV/Squam, but not "Late for Lunch" Ian seems to have his project well in hand, but I thought it deserves some mention in this list of semi-coordinated activity. Ian has made great progress, as those of you who were at OOPSLA will be aware. I'm hoping we can pick a reasonable plateau in the next few weeks and formally distribute a J3 VM, so that people can start enjoying the fruits of this very cool work.
- Dan, for SqC
World Within a World Window. Collecting Recent Submissions to 2.7alpha
Folks -
FYI, we have two volunteers -- Bob Arning for World Windows, and Dwight Hughes for recent submissions. Thanks much, guys!
This makes me wonder... Would people like more requests like this?
Just answer me off line if yes. If I get much response, I'll just send out a list of projects. It might be a bit redundant with the Swikis, but I've learned that redundancy is part of how life works.
- Dan
Folks -
World Within a World Window. Collecting Recent Submissions to 2.7alpha
FYI, we have two volunteers -- Bob Arning for World Windows, and Dwight Hughes for recent submissions. Thanks much, guys!
First of all, I want to thank Bob and Dwight. Bob's first pass (with a bit more from here) is already out in the 2.7a stream, and Dwight is nearly done culling recent submissions. These both make a real difference.
This makes me wonder... Would people like more requests like this?
Several people responded in the affirmative. So here goes...
NOTE 1: If you are seriously interested in any of these projects, I suggest that you announce it to the Squeak List in order to avoid duplication (ar at least to be aware of it). This is important also because I have suggested some of these as possible student projects at various times in the past.
NOTE 2: This list overlaps the Squeak Projects Swiki pages. The difference is that it is a selfish mixture of things SqC needs and wants, and some of my pet projects that I would love to kibbitz on, since I'm too busy with other stuff right now (and have been for a couple of years ;-). It doesn't necessarily address other similarly interesting and important projects that have arisen from the rest of the Squeak community.
Alan has a bunch of other good challenges in a slightly different dimension. I wouldn't be surprised if he comes forward with some of his favorites to balance this list.
ProtoObject (1-2 days) We have several subclasses of nil already, with a few more waiting in the wings. While instances of these classes must not respond to normal messages, things are much more convenient if they do have a small kernel of methods to support generic object maintenance. So this project is to make such a class, slip it into the class hierarchy above Object (will require some pointer surgery (and don't forget to re-route Object class's superclass pointer)), and incorporate the methods in that are now in all the other subclasses of nil. It would also be nice to include or point to summary explanations of doesNotUnderstand:, cannotInterpret:, and any other related mechanisms. This is actually simple, but it has to be done right.
Integrate ThingLab with Morphic (1-2 weeks) The current ThingLab package consists of a constraint compilation engine and a user interface. The UI is embedded in an MVC browser, with a fair amount of extra display code devoted to double-buffered display. If Things were Morphs, then all the UI stuff could be dropped from the ThingLab package, and it would be simple to incorporate constraints into any morphic structure. Only a few things need to be done: define attachers in Morphic, and figure out how to cause existing Morphs to respond to attachers.
Fabrik (1-2 weeks) Get Fabrik working in Squeak the way it should (see original paper). Fabrik has two parts -- a concrete layout with pin and wire connection scheme, and a bidirectional dataflow engine. The point of PlayWithMe-6 was to show that the first part, which was hugely complex in the original implementation, could be simple in Morphic -- I did the whole thing in less than a week. The second part is about a page worth of dataflow, plus an interface to the Compiler. PWM6 finessed this with change propagation, which can do the job, but it's not very efficient. There are lots of fun demos that once worked in Fabrik, and I would be happy to advise on how to proceed.
Fabrik UI Construction Kit (1-2 weeks) Fabrik IS a UI construction kit, but this project means applying Fabrik to the construction of its own widgets. In other words, once you have a few aritmetic and graphical objects in Fabrik, it becomes possible to build the button, scrollbars and listviews that make up the Fabrik widget library. An interesting result would be the set of primitive components needed to build all the rest of the morphic UI with nothing but concrete construction.
ThingLab UI Construction Kit (2-4 weeks) This is the same domain as the one above, but its approach makes use of somewhat more textual programming, and provides a more general model of constraints. Alan Borning and others have played around with specifying constraints graphically. This would extend the project, but also , prsumably, enhance its results.
A Practical Text-to-Speech System (2-4 weeks) Luciano has done some wonderful work in this area, and I believe he is already on this project. I mention it because he might like help, or you might be interested in extending or perfecting his work when he's done.
Double-Clickable Apps (2-4 weeks, platform details) There is still strong interest in dropping out Squeak "applications". Reduced size is a desired property, but the most visible convenience is the production of a single "double-clickable" application file. What is involved is to graft a copy of the image onto the VM, and, possibly, to allow saving an updated image back into a similar copy.
Squeak Self-extracting Archive (1-2 weeks) The most immediate application for this is a Squeak self-extracting archive for each platform. This amounts to building a decompression program as a double-clickable app, and gluing a compressed archive of all the Squeak files onto that.
Obviously, any one can come up with such lists, and you should feel free to do so. My point in putting this out is to create some possible foci for synergy, with some commitment on our end to help the projects along, and incorporate them in future Squeak releases or associated easily-downloadable extensions (if you know what I mean).
Enjoy - Dan
On Sun, Nov 21, 1999 at 09:55:30AM -0800, Dan Ingalls wrote:
NOTE 1: If you are seriously interested in any of these projects, I suggest that you announce it to the Squeak List in order to avoid duplication (ar at least to be aware of it). This is important also because I have suggested some of these as possible student projects at various times in the past.
.....
ProtoObject (1-2 days) We have several subclasses of nil already, with a few more waiting in the wings.While instances of these classes must not respond to normal messages, things are much more convenient if they do have a small kernel of methods to support generic object maintenance. So this project is to make such a class, slip it into the class hierarchy above Object (will require some pointer surgery (and don't forget to re-route Object class's superclass pointer)), and incorporate the methods in that are now in all the other subclasses of nil. It would also be nice to include or point to summary explanations of doesNotUnderstand:, cannotInterpret:, and any other related mechanisms. This is actually simple, but it has to be done right.
I'm interested in doing this.
Marcus
-- Marcus Denker marcus@ira.uka.de phone@home:(0721)614235 @work:(0721)608-2749
On Sun, Nov 21, 1999 at 09:55:30AM -0800, Dan Ingalls wrote:
Integrate ThingLab with Morphic (1-2 weeks) The current ThingLab package consists of a constraint compilation engine and a user interface. The UI is embedded in an MVC browser, with a fair amount of extra display code devoted to double-buffered display. If Things were Morphs, then all the UI stuff could be dropped from the ThingLab package, and it would be simple to incorporate constraints into any morphic structure. Only a few things need to be done: define attachers in Morphic, and figure out how to cause existing Morphs to respond to attachers.
I'd like to do this.
Is someone allready working on it?
Marcus
On Sun, Nov 21, 1999 at 09:55:30AM -0800, Dan Ingalls wrote:
Integrate ThingLab with Morphic (1-2 weeks)
I'd like to do this.
Is someone allready working on it?
David Pennell pennell@tiac.net is working on this right now. Drop him a line, he might like help.
- D
squeak-dev@lists.squeakfoundation.org