Loud ramblings of a Software Artisan

Monday 8 June 2009

AbiWord 2.7.3

Marc released AbiWord 2.7.3 this week-end. I used the release to update the packages from Maemo since I fixed many of the issues that were filed against it. It should appear in the tablet's Application Manager if you have the extras-devel repository.

Note: there won't be any update to 2.6.x, as 2.7.3 should already be much better. Only Maemo 4.x is supported (only tested on 4.1 aka Diablo on a N800).

Update: if you don't have the extras-devel repository, you can install it. Diablo (4.1)

Update 2: and please, DO file bugs.

Saturday 30 May 2009

Saturday May 30th, 2009


  • Installed the Maemo Diablo SDK (only the FLOSS part). This involved installing Scratchbox, disabling some SELinux, and so on. Also Xephyr crashes. Filed bug in Fedora. And last but not least, I had to reinvent diskspace as both / and /home are more than full. 60GB HDD ought to be enough.
  • Some issues with getting Gnote dependencies for Maemo. Will bother later, even though that's one of the reason I installed the SDK.
  • Built and fixed AbiWord 2.7.x for Maemo. At least I share the tree with the regular desktop build. Got it running, but the built-in input method just eat the "return" key presses therefor making it hard to use AbiWord in the SDK. Will need to investigate that.


  • Working on building AbiWord packages for Maemo. Fortunately 2.6.8 almost build out of the box. I struggle more with disk space than anything else. The previous packages pre-2.6 were build with --enable-debug that spew asserts almost all the time (this has gotten better, but released package must not use that option) and is actually much slower.
  • Mental note: after doing a new install, don't forget to tune2fs your / filesystem to set the reserved percentage to 1 instead of 5.
  • Apparently there are several bugs in AbiWord 2.6.x that only manifest on the device.

Sunday 9 December 2007

Still no Ogg support?

I ran into this bugzilla comment for Maemo, concerning the lack of Ogg support in Maemo on the Nokia internet tablets (it is really more about that specific comment and the linked PDF file than the bug itself).

Tuesday 27 November 2007


Dear Nokia,

I was trying to download the new firmware image for the N800, but you website is so nicely done that:

  • it download very slowly until it times out
  • I can't use wget to be able to resume the download because you force me to go through an "authentication" and a click-through license that has no legal value.

Any solution?

Update 2007/12/12: still no solution. Filed a bug.

Monday 12 November 2007

Open, the new buzzword

Dalibor comment on the Android SDK licensing. And Paul open questions about the announcement of Open Handset Alliance.

Happy to see that I'm not the only one thinking about that. I believe more in GMAE, and OpenMoko intents, as well as Nokia's, are much clearer.

Wednesday 17 October 2007

A dream came true

I had a dream. Apparently, the dream came true.

And the added GPS is the icing on the cake. However I wonder if the GPS chipset driver is Free Software.... as OpenMoko seems to have had issues with the GPS solved by changing the supplier.

Friday 26 January 2007


I would like to thank the Maemo team for my enrollement in the N800 Developer Device Program. I'll try to do what I can to order it as it is currently not made easy. I still look forward to get a N800, and I'll be patient.

I also would like to thank Trolltech for sending me a free copy of the book C++ GUI Programming with Qt4 as promised when attending the presentation at aKademy last September.

Wednesday 24 January 2007

So long Zaurus, N800 vs Newton

Zaurus, one of the first Linux based PDA, the one where everything started is gonna disappear. Apparently Sharp announced that they'll discontinue the product. I think that one of the reason the Zaurus was not that successful is that it was not easy to buy: Japan, a selection of models in the US, and that's mostly all. And it was somewhat expensive.

Nokia 770 vs N800: I have had in hands for a few minutes on of my coworker's N800. All I can say is that the design is definitely an improvement over the Nokia 770. Two SD card slot, including one that is "inside" (next to the battery), that's is definitely good. To cut all the rumors, the screen is the same size on both. Sean Luke has written an easy about the N800 as seen from a Newton user and developer. Very interesting reading, and given the openness of the Maemo platform, it is doable by third parties. I'm still dreaming of a N800 with a "foldable" keyboard.

Update: according to this comment, the iPaq running Linux predated it.

Tuesday 23 January 2007

