[Projects][BitBlt][Morphic][Widgets][Just kidding]

Alan Kay Alan.Kay at disney.com
Sat Feb 12 19:55:58 UTC 2000


Hey Dan and Andreas --

I need all of this stuff to give Michael a demo in May!

[Just kidding (I think) ....]

Cheers,

Alan

----

At 10:59 AM -0800 2/12/00, Dan Ingalls wrote:
>Folks -
>
>Henrik Gedenryd <Henrik.Gedenryd at lucs.lu.se> wrote privately to me...
>>> Seriously, guys, all you have to do is ask.  If we have answered recently,
>>> we'll point you at the message.  If we haven't, then we'll give an update.
>>
>>Ok, I'm taking you up on this ;) ... although I suppose I'm not the only
>>one. What is the status re. reengineering Morphic? I've discussed this
>>briefly with Andreas earlier, but I know nothing of your concrete plans.
>>
>>I'd be happy to contribute with my conclusions re. what ought to be done
>>about the structure of Morphic, when this comes to the fore. I've looked
>>pretty closely at this, for rather weird reasons.
>
>I'm repeating this in public because presumably the answer will be of
>interest to several people.  If you can't ask something like this in
>public, what kind of community do we have?
>
>I'll use this to prepare part of the swiki update, since Daniel Joyce's
>original post alluded to this topic as well.  I will ask Andreas to
>rewrite or add to it, as he is the real custodian of Squeak graphics at
>this point.  Anyway, here's the gist of it from my point of view...
>
>Balloon and Balloon 3D have catapulted us into a world that is even more
>exciting that we had hoped.  We have seen the beauty of anti-aliasing, we
>are getting performance that is second to none for a cross-platform engine
>with no acceleration and, let's face it, 3D is cool.  For those who have
>not seen a recent demo, imagine strolling through a gallery in 3D, where
>the pictures on the walls are active Squeak projects, with drag-and-drop
>and the works.  [We hope to get this out in a few months as just another
>thumbnail image on the web that you can enter by clicking on it].
>
>That's the vision unfolding.  Now about the challenges and our plans...
>
>BitBlt
>First of all while, as always, we're committed to total cross-platform
>operation, we want to be able to tap the benefits of platform-specific
>acceleration facilities.  This turns out to be a big problem.  On the one
>hand you want Squeak to be completely uniform ("bit-identical images" is
>the phrase we use) from one platform to another, and on the other hand
>some platforms have one byte ordering in their hardware, and others have
>another, and -- oh -- did we mention about color component ordering within
>RGB pixels ...er... it IS RGB, isn't it?
>
>Those of you who have been around for a while will remember Tim Rowledge
>urging us to incorporate his little-endian BitBlt so that Squeak graphics
>could run faster on the Acorn.  This grew into an intense discussion for a
>while, and finally blossomed into a plan to "do it all right".  Andreas
>says the first rule of graphics programming is "first make it fast, then
>make it right".  But with umpteen different accelerator boards, you have
>to do it right to make it fast.  So that's what Andreas has been up to for
>the last two months, in his rare moments between much other responsible
>behavior at work.
>
>What's the status?  Interesting that you should ask.  Today is the very
>day when Andreas has completed an entirely new BitBlt running beside the
>old one, and is plotting how to build it into the VM, and yet retain the
>old BitBlt as a plugin for backward compatibility.  I'm sure Andreas will
>be delighted to describe the design and capability of this new BitBlt in a
>separate message.
>
>With the new BitBlt in place, it should soon be possible to tap the power
>of a number of platform-specific 3D (and 2D) accelerators.  Fasten your
>seat belts.
>
>Morphic
>Once the new BitBlt is in place and we understand the full path from
>Squeak images to platform-dependent bits on the screen, we paln to revamp
>Morphic substantially.  What do I mean by substantially?  Well for
>starters, morphs themselves will probably become much lighter-weight, more
>as generalized graphical actors, separate from their particular
>appearance.  Also, each morph will probably have its own coordinate
>transformation that applies to all its submorphs.  Stepping will also
>probably be replaced by a more generalized form of event/response
>architecture.
>
>I can see people rolling their eyes, "Good lord nothing will be
>preserved."  However, on the contrary, we are still committed to the kind
>of environment that Morhpic is -- a highly concrete drag-and-drop world of
>active objects.  We will probably build the new Morphic from the ground
>up, next to the old one, and we won't stop until most of the components
>that you know and work with (shapes, lines, bitmaps, text,
>transformations, scrolling, clipping, windows, browsers and the like) are
>operational in the new environment.  While some code will have to be
>rewritten, I don't envision major compatibility problems, except that you
>will have to get used to uniform ability to scale and rotate everything,
>with translucency and anti-aliasing, as well as the emerging ability to
>project 2D morphic displays into 3D environments.
>
>The time scale on this one is harder to predict.  I think Andreas will be
>done with the bottom layer in the next month or so, as will be the case
>with a couple of our current intense projects.  So it's likely to start in
>April and take about six months.  (But who knows?  We might get
>passionately interested in something else and it would get delayed, or
>Alan might say he needs it for a demo to Michael in May, and then it would
>be done in May ;-).
>
>Widgets
>Since this also got asked, and since I need to write about it for the wiki
>update, here's what I see as the current Squeak Central position on
>widgets.  Right now we have our hands full (as we have ever since we met
>Alan), and the directions we need to go are not limited by our stock of
>widgets.  So this is a GREAT area for external cooperation and
>contribution.  It's true that none of what you build will work in the new
>Morphic, but you can count on our support in porting anything that has
>stood the test of time.  This is a perfect time to evolve a set of widgets
>and some parameterization into various "styles".
>
>Incidentally, one of my projects in the ease-of-access area is to revive
>Fabrik both as it was originally, and in another wireless form that still
>preserves the GUI-builder strenths of that system.  While it would be a
>mistake to count on this for widgets in the near future, I still hope to
>assemble a Fabrik-like environment within Squeak which would make it easy
>not only to assemble widgets, but to build an entire widget library up
>concretely from very simple morphs and very basic behaviors.  I hope to be
>back in this area sometime around the middle of next month, but the
>widgets-from-scratch project will probably remain on the back burner at
>least until summer.  I'll let people know about any progress on this so
>that anyone who is interested can play with prototypes and criticize or
>contribute.
>
>Hope this helps
>
>	- Dan







More information about the Squeak-dev mailing list