FSO milestone3 my view (ON gta01)

Guillaume Chereau charlie at openmoko.org
Fri Sep 12 15:07:08 CEST 2008

Hello Tilman. I will just comment on the tichy part of your email, since
I am the main author.

On Fri, 2008-09-12 at 12:24 +0200, Tilman Baumann wrote:
> I like the Tichy concept of having pythons apps running as plugins in 
> one python runtime.
> I always expected it to be something like a app launcher that
> executes 
> python modules rather than calling stand allonw apps.
But it is exactly what it does.
I think you misunderstood tichy. But still I want to defend my approach
(that you seem to recommend so I am confused).
Tichy is a python app. I can't afford to start a new python interpreter
every time we open an application. I don't want to have too many python
interpreters running at the same time either. My solution is to use a
cooperative event based system for all the basics applications (dialer,
messages, etc) They all run in the same interpreter, and share the same
mainloop. That is what i refer to tichy as a "python applets manager".

> But tichy as it is is useless. 
I agree with you in the sense that if tichy would only call stand alone
app, it would be useless.

> Combining all apps into one screen does 
> not help, we have window management.
Do you mean we should use one X window per applet in tichy ? Well that
is possible. In fact I have a backend for gtk+ and etk/evas (still
experimental). Both of them use one window per applet.

> The GUI design does not strike me as good either.
I can unfortunately only agree on this :(.
My fault. I am not an expert in GUI design (I have a hard time with it
cause things that look good on the desktop don't on a small screen.)
When I started tichy I tried to use gtk+, but then gave up and used my
own SDL based gui system (we talk about the guy who liked to write video
games here :-) ). 
Then I though about all the possible choices of graphics backend -and
how critical this choice could be- and I realize the only way to be sure
not to make a bad decision, is not to choose one at all.

So here is how it works :
When you write an application for tichy, you use as few gui objects as
possible. Instead, you define 'Items' with properties and possible
Then tichy will request for a plugin that offers the 'Design' service
and ask this plugin to create the user interface for the application.
the design plugin is free to create any interface, as long as it shows
the proper items and provides a way to trigger the proper actions on
those items (not unlike edje works)
That is why I can create backends for almost any graphic library you can
imagine, without changing the code of the applications.

> The all in one concept is just wrong in my eyes. Great idea, but done
> wrong.
The concept is wrong or the idea is great but done wrong ?

For me the all in one concept is important, at least for all the basics
phone applications. There is just too much communication between them.
It is not only a matter of sharing data (the framework is there for
this), but also being able to lauch one app from an other, and to share
the screen space in a clever way. Also the time to launch an external
application is too slow.

> I don't want to have my phone work nearly as like tichy works.
> I like to have some native apps like the GTK PIM apps back.
> They where really well made, usefull and useable.
> I like to have a home screen on the desktop like the GTK home app.
> This was really a great concept. i like to see that come back.
> I think this would be a easy job for a desklet...
I agree with you. Beside it is very simple to do.
> Especially important would be a dialer app that starts quickly.
> (maybe 
> living in a applet all the time) 

> The GTK dialer would be a great template. ;-)
> And i would say it is time for some gui guidelines for new world etk, 
> efl apps.
> We have a great looking environment, now let's define how apps should 
> look. And pleas don't make them look like qtopia, Zhone or tichy.
> I have some ideas for that too. But i whink we need some
> experimenting 
> first...
> Is there already some movement into finding the new way to interact
> with 
> the UI?
Well, what about the idea I talked about : You define a set of minimal
necessary information needed to construct the gui for many kinds of
applications (most of the time an application is just trying to show
some objects and let the user trigger actions on it). Then you use a
plugin to actually construct the gui. 

I guess Raster was a visionary on this idea. In fact he is the one who
gave me this idea once on irc, the next week I started implementing it
in tichy :P
But even the applications we have that do use edge don't do it the
perfect optimal way. If your application's code use -let's say- a
scrollbox, then you are already deciding that you want to show your
items in a scrolled view, so what if the user want to show them in a
table, or in a fancy 3d view like we start to see on a few closed source
mobile phone ? Then you have to modify the application code.
In tichy you would first create a list of items, and then ask the design
service to create a view of that list. That view may be a scrollbox, but
it may as well be anything else. You can actually play with this in
tichy : application conf->design>grid/default/wheel

OK, that was my small marketing rant for tichy :)
Hope some people will show interest in it. Here is the -very poor- wiki
page for it :

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.openmoko.org/pipermail/community/attachments/20080912/0ecfbf21/attachment.pgp 

More information about the community mailing list