Fwd: [Tweak] A strategic update

stéphane ducasse ducasse at iam.unibe.ch
Fri Feb 4 14:53:24 UTC 2005


May be worth to read
especially the call for Squeak tools in Tweak.
This would really help getting Tweak faster. At least it seems to me.

Stef

Begin forwarded message:

> From: "Andreas Raab" <andreas.raab at gmx.de>
> Date: 4 février 2005 13:29:01 GMT+01:00
> To: <tweak at impara.de>
> Subject: [Tweak] A strategic update
> Reply-To: tweak at impara.de
>
> Hi Folks,
>
> Yesterday, I got reminded that it has been a while since I have said 
> anything about the strategic direction(s) Tweak is taking. For those 
> of you following the update stream closely you might have seen some 
> updates hinting on a number of things but since this is sometimes hard 
> to guess here is a bit of a roadmap for the next steps:
>
> Infrastructual issues
> =====================
>
> * Squeak 3.8 and m17n update
> I've spent a good amount of time looking into the issues of updating 
> Tweak to 3.8 in order to get m17n support. I am now ready to get this 
> process rolling (I have already posted a few updates to address a few 
> issues even before they get problematic) and I am expecting to get 
> this done within february (early march at latest).
>
> Note that my current thinking is that the 3.8 migration will only 
> support the 1.1 update stream and NOT the 1.0 update stream. This is 
> because Croquet is still using the 1.0 (3.6-based) version and 
> therefore I will need an update stream for a 3.6-based system and I am 
> planning on the 1.0 stream to be that. In other words, if you want to 
> use a 3.8-based version of Tweak it will *require* you to use the 
> what's currently the 1.1-based updates. If you have a problem with 
> this plan, now would be an excellent time to mention this ;-)
>
> * Using Monticello for code management
> Michael finally convinced me that it might actually be useful for a 
> variety of reasons to give you an option of using MC-based Tweak 
> packages. To this effect, Bert and I have started to break up the 
> Tweak code base in proper packages. This process isn't finished yet 
> but if you are interested check out http://source.impara.de/Tweak.html 
> (see wiki for installation instruction).
>
> We (that is Bert, Michael and myself) fully expect that we will fry 
> the whole set of packages that's up there before everything is over so 
> don't rely on it (also, the packages are currently made for 3.6 - the 
> adjustments for 3.8 have not been made yet) but if you are adventurous 
> enough you might check out the packages to get a feel for the 
> structure of it.
>
> Whether we'll use MC or updates for some of our internal stuff is 
> undecided yet. It might well be that we decide to use updates with 
> eventual new versions pushed into MC for "outside consumption" (this 
> would be very much like "external updates" where we require a grace 
> period for internal testing before we make things available for 
> external use).
>
> Active development
> ==================
> The following areas are the current center of attention in Tweak 
> development.
>
> * Islands: Isolating sets of objects
> Islands is a bit of new technology for Tweak allowing to completely 
> isolate sets of objects from each other. I will send another message 
> to discuss a little more about Islands but for now let it be said that 
> Islands are roughly equivalent to VATs from the E language 
> (www.erights.org) just without imposing a particular message passing 
> paradigm (this is because I want to be able to use different paradigms 
> for interacting islands).
>
> Islands will form the basis for encapsulating projects as well as 
> encapsulating changes to code (e.g., modularity). While I am 
> personally working on the former, Dan is currently looking at the 
> latter.
>
> * Projects and Applications
> Finishing and polishing up the nature of "projects" in Tweak is 
> actually my #1 item on the priority list. Projects will (based on 
> Islands technology) be "strongly isolated" which -for all practical 
> purposes- is equivalent to the level of isolation one usually gets 
> from OS-processes.
>
> Projects will be able to run concurrently (and preemptively), they 
> will be capable of being checkpointed and restored, they can be 
> "killed" (with automatic cleanup of resources used) etc. In other 
> words, using Islands projects will have all of the properties that one 
> usually expects from "applications" and they will function precisely 
> that way.
>
> Some time further down the road (and there is no deadline for it yet) 
> projects will also be able to carry its own code along with it and be 
> able of using this code without interference with any other projects 
> (yes, I know it sounds crazy but Dan and I talked about this and we 
> both believe this is perfectly possible).
>
> * Cairo support and a sane graphics interface
> Some of you might know that Ned is working on a Cairo 
> (www.cairographics.org) integration for Tweak. As soon as we have 
> versions of Cairo which can be compiled on the major platforms I am 
> planning to do some major reformulations of the current Canvas 
> interface into a stock-of-the-mill 2D graphics interface. Why? To 
> support printing. When this reformulation is complete, all of Tweak 
> WILL print out of the box to Cairo-supported backends, and possibly to 
> others as well.
>
> * End-user tools
> We're making good progress towards implementing the missing bits and 
> pieces for end-user tool support from Squeak. Once we're complete I 
> think we can start to give some other apps (say OpenOffice Draw) a run 
> for its money ;-) Ted and Scott are both heavily involved in these 
> areas and making great progress.
>
> * Tile-Scripting
> The same here. We're in the process of finishing up the remaining bits 
> and pieces and make it so that we get (at least) back on par with what 
> used to be in Squeak. Currently, Bert and Ted are driving forces here.
>
> * Scripting syntax
> Another significant area of development will be scripting syntax - 
> this is currently on #2 of my personal priority list right after 
> finishing projects so expect something in this area in the coming 
> months.
>
> Cool stuff
> ==========
> While not exactly critical for Tweak itself, there are plenty of cool 
> things going on right now, here are a few:
>
> * Areitha Ffenestri support
> With the above mentioned project architecture I am fully expecting 
> that we will be trivially capable of supporting multiple windows (aka: 
> Areitha Ffenestri) in Tweak. Multiple windows will effectively be just 
> multiple projects. Bernd, Michael and of course Tim, are the driving 
> forces in this area.
>
> * Filters, Tasks, Interactors
> We have just started to explore a new architecture in Croquet which we 
> call "filters, tasks, and interactors" and which is basically the 
> definition of an application as a contextualized set of tasks 
> performed through a (2D or 3D) filtering view of the world (there is a 
> paper about it in this years C5 but it isn't online yet; I hope we'll 
> have it online at the Croquet site before too long). I find this an 
> amazingly refreshing view on any kind of authoring environment and I 
> am planning to change most of Tweak's authoring environment to support 
> the same metaphor. This will be an ongoing project over the next 
> months since we're just starting to understand this architecture in 
> Croquet.
>
> * Widget Design overhaul:
> I have recently seen some interest to do a bit of widget design 
> overhaul to make the current widget set "more modern". Since I liked 
> what I saw in a few early screenshots I expect that we might have (one 
> or more) really nice looks perhaps around mid-year.
>
> On the back-burner
> ==================
> Here are a few projects which people might expect to see active 
> development in but which are unlikely to see much attention unless you 
> ask for professional help (which can, but needn't be Impara).
>
> * Smalltalk development tools:
> There is current NO plan for "completion" of the Smalltalk development 
> tools. We fix a few things here and there when we have an itch to 
> scratch but there is currently no plan to complete browsers, 
> debuggers, change sorters, monticello etc. etc. etc.
>
> If you have a need for those tools in Tweak you have the following 
> options:
> a) Get professional help. Porting tools such as one of the many 
> browsers, or the MC interfaces isn't exactly hard (it just takes time) 
> and I am sure there are people out there which will do it for a 
> reasonable price.
> b) Set up a team of interested people and port the stuff you need for 
> yourself. I have said this in the past: The first person who gives me 
> a fully working browser in Tweak is "in". No questions asked. It just 
> needs to work. If you like Omni, Whisker, Star or any other browser 
> and want it to be the default in Tweak, just be the first at porting.
>
> * Native Widgets:
> We have played with native widgets in the past and while much of this 
> was pretty successful it is simply a daunting task to deal with. If 
> you need native widgets and if you need them in Tweak I would 
> currently recommend looking at wxSqueak and the potential of using 
> wxWidgets as costumes for Tweak players. Given the experience we had 
> so far this seems like the best option (and quite doable).
>
> Cheers,
>  - Andreas
>
> _______________________________________________
> Tweak mailing list
> Tweak at impara.de
> http://impara.de/mailman/listinfo/tweak
>




More information about the Squeak-dev mailing list