Yes, we were
thinking big and we named it
Picasa Mobile, but so far, it only runs on
Android phones and tablets.
Do we intend to make it available on other mobile platforms, like iPhone and Blackberry? Of course we do! But there are some challenges...
While the Android SDK and its tools make mobile development a breeze, the same cannot be said about other platforms. Here's why.
1. iPhone / iPad
Developing apps for iPhone makes sense from a market share standpoint. The iPhone's market share is estimated at
about 30% (slightly below Android's) and it would make business sense developing for its platform.
However, developing for iPhone is highly restrictive.
First off, you absolutely have to develop on an Apple device. Since a Mac laptop sells for about 1,200 CAD, this begs the question: do I really want to spend that kind of money to develop 99 cent apps?
Secondly, publishing on Apple's App Store seems quite painful. The apps are subject to a review process and only the approved apps make it to the App Store. And when it's finally published, if a user asks for a refund,
Apple gets to keep its 30% and the developer has to refund the whole cost out of her pocket.
In terms of coding,
Objective-C (the development language for iOS and most things Apple), although arguably faster, seems somewhat
antiquated (think header files) and uses non-mainstream development paradigms (ex.: messages instead of method calls).
In my opinion, Java seems a lot more natural, intuitive and productive.
2. Blackberry / PlayBook
The transition from Android to Blackberry development seems less steep, since both of them are Java-based. Also, with RIM (the creator of Blackberry) being a Canadian company, it gives us even more incentive to try it out.
There's a big downside, though: the Blackberry development tools only run on Windows! Yes, you heard it right, although it is Java-based and in the form of an Eclipse plug-in, you need Windows to run it...
This presents a big challenge for us, since all our development is done on
Ubuntu.
The PlayBook development seems a bit more accessible and it is available for Linux; however its market share has to pick up and RIM has to fix some of the problems with its tablet before it becomes really interesting for developers.
On the bright side, RIM has gotten the message that it cannot survive without a thriving development community. Although it may be a bit late for the existing Blackberry devices, the new direction seems to favor Adobe's Air platform for app development - in my opinion, a very good step forward.
Another good step: apparently
RIM has waived the developer fee. (I'm using the word
apparently since the said fee is still mentioned a few times on their website, I guess they haven't updated their whole site yet.)
Rumor has it that they also intend to support Android apps, which kind of begs the question: why build a different OS to run Android apps, when you can use the Android OS?
3. Windows Phone
At this time, we find developing for Windows Phone very unlikely. As mentioned before, all our development is done on
Ubuntu.
Moreover, Windows Phone's market share and prospects are quite dim and we don't like betting on a loosing horse.
But, while we're on the subject, I can't stop wondering, what was in Nokia executives' heads when they forged an alliance with Microsoft? I understand that their Symbian OS had become quite outdated, but they could easily have adopted the Android platform without any strings attached.
Conclusion
For the foreseeable future, I think we'll stick with the Android framework. Although not perfect, it is, in our opinion, the best mobile framework available.
And you cannot help but be amazed at the stroke of genius Google showed here: release an open-source framework to be used and improved by the
most handset manufacturers out there. And, while at it, trying to keep the mobile universe free...