Re: GNOME Dictionary Plans and Roadmap



Hey Emmanuele,
I think the state of the gnome-dictionary code is what you get after a
few years of upgrading and updating a codebase that was not really
designed with extension in mind...
I guess that when it was first committed the code must have looked a
lot saner. Also, bear in mind that the current code is organized just
like the 2.0 version, which was itself a direct port of the 1.4 (at a
time when coding guidelines were a little scarcier ;))...

Other than that, I think a toplevel reorganisation of the current code
is overdue and would be a very good thing for gnome-dictionary -  So
knock yourself out ! :-) Once you've made your changes I will be happy
to help you stabilize the thing and check for (hopefully non-existant)
crashes :).
You could create a branch in gnome-utils CVS like "dictionary-rewrite"
or something like that, and commit your changes to that. Or wait until
you have something you like, and then commit it. Up to you !

On a related note, it could be interesting to investigate alternate
ways of providing the dictionary itself other than a dict.org server -
this choice limits us in some ways (we have almost no control over
translations, formatting, etc). We could use a local text containing
definitions, or (a more interesting idea) use a Wikipedia API to
download definitions and stuff from them (this would mean porting the
widget to an html viewer if we want pictures, which would be nice)...
There's a couple of bugs opened for that.

Cheers
Vincent

On 10/15/05, Emmanuele Bassi <ebassi gmail com> wrote:
> Hiya.
>
> It appears that, in my previous mail, I'd been a little too optimistic
> on the amount of work that the GNOME Dictionary application and applet
> were going to need.  Actually, I was quite wrong, more than I was
> optimist.
>
> The main problem is the code base.  Putting it bluntly, it sucks.
>
> Badly.
>
> I hereby recognise the enormous amount of work done by the authors and
> maintainers (thanks to all of you, really); actually, the dictionary
> application is one of the accessories I use the most during a normal
> session.  I strikes me, though, how the application works *despite* the
> huge amount of hackery involved.
>
> The applet and application are so much interconnected, the widgetry is
> really co-dependent on the containers and the "containee", that the
> compilation alone is a mistery.
>
> So, in order to make things a little more easy for future contributors,
> here begins the "Break the Dictionary Code Base" Project.
>
> First: I'll go ahead, and make the build system a bit saner, by making
> the common widgetry being built in a non-installed shared library:
> there's no point on doing the linking twice; also, I'll remove all the
> "supposedly private" stuff from the header files, and hide them inside
> the GObject private system.  Thus, the new library will contain an
> embeddable widget (GDictEmbed) which will be used both by the
> application (GDictApp) and the applet (GDictApplet).  Everything will be
> hidden, from a object-oriented point of view, and accessible only
> through function calls.  The inner widgets (GDictEntry and GDictDefbox,
> as well as the GDictSpelling) will also be reworked in order to remove
> redundancy.
>
> I'm also considering the addition of a thin layer of object orientation
> around the dictionary look up code (dict.[c,h]); certainly, I'll add
> better GError support to it, order to have a better (specially with
> regards to l10n) error message system.
>
> At this point, which I sincerely hope to get finished within next month,
> I'll start adding features, the first of which should be the
> AlignedWindow container holding a GDictEmbed widget, which will make the
> dictionary applet look like Seth's gnome-blog application.
>
> The next feature will be the "defbox-integrated" find: I plan to remove
> the find dialog and rework it into something like Firefox's find pane;
> it'll sport case(-less) and wrap-around searches.
>
> This phase should take less, coding wise, so I hope to have it finished
> by the end of December.
>
> Comments, feature requests, bug notifications, "you're on crack" replies
> and flames here on the list or in private mail: I'll try and come up
> with something clever to say.
>
> Ciao,
>  Emmanuele.
>
> --
> Emmanuele Bassi - <ebassi gmail com>
> Log: http://log.emmanuelebassi.net
>
> _______________________________________________
> gnome-utils-list mailing list
> gnome-utils-list gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-utils-list
>
>



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