Re: [Deskbar] Ideas for Deskbar applet, incl. rewrite in C



On 27/01/2008, Andreas Kühntopf <andreas kuehntopf org> wrote:
> Some ideas for deskbar-applet. Please tell me your opinions:
>
>
> 1. Rewrite in C / gobject
> ==========================
> There already are some mailing list posts about this issue. Time /
> manpower was the limiting factor there. I would be willing to start
> developing a full rewrite. However, any help in this regard by other
> developers would be a greatly appreciated and needed here. So if
> someone would like to join me, please let me know.

Here's a breakdown of what is required.

1) Write a library supporting federated searches on some common interface
2.1) Write a plugin system
2.2 Write language bindings for the plugin system
3) Write widgets to integrate with search- and the plugin system
4) Write plugins
5) Integrate these technologies in the desktop. Fx as an applet, in
nautilus, or where ever we can rock

None of these things are trivial, but can be undertaken more or less
in parallel.

I am working on xesam-glib[1], a GObject implementation of the Xesam
API[2]. What I am working on currently is to abstract out the actual
DBus dependency, and simply have a XesamGSearcher interface that is
implemented in a dbus backend, but could also be implemented in native
libraries without IPC (think plugins).

When this is ready I will write a XesamGSearcher implementation that
is capable of aggregating others XesamGSearchers. This will more or
less constitute point 1).

With 3-4 dedicated people I think this stack could be made production
ready in a year or so. While I certainly am dedicated to Xesam, I
don't have much time to dedicate to it, so I think I count for half a
person here.

> 3. Get rid of the applet-behavior
> =================================
> Why is this thing called applet anymore?
> The new UI does not need to be an actual applet.
> It could as well be presented as an icon in the system tray.
> Left-click brings up the search window, right click the history.
> We would get rid of lots of problems which are connected to the
> gnome-panel and bonobo... Even the old button ui would still be possible
> that way. I however would propose to always show the search dialog
> centered on the screen, because that position gets the most attention
> after all.

Well, sticking it in a tray icon is one sure way of getting us in
trouble. This is directly against the HIG, and really only makes the
program more restrictive to the user. Fx. I always keep my d-b-a at
the top left corner of my screen and the notification area to the
right.

As far as bonobo goes I think there is plans to get something DBusy
going for the gnome panel. I have no idea when that is going to be
realized though....

> Actually a renaming would be appropriate too, because the application
> is neither a "search bar" nor an applet anymore...

Well in my eyes the whole project would not be deskbar at all, but a
totally different beast. However one should not underestimate the
value of branding.

Also it is going to take a *lot* of work coming even near to feature
parity with deskbar. That is not doable within the year I mention I
think.

Two closing thoughts:

A totally different approach would be to start migrating code from
deskbar to C and then Python-binding it and gluing it back into the
working deskbar. That would be a way to progressively take deskbar
from Python C, one GObject at a time. I have a feeling that this is
quite tricky to get right though, but maybe easier anyway.

Lastly imagine what the same amount of man time spent, as the whole C
deal requires, on the existing code base could bring... Wow :-)

Cheers,
Mikkel

[1]: http://xesam.org/people/kamstrup/xesam-glib
[2]: http://xesam-org


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]