Tag Archives: Gnome

www.gnome.org

Glom 1.6

I released Glom 1.6. It’s mostly just a port to libgda 3.0 (from libgda 1.2). That makes life easier for people working on the code. We might have broken some things while doing that, so please do report bugs so we can fix them.

Glom 1.8 should be out in approximately six months from now. It’s likely to include an easier layout designer, using drag-and-drop, and a client-only Maemo version for the Nokia Internet Tablet.

Giving Away The Old Events Box PC

Now that we have the new Fujitsu-Siemens Esprimo Q Mini PC in the GNOME events box, we don’t need the old PC. I have permission from the GNOME Board to donate it to a GNOME developer (or some FOSS contributor) in the Munich area, if someone would like to collect it. It’s a little beaten up, and the hard drive maybe needs replacing (I might have a spare drive for you too), but it’s a perfectly acceptable 3Ghz desktop PC (details). Send me an email if you’re interested.

Update: I gave it to the local Debian people for use at the Munich Systems exhibition.

IMG_2974_001

Small pretty audio player, to replace YP-F1

I’ve been without an audio player since my Samsung YP-F1 was a victim of the ETAP hotel room robberies at the GUADEC conference in Birmingham. Well, I haven’t seen it since then anyway. The YP-F1 was small, pretty, it worked like a USB memory stick, played Ogg Vorbis (essential for me), and recharged without disposable batteries (also essential). But they don’t make them any more.

The YP-F2 doesn’t look too bad. They don’t make that any more either but I think I can still get them here in Germany.

Samsung YP-F2

Now there’s the YP-U3, which is not pretty, though not awful. But it seems to need the MTP protocol instead of allowing music to be loaded as a USB mass storage device. Apparently the YP-U2 had the same problem. (Update: Apparently the YP-U2 works fine as a USB mass storage device.) How confident can I be of MTP support in, for instance, Rhythmbox? Even if it works it would annoy me to have to use music player software just to transfer files to the device.

Samsung YP-U3

I find just about every other audio player large and ugly.

Update: I bought a Cowon iAudio 7. It plays everything but I hate the interface. It’s very difficult to know what the buttons might do at any time, it’s far too easy to brush the buttons accidentally, and touching a button for a moment extra will cause it to recognize a long press, which generally does something unrelated and unexpected. I also miss the belt clip for running.

Work on Modest and C++ for Maemo

Some public statements allow me to now mention some work I’ve been doing recently for Openismus, for Nokia, though the heavy cloak of secrecy still hangs over many Nokia things by default.

Maemo Modest

Since Nokia’s Dirk-Jan Binnema talked about Maemo’s new Modest email-client at the GNOME conference (his slides), I can mention that some of the Openismus people (myself, Armin Burgmeier, Johannes Schmid, and Christian Kellner) have been working on this project quite intensively since May 2007. It consumes most of my time at the moment.

Modest is an email client for the Nokia Internet Tablet that’s actually usable, meaning it can handle real world amounts of email, via both POP and IMAP, and it has presets that make it easy to set it up to use many common email accounts, such as Yahoo and Gmail. If we can get everything done (Nokia’s quality requirements are sensibly high) then this will be used by a lot of people.

It uses Tinymail, which uses Evolution’s camel code, so we obviously get most of the functionality that Evolution has, without using Evolution’s UI, but everything is much faster and responsive. It is by far the best way that I can imagine to write an email client now, not that there’s a lot of competition. I say that even though I think that tinymail is currently not a lot more than a glorified wrapper for camel. It’s just that it’s a very good wrapper. Good APIs cause applications to be better and save developers time. It will get really interesting when there’s a future version that can use something other than camel. Philip Van Hoof knows the Tinymail and camel code very well and is incredibly responsive to our needs. While I might be up all night worrying about a problem, Philip has usually been up all night fixing it properly.

We’ve made some small but significant changes to tinymail’s version of camel (camel-lite) – a big investment of time. I think that Evolution should be ported to our camel-lite in the near future, to get some improved stability (general fixes and better thread locking to avoid intermittent hangs and crashes) and improved error codes (allowing better error messages), and obviously to get the performance improvements (though a one-time cache upgrade would be needed, I think). That would be useful even if they never decide to use Tinymail, which they probably should do too one day.

Maemo C++

