So I've got some great ideas on mobile products. I'm in a position where I need to pick the best platform to initially develop on. I currently don't own a mobile device of any specific platform. Obviously I'll be getting a few... Also I currently work with Windows Mobile at my employer.
Suggestions?
Obviously iPhone is making developers money, however I'm a little put-off by some of the trends that are being seen. I'm interested to see where Windows Mobile 7 and more importantly Android will be soon. Of course Android bothers me because it's only on TMobile devices at this point right? However I think Android is the most open and I really like that a lot...
Let's not forget local (for me) company RIM and their new Blackberry Storm device and AppStore that's launching.
EDIT: Of course this is pretty subjective. I'm looking for an interesting discussion on your opinions. We all know how well iPhone is doing, but do you see that trend continuing or will there be a mass exodus to Android if they can get the right carriers and phones going...
-
Are you in it for the money or the fun? If for the money, iPhone is where its at right now. If for the fun, then whatever you choose is correct.
balexandre : +1 I have to agree :) -
If you are gauging just by the potential number of users you can reach, the iPhone has to be the way to go. Otherwise you are going to have to look at what platform you think is going to be the best platform for you develop on from your own perspective (ease of development, etc.) and also what platform your potential audience is most likely to be using.
TheTXI : Note: This is coming from an original first generation iPhone user turned iPhone 3G user, whose wife also has an iPod Touch. -
At our university we see about 80% of our mobile traffic coming from the iPhone/iPod Touch. We previously had focused our mobile support efforts toward the Blackberry since that's what most administrators are using, but we've recently switched our focus to iPhone/iPod Touch development due to its dominance on campus.
Mat Nadrofsky : Very interesting. "What's cool" certainly seems to be an ongoing factor.Kendall Helmstetter Gelner : Or "what's usable". Funny how so often they seem to go hand in hand. -
Depends what you mean by "best".
The iPhone app market is well proven to be huge and potentially lucrative (no guarantees of course). Objective-C is a joy to program, and the iPhone developer community is strong and friendly.
Android wins on openness.
The Blackberry market is likely to be huge as well, if the store experience is decent and not tooo corporate tight-assed.
Mat Nadrofsky : Very true. I should have added "subjective" right off the bat. My bad there. -
I have to confess that overall, I've been disappointed in Android. Not only is the first Android offering (T-Mobile G1) mediocre at best, the Market leaves a lot to be desired. So far, Android, at least for me, has come across as a hobbyist's platform.
As a for instance, I can do a "send as" in gmail via the web. Something that was very important to me given the multiple email accounts I had diverted there. I can't do a "send as" from the Google phone, which has forced me to imap to my various other email accounts. Grrrrr. I also find that the G1 doesn't register finger presses as nicely as my iPod Touch. I have to frequently press a button numerous times to get it to register. It's most notable when I switch between my thumb and index finger.
The G1 hardware is crap. It looks and feel as if it was made from left over plastic parts by a 5th grader (no offense to 5th graders).
Now that developers can charge for apps in the Android Market, it's quite obvious by the lack of comments, that Android users don't like to pay for apps.
I really wanted to be impressed with Android but I've been left underwhelmed.
Maybe it's people like me that make Android THE platform to develop for?
Edited to add
And the wifi support is sketchy. Oh, I can connect to my wireless, but it won't keep the connection. It drops out after a minute or two unless I'm sitting on top of the router. Where my iPod Touch maintains it's wireless connection all throughout my 3 story home.
Mat Nadrofsky : +1 - Great post. My thoughts are similar. I was hoping to see more than just a single major carrier/device adopt Android out of the gate. That bothers me at this point as far as looking at Android based devices for development right now...GregD : Yes, not to mention the atrocious battery life. I have to leave my "mobile" phone plugged in most of the time and that's with all of the radio's off. -
Potential for profit or free - iPhone
Potential for free open source - Andriod
Biggest unknown - Palm Pre
Right now I would focus on iPhone due to the marketing Apple puts behind it, the great App Store infrastructure, and decent development tools, and low cost of entry (assuming you have a Touch/iPhone and Mac already).
The Palm Pre may be the best of all worlds, with an easier to develop for SDK and an online store infrastructure, however until it is out and used no one knows for sure.
The trends for iPhone apps I think are mainly due to the newness of it still, and the cheap apps people are pumping out. Once it matures I think we will see better, higher priced apps, that get used longer. This will apply to all platforms, it just shows more now on iPhone due to the publicity.
There are also other mobile devices and platforms like the Nokia N800/N810 on Maemo as another open source option.
The big decision is if you want to use open or target for profit, and who your target audience is for your apps.
-
Consider that Windows Mobile and the iPhone both have C based SDKs and Blackberry and Android are Java based. So sharing code between two devices shouldn't be too difficult. Just confine all of the UI/phone specific stuff.
schooner : Objective-C is its own beast, not really just another C# or C++ if your coming from the Windows world, it has a bit of a learning curve IMHO.Kendall Helmstetter Gelner : Not to mention the frameworks are utterly different, it's the same way that learning Java is easy but learning the extent of the frameworks you can use takes a long time. There's no way you could do a good cross platform C app.toast : C is completely callable from Objective C and the learning curve is not too great in _my_ opinion. If you could manage to do the bulk of your work in vanilla C, then you could just use the framework/language specific stuff where you absolutely need to. No one said it would be easy though. -
This is a tricky question as the mobile platform is heating up with many big players throwing down the gauntlet. But if you want to reach maximum customers, i would suggest you go for symbian/s60 as it has got around 40% of smart phone market share. Although the learning curve for symbian is steep, it might be worth the effort with symbian going open source. With Qt and openc in symbian, it might be easy to write portable application in symbian.
Mat Nadrofsky : Maybe I'm a newbie but I haven't even heard of Symbian other than in passing. I'll check this out. Thanks for the post! -
Windows Mobile 7? Don't get your hopes up. It has two significant challenges to overcome:
- Windows Mobile sucks
- Everyone knows Windows Mobile sucks
Even if v7 can overcome the first point (which I'm skeptical about, because it'd take some fairly major changes to achieve), they'll still suffer from the second point. To a lot of people, the word "Windows" in relation to their phone is just a major turn-off, especially among those who've had a WM phone previously. Slow, buggy, having to reboot all the time, inconsistent (and outdated) interface and so on. Even if they manage to fix the underlying issues, they'll still have to overcome that perception.
Android has tons of potential, but so far, it's just that, potential. The G1 was underwhelming, but it does seem like there's a lot of interesting features (as well as new phones from a variety of carriers) in the pipeline.
To be honest, your safest bet is probably iPhone. It may not be the biggest market by the time your app is out, but it'll be there, it'll be a strong platform, and a well established one. Android or Pre may turn out to be even better by then, but they may also be completely insignificant.
Mat Nadrofsky : +1 - Great post. Thanks for the info. -
Here's my read on the market:
iPhone is of course dominant at the moment, but also looks to have good momentum - they way Apple works is they release something major, followed by lots of little releases and then a major update again which was being worked on in parallel the whole time. So even if other SDK's are catching up now in terms of ability we'll probably see a pretty big SDK update from Apple this year. They also have a huge application base, and we are talking a number of real and complex applications - not just fart apps.
Android is a great system from a development standpoint, but there are two big problems there:
- They've not worked out paid DRM, which means developers with unlocked phones cannot buy protected apps from the app store and if you want to protect an app from casual piracy it's even harder than on the iPhone (which is already pretty easy, pirates are nothing if not efficient).
- I personally think by releasing the G2 without a keyboard, they have horribly fragmented the initial Android market. If you want a touch-only device, why not just buy an iPhone which currently has way more apps?
What needs to happen with Android is more phones, which are coming but not here yet. I do see the platform overall being a success in the long run.
The Palm WebOS looks to me to probably be the next most popular thing to the iPhone OS in the long term. They will have good uptake from current Palm users and probably lots of applications quickly since it's an extension of web development that lots of developers will understand. The only question is if the SDK will be able to support the kind of app you want to do, as anything very graphics intensive or customized may not be possible or performant enough.
Windows Mobile 7 will have to claw its way back up again from last place. What they have out now for developers to work with is nowhere near what any of the other platforms offer. I wouldn't do any WM7 development for at least two years and see how updates pan out.
So in my opinion, when considering any new mobile platform development I'd focus resources first on the iPhone, then Palm PRE, then Android.
Barry : I would totally agree with Kendall, ideally the iPhone is the best platform to use if you look at the stats from admob the iPhone is the most active mobile handset in the market as well -
A good friend of mine built the GroceryIQ application which was recently acquired by Coupons.com. One important take-away I got from 2nd hand observation of Brian's development, release and selling of GroceryIQ was that, with iPhone Apps, you don't have a lot of control over your own destiny. Brian was fortunate enough to have built an application which quickly got into the top 20 and was featured by Apple more than once as I remember it (it might have been just once - I'm not sure).
The problem Brian had was that he did not have much control - at least not beyond creating a good application. iPhone applications are very hard to advertise because of the nature of the beast (it's hard to buy much advertising for a limited size market where you have to sell something for $1.99 to be successful). The only really effective means of advertising, as I understand it, is to be featured by Apple and to stay as high on the list of iPhone apps as possible.
I also own a small software ISV. With my company, I can purchase advertising. Google AdWords are extremely effective - they are our largest expense outside of employee compensation. We can also buy banner ads, print ads, attend trade shows targeted at our potential users, etc... We see a direct correlation between what we spend on advertising and how much we sell. Brian did not have this luxury. Again, he was fortunate to be consistently in the top 20 and sometimes in the top 10, and to be a featured application by Apple. I suppose he did have some control - by building an application which Apple saw fit to feature - but once you drop out of the top 50 you are doomed (at least that is my impression).
Having said all of that, I'm not sure there is a better alternative if you are targeting mobile applications. But it's an important consideration if you are considering building an iPhone app which is not likely to rise to the top of the heap.
Mat Nadrofsky : +1 - great insight. Thanks for sharing the experiences on this one.Dana Holt : +1 - Very true. iPhone apps will have to increase in price for the majority of applications to become commercially viable. -
The openmoko freerunner is shaping up to be a developer's dream phone. The software is all open-source (allowing native code and even changing of the OS), the hardware is mostly open source, and the features are amazing (3D acceleration!)
I should point out that it's not really intended for ordinary cell phone users. It seems targeted mainly towards us IT folk (at least for now).
Mat Nadrofsky : Never heard of "freerunner" before. I'll look into this one. Seems promising! -
I'm developing for the iPhone, and I'm pretty happy with it. It has a huge, unified market, it has a very productive environment, and it has very solid technology underlying it. But then, I'm sort of biased...
Windows Mobile is a dead platform, and I have no reason to believe Microsoft will be able to resurrect it. You can ignore it.
BlackBerry is popular in its market segment, but it has a fragmented market--every model has different capabilities and every carrier has its own distribution system. (That might be changing, but as far as I know there's still no way you still need to write variants for each model.) Still, if you want to sell to BlackBerry's demographic, that's likely a good move.
Android is promising, but the G1 doesn't seem to have been very successful and we still don't know what other handsets will look like. It could overtake the iPhone in the long term, but it's also possible that the handset fragmentation (do you use touch or non-touch controls? Is the keyboard onscreen or offscreen?) will be a huge liability. Still, if I had to switch platforms right now, it'd be to Android.
Pre is like Android, only more so. There are gigantic question marks surrounding it. However, it seems to use a lot of the iPhone's concepts, only with web stuff underneath, so if you develop for the iPhone now you'll be well positioned if the Pre becomes wildly successful later.
-
Some new info just out that may help in your decision making:
http://www.appleinsider.com/articles/09/03/02/report_iphone_miles_ahead_of_competing_app_stores.html
Mat Nadrofsky : Great links. Information you can't ignore! -
iPhone was new a year ago. developer success stories are nice but they don't tell you how many are trying to reproduce them and getting miserable return on their effort. Apple is going to ride the initial success for the next ten years so the platform isn't about to die but I wouldn't say it has the most potential.
JavaME is still the most ubiquitous technology to develop application for mobile phones. It's a nightmare to do it right but it's a mature technology that can still do a lot more than what it has been used for. If Motorola can recover enough to get MIDP3 out there, great things can be done. JavaFX looks like it is trying to build on the JavaME installed base but, in its current state, it is useless.
Android is the unproven new thing. It could go all the way and become dominant, with great tech and huge potential. Or it could be forgotten as a beta project 2 years from now. Big gamble right now. Nokia doesn't seem interested. I want to see LG and Saumsung and Sony-Ericsson and Motorola make a 3rd device each.
The only reason Flash is easier to use than JavaME is because it can do less things. It's really great to demo stuff. Not so much for full-featured applications.
WebOS doesn't exist yet. I don't think it will get beyond what other systems can already do with Opera and Webkit widgets. Palm is gonna need a marketing genius to sell this.
Symbian's future is going to be decided with the transition to open source. If it survives long enough to get it done (and the ecosystem size pretty much garantees that) it will keep being integrated into phones and evolve with new techs for the next 50 years, as resitant as Linux is on desktop. Hopefully, Nokia won't pull a Motorola and they will keep pouring money into new techs for Symbian OS so it stays at the bleeding edge. Shameles plug : to learn about Symbian OS C++ development, http://www.quickrecipesonsymbianos.com is the book for you.
OpenMoko and Limo won't get anywhere until Android and Symbian are dead. I suspect any successful phone that they might produce in the meantime will have whatever is the most ubiquitous runtime at the time (JavaME right now, QT could be big soon enough)
Python would be a cool runtime to have as de-facto standard but nobody with influence is pushing for it.
Windows Mobile? only reason to bother is to re-use Windows knowledge. Microsoft has made everyone too scared of a desktop repeat to be allowed to spread. If they keep at it for another couple of decades and loose a lot of desktop market share, maybe the mobile big guns will drop their guard.
Mat Nadrofsky : Thanks for the response! My reservations seem to be the same in regards to the iPhone, it's made a big splash and it's there but how many apps aren't making people money and can the cream really rise to the top in their current AppStore environment. If you don't make/stay at the top of the list...Mat Nadrofsky : ^^ ...that being said I'm still considering picking up an iPhone for the meantime. I'm going to check out that symbian link you've posted as well as I'd like to dig a little deeper into that one. -
The question did not seem to say that it was for a consumer application so...
I find that Windows Mobile makes it really easy to develop line of business applications. If you want your application to be used "in the field" by professionals then I have found almost all the good 'rugged' mobile devices use Windows Mobile or Linux.
The development story for Windows Mobile is quite nice and VS2008 is an amazing development platform.
The deployment story for Windows Mobile is not so nice. You get stuck in this world of certificates/signing, provisioning, and difficult installers.
So if you are planning to make LOB applications, then my opinion is stick with Windows Mobile.
0 comments:
Post a Comment