projects.gnome.org

With Olav’s help, I have now moved both www.gnome.org/projects/ and developer.gnome.org/projects/ to projects.gnome.org, with the old URLs redirecting. That sub-domain existed before, but I don’t think anyone was using it. It’s still in the old gnomeweb-wml svn module, but it’s separated into its own subdomain directory. Tell me if anything still seems to be broken.

We did this so that:

  • developer.gnome.org can become even more irrelevant so nobody will notice when we kill it one day.
  • The huge amount of content in the projects pages will not block implementation of any new system for www.gnome.org, such as a CMS. In comparison, the rest of www.gnome.org is a very small amount of content.

Gramps for Geneology

My father has become slightly obsessed with tracking his family tree. He’s done lots of research going back around six generations. He uses a Windows application (called “Generations”, I think, but I’m not sure now), which is very awkward, though he manages.

When his grandson Liam arrived, he wanted to put Liam’s family tree in his system too. Germans tend to have quite good family records, backed up by Church archives, so we had some data.

I exported the result as a GEDCOM file and was really pleased at how well the open source GRAMPS application imported this file on Ubuntu Linux. For some reason I didn’t have high expectations, but this application is obviously well maintained.

And Gramps seems to be a better application anyway. It has a more sensible UI even though it is as feature-packed as these applications needs to be. Gramps also creates more compact ancestor graphs, so you don’t need to tape so many pages together. But it could still theoretically squeeze more on to the page at a readable size. This might already be possible but it’s hard to achieve with the awkward printing options.

Openismus wants trainees

It has always been difficult to find GNOME developers to employ. So for a while I have wanted to grow some new developers of our own. Now that the Berlin office is established we are ready to start by hiring some junior developers.

If you are smart and enthusiastic but you lack experience then we can provide the opportunity. You would work mostly on existing open source projects instead of customer projects, just to get experience with C, C++, GTK+ and Qt. Our developers would provide technical guidance and encourage you to work and communicate in a structured way, creating software that’s actually usable and useful.

This is also a great opportunity to move to Berlin – a wonderful city for young people.

developer.gnome.org cleaned up

Every now and then I try to do some more clean up of developer.gnome.org, aiming to move any good content to

  • library.gnome.org, as docbook in a source code module, so it can be kept up to date by the relevant people, and translated, or
  • library.gnome.org, as an external link to some other website, or
  • live.gnome.org, if many non-developers will want to change it often.

It has taken a long time, with lots of emailing, searching, hacking, incredibly quick library.gnome.org help from Frederic Peters, and advice from Shaun McCance, but I have finally reached the point that the main developer.gnome.org page is now just a link to the library.gnome.org developer section and two links to some archived stuff.

There is still stuff in the projects directory, which is only really used by the Usability and Accessibility projects. I don’t think that summary page was ever linked from anywhere. I’d like these to be moved to a new projects.gnome.org subdomain, combining with the www.gnome.org/projects/ stuff that seems to have lots more content. Actually projects.gnome.org exists already, as a bad (no stylesheet) version of the www.gnome.org/projects summary page. Moving all this projects/ stuff into a new svn module would make future changes to www.gnome.org easier.

Then we could kill developer.gnome.org completely. I don’t think anyone has any other plans for it. I don’t even think the archive of old content has any real value, but maybe we could move that to dgo_archive.gnome.org or such suchlike.

Glom 1.8

I have released Glom 1.8, with many new features and bug fixes. We have not yet fully completed some of the new features, and the refactoring may have introduced regressions that we must fix in 1.8.x releases, but we need to get it all out into the world and move on to Glom 1.10, including porting to libgda-4.0.

We have probably missed the schedule for getting Glom 1.8 into Ubuntu Intrepid so I’ll create some PPA packages when Intrepid is released.

Useful new stuff in Glom 1.8:

Network sharing

As you can see in the new initial dialog, you can now choose to open a Glom system from the network, if a colleague is already running it. This is much easier than getting access to the actual .glom file on a shared network drive.