The updated C++ bindings for Maemo, which I mentioned recently, will be released and supported by Nokia (with help from Openismus) as part of their regular SDK. This means that people can feel safe about using C++ and gtkmm to develop Maemo applications, should C++ be their programming language of choice.

Maemo Chinook alpha and Sardine extras

A few days ago Nokia released a Maemo 4.0 “Chinook” alpha SDK, as a preview of the next stable Maemo release, which will be released at an unknown time in the future. It’s basically the easy way to get a Maemo Sardine scratchbox target set up.

Sardine is the Maemo version that is always the latest work in progress, but it’s generally been difficult to install because it required an upgrade from the stable version, and tended to break quite often. But now that it’s easier for people to start using Sardine maybe it will become more stable.

It doesn’t have the closed-source applications, so there isn’t much to see. It’s just meant to help people port their applications to the new platform.

Maemo Sardine as of August 2007

But for developers there are big improvements. If you have ported software to Maemo then you should be testing with this new SDK now. We finally have GTK+ 2.10 instead of ancient GTK+ 2.6, and there are no longer eccentric API-breaking changes to GTK+, thanks to a shot of sanity from Maemo developers like Lucas Rocha. Most of the good stuff has been cleaned up and is already upstream in GTK+ itself, I believe. hildon-libs is now hildon-1 and has had much of the irrelevant crap removed, so it’s easier to see what is useful.

We can now also upload “extras” packages for Sardine, so our software can be ready for Maemo Chinook on the day that it’s released. I’ve already uploaded gtkmm and I’m working on the updated C++ bindings for hildon-1, hildon-fm, and friends.

Scratchbox Moving Target

I use Scratchbox a lot to do embedded GNOME and Maemo development work. When it works its wonderful, compared to all the other crappy embedded development environments I’ve had to use. But scratchbox is rather fragile.

There’s a lot of theoretical things to discuss about Scratchbox and alternatives, usually mentioning OpenEmbedded. I don’t bother with that discussion for now- life is complicated enough. But life would be a lot easier if they just got some basic things right – at least that would reduce the set of possible causes of the other problems. This is like a case study in apparently poorly maintained software:

  • Bad names and version numbers: (edited due to my understandably confused wrongness. In fact I should remove this point really.) There’s Scratchbox 0.9.8 and there’s Scratchbox “Apophis” version 1.0.1 … 1.0.8 (though the early ones were not considered stable, I think). There’s a Scratchbox 2 (not obviously unstable, but probably so), at a separate web site.
  • Unstable API/feature-list: Between 1.0.7 and 1.0.8, the devkits changed name (“debian” was removed and “debian-etch”/”debian-sarge”, and “maemo3-debian” and “maemo3-tools” were added). This breaks any instructions and scripts that used the old devkit names.

Please be like GNOME: Don’t use even minor version numbers for unstable releases, and don’t change or add features or API without increasing the minor version number. Sometimes it means more work for you, but it makes life easier for users.

And when each new micro release doesn’t risk destroying something, you can finally get this thing into the regular Debian and Ubuntu repositories, instead of maintaining your own Debian packages and producing various eccentric forks.

They maybe had their reasons for both of these messes, but I doubt it was worth it and, on the evidence, I’m sceptical that they understand the problem.

gtkmm 2.11/12 API freeze

Today is Gnome 2.19/2.20 API freeze day, as per the schedule, and I’ve just released the API-frozen glibmm 2.13.x and gtkmm 2.11.x tarballs. This is always stressful, but Jonathan Jongsma and Marko Anastasov reviewed the new glibmm 2.14 API and new gtkmm 2.12 API, finding some of my inevitable errors in the API and the documentation.

Minor changes can still be made, with permission from the Gnome release-team, but only if you tell us about problems before the final stable releases in September.

Going to GUADEC

This evening I fly to Birmingham, UK for the GUADEC Gnome conference. I’ll arrive around 23:00.

I’ll be there for the core days – Tuesday, Wednesday and Thursday. I’m staying at the Etap hotel, where Johannes Schmid and Daniel Elstner from Openismus also have rooms. Unfortunately, Christian Kellner had to cancel due to an unavoidable exam date. I’ll miss him.

I’ll be giving a talk at 11:30 on Tuesday morning on libgnomedb: Database UI Widgets. This is my first time doing a talk about a project that I don’t maintain. My slides are mostly finished. I wish Vivien Malerba could be there for the more difficult questions.