[maemo-developers] Feature request for Application Menu

From: Eero Tamminen eero.tamminen at nokia.com
Date: Tue Jun 19 16:50:11 EEST 2007
Hi,

ext Florent de Dinechin wrote:
> In general, most annoyances on the n800 are a consequence of the fact
> that it uses a software stack that was not written for it (I like Sean
> Luke's comments comparing it to a newton).

One problem could also be that applications don't always take into
account how Gtk works. For example when user taps to a widget and as
a result its state changes, the widget is not redrawn as a result of
that state change. Instead Gtk queues a synthetized expose event
(so that it can merge and otherwise manipulate these events).
This event is handled when the process gets to mainloop.

If application doesn't get to mainloop/idle between the widget
state change and doing the related activity, and if that activity
is not "instantenous", it looks to user that the widget response-time
was very slow.


> But then, we are happy to have good old GTK to program with. And, as it
> seems, things keep improving.
> 
> You didn't tell me if the menu itself is rebuilt each time or somehow
> persistent/cached. Maybe the question is irrelevant.

At least everything read from the Flash (PNG icons, .desktop files,
XML menu structure) are cached. You can check this with:
  strace -p <second Desktop process PID> -e trace=open

I don't know about the actual in-memory objects.


> On GPE calendar, you have to wait almost a second for each dialog, as it
> is recreated from scratch each time. I had a look at the code, I didn't
> try to store a dialog it in a global pointer or whatever to see if it is
> faster, though. Is it worth trying?
> 
>>> Is that worth filling a bug?
>>
>> Are you using the latest N800 release?
> Yes I am. I'm asking if it's worth a bug because it is at most a minor
> annoyance, and I am confident my N800 is a normal one.

The UI style guide says that everything should react within 0.5 sec
to user activity (e.g. widget state change) and if something takes
more than 3 secs, there should be a banner (like e.g. on application
startup).  If the system is stressed (something else is using all CPU
or RAM), this of course cannot be guaranteed, but otherwise, please
file a bug.


	- Eero

More information about the maemo-developers mailing list