Big day for Modest and Tinymail

Quim Gil announces why.

It’s a little bit frightening … I guess quite a lot of people will now start using our code.

I’m also proud of having been involved with such a great team of software developers working on Modest and Tinymail.

I think I succeeded at creating a healthy free software project suitable for both commercial and purely free software appliances. People are contributing for and from different angles. Different companies are involved. I am trying to blend the contributions a bit more in order to get more “passion contributions” rather than “just the minimum must work, here’s a quick-fix”-patches. It’s improving, though.

Nokia (however) gave me ‘the’ opportunity to create Tinymail. They allowed me to work on it full time for more than a year. Everything was always immediately free software, and happened completely in the open too. Go check if you don’t believe that.

You can accuse Nokia of a lot of things, but they did great at fostering several free software projects. They made mistakes, of course. In my opinion, the handling of this project was done in a very healthy way: very open minded and very much the way free software can be commercially successful. I hope they learned free software won’t do wonders but that it can help you finding experts in specific fields, working together on the bigger picture: the actual consumer device. Working together with free software inspires a certain kind of passion among engineers. Capitalizing on that is fine, as long as you have respect for the passion. Just like the engineers have respect for the passion of solving the problem of producing and bringing millions of devices to the customers in time. Both enemy and friend know no company can do this better than Nokia.

I don’t think there’s anything controversial in respecting the hardware dudes’s jobs. In the end we humans are all about our passions.

I didn’t succeed at making a release before Modest was thrown to the Maemo users. That should happen very soon now, though. I’m very much in agreement with that “release often, release fast” – meme. But I also only want to call something a one-point-zero if it’s really stuff that works, behaves as expected and has all API that people’s E-mail clients require. The problem is that as an engineer I’ll never think that any of my software is finished. Everything can be better. Living near Eindhoven I grew up with the slogan “Let’s make things better“. I agree with the meme in that slogan.

Neither did I reach a bunch of technical goals. I have so many things in mind that would make Tinymail based E-mail clients by far the best kind of mobile E-mail clients ever created. Although Polymer, damn you Dave Cridland! :-), makes it hard to really be the best. Subjects ranging from pipelining to supporting CONVERT, forward without download, streaming media as attachments, and many more. IMAP has a few interesting limitations that I would like to address too, like Lemonade does. And then you have the IMAP serversgrmbl.

Regretfully a lot of people think of E-mail as a simple subject. They should figure out then why so many teams have tried to write good E-mail clients, yet relatively few succeeded. I’ll spare you the details and I’ll just point out that a lot of ’stuff’ is involved that you won’t expect. But really, if it wasn’t a challenge, I wouldn’t have been interested anyway. I’m not complaining, I enjoyed and I am enjoying a hard task ahead of me.

Meanwhile, I enjoy working on Tracker for Nokia. It was time for something different. Incubation time for Tinymail, perhaps? I’m working a lot with SQLite, who knows what will come out of that symbiosis? Perhaps I learn that it’s not suitable? Perhaps it is? I haven’t had the chance to explore cursors in SQLite. That’s what I’d be interested in most for things like Tinymail.

I should stop thinking about it too much, before I end up hacking until eight in the morning again.

Genoeg is genoeg

For all those Ubuntu 8.04 users who recently left behind their perfectly working 7.10 Ubuntu version and are now amazed by the vast amounts of hardware that ain’t working (like in my case, the sound card, ACPI hanging the kernel at boot (need to add acpi=off), shutting the machine down hangs, etc etc):

First of all, you never remove your old Ubuntu until your new works perfect, for obvious reasons (you are using Ubuntu, chances are pretty high that stuff doesn’t work after an upgrade). You should learn to do this if you didn’t (and I know this is bullshit for the average user, I guess this means something about how ‘ready’ Ubuntu is for that same average user).

mount /dev/sda1 /mnt
cp -a /mnt/lib/modules/2.6.22-14-generic/ /lib/modules/
cp /mnt/boot/vmlinuz-2.6.22-14-generic /boot
cp /mnt/boot/initrd.img-2.6.22-14-generic /boot
umount /mnt

Now edit /boot/grub/menu.lst and at the bottom of the file or under these lines:

### END DEBIAN AUTOMAGIC KERNELS LIST
# This is a divider, added to separate the menu items
# below from the Debian ones.
title Other operating systems:
root

add these lines:

# This entry automatically added by the Debian installer
# for an existing linux installation on /dev/sda1.
title  Ubuntu 7.10 for 8.04, kernel 2.6.22-14-olbuntu
root   (hd0,5)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=<copy this from above> ro
initrd /boot/initrd.img-2.6.22-14-generic
savedefault
boot

Every once in a while somebody whines about replacing the x11 clipboard

I just realized that the promise of ipv6 will create a demand for good clipboard integration in console applications! Imagine the very long ipv6 addresses that many Unix/Linux admins will have to move from spreadsheets into configuration text files!

Therefore I propose that we start thinking about a libclipboard library. As a pragmatic bridging solution we could easily make a small DBus service that not converts but bridges the target requests to the x11 clipboard owner. This service would just play as a proxy rather than something that collects and harvests x11 clipboard targets (the x11 clipboard supports requesting the owner to convert to a desired format, getting a list of available formats, etc – called targets -).

Meanwhile we could let console applications finally enjoy a decent clipboard that can actually make it possible for a console application to request multiple formats. Sounds better than xterm hacks to me.

Before continuing with reading, do this in your mind:

If you are a religious vim user:

export EDITOR=vim

If you are a religious Emacs user:

export EDITOR="killall -9 vim; emacs"

Examples:

  • Select text in Firefox, paste as HTML source in $EDITOR
  • Select two columns and twenty rows in a spreadsheet application, and paste as a comma separated list in $EDITOR

Maybe even have an easy to configure filter application that on-the-fly converts just a copy source into a format that the admin wants in his configuration text file. You know how management always delivers things like IP addresses in spreadsheet format (it’s just a silly example, really).

We could also let such a library solve the problem of two applications running on the same computer being displayed on a remote X11 server having to transfer large clipboards over the X11 protocol (over the wire).

I still think PRIMARY and SECONDARY are broken concepts by design. But I also agree that this is subjective (but really, let’s be honest about it, it’s broken. Seriously).

Of course I realize that whether or not I’m right about such a solution only depends on somebody (like me) doing it rather than just blogging about it. I have always been tempted to try to start something. Who knows someday I will?