AbiWord 2.4.6 for Maemo 2.0

Thanks to tf, etrunko and uwog, there is now an AbiWord 2.4.6 package for Maemo 2.0 (the one that runs on the Nokia 770).

To get it set the following package source in the application manager:

  • Web address: http://www.abisource.com/downloads/apt/
  • Distribution: mistral
  • Components: user

Note: there are still bugs and I have barely anything to do with that version (due to lack of time to really get started on Maemo development).

Next step? Provide a build for the N800 (I don't know who in the team will have a device, but it won't be me). And build AbiWord 2.5.x

Thursday 11 January 2007

CES season

It is "CES season", and it comes with a bunch of new devices.

First of all, the N800, successor of the Nokia 770, running Maemo 3.0 (code name bora) has be released. From the information gatherer, it bump from 64 to 128MB of RAM, get more chutzpah with a more powerful OMAP processor, get 2 MicroSD instead of a RS-MMC, and has an embedded orientable camera for video chat. Otherwise it share the same form factor, no keyboard. Maemo 3.0 does not run on the Nokia 770 but Ari Jaaski discuss about the options like what are the possibilities to provide a developer image for the 770 to test applications for the new Maemo.

Second, a Linux-based media player apparently sponsored by AOL (or one of it subsidiaries) that will sell music online. It does not play open format like Ogg-Vorbis, but MP3 and WMA (with Digital Restrictions Management). Since it runs Linux, it might be possible to provide other features through a custom firmware... SmartScreen, the "framework" used for the device firmware, seems to be more smartphone oriented. Unfortunately, it does not seem to be as open as Maemo. Interestingly its SDK appear to also be running on Linux although not everything... (the whitepaper from 2004 has old screenshots with Gnome 1.4)

This show how Linux on embedded device is really growing.

Oh, and one more thing. A lot of people have noticed iPhone announced by Apple at MacWorld. It does not run Linux (but MacOS X) and does not even seem to be open to third-party development. On the other hand, its user experience, still in a demo stage, sort of raise the bar[1] for future developments.

Update: it is actually SD card slots on the N800. That is very welcome.


[1] no pun, I swear!

Thursday 10 August 2006

I had a dream...

Sony just released announced the Mylo. The Mylo is a wifi enabled handeld, running Linux and Qtopia. At a similar price as the Nokia 770 ($350) it features in thumb keyboard (retractable) and a much smaller screen (320x240 unlike the 800x480 that the Nokia has).

If only the Nokia has that keyboard... I dreamt of such a thing: a retractable keyboard under the screen that you push up with the thumb when you want to type. I tried the on-screen keyboard in Maemo, and the problem is that it is on-screen: big thumb are not very compatible. The relief of the thumb keypad would make typing easy with a similar price.

Otherwise the ZipIt (see also) only cost $99... And it is hackable with Open Source alternative software.

Wednesday 21 December 2005

PIM Data synchronisation, part 3, the encoding

Something I forgot to talk about are the encoding for these iCalendar and vCard data. Why? Just because it is not clearly specified, or not in a way adapted to that use. I don't know what where the reason behind that, but something I'm sure is that it is a little bit shortsighted, as the RFC only address the use of that format as MIME content not providing any provision for a more versatile usage.

vCard: RFC 2426, section 5 state the difference between the vCard 2.1 format and the version 3.0 that the RFC specifies. It is written:

. The VCARD CHARSET type parameter has been eliminated. Character set can only be specified on the CHARSET parameter on the Content-Type MIME header field.

Previously we could specify CHARSET parameter for each field; now it is no longer allowed and requires that the outer MIME header specifies the encoding. This is quite restricting as we not necessarily have this in a MIME enveloppe. This leads to some weird behaviour with other software. For example, MacOS X Address Book application allows exporting addresses to vCard. If everything is in ASCII, then the vCard .vcf file is stored as an ASCII file. If it contains non ASCII data, like accents in French, the file is written in 16-bits Unicode, with a leading bom marker which is not without confusing other reader.

iCalendar: Section 4.1.4 for RFC 2445 state about encoding:

There is not a property parameter to declare the character set used in a property value. The default character set for an iCalendar object is UTF-8 as defined in RFC 2279.

