Tuesday, June 29, 2010

Maemo and Android

Lately I've been reflecting on my commitment to Maemo.  Olivier's blog post made some great points in both directions.

Since I like to ramble, how about some background?

I've been a Linux user full-time (at home) for about 8 years.  I've dual-booted for probably another 4 years before that.  I've gone from Slackware to Red Hat (wow, color printing support!) to Debian to Gentoo to Ubuntu.  I remember staying up through the entire night going through Debian's package list one at a time deciding what all amazing pieces of software I wanted installed.

I loved Gentoo's USE flags.  I was importing all of my music collection as Flac.  Debian didn't have Flac enabled for all packages but with USE flags I could enable Flac for everything that could build it in.  I started tiring of Gentoo's multiple day install process.  I would slip up somewhere somehow and wouldn't detect it until the entire system had compiled.  I didn't know what was wrong so I would start over from scratch.  This almost made me abandon Linux.  With Windows everything "just worked".   The "freedom to leave" kept me strong until I decided to "take the wimpy way out" and switch to Ubuntu.  That is the main motivating force behind the software and web apps I use.

For handhelds I originally used palm devices.  More of my data was moving to the web and at college I had wifi everywhere.  I wanted a handheld device that could match my circumstances and wants.  I chose Maemo and have been using it for about 3 years.  It wasn't too long after that that I started contributing to projects.

The lack of polish makes me sometimes wonder about alternatives.  I sadly admit that for a couple months I used an iPod Touch as my 770 was dying and I was hoping the n900 would release soon (it didn't and I got an n810).  That convinced me I couldn't go iOS.  Android is starting to look attractive though.  I've even felt it was the best thing to recommend to some family members who originally followed me onto Maemo.  That was a sad moment.

Some questions I ask myself include:
  • Why should I stay on Maemo when Android is blossoming?
  • Does Maemo have staying power in the market?
  • Would I need to invest as much time in development if I had Android's larger (free) market available?
I then remind myself
  • Working on the projects I do is a great way to develop skills independent of what work projects I do.
  • If I do decide to work on a project, I much prefer VIM + Python to Eclipse + Java. I write my apps on the desktop and validate they transition smoothly to the device.  SSHing into my device is great.  Modifying the source right there and trying things out is great.
  • Maemo has a much better chance as Meego due to becoming decoupled from a single vendor.  I didn't say it would be like Android but it'll be better.
  • The flexibility of the architecture.  DBus is a great system.  I love that Maemo uses telepathy.  After the long process of learning it I was able to integrate Google Voice support both in my phone and my desktop system.  I've started work on a Bluetooth plugin but that has stalled due to other projects.  The types of customizations people develop is great.
So for now I will be sticking to Maemo/Meego.  I hope I keep having reason to stick to the platform.  In the meantime I will keep writing software for it.