

Ask HN: Which mobile platform is your favorite? - DenisM

It seems the war is picking up momentum between Apple IPhone($100m VC fund), RIM Blackberry($150m VC fund) and Google Android ($10m cash prize pool) to attract mobile developers to their platforms. With that much activity Microsoft and Nokia can not be far behind, so we have a potential 5-side rumble!<p>Much in this battle is up to enterprising hackers - which platform would you pick and why? Which one is joy to program, which one is the pain in the neck?<p>It would also be fun to come back to this thread in two years and revisit our sentiments.
======
DenisM
I will start myself having programmed both for Google Android and Windows
Mobile.

In the grand scheme of things, the two platforms are comparable in the amount
of joy and pain they cause and it takes roughly the same amount of effort to
get things done.

Windows Mobile:

\+ C# (popular, easy to learn language)

\+ IDE with debugging

\- IDE costs money

\+ Decent compatibility, debug once - run anywhere

\- Compatibility is not perfect - there are two distinct flavors (touchscreen
and non-touchscreen) and while its possible to write compatible code it still
takes effort

\+ Native Emulators for different form factors

\- Network connectivity in emulator is a pain to configure

\+ Once you configure it you can simulate network conditions very well

\-- Windows Forms UI is quite primitive and does not have even basic layout.
Huge pain in the neck. I hate it.

\- The View and Controller of Model-View-Controller are merged into one (class
Form), as a result you can't easily separate View from business logic. Thus it
is harder to test.

\+ Allocation profiler and unit tests

\- No regular profiler, no code coverage

\- Stagnant - very little has changed in recent times

\+ Large install base (10 mil)

Android:

\+ Java - popular, easy to learn language

\+ Single UI model for all devices (touchscreen)

\+ Free IDE with debugging (Eclipse)

\+ Working network connectivity in debugger

\- Not as rich connectivity options

\- Debugging is half-assed - it hangs all the time (search for "19% bug") and
you can't eval random expressions, only local variables. But then again it
gets the job done.

\+ The Intent / Activity / View model is nice - View and business logic are
separated. It's also quite cool that application consists of late-bound
activities - basically you can expand existing application by developing a
newer implementation of existing activity. In other words, it's hackable that
way. The whole way how Google rethought the idea of "application" is very
fresh and I like it - it seems to make sense to me.