Again, same as vCard, the charset specification is to be set by the MIME container. But this time, a default is specified: UTF-8. This is one point where vCard and iCalendar differ and where at least iCalendar has a sane default.

Now when the data comes from the device, sometime the developer has to figure out what charset it is. Even worse. Sometime it completely depend on the language the device is set in, and there might not be any way to know that, and assume that the user have the same language settings on both side. It is a problem as these encoding problem cause data loss of a various kind. Sometime it is just not the right char (but in that case that only cause differences), sometime it cause the string to be truncated because of a charset conversion failure.

This is something to be considered, and for the sync engine, I'd myself just go by using UTF-8 all the way.

Saturday 10 December 2005

PIM Data synchronisation, part 2, the data formats

You may want to read part 1 if you haven't already. I have explained why we might want to have synchronisation. Now I'll explain how we would do that.

First we need to understand how PIM data are or can be formatted. Actually there are various formats, more or less proprietary. And there are a couple of IETF format, vCard, vCalendar and iCalendar. iCalendar is the version 2.0 of vCalendar, and has been ratified as RFC 2445 by the IETF. It is the standard for storing calendaring information. vCard has been ratified as RFC 2426 and specifies a way to store and transmit contact information.

Both iCalendar and vCard have a common organisation, that is logical given the nature of the data. We have records that contain fields, with attributes. For example, a contact would be as follow:

FN:Homer Simpson
ORG:Springfield Nuclear Plant
ADR;TYPE=HOME:;;742 Evergreen Terrace

The vCard is a record, and each field is one of this lines that starts with a keyword followed by a ":", at least when it comes to the vCard format. iCalendar is quite similar, but allow embedding another record. No big deal. This is the logical organisation, and if you look closer, you'll realize that this is the design choice made for the Palm .pdb format where the data is just a bunch of records.

To be continued...

Tuesday 29 November 2005

PIM data synchronisation, part 1

Imagine you have a cell phone, a PDA and a PIM software on your computer. You expect to have the same set of contact and calendar events on each device, or a consistent subset. Currently PDA and phone are converging in term of functionalities as phone are having more than just a phone book and some PDA including cell-phone functionnalities. In fact you may just end up having one of these two, but still surely have a home PC.

So you need to synchronise your data from the PDA to the PC. This is something Palm popularised with their Palm Pilot back in 1995. You put the PDA on the craddle, you press the HotSync button and your data gets synchronised in between the two, carrying the changes made on one side to the other and vice-versa. But this was with one device, one PC software, problem was quite restricted 10 years ago. It slowly expanded to other PC software still using the same middleware. Not very different.

Add the cell-phone to the equation, and it does no longer work. PDA A has its software, cell-phone B has its software, and they are hardly interroperable together, even if sometime then end up being plugin of the same PIM software.

That is what iSync from Apple sort of tried to address: synchronising multiple devices, and it took time (2 OS release) before Apple provided the proper APIs for 3rd parties ISV to write drivers or support syncing in their applications.

Now let's see about Free Software solution. There have been several attempts to provide syncing tools, usually between one device to the PC. J-Pilot, Gnome-Pilot, KSync, KPilot, etc. are amongst them. Then came Multisync, whose goal was to provide synchronisation amongst multiple devices and your desktop PC. It was GNOME centric and for that reason got superceeded by OpenSync whose goal is to provide a general purpose synchronisation framework. fejj has been hacking on OpenSync lately, resulting in producing some patches to fix various issues and disappointements. We chated shortly about that on #gnome-hackers and I thought I would give some views on my ideas about thinking. After discovering some flaws in the design of MultiSync, I started thinking about it, but never got through finding the time to implement them, nor to put them down.

To be continued...

Friday 25 November 2005

My life with the Nokia 770

For a few days, our only internet access was throught wireless network with the Nokia 770. I tried with the laptop but the prism54 card I'm using didn't get any signal while the Nokia 770 could.

Could we turn the Nokia 770 into an USB to Wifi adapter? I think it is possible. We have almost all the bricks. We just need to write a CDCEther driver for the USB slave (relatively trivial, I have done that in the past for the freebox) and bridge that ethernet interface to the wifi driver. And all the wifi specific configuration be handled by the UI in Maemo. Linux has a CDCEther driver built-in.