iPhone vs Android vs webOS from a developers point of view

I’ve been fortunate to have developed apps in the last year for the iPhone, Android, and Palm Pre, and on a few occasions been asked to compare the platforms.  So without further ado … comparing these platforms from a developers point of view.

Android

Android

Programming ease – B+
Although Java is one of my least experienced languages;  it’s also one of the most intuitive for me.  Not having to deal with garbage collection and nasty memory management bugs definitely gives Android a leg up in programming ease over iPhone.  I find the application model (intents, and activities) about as natural as the iPhone, which is to say, fairly intuitive.
One big downside is supporting multiple devices and operating systems.  I’ve spent countless hours trying to debug device or OS specific bugs.

Documentation – B+
A strong developer community provides some fairly solid support.  Blogs, text books also exist for those looking for these resources.  However, I don’t find the library documentation that Google provides or the developer site very rich.  Not nearly as rich as the apple documentation.

Tools – C+
Development tools aren’t great; although I don’t think their “horrendous” as Joe Hewitt famously says.   An eclipse plugin is fairly mature now, the debugger works well, the emulator works well.

Market – B+
There’s a hungry (and growing) market of Android users.  One downside as admob has reported is that they seem less inclined to pay for apps compared to those on iPhone … due largely to the free precedent google has set.
Getting your app to market is much easier as well.  Getting an app published is a matter of posting the app, as opposed to the hoops Apple has you jump through.

iPhone

iPhone
Programming ease – C+
I actually really love objective C.  It’s a very elegant language.  But compared to the other players, I think it requires much higher learning curve.  This probably has a lot to do with it’s lack of memory management.  I also find the separation of  UI (Interface Builder) and application (XCode) particularly obtrusive.

Documentation – A
Apples reference guides, tutorials and texts are incredibly rich.  Furthermore the hordes of iPhone developers have contributed a wealth of information available online.

Tools – A+
The iPhone SDK and XCode IDE is awesome!  Great debugging tools, NSZombie, instruments, integration with source code, etc.  are heads and tails above any other toolset.

Market – B
It goes without saying that *a few* people have heard of the app store.  However, throwing the app into the store can sometimes be like a raindrop in the ocean.  It’s tough to get exposure for your app.

webOS

Palm Pre webOS
Programming ease – A
Anyone with a bit of web dev experience will LOVE webOS programming.  I had a bit of Rails experience and with this, programming for the Palm Pre was a breeze.  Familiar Model view controller paradigm using Javascript, HTML, and CSS, makes things natural and quick.
Documentation – C
Documentation is pretty week for webOS.  A lack of community resources, inferior reference material from Palm, can make things pretty hard to troubleshoot.
Tools – D +
If you think the android tools are bad … you’ll think the webOS tools are despicable.  Maybe things have improved, but my last project required a gdb command debugger and hundreds of log statements to get any debugging done.  The emulator lacks many of the on device libraries.  A big fail here for developing with webOS.

Market – B
I could make an argument that if you’re a small shop looking to release an app, you should do so in the webOS catalog.  No, if you’ve got a winning app, you’ll never get as many users as you would on the iPhone.  But … webOS users are HUNGRY for apps and willing to try anything.

The winner?

I can’t really say there’s any clear winner and think it’d obviously depend on what expectation you had for your app.  But for the sake of the argument I’ll give ya 2 winners.

If I was releasing an app which I knew was able to get some exposure, I’d probably suck up the learning curve and release it on the iPhone.  The iPhone truly is the leading device, it’s beautiful, it has the market share, and users are willing to download (and pay) for apps.

But if I was building an app that I felt was gonna have a hard time getting much exposure, I’d actually consider building it for webOS and hope HP revs up the community.  It’d take half the time, and while there aren’t many of them, webOS users have proved to be hungry, willing and able to try out new apps, and pay for them.

iPad far from a living room device

Apple released the iPad as a device aimed at the living room.  I agreed with this position and fully expected to use the device while sitting on the sofa, casually watching TV, to check email, Facebook, surf the web etc.  However … I actually have found that I reach for my iPhone when I’m in these situations.

Why?  I think it’s actually pretty simple (and perhaps lazy).  I’d rather grab a device that I can operate using one hand.  The iPad is a 2 hand device, and for something as simple as checking email, twitter, or Facebook, I’ll simply grab my phone.  For doing any surfing that’s more involved … such as online shopping … I’ll grab the laptop.  It’s just too painful to type anything more than 2 sentences on the iPad.
In all honesty, the only place the iPad’s taken over for me is inside an airplane.

Another hurdle for Edmonton Startups?

My frustrations with working in technology, but more specifically, starting a tech company in Edmonton are well documented.  Since writing my original “Why Edmonton is Deadmonton for Startups” blog post 3 years ago, I’ve met several really impressive technology influencers, founders, venture partners, and technologists in Edmonton.  Furthermore, I think the city has been making  strides towards a better tech scene, and companies like Empire Ave have been succeeding despite their location … but I believe these are outliers and looking back, my original points really resonate for me.

I still find myself frustrated at times and reflecting on what might be lacking.  On this note, pointing out that a region requires an attractive lifestyle for it to become a tech hotbed is nothing new.  But this point really hit home while socializing at Startup event in Vancouver several months ago.  After spending 2 days at the event I realized I hadn’t met a single native Vancouver resident.  Every person had migrated to the area in search of a better lifestyle … not just for a better job in tech.

Tech Entrepreneurs share this “do it yourself/break the mold/never settle for less” characteristic.  This attitude exists at every level of their lives.  Work, social, family, and pleasure.  The type of people proactively striving to expand and improve their standard of living by moving closer to the ocean, closer to skiing, closer to ethnic diversity, closer to the arts, etc. are typically the same type of people taking initiative to improve their 9-5 work life by starting their own work ventures.  Seattle, the Bay area, Boulder, Boston, New York, Vancouver … these are all cities that young, energetic, creative, *won’t settle for less*, curious, and innovative people seeking a better lifestyle, amenities, more diversity, and natural beauty move to.  Not only do these people share this value, but they also transfer it to their children, and to the communities they inhabit.   These people initially may not move with the intention of starting a company, but their values lead them in this direction or spread to their children and their communities, which in most cases is more valuable than starting a company themselves.

With exceptions, Edmonton in recent years, has attracted young men from across Canada in search of riches that a job on the oilfields would bring.  Completely opposite from San Francisco, Seattle or Vancouver, I’ve yet to meet someone who moved to Edmonton because they were looking to improve their life quality via the city’s amenities, natural beauty, diversity, or creative energy … all areas I think Edmonton is weak.

There will always be outliers in Edmonton like the impressive people leading Empire Ave, Seek your Own Proof, Nexopia, and Start Up Edmonton.  As mentioned before,  I’ve been incredibly impressed after meeting or working with many of the people working and leading these groups.  They’re all great people, and great technologists / founders / leaders.  But until Edmonton is seen as an attractive place for young energetic, creative and driven people, it will never reach a critical mass of these types of people required to become a tech hotbed.  Until then, I recon, it’ll continue to grow and attract the nations finest oil workers; and export it’s talent to Vancouver, and the US.