UI long term development perspective: physics engine

Sean Moss-Pultz sean at openmoko.com
Sun Apr 1 10:55:11 CEST 2007

[I know my reply is very slow! This has just been a struggle of a month
for me. Hopefully people are still interesting in this thread... ]

On Thu, 2007-03-22 at 14:38 +0100, Florent THIERY wrote:

> I know it's not gonna come in the priority list before at least a year
> (or ever), but if we want to add eye candy & (possibly) useability to
> the UI (such as smooth realistic list scrolling, as seen in apple's
> iphone demo on contacts lists), we'll need a physics engine, so that
> moves & animations aren't all linear.
> All i found so far is the akamaru lib, needs just GLib:
> http://people.freedesktop.org/~krh/akamaru.git/
> If you want to take a quick look at the code:
> svn co http://svn.kiba-dock.org/akamaru/ akamaru

Hehe...this looks quite fun.

> It's a verlet integration implementation;  modelization includes
> elasticity, friction, gravity, geometrical objects...
> The only (AFAIK) implementation using this model is kiba-dock, a *fun*
> app launcher, but we may find another use to it in the future.
> For instance, it may be useful to gesture recognition (i'm not aware
> if existing gesture recognition engines measure speed, acceleration,
> ...).
> There's an undergoing verlet integration into the e17 project (by rephorm)
> see http://rephorm.com/news/tag/physics , so we may see some UI
> physics integration into e17 someday.

This paper (linked from that site) was interesting:


> Such early projects mainly show "rope-like" animations, but maybe the
> API wil spare some time for different usages.
> Well, that was just a useless thought, but i'd be happy to know if
> other people are wondering about improving the user experience
> regarding physics-model-based UI animation.

Well it's probably going to be a while before I can code again...but I
would love to see / help form a project to improve OpenMoko's UI. In my
opinion, we need to create new "verbs." Click, double click, drag, drop,
etc... are not exciting anymore. The are relics from the Desktop world
that embedded systems should try as fast as humanly possible to rid
themselves from. 

Obviously the tools are in the wild to build interfaces that could rival
(or better IMO) anything Apple comes up with. We just need to organize
this stuff. This would need hardware that can support dynamic
interfaces. I can help here, too. 

So does anybody want to start this? I mean _seriously_ start this. I'm
more than willing to fund development if I see a plan in place. 


More information about the community mailing list