Friday 21 December 2007

it was a very good year


(and it's not even over yet)


The end is nigh - the shortest day of the year. Next week, I'll be spending some time in the lovely city of Amsterdam, enjoying various Christmas-related festivities. No matter how nice it is here, it will be good to leave Helsinki behind for a couple of days, and do something different.

At last, the OS2008-images have been published. A big improvement, I should say, and there should be little reason not to upgrade... One more reason to upgrade, is that you can then install modest :-) Just this afternoon, we've published updated packages. I also look forward to play with Canola2, created by those talented Brazilians. It would be even better if they could release it under the GPL, as has been suggested.

Yes¸modest... Even though our public public bèta is not even two weeks old, we have a lot to look back on. It's been an incredible year, even just looking at the modest-microcosmos. I am very proud of the the team, a group of truly amazing individuals. Nevertheless, we won't rest on our laurels, and look forward. The latest release (Friday 21.12) should be the best so far, and will also be the last of 2007. As I said before, if you find bugs, or feel something is missing: please visit bugs.maemo.org (component: Communication/Modest). We've already cleared up quite some of the issues that were reported - your voices are being heard! In 2008 we will return with our batteries fully recharged...

Merry Christmas to All!

Monday 17 December 2007

feed the world

Yet another modest-post. We received a lot of feature requests and a handful of bugs after our repeated requests. We're working hard on fixing the bugs, and let's see what we can do with the feature requests. It's not easy to find the right balance between keeping things simple and, on the other hand, adding features that people ask for. Being a long-time mutt and emacs user, I have some troubles keeping things simple & easy. But hey, nobody said it was easy.

Let's discuss something that I found quite useful: reading feeds with modest.

I like reading feeds; whenever I need to wait for something (e.g. waiting for the food during a romantic dinner), I like to read something interesting - software, science, culture, whatever. Now, while there is a feedreader on my N810, obviously I'd prefer to use modest for that.