This uses the new libepc (Easy Publish and Consume) library, developed by Mathias Hasselmann, using avahi and libsoup. There’s a chance we might use telepathy in the future.

Armin implemented the new dialog, and I implemented the load-from-network code using libepc.

Import

You can now import CSV (comma-separated) data in to the current table. The assistant helps you to choose the field mapping, showing you sample data for the first few rows.

Johannes implemented this.

Drag and drop layout

You can now drag items from the toolbar (hidden by default) onto the details layout, and you can drag items within the layout. The automatic layout reflows as you do this.

Yes, we know that the dotted lines are particularly ugly, but I don’t yet know of a better way to show the limits of the columned boxes and items, which may be inside each other. Mockups would be welcome.

Johannes implemented this. It was a huge job and he’s probably glad to be doing some other things now. This uses the EggToolPallette toolbar, developed by Mathias and Jan Arne, that we hope to get into GTK+ eventually.

Print Layout

This is very primitive right now, but you get the idea. Unlike the on-screen layout, this uses precise positioning. That allows you, for instance, to print in the correct places on a pre-printed form.

Most importantly, we need to add some way for fields (particularly lists of related records) to flow into each other, maybe using allowing them to be special objects in text blocks.

I implemented this, if you can call it implemented. I used goocanvas (via the goocanvasmm C++ bindings). I also rewrote the Relationships Overview using goocanvasmm. It also uses the EggToolPallete. I guess we should move it to the left to be consistent with the regular layout toolbar.

Windows Installer

Armin built Glom and its dependencies (apart from Avahi) on Windows and created an experimental installer.

Armin and Johannes also updated Glom’s client-only Maemo build.

What’s next

We need to finish the print layout and drag-and-drop features, and port to libgda-4.0.

I also want add a platform-specific alternative layout option, so one .glom file can have large layouts for regular PCs and small layouts for Maemo, for instance. I’ll probably get around to doing that for 1.10. On Maemo, I also want us to use the new UI elements in Maemo 5, if the Maemo SDK is released.

gtkmm 2.14 on MS Windows

Installer, documented

For a long time Cedric Gustin provided a popular gtkmm installer for Windows. But he hasn’t had time for that since gtkmm 2.10, so there was no gtkmm 2.12 installer for Windows.

I encouraged others in the community to take over this work, but I eventually asked Armin, one of our Openismus developers, to get it done, with advice from Cedric. He recently blogged about creating that gtkmm 2.14 windows installer. I also asked him to document exactly what it provides, what to distribute with your application, and how the installer was created. See the gtkmm on Windows page, and the Building gtkmm on Windows page.

The installer and the documentation have been through a few iterations of feedback from me and then from the mailing list, so please do tell us if it’s unclear or missing information, or missing something that you need.

Multiple compilers

It looks like we must provide a MS Visual Studio 2008 build as well as a MS Visual Studio 2005 build, so Armin is working on that. Although the compilers are compatible, developers will expect our DLL to link to the new  (parallel-installed) version of the MSVC++ runtime libraries, and accidentally linking to both runtime libraries in an application is probably no fun. If we are wrong about that then please do tell us, to save us some work.

I am also concerned that we may need to provide various builds for the various versions of gcc for the MinGW build. Or maybe we should just support the latest one. Unfortunately two users have even reported an incompatibility between g++ 3.4.2 and g++ 3.4.5 in MinGW – they had to upgrade the compiler to catch exceptions from gtkmm when using our DLLs. That shouldn’t be necessary.

For all these various versions, we need to invent DLL naming conventions. But I’d rather take someone else’s conventions. Is there any other C++ library that has an equivalent installer that doesn’t just force you to use one particular compiler? Qt seem to provide only the source code. That’s just enough, but it isn’t very convenient.

Development is so much easier on Linux.

Daniel Borgmann joining Openismus

