How Do You Do Business Apps? (Morphic Design Philosophy)

Doug Way dway at mat.net
Sat Feb 26 00:32:10 UTC 2000


True, it is pretty easy to tear stuff apart and break things in Morphic
with the halos.

But I think you may be overstating this issue a bit, because there is a
method that solves most (all?) of this problem.  Try executing
"Preferences disableProgrammerFacilities".

This completely disables the halos, and the World/Personal Menus.  Morphic
feels fairly bulletproof in this mode... it is intended for end-user
applications.  (There are some more instructions on this in the Squeak FAQ
at http://minnow.cc.gatech.edu/squeak/471.)

I'd agree that maybe disableProgrammerFacitilities should be more visible
than it is now... perhaps it should be in the Preferences dialog?  But on
the other hand, it is a bit dangerous if you accidentally turn it on and
then close the Preferences dialog. :-)  Maybe there should be an
intermediate preference for merely disabling the halos, but not the menus.

- Doug Way
  EAI/Transom Technologies, Ann Arbor, MI
  http://www.transom.com
  dway at mat.net, @eai.com


On Fri, 25 Feb 2000, Paul Fernhout wrote:

> Bob Arning wrote:
> > 
> > On Fri, 25 Feb 2000 11:08:58 -0500 Paul Fernhout <pdfernhout at kurtz-fernhout.com> wrote:
> > >Unfortunately, with Morphic,
> > >every application is only a couple mouse clicks away from disaster --
> > >like when I played the solitaire game and accidentally moved a card off
> > >the game top.
> > 
> > "every application", Paul? If the solitaire game has a bug, that's one thing, but to extrapolate from that to every Morphic application quite a leap. Can you be a bit more specific about this lurking disaster?
> > 
> > Cheers,
> > Bob
> 
> I remember when my wife years ago was teaching a novice computer user to
> use a Paradox program she and I were developing for him. One of the very
> first things he did by accident was hit something like CTRL-SHIFT-O
> which exited to a spawned command prompt shell. Both were very
> surprised. It took quite a while to figure out what went wrong (it
> looked like the program had crashed...)
> 
> For example, just a couple hours ago ago, I started FreeCell, clicked
> "submorphs", pulled a card off the table and dropped it. Then I dragged
> the card over FreeCell and left it half on the table. Squeak/FreeCell
> started endlessly cycling with a weird black pattern striped in the path
> area I had dragged the card. I was unable to move or grab the card as it
> bounced around three locations. I was unable to get menus, or do
> anything, except terminate Squeak. About five clicks I guess, and a
> couple drags.
> 
> Or, I can go to Tetris (way cool app) and again using submorphs, delete
> the control panel for rotating blocks. Can't play the game anymore.
> Three clicks I think.
> 
> Or, I can run the SameBoard game, do an alt-click on a piece and hit the
> blue halo button, and I get an exception window in the left corner and
> Squeak is hung.  Two clicks I think.  
> 
> The moral is stay away from the ALT and CTRL keys I guess? 
> 
> Nowhere in Morphic can I undo deleting a component of an app, or undo
> moving part of an app. MacApp had this kind of support (undoable
> commands) a decade ago. Yes, there is a save and revert in morphic, but
> this is equivalent to saving a file. There isn't the fine grained Undo
> one might expect to be pervasive throughout a design system.
> 
> My point is, if you create a beautiful system to do a task, you don't
> want the users (including yourself) unintentionally modifying that
> system. You may also intentionally want to make it difficult from users
> to change some things (the cards in the game), while leaving it easy to
> change others (the location of the cards within the table).
> 
> OK, perhaps one can disable the submorphs menu in a shipped app (or
> selectively for development tools), and disable some other features. I'm
> not sure of everything one would need to do for this. But the issue
> perhaps is, can this be done in a systematic way to varying degrees? 
> This will take time to resolve, in the meanwhile it would be nice to
> have a conventional system like WindowBuilder/Pro that looks as good as
> Morphic and is widget based so I can ship today (ex-ObjectShare people
> -- would WBP be easy to put under Squeak?). Plus, I'd like a system that
> does not do unexpected things. I must be unusual, because just about
> every time I try to use Morphic seriously I end up generating debugger
> dialogs and usually eventually hang Squeak one way or another, usually
> after clicking somewhere odd or dragging something strangley.
> 
> I should say I probably come across as totally bashing Morphic and I
> don't mean to. Morphic is beautiful. It looks great. I love the shadows.
> It has many cool widgets, several good demos, neat ideas for loading
> apps (like the programming tutor with the 2D turtle). It is a neat
> system. I like the conception behind it -- both prototype ideas and
> direct manipulation ideas. Events and widgets are the way to go over
> MVC. 
> 
> Yet, it is perhaps because of Morphic's very complexity, malleability,
> and richness that I find it unapproachable, both for app development and
> for systemic modification. Maybe this is somewhat like when the original
> ST-72 syntax was found too general (where you could write your own
> parser for each class) and the unary, binary, and keyword syntax was
> settled on for every class as a nice compromise. 
> 
> Here's the typical situation I face right now with Squeak: I'd like to
> make a system that includes an HTML viewer I can give to other people,
> say, related to the Bootstrap Institute http://www.bootsrap.org Open
> Hyperdocument System project. The HTML viewer I see in Squeak looks
> great, but it is in Morphic. So I'm stuck -- because I know I can't give
> that to end users who don't know Squeak. So I can stare wistfully at
> Scamper in the store window, but I can't take it home to make that app.
> I need to duplicate something like Scamper under MVC which takes more
> time than I have. So, I'm more likely to turn to a system that has such
> support in a shippable way. So, all that great work done on Scamper is
> inaccessible to me, and conversely, I'm less likely to go out of my way
> to improve Scamper or make any changes Scamper could use. That's one
> problem with having only an old incomplete GUI and a new experimental
> GUI under Squeak.
> 
> -Paul Fernhout
> Kurtz-Fernhout Software 
> =========================================================
> Developers of custom software and educational simulations
> Creators of the Garden with Insight(TM) garden simulator
> http://www.kurtz-fernhout.com
> 
> 





More information about the Squeak-dev mailing list