Well, that's perfectly possible using feed2imap. I am assuming a Ubuntu/Debian system here, but it should work for other systems as well, mutatis mutandis.


  • install feed2imap and libopenssl-ruby on your system;
  • create a ~/.feed2imaprc file, it should look something like this (assuming you're using Gmail/IMAP):

    feeds:
    - name: Planet Maemo
    url: http://maemo.org/news/planet-maemo/rss.xml
    target: imaps://someuser%40gmail.com:somepassword@imap.gmail.com/feeds/software
    - name: Ririan Project
    url: http://ririanproject.com/feed/
    target: imaps://someuser%40gmail.com:somepassword@imap.gmail.com/feeds/misc
    - name: Boing Boing
    url: http://www.boingboing.net/atom.xml
    target: imaps://someuser%40gmail.com:somepassword@imap.gmail.com/feeds/misc
    - name: ScienceDaily Headlines
    url: http://www.sciencedaily.com/newsfeed.xml
    target: imaps://someuser%40gmail.com:somepassword@imap.gmail.com/feeds/science

    Obviously, you'll have to change the username/password;
  • Note: if your are already using a different feedreader (such as Liferea), you can export your existing feedlist to an .opml-file. You can then convert this to a config file for feed2imap:
    $ feed2imap-opmlimport ~/feedlist.opml > ~/.feed2imaprc

    (you'll have to hand-edit it a bit as above)

That's it! Now you can periodically run feed2imap, and you'll always have something interesting in your mailbox.

Saturday 15 December 2007

take a chance on me

First, thanks for all the very positive feedback we got about our initial modest release. This was only the start, we'll be making frequent updates - the first one was already today. If you face any particular problem, please let us know.

Some questions I saw in various places:


  • can I get it to work on OS2007? Well - in principle that should be possible, as we tried to keep the code backwards-compatible with the old API. In fact, some people claim to be happy users. However, we haven't tested that recently, and there might be some missing dependencies, so YMMV. But we'll be looking into this issue.
  • I'd really like modest to do $FEATURE, but it doesn't do $FEATURE. What can I do? Well, patches/suggestions are welcome; please discuss them on our mailing list first, or put them in Maemo Bugzilla;
  • how can I replace the official client with modest? There are some adventurous people out there... Modest might replace the current client at some stage, but right now, it's not really easy to do that.
  • where can I report bugs/feature requests? Please report them in Maemo Bugzilla, and make sure you use Communication/Modest (don't use Communications/Email, that's for the stock email client). Please specificy as clearly as possible the problem, and how we could reproduce it. Some people already filed bugs there, and even better, some where already fixed!

We're working very hard on fixing bugs and making other improvements. Modest is not perfect and there are bugs. But already, I am a quite happy modest-user myself. And feel inspired by modest and Vagalume-hacker Berto, for the incredibly flattering words, especially on my birthday!

Tuesday 11 December 2007

automatic for the people


Ok... the modest email
client
has been available for months, but finally today we're making downloadable packages available for OS2008/Chinook: click here, or visit our website which has instructions.

That means that you don't have to compile things yourself anymore¸ but simply click & install - hurray!

Some important notes:


  • this is an early bèta which contains bugs; this is not production quality yet; we will be making frequent updates though;
  • modest will not replace the official email client, and many things (like search and send-as-mail) use the official email client; new-mail notifications should work though;
  • in the menus, modest is called 'E-mail' and uses the same icon as the official email client does... be careful not to confuse the two;
  • modest works nicely with GMail (both IMAP and POP), just make sure you enable POP/IMAP in your GMail settings on the web, and use user@gmail.com and not just user as your user name.


Having said that, I feel very good about what we've accomplished so far. I'd like to thank the talented hackers at Igalia for all their inspiration and perspiration (read the Igalia/modest news), the inimitable Philip Van Hoof for his work on Tinymail. Also, the fine people at Openismus made important contributions, as did Vivek, Mox and many of my colleagues at Nokia in different areas.

In a previous blog entry, I already discussed some of the features modest offers. I think it's pretty cool. Maybe not as cool as Canola2, but definitely a lot better for reading/writing email :-)

Remember, modest is 100% open source software, released under a BSD-like license. It's not perfect, but we're working hard to make it the best mobile e-mail client. Patches are welcome, as are suggestions -- post them on the feature request tracker. Even bugs are welcome in Maemo Bugzilla, and make sure you use Communication/Modest (don't use Communications/Email, that's for the stock email client). Specificy as clearly as possible the problem, and how we could reproduce it, thanks.

In some future blog entries I will discuss various cool features in Modest, but try it out yourself, and let us know what you think!

Saturday 8 December 2007

beyond the dark sun

Friday -- another week has flown by. Winter has not really entered Finland yet, there's just ultragray autumn weather, a lots rain, few hours of daylight, not even some Finnish wintersun... But thankfully, my moods are not very dependent on the weather, and I am happily hacking away still.

  • Googler Steve Yegge is blogging about combining Javascript and Emacs. Naturally, I am interested in just about anything combined with emacs, but this sounds quite interesting; not only about fully supporting javascript in emacs, but actually being able to write extensions in javascript (instead of elisp). Apparently, he already implemented a full javascript interpreter in elisp. Very cool... but show us the code!
  • I've been playing with Alberto Garcia's LastFM-client Vagalume; it works very nice on my N810 (versions for 770, N800 are available). last.fm is pretty cool anyways, but the vagalume makes it work very smoothly. Obviously, I am hdbngr there :-)
  • We've been working on the downloadable packages for the modest email client, it's almost done, stay tuned.
  • Said goodbye to my friend Andrea, who's going back to Italy. I'll miss him as a person and as a great host for Italian food... At least he will be in good hands there. Arrivederci!

Tuesday 4 December 2007

NM156


It's unwise to discuss politics or religion with strangers -- or even worse, discuss favourite text editors... My personal favourite is GNU/Emacs. It took me some time to get familiar with this thermonuclear word processor, but after that I found it a wonderful tool. You can actually run Emacs on your N8x0 - see the screenshot of Emacs 23 from CVS. But that's not what I'd like to discuss here.

For maemo software development, many people seem to use a bunch of terminal windows inside and outside Scratchbox. Some alternatives exist, such as Laika, the Maemo-plugin for Eclipse, and work is apparently underway for Anjuta as well.

Anyway, I've been coding using Emacs for almost a decade, so obviously I'd like to integrate it with the Maemo/Scratchbox-environment as well - and yes, it is possible to do the following:


  • Run Emacs outside Scratchbox;
  • Compile inside Scratchbox;
  • Jump to the right place in the source with one click from any compiler errors/warnings.

How to get that to work? It's embarrasingly easy (once I figured it out):

First, make sure the same source code can be reached using the same path both inside and outside Scratchbox, by using symlinks, for example:


$ ln -s /scratchbox/users/djcb/home/djcb/src/my-app /home/djcb/src/my-app

Having done that, it's easy to add some trivial Elisp to your .emacs:

;; compile inside scratchbox
(defun scratchbox-c-mode-compile ()
(interactive)
(compile (concat "scratchbox make -C "
default-directory)))

That's all. You can now edit your source code in your normal Linux environment, open a file in ~/src/my-app/..., and compile it with M-x scratchbox-c-mode-compile. Or even better, use a keyboard macro (add to your .emacs):

(define-key c-mode-base-map (kbd "<f8>") 'scratchbox-c-mode-compile)

And pressing F8 is now enough to start compiling...

Now, what's a blog entry without some screenshot? Here's one, running Emacs 23 (from CVS) inside Scratchbox - unrelated to what discussed above, but a nice picture anyway :)

Obligatory dot-emacs link. Happy hacking!

Monday 3 December 2007

revolution calling

After more than five years of blogging in dutch, I'm expanding my blogging into anglo-saxon territories. Here, I won't go into my private life (the wild rock & roll lifestyle) so much, but instead discuss technology, productivity and so on. Not sure how interesting that is, but let's try...

modest


To start with something rather technical, I working on an email-program called modest. It's been in an experimental state for a long time -- but finally it's about ready for the real world. It's a program designed specifically for Nokia N800/N810 devices. Some people have already called e-mail 'obsolete' or 'something for old people', but I think that's a bit of an exaggeration - there is a whole universe of communication for which there is no better medium than email. Try applying for a job using IM or reading the monthly report in an SMS...

Some information here; you might also be interested in the GUADEC Presentation I did about Modest in Birmingham.

mobile email improvements


Now, there are a couple of problems with e-mail, in particular with mobile email, but there's nothing we can't solve (I'm a born optimist!). Let's list some of the common problems and what to do about them:


  • Setting up accounts is #@&^%& hard - modest makes this almost brainlessly easy, by including data for big email providers; setting up modest for, say, Gmail is trivial with the easy-setup wizard;
  • Using your fingers is hard - why have that expensive touch-screen if you cannot even open mails with your greasy fingers? Modest provides big fingerable headers, so you can open that message from your boss, even as you're running for the meeting;
  • I need that fancy stuff - many mobile email clients only provide the bare minimum - what about having mailboxes with thousands of mails, push-email, IMAP-folders, rich-text reading/writing of mails, etc.?
  • Show me the code - what kind of person would want to use an email-client if they cannot even read the source? :) Modest is fully open-source, and released under a BSD-like license.

technical background



To achieve all this, modest uses an email framework called tinymail, which is the brainchild of Philip Van Hoof.
Tinymail provides a version of the libcamel protocol library that is also used for the Evolution e-mail program. The tinymail-version is optimized for low-memory situations, and improves the protocol handling especially for the needs of mobile applications. I will discuss that in more detail in some future entry.
Tinymail provides a nice object-oriented layer on top of all this, which allows for a lot of flexibility. I already wrote a bit about that last year in Gnome Journal: Tinymail: Evolution and Intelligent Design.

So -- my first post. Stay tuned!