As of today, Openismus welcomes Daniel Borgmann, of Clearlooks and UbuntuLooks theme/theme-engine fame. But his office in Berlin must remain empty for at least three months because we are sending him north to Helsinki. He’ll experience the dark frozen winter, which is probably quite interesting when you know you will come home eventually.

Daniel will be working on theming for the new Maemo platform. We brought him to the Maemo summit in Berlin at the weekend and I hope that was a positive introduction to Maemo.

Maemo Summit and Openismus Party

Maemo Summit

The Maemo summit in Berlin was much better than expected, though mostly for the meetings outside of the talks, where the NDAed people could whisper obscurely to other NDAed people. Many thanks to the summit organizers, to Nokia, and to C-Base.

Nokia announced some big hints about the next version of Maemo, including a major focus on finger and thumb usage rather than a stylus, better CPU and graphics, and the (unspecified) use of the clutter toolkit. For us NDAed people it took extra effort to remember what stuff was now public and what stuff was secret. To ease that problem, and to get valuable feedback, it looks like there will be early SDK releases with ongoing public work in svn, but I will believe that when I see it. I want to believe.

Listeners to Rodrigo Novo’s charming accent could be forgiven for hearing that it would be a tongeable interface rather than a thumbable interface. Maemo 5 will be great, but that’s an exaggeration.

Openismus Party

We hosted a party on the last evening of the Maemo summit, in our beautiful new offices, with Maemo/Nokia sponsoring the drinks and pizza. The numbers of people were just right, and the atmosphere was very positive and friendly. I saw many of my favorite people and met some new favorites too. People seemed to enjoy the place.

I took a few quick shots with my narrow-angle low-light lens, but the results are kind of abstract and fuzzy.

Apparently an upstairs neighbour poured a bucket of water on Philip Van Hoof, possibly annoyed at the noise at 11 o’clock. But I think that’s too early to be plausible, so it must be someone who doesn’t know that Philip is much nicer in person than online. Philip took it with good humor.

Openismus Party Tonight

I have been in Berlin since Monday, setting up everything in the new office to be ready for the party this evening. We built lots of IKEA furniture, we have wireless internet, we have a fancy coffee machine, music, a Wii games room, several crates of beer, and a source of regular pizza. It’s still a little primitive.

The party starts at 8pm. We will probably shut things down at midnight, to avoid annoying the neighbors. But we are in a wonderful neighborhood with an insane amount of cafes and bars, so you’ll have no problem partying on until the morning. I am a little worried that we’ll have 200 people there, instead of the planned 80. Let’s see.

We are at Kastanienallee 88. To get there from the Maemo summit, take the U2 U-Bahn to Eberswald Strasse from Märkisches Museum, or take the S-Bahn from Janowitzbrucke and switch to the U2. Alternatively, take the M1 tram and get off at Schwedter Strasse. See Google Maps.

Openismus Party after the Maemo Summit

There will be a smallish beer-crate and pizza party at the Openismus Berlin office on the Saturday night (20th September) after the Maemo summit. That will be an opportunity to introduce our new location to our employees, customers, and other Maemo/GNOME people. I think we can get Nokia to pay for the beer and pizza.

Lots of Maemo summit people will have left Berlin already by Saturday, so hopefully it won’t be the full 200 people. We can probably handle around 80. How about you add your name in the comments if you’ll be there. That will help us to plan, and will tell us whether we need to limit the numbers.

It’s Kastanienallee 88 (Google maps). The name’s on the doorbell outside, and we are in the building at the back.

I will be in Berlin from Tuesday, taking delivery of some furniture and other stuff, including a Wii plus projector, which should be nice for one of our extra rooms, and a fancy coffee machine. But in general the space will still be quite empty, with no secret stuff, so it seems like the right time to have a party there. It looks like we’ll have Internet and some Wi-Fi.

My baby son and girlfriend will be there, so we will probably dedicate one quiet room as the baby room. Finally Liam will get to meet Mathias’ Marc Andre.