Older blog entries for mpesenti (starting at number 29)

19 May 2004 (updated 19 May 2004 at 16:29 UTC) »

I landed a pair of mozilla embedding patches, and I'm waiting for another one to be checked in. The GRE work is almost complete. I guess I'll have to wait embed string/private string incompatibilities to be fixed though, even if I'm not experiencing problems on linux.

Integrating mozilla and GNOME printing is not as easy as I'd have hoped, mainly because there is not yet something like a GNOME print system (or at least something stable, that we are planning to keep supporting in the future). Though I think providing a generic, full featured, frontend that can work with multiple backends could be a good start.

I should get back hacking on Epiphany a bit more, I guess I'm just a bit demotivated and time lacking at the moment.

I'd like to give gcj a try, but I'm too lazy to bootstrap another jhbuild tree. I guess I'll just wait the whole thing to be merged in real jhbuild.

On a side note, I finally graduated, it was about time :P

9 May 2004 (updated 9 May 2004 at 22:14 UTC) »

My thesis discussion is near now (18 May) and I'm pretty busy organizing latest details, did not get much done in the last few days :/

The GRE work is progressing slowly but pieces are getting in place as I would like. In particular Darin will work on a fix to allow mixing nsEmbedString and private string in the same DSO. That means my GRE patch will not break mozilla static build (the hard part of mozilla development is to deal with multiple platforms and builds) and that we will be able to port epiphany code to use nsEmbedString gradually.

Had to setup a windows build of mozilla to be able to test nsComObsolete.h kill off. That was really not fun, it's so much easier to install a linux distribution with all the tools you need then setup cygwin/mingw.

jorn You are my hero. I think your   contribution to GNOME multimedia will be great, indipendently of what player will be officially distributed.

29 Apr 2004 (updated 29 Apr 2004 at 10:57 UTC) »

I'm doing some very boring work to cleanup epiphany mozilla inclusions and separate public api, private api, api incompatible with embed string. We are actually doing better than I thought. We are not using that much private stuff and incompatibility with embed strings looks fixable. I think this will help me figuring out stuff we need to fix in mozilla SDK.

Got approval for another Mozilla SDK bug. I have not been able to get someone to check it in so far though :/ Mozilla patch lifecycle is somewhat bloaty. I need to bug 4 different people (r, sr, a, checkin) to get a patch in. Oh well I guess at some point I'll be a mozilla guru and I'll get a cvs account ;)

This really need to be fixed. You cant have to go through 3 different private interfaces to be able to attach mouse event listeners.

Argh, need to go to civil service now, I'm late as usual ...

Very interesting thread about Mozilla cross-platformness, starring Brendan Eich and MPT.

Finally I've been able to post the gnome print integration plan bug. I think it's a great, concrete chance to work with mozilla developers on something that will affect both epiphany and firefox, let's not waste it ;)

Frustration: being on a meeting with a bunch of incredible people, having lots of things to say and not be able to get involved or even understand the conversation because you cant talk or understand their language.

Sorry, I really hope I'll find ways to be more useful :/

21 Apr 2004 (updated 21 Apr 2004 at 19:09 UTC) »
jorn I hope you will reconsider the backend switch. Could you explain, in detail, what are the issues with gstreamer? Bug numbers, criticisms of the framework design, blames on the maintainers to not deal with your requests... everything would be useful to identify the problem and try to solve it in a reasonable timeframe. I'm convinced a bit more communication would hugely improve the situation.

My fight with mozilla SDK continues. It's taking a lot of my time but I think it's necessary, it's not my favourite hack but someone must do it. So, since this has been the main topic of this blog lately I'm in debt of an explanation to my 3 readers. Gtkmozembed is a nice, simple widget that allows to embed mozilla renderer in GNOME applications. To be able to adopt it more widely in GNOME applications (see devhelp, yelp, evolution at least) we need to solve some issues:

  • 1) DISTRIBUTION. We need better modularization. Atm you need to install the whole mozilla browser to be able to use the widget. It would be cool to be able to have mozilla-gre package with the base libraries that GNOME applications could use and mozilla-browser, firefox packages dependent on it.
  • 2) STARTUP. To start up an application using the widget now you need to create a wrapper script to setup LD_LIBRARY_PATH to point to $prefix/lib/mozilla-$version. Mozilla libraries are installed in a versioned subdirectory because they are not api stable. This is probably the bigger cause of bug reports: the result of running epiphany with a different version of mozilla than it was compiled are obscure undefined references.
  • 3) TOOLKITS MIX. Gtkmozembed api lack some basic functionalities. It's possible to write XPCOM code to use mozilla interfaces directly, but that's somewhat ugly code wise and anyway require to learn about XPCOM. For basic functionalities it would be desiderable to depend only on the gobject api.
  • 4) API. Mozilla public apis are beings stabilized but they are still somewhat bit rotten and incomplete. I think what they really need is api users bugging them to fix this situation (and helping obviously)
  • 5) COMMUNICATION. There is basically no communication between the two communities. This need to be solved ASAP, we de facto depend one on the other technologies.
