Friday, February 11, 2011

And what do I do now?

I felt a great disturbance in the Force, as if millions of voices suddenly cried out in terror and were suddenly silenced. I fear something terrible has happened. 
That quote was the first thing that went through my mind when I heard the announcement about the MS/Nokia partnership.  As a community member I feel betrayed but I feel even worse for the employees.  Nokia has been building up a strategy that attracts a very passionate group.  The main supplier of your mobile platform switching strategies away from your needs is a drop in the bucket to your employer switching strategies to the exact opposite of where your passion lies.  Whether you quit, get layed off, switch to developing a product you dislike, or even move to a project in the forgotten shed that gets no attention are all options that are not fun.

So drop in the bucket time.

I first switched to Nokia Linux-based products from Palm because I needed pocketable internet access.  I was moving to a lot of internet services so my Palm wasn't doing a good job fulfilling my needs.  I was annoyed with the Linux support which was purely a community effort.  Momentum is important so that I will have the apps I need and the lifetime to make the switch worth while.  I bought the 770 more as an experiment and found it fulfilled my needs.

I started developing applications for it to fit different needs and have come to appreciate it as a development platform.  I can develop and use my applications on the desktop and have them also work on Maemo.  That makes development easier and means I can make greater use of my work.  I've also come to appreciate a flexible architecture with things like Telepathy allowing VOIP/IM service to be first-class, sharing system, libsocialweb (Meego), and hopefully in the future libfolks for contact aggregation.

Writing mobile applications has grown beyond fulfilling my needs as a user.  I enjoy the opportunity to provide benefit for people as well as the chance to experiment and play with things that I don't get to in my job.  Releasing my applications for free changes the feeling of user support, fixes, and new features from have-to to get-to and keeps things very liberating and fun.

Where do I go from here?

Meego: Intel is sticking with Meego.  I am curious to see what all devices are announced next week.  If they look like they have life to them then maybe I'll stick around.  Nokia is still keeping Meego development around as a project and is releasing a device this year.  I wonder if this is to fulfill some item in a contract with Intel.  If so and when the contract ends, this is dead.  If not, I wonder how long it will survive.  I am sure the financial analysts will be telling them to kill it to shift even greater investment to money pot they will expect WP7 to be.

Android: Android would probably offer me the apps I need.  Linux being under the hood is meaningless when you don't have the full Linux experience.  I feel no motivation to develop for it, either in Java, C++ and the Python supported seems grotesque at first brush.  I dislike the siloed approach that apps focus on.  You don't get the power of frameworks like Telepathy, libsocialweb, or libfolks where the backend is decoupled from the front end, allowing for choosing the front-end and back-ends that best fulfill your needs rather than sacrificing one over the other.  I dislike the idea of a manufacturer holding back updates and feel too lazy to always be following the latest custom ROMs (or some of the feats you need to go through to load one on some devices).   I've played with friends Android devices and follow high level developments in the Android community but I could be mistaken on some things either good or bad.

webOS, something else? WP7 and iOS are out of the question.  webOS seems a bit limited in both apps and development platform but does offer "synergy" which sounds like it provides a similar experience of a plugin architecture that Maemo has.  I feel a bit concerned over the momentum of the platform especially in terms of how well it'll stick around.  Being from a single vendor adds to that risk and limits device options (which was why I was glad Nokia partnered with Intel to create Meego).  I only have cursory knowledge of webOS and have never played with a device whether this biases me in its favor or against it is to be seen.

I think I'll wait for next week to see what Meego devices come out of MWC before making my decision.

In the mean time I'd be curious if people have recommendations:
  • Pocketable (3-5 inches) devices with modern specs (Required)
  • Google Voice / VOIP Support regardless of network connection (Required)
  • Good support for desktop Linux (Required)
  • Support for Google services (GMail, Reader, Calendar, etc) (Option because I'm used to using the mobile website)
  • Access to a Linux command line with VIM and SSH (Optional but encouraged)
  • Support for Python or some other higher level language (maybe I'd even be willing to venture into Javascript which always felt dirty to me). (Optional but encouraged)
  • Apps run on both desktop and handheld without modification or emulation (Optional but encouraged)
  • Official way to distribute free apps without charge (Optional but encouraged)

I'd also be curious what users of my applications will do.  There have been some stalwarts on Maemo 4.1 (n800, n810).  Will you all be sticking around or giving up on it?  Will there be a similar stalwart community on Maemo 5 (n900)?  If I move from Maemo to Meego and everyone jumps ship from Maemo 4.1 and Maemo 5 then there is no reason for me to put in the extra effort to maintain compatibility with Maemo.