[lively-kernel] First stab at iPhone/iPad support

Merik Voswinkel aart at knoware.nl
Fri Jun 4 23:23:01 CEST 2010

Hi Dan,

On my first model iPod Touch it does start LK perfectly, and quite  
fast for such a slow device (faster than Squeak for example).

But The toggle between "zoom/pan mode" and "mouse mode" by touching  
briefly in an unoccupied part of the world does a toggle between the  
mouse or "the selection tool" ( a darker blue field with four balls OR  
a grey circkle)

I've made a shorter url to get to http://www.lively-kernel.org/repository/lively-kernel/trunk/source/kernel/index.xhtml 
  as typing in long url's is painfull and error prone.

Thanks for another enjoyable day,


On May 9, 2010, at 10:45 AM, Dan Ingalls wrote:

> Folks -
> I've just committed a bunch of changes that enable one to play with
> Apple touch-based devices.  Just point your iPad at...
> http://www.lively-kernel.org/repository/lively-kernel/trunk/source/kernel/index.xhtml
> (the latest release), and it should automatically do the right thing
> for your device.
> There are three changes:
> 1.  A toggle between "zoom/pan mode" and "mouse mode", indicated in
> code by whether UserAgent.touchIsMouse is false or true respectively.
> Form the user's standpoint, this is pretty simple:  If the cursor
> looks like a normal cursor, then you are in "mouse mode";  if it
> looks like a little blue pentagon, then you are in zoom/pan mode.
> Lively will switch modes if you click (touch briefly) in an
> unoccupied part of the world.
> 2.  Pie menus are enabled so that you can copy and drag objects and
> invoke their menus without needing modifier keys.  Although it's a
> bit sluggish, pie menus will do their best to help you out -- in
> other words if you simply click down and up, they will give you the
> normal object menu with an extra "pie menu help" item at the top.
> The help menu will list all the pie menu choices in a regular menu
> where you can read them and even activate them.  The current settings
> are:
> 	12:00	undo (~)
> 	1:30	duplicate (o-->o)
> 	3:00	move (o-->)
> 	4:30	scale (o<O)
> 	6:00	show/hide handles
> 	7:30	delete (X)
> 	9:00	edit style (<>)
> 	10:30	rotate (G)
> The test in parentheses appears on the pie menu, so this is a short
> form of documentation.  Some helpful mnemonics:
> 	Make more objects (dup) is directly across from delete
> 	Scale and rotate are directly opposite each other too
> 	Can you see the capital G as a rotate arrow?  ;-)
> In the world the pie menu just gives you area selection plus an item
> for invoking zoo/pan mode (O).
> 3.  Rollovers don't work on a touch screen, so we have to activate
> the shape editing handles manually.  This is accomplished by a
> downward stroke on an object.  Do it again and the handles will go
> away.
> With these three changes, everything begins to be usable except for
> text input, and except that things are pretty slow and somewhat hard
> to use.  [You can test all of this on a fast laptop by putting
> "UserAgent.isTouch = true" in your localconfig.js file].
> Nonetheless, I have actually managed to have a bit of fun with it on
> both my iPhone and an iPad already.
> About the UI...
> The current approach is one solution, and we can be glad to have
> that.  However, since putting in the persistent handles, I've been
> thinking of another solution that is closer to what we did for
> Squeak.  I'm hoping to actually make this work so we can play with
> both approaches.  Here's how the other one would work:
> A quick click on any object "selects" it.  This means that a bunch of
> icons appear around it corresponding to the pie menu choices above.
> This corresponds to Squeak's "halos".  A second quick click will
> cause selection to expand out to the morph's owner and so on out to
> the world.  A long (unmoving) click will bring up the object's menu,
> and a drag will pick the object up and move it, as is normally the
> case.
> Please try this stuff out and make suggestions.  And if you get text
> input working before me, that would be nice, too.  Please tell me if
> you plan to do this, so I can do something else at the same time.
> Enjoy
> 	- Dan
> _______________________________________________
> lively-kernel mailing list
> lively-kernel at hpi.uni-potsdam.de
> http://lists.hpi.uni-potsdam.de/listinfo/lively-kernel

More information about the lively-kernel mailing list