Ono, a small and friendly Offlineimap frontend

June 3, 2014

After a bit longish hiatus, here is the new project I managed to hack in the last two days. Nothing big and nothing fancy, but usable for me and, hopefully, for others.

I've been struggling with mail clients for, let say, last 2-3 years. The first client I started seriously to use was Mutt, some 9 years ago. At that time, when I first read Mutt famous catchphrase:

All mail clients suck. This one just sucks less

I had no clue why this guy was so full of himself. After all, I used MS Outlook for business mailing so transition to Mutt was like moving from nice Mercedes to 100 year old broken bycicle. BUT...

You know, good tools gets under your skin (in positive context) and you notice that when you attempt to switch to alternative. As someone once said, good tool is invisible.

Anyway, to make this story short, after all these years, various Thunderibirds (btw. the last iteration looks awful; for God sake guys, what are you doing!!), Gmails, Gnus-es and not-sure-what-else, I still can't find viable alternative to Mutt. Sure, Mutt isn't perfect: multiple mail accounts handling sucks badly, IMAP/SMTP can be much better, configuration; oh boy, it is like Sendmail.

But the speed, shortcuts and everything-can-be-configured approach: unmatchable!

So, to bring Mutt in 2010 (not a typo :P), where we operate under desktops, have system trays, notifications and good IMAP libraries, I created a small project called Ono. Ono isn't Mutt specific; actually, I created it to make Offlineimap usage easier. As a matter of fact, with Ono, you can use any mail client, as long as Offlineimap is used for mail syncing.

OK, I lie; you don't have to use Offlineimap either. Thanks to builtin scripting language, you can use Ono to place in your system tray whatever you like: terminal programs, GUI programs without tray support, name it.

You can download 0.1 version and play with it. Be warned: documentation needs some love as there are couple of hidden gems I didn't mentioned in README file and, I can't promise it will not crash :)