Here are some of the things I'm doing and plan to do to improve the situation:
  • Make gtkmozembed a GRE client. libgtkmozembed.so will be versioned and installed in system lib path so that it can be parallel installed. (This solves 1 and 2)
  • Fix problems with mozilla SDK. In particular we have finally an embed string api (string api changes has been the worst mainteinance hell for epiphany and galeon so far) but there are some mozilla interfaces that doesnt support them yet
  • Work with mozilla developers to add missing apis instead of just using private interfaces
  • Port gnome applications to use gtkmozembed. Mikael ported devhelp already and I need to convince shaunm to let me port yelp :)
  • Add api to gtkmozembed for basic functionality. Find, print and zoom come to my mind. We need a solution for preferences too (fonts for example). We could add simple get/set api but ... it would be so much more useful to bridge gconf and nsIPref :)
  • Mozilla has a command handler api where you can use strings like "cmd_cut" to execute actions (and get notified about their state). The editor is heavily based on them. Probably a set_edit_mode and + command handler api wrapped in gtkmozembed could allow to acces most editing functionalities with a gobject api.

I opened bug 140713 about this. Feel free to add notes there if you are interested. It's the first of the plan tracking bugs (man, I'm slow), I'm going to post one about gnome print integration ASAP.

21 Apr 2004 (updated 21 Apr 2004 at 13:00 UTC) »
clarkbw Congratulation for your position, I was really hoping that. Now my two favourites designers works full time on linux desktop. This sounds so promising :) Btw any reason clarkbw is not on Planet Gnome ?
17 Apr 2004 (updated 17 Apr 2004 at 09:31 UTC) »

I have too many ideas floating around, too many unfinished things, too many things I'm waiting for to be finally concluded but they keep getting delayed. Need to bring back sanity...

First step cleanup bugzilla, second complete the plan for 1.4. Third start really fixing bugs.

If there is something I totally hate is to wait ... I especially blame italian mail to take two weeks (so far) to deliver 80 Km far a mail I really care about.

I'm going to have a free Sunday finally, possibly the only one until October. I really need to spend it in something else than hacking :)

15 Apr 2004 (updated 15 Apr 2004 at 10:27 UTC) »

I completed my GRE patch, waiting for a review now. Luckily I think it will still be possible to run current galeon/epiphany code with just configure changes (keep to link to libxpcom at compile time basically).

On the bad side I doubt we will be able to have multi screen support any time soon. Mozilla widget/gfx code is not multihead aware. Most of the code would be easy to fix (apart the mess of having to keep gtk 2.0 compatibility), though there are some services that are global while they should be per-screen or per-display (most notably the look and feel service). Fixing this looks .... hard :/ It's a very frustrating situation: the incompatibilities between mozilla and GNOME platforms (or more in general linux platform, see the situation with translations) are a major block to further integration work. It's so demotivating to have the whole picture easily figured out on the GNOME side and then block on hardly solvable incompatibilities.

I think it's now clear that the two communities need to merge their efforts and build a common roadmap. The sad browser situation is only one of the issues. GNOME needs several mozilla.org functionalities (rendering engine and XUL for example) and mozilla.org platform needs a desktop (as a set of technologies, an user interfaces system, a set of guidelines, a GUI design philosophy) to be grounded on. Web technologies are going to increase (even more) their importance on the desktop and we need to ensure they are properly integrated in our platform ASAP. GNOME has no resources to reimplement XUL or a rendering engine. Mozilla.org has no resources to reinvent the desktop. If you add a components system and the ability to use multiple languages on the top of it well ... that's more or less what we are looking for. A native frontend is a good solution to the browser problem, the only viable on the short time, but it only goes so far.

Brendan "proposal" is interesting and we should carefully consider it. If mozilla.org is finally considering the free desktop as a primary target, and they are willing to promote _real_ integration with the free platform, then I think there is space for a merge. It's a lot of work and not only code to write or design. There are social spaces to share, conventions, habits, tools, roadmaps to merge. Though I think it's a necessary step for linux to succeed on the desktop.

(hoping to not get out of my dream to discover this is just a marketing strategy to push some applications in Linux distributions...)

20 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!