\+ Regular Profiler (don't remember about unit tests and allocation profiler)

\+ Rapidly evolving

\- zero install base

------
jamess
From the software engineer's point of view, there can be no question that
Symbian is by far the nicest platform to work on. It's got the same two
decades of heritage as pretty much every other popular operating system that
exists today, but it shows what can be achieved if the people who designed the
OS in the 80s were thinking clearly about the future.

It's so refreshing to work on an Operating System where character sets aren't
anything you have to worry about, that has Unicode designed in to every
component from the file server on up. To use processes rather than DLLs as the
basic unit of code reuse is just great, and with platsec to have a decent
mechanism for policing access to those processes... Well, I could go on and
on, but I better not.

It also helps to have a quarter of a billion phone installed base, and almost
1 in every 10 phones shipped being a Symbian phone. Not just Smartphones,
mind, all types of phone.

------
briansmith
Based on what's happening today, I'd say that (1) Symbian will take control of
the phone-first-computer-second market and, (2) Windows Mobile will slowly
take over the computer-first-phone-second market, (3) Apple's marketshare will
mirror its computer marketshare, (4) Android will get squeezed out of the
market unless there is an ad-subsidized phone revolution (unlikely), (5)
Either Nokia or Microsoft will buy RIM, and (6) price is going to be a much
bigger factor in the long-run at the top of the market, and Nokia, Samsung,
and Sony-Ericcson have a big advantage there because of its experience
building mass-market feature phones.

Look at what is happening today at MWC: Samsung, Sony-Ericcson, and Nokia all
announced amazing Symbian-powered devices. HTC and LG both made huge
commitments to Windows Mobile, and Windows Mobile got a huge upgrade.
Meanwhile, Android was almost absent from the show, and Apple literally didn't
even show up.

There's only one commercially-available Android phone, being subsidized by
only one major operator (AFAICT). I can't find any evidence that it is gaining
any momentum; in fact, the evidence seems to show that Symbian has gained a
lot of momentum at its expense. Besides that, Symbian just seems
technologically superior. Nokia just announced a Symbian-powered phone with a
one-MONTH standby time. The G1 cannot even last through a single day. If
you've programmed for both, you can see why: everything about Symbian's design
revolves around a relentless desire to conserve resources. Android's main
contribution might end up being the open-sourcing of Symbian.

The iPhone gained a lot of mindshare but soon it will be one out of many
similar devices. Feature-for-feature, every single other manufacturer has them
beat, hands down. The iPhone's only advantage is in ease-of-use. That's a big
advantage now, and the iPhone will continue to thrive as long as its
competitors provide sub-par user experiences. But, once the other vendors get
their acts together, the iPhone won't have any advantage whatsoever. The same
applies to Mac OS X on the desktop as well.

Samsung, Nokia, and Sony-Ericsson are close to having application binary
compatibility across their smartphones. And, Nokia has started moving Symbian
down market into midrange phones. If they can all agree to build compatible
phones and if S60 replaces Series 40, Symbian will have an absolutely massive
market share.

I think Windows Mobile will succeed in the corporate world if they can build
enough tools into the platform to make building mobile enterprise applications
as easy as they've made enterprise development on the desktop. At some point I
think Microsoft's leverage in the corporate IT world will cause a lot of
problems for Blackberry.

------
vlad
I like iPhone now through next summer, an iPhone/Android 60/40 split afterward
over the following year, by which time (two years from now) RIM should be in
trouble, possibly even worse than Microsoft, who knows how to make software,
hardware, and SDKs, and might release a great business phone with 3G, WIFI,
and a great keyboard by then (that of course uses Exchange ActiveSync instead
of the required $60-100/mo per phone Blackberry connection plan that RIM
requires.)

~~~
mattmaroon
I'm still skeptical that anything will make a dent in RIM's core base. They
might shut it out in the consumer market, but not business. iPhones are
clearly never going to, unless they offer a model with a dedicated keypad and
multiple carriers. Android, we'll see about, but I suspect the Blackberry
brand name is one of the most valuable around and will withstand a lot.

~~~
vlad
Thanks for your response. If HTC, Palm, Sony, Nokia, or anybody else releases
a great Google Android or Microsoft Windows Mobile phone for business use that
comes with a great keyboard and is equivalent in functionality to a
Blackberry, with easy-to-use developer-focused SDK's that Google and Microsoft
have, while Blackberry sticks with their (from what I hear) poor platform and
continues to charge a big extra monthly fee for their data plans, I can
imagine RIM will be stuck in an unfortunate situation two years from now, as
Palm is today.

In my opinion of how quickly things can turn around, Palm used to be the
darling of the Apple world, having roots in Apple's Newton project, and the
PalmOS operating system supported Macs while Windows devices did not. As soon
as the iPhone came out, Mac users of Palm Treos were probably the first in
line to buy the real thing (an Apple phone). Also, Palm themselves put Windows
on their phones even before the announcement of the iPhone (turned out to be a
good decision for them, since they weren't doing much with the PalmOS, because
they couldn't really modify it after all--they chose to have backwards
compatibility in order to state that they have over 60,000 applications.)

There's also the issue that RIM, a Canadian company, is the only company that
forces every message to go their country before it reaches its destination,
which means state and federal government officials, and the military, will
have an easy choice to use one of the other platforms, as many departments
have done already in the United States. The governments in France and India
have also voiced such concerns to ban the Blackberry.

Note that I am not referring to stock prices here, but the general status of
the platforms at that time.

~~~
DenisM
"If HTC, Palm, Sony, Nokia, or anybody else releases a great Google Android or
Microsoft Windows Mobile phone for business use that comes with a great
keyboard and is equivalent in functionality to a Blackberry,"

Well, they kind of did. There are many phones that run Windows Mobile and do
all the email/calendar quite well. This is my phone for example:
<http://tinyurl.com/64jtkq> T-Mobile dash. It has keyboard, does all the push-
email with Exchange thingy and runs the software that I write for it.

My biggest problem with it is outdated UI programming model (Windows Forms),
but judging by posts here it is a nice problem to have compared to what RIM
offers.

~~~
vlad
Exactly. But I wasn't touting Windows Mobile, which I have never used. I am
touting the proven track record Microsoft, Apple, and Google have of serving
developers more than any other company (Amazon might be another one because of
AWS, and they too have a mobile/cellular product, the Kindle). They have
designed lots of great software and Software Developer Kits. RIM does a
terrible job and has no such experience.

After some research (I didn't before because this was supposed to be just a
fun prediction thread we can look back on after one year), I found experts
agree:

[http://www.appletell.com/apple/comment/rim-switching-to-
ipho...](http://www.appletell.com/apple/comment/rim-switching-to-iphone-
development/)

[http://www.berryreview.com/2008/03/12/rim-is-nurturing-
the-d...](http://www.berryreview.com/2008/03/12/rim-is-nurturing-the-
development-community/)

~~~
mattmaroon
I don't think I disagree with you, I just don't think that is relevant to the
corporate world. Corporations don't want their workers installing third party
apps on their phones, that's jut more IT headache for them. They want a device
that enables their employees to communicate effectively. Nothing does that
like a Berry. And even if it did, the cost of switching would keep everyone
using Berries.

~~~
vlad
Thanks for the response. That's very true today. But I am assuming that among
Microsoft/Google/Apple, 3rd parties will use their SDKs Android's open source
to create business applications and integrations that will make the Blackberry
look lame and expensive in two years, so much so that PalmOS and RIM's OS and
SDKs will look lame not just to developers, but users as well.

There are currently many problems right now. Microsoft Exchange ActiveSync is
free per device, but flaky. As well, IT has to install iTunes on user machines
to allow business users to activate and sync the devices. Finally, Apple does
not allow IT to disable iPod functionality on their business iPhones. I am
betting that these huge problems will be addressed before two years from now.
My point is that there will be a noticeable dent in Blackberry use (as long as
good keyboards accommodate the phones running these new OS); I'm sure RIM will
still have a good stock price and profits two years from now.

------
briansmith
Symbian is a pain in the neck to program for, but you can do anything you want
on it, and it has (and will have) a huge marketshare. iPhone and Android are a
walk in the park but they both have severe limitations (especially the
iPhone). The iPhone is the easiest one to deploy to (thanks to the App Store).
I don't have any experience with WinMo. So far, Symbian is my favorite.

------
axod
The web. I just don't see the point in native apps these days when you can do
pretty much all of it via webapps.

~~~
DenisM
That's an excellent point. One of my favorite bloggers Michael Mace put a very
detailed argument to that end:

[http://mobileopportunity.blogspot.com/2008/02/mobile-
applica...](http://mobileopportunity.blogspot.com/2008/02/mobile-applications-
rip.html)

[quote] Summary: The business of making native apps for mobile devices is
dying, crushed by a fragmented market and restrictive business practices. The
problems are so bad that the mobile web, despite its many technical drawbacks,
is now a better way to deliver new functionality to mobiles. [/quote]

The web, alas, is slow.

One interesting idea I have is potential of convergence between two
worlds,manifesting itself in Flash mobile and Silverlight mobile. Maybe these
are the future then.

------
davidw
Android: it's open source. It might not be an initial advantage against
something like iPhone, but in the end, I think it's very compelling.

~~~
briansmith
Symbian is effectively open-source now (if a handset manufacturer wants it,
they can get it), and it will be officially open-source soon.

------
mcxx
What about OpenMoko? It will soon become available to the masses, it's fully
open, cheap, extendable etc.

~~~
jamess
While I've met many of the guys who work at OpenMoko and think they're great
engineers, OpenMoko just isn't any sort of serious mobile platform. They can't
even claim the kind of industry support SavaJe had before they went tits up.

They're also making a touch screen handset/platform which makes them
automatically a niche player everywhere except China. If one of the first tier
handset manufacturers expressed some interest in the platform, it might be
worth considering, but in advance of that extremely unlikely event it's just
an amusing novelty.

