[maemo-developers] New apps for fremantle with Qt?

From: David Greaves david at dgreaves.com
Date: Mon Sep 7 11:06:49 EEST 2009
Karoliina.T.Salminen at nokia.com wrote:
>> If you have custom widgets in every program on a system, users will find
>> it harder to use. They will not know what to expect when they tap on a
>> widget they never saw before... that's the point of having guidelines.
> 
> Please read my sentences above. I meant about replicating the functionality of the widget
> done with other technology with another and ending up with exactly the same user experience. 
> It is possible and the guidelines can be followed to create the new widgets. 
> There is nothing that prevents that, it is just some additional work required for the developer
> as there are hildon widgets lacking from the selection of widgets on the Qt side.
Agreed.
I've asked Antontio to start a project so we can create a set of hildon-widgets.

What would be good would be some collaboration on creating a prioritised list
and documenting the required behaviour.

http://wiki.maemo.org/Qt4_Hildon#Where_are_the_Hildon_Widgets_for_Qt
http://wiki.maemo.org/Qt4_Hildon/Qt_Hildon_Widgets

> If you compare the kinetic scroll list on the startup wizard to the kinetic scroll list elsewhere,
> you may find that it functions the same way, despite that is Clutter and elsewhere it is Gtk. 
> Similarly I am sure it can be done also with the Qt in the same way, so that as end user you can't see the difference
> (except that on different toolkits there may be slight performance differences, e.g. pure clutter
> can be obviously faster than Gtk and similarly the performance may differ on the Qt version to direction or another
> depending on the case). 
> 
> It just requires accurate tuning for all the parameters to get the scroll behavior exactly the same and
<snip>

> What comes to the kinetic scroll list, it has certain little details that are important, otherwise it will feel different (and not right):
> - edge bounce
> - easing on edge bounce (the movement decelerates before it stops instead of stopping mechanically)
> - friction
> - inertia
> - scrolling speed (comes from the physics of the friction, inertia, and the initial speed given by the finger)
> - finger following
> - item selection sensitivity from touch
> - item deselection sensitivity from following movement
> - stoppable movement (despite of high inertia, stopped finger stops the movement immediately)
> 
> To get these right, it really requires trying out on the device how it feels. When doing the startup wizard we found that
> some sensitivities (e.g. selection sensitivity) need to be a bit different when operated on mouse than when operated on finger on the device. 
I (and others) wrote the Qt fingerscroll that we have (had?) in experimental.
All those factors are parameters.
It also works on any scroll-based widget 'for free' and allows highlighting and
drag'n'drop.
I completely agree that it needs tuning on the device... sadly I don't have
one... but if someone wants to send me one...

> Once the list is perfected, all the other widgets are easily composited from these lists and other widgets. 
> So it is a good idea to start from making a list on Qt to function exactly like it functions on the Hildon.
I've asked Antontio to start a project so we can create a set of hildon-widgets.

IIRC we also need to do dbus integration too.

David


-- 
"Don't worry, you'll be fine; I saw it work in a cartoon once..."
More information about the maemo-developers mailing list