
 Unlike Android, the iPhone can’t scale, says Google - Anon84
http://blogs.ft.com/techblog/2009/07/unlike-android-the-iphone-cant-scale-says-google/
======
mechanical_fish
Marketers use the word "scale" the way Star Trek writers used the word
"phase".

Cue Inigo Montoya: "You keep using that word. I do not think it means what you
think it means."

And even if you ignore the poor choice of words and the inane anti-iPhone spin
(what, the iPhone OS won't run on products besides iPhones? I'm _typing_ on
the iMac that disproves that point!) what I see here is Google trying to put a
positive spin on one of their platform's big _problems_ : Android not only
_can_ run on a thousand kinds of hardware, but that appears to be the official
plan. Some of that hardware will have physical keyboards. Some of it will not.
Some of that hardware will have screens the size of a dinner plate. Some will
not. The result is a loss of coherency: What kind of hardware is an Android
app for? What is Android for?

If you build an Android app, you have to decide if you'll optimize it for a
physical keyboard on the long edge, or a physical keyboard on the short edge,
or a software keyboard. You'll have to decide how much of the screen you can
take up with your control panel. You can't optimize for everything at once.

The likely outcome is that you'll have to support your Android software on a
divergent set of hardware, and you'll inevitably disappoint a subset of your
customers. If the customer base breaks into thirds and you can only please
one-third at a time, you will routinely disappoint _a majority_ of the
customer base no matter _what_ you do.

The fact that the iPhone has one consistent hardware platform is a _big
advantage_ for Apple. The newest iPhone OS runs great on my two-year-old
original-edition iPhone. The phone is getting better by the month: The
interface works better, the crashes are fewer. This is presumably because
Apple's engineering team can focus on refining the current platform rather
than on porting their OS to a dozen different platforms.

~~~
nuclear_eclipse
Actually, the Android SDK makes it supremely easy to build applications that
are built specifically for different types of devices with minimal effort. The
implemented separation of XML resources, combined with the ability to further
refine/subdivide resources based on phone capabilities, without having to
write any code to make the choices at runtime, is incredibly useful and
powerful.

For a simple example, let's say I want to optimize my application's interface
layout for whether the phone is in portrait or landscape mode. I simply make
two copies of the layout definition and place them in specially-named resource
folders, like such:

    
    
        res/
          layout/
            main.xml    # basic layout
          layout-port/
            main.xml    # optimized for portrait mode
          layout-land/
            main.xml    # optimized for landscape mode
    

Then all my application needs to do to load the layout is:

    
    
        setContentView.(R.layout.main);
    

Android then takes care of loading the appropriate layout element _on the fly_
based on the device's capabilities and state. All I have to do is include
optimized versions of the layout for whatever I think in important.

This capability not only covers screen orientation, but screen resolution,
screen DPI, touch versus stylus input, hardware or software keyboard, and more
[1]. And it all comes basically for "free" because my actual code doesn't have
to know about any of it; it just asks for the base resource, and Android does
all the selection for me.

So _yes_ , running on lots of devices _is_ part of Android's plan, and they've
been working from day 1 to mitigate all of the problems inherent with
targeting a divergent platform, and it _works_. So yes, Android _will_ "scale"
to any number of devices, and it's trivial for developers to stay on top of
everything if they use the SDK the way it was designed.

[1]
[http://developer.android.com/guide/topics/resources/resource...](http://developer.android.com/guide/topics/resources/resources-i18n.html#AlternateResources)

~~~
mechanical_fish
All of this is great, and very informative, but it will make Mac software
developers and critics -- guys like John Gruber -- laugh and laugh.

The problem with this analysis is that it embodies the Java Desktop Fallacy --
the idea that the primary problem with getting your application to work on
every hardware platform is getting the code to compile and the libraries to
load. Sun once thought like this. They built a cross-platform set of libraries
and released them to the world. They were dutifully ported to every hardware
platform. They still work. But Java desktop applications sank into the swamp
and died, because the average Java application didn't act quite like a Mac
app, or quite like a Windows app. It looked and acted like a crappy
compromise, built by someone who was jack of all trades and master of none.

The problem with getting your app to work with or without a multitouch screen,
or a built-in accelerometer, or a hardware keyboard, is that _an app designed
for a multitouch screen is a completely different beast_. Making the iPhone's
photo album software work on a device without the iPhone screen would require
_a complete redesign of the app_ \-- you don't have pinch-to-expand, you might
not have the same smooth scrolling when the user waves their fingers across
the screen. But maybe you can mitigate those missing features by designing
some shortcuts for the handy hardware keyboard. But -- oops -- some phones
don't have that keyboard, so now you need to design one app for multitouch,
one app for single-touch but no keyboard, one app for single-touch with a
keyboard...

If you have the time and the budget you can just design eight separate apps
for eight separate combinations of hardware and sell them all. And if you're
lucky, and Android is that good, you might not need eight times as many coders
to pull that off. But you might still need 8x the design budget, and/or 8x the
QA budget. If you're not careful you'll need 8x the marketing budget. So
there's an inevitable pressure to try the typical strategy: design one app,
with one name, aimed at the lowest common denominator of hardware. Or design
an app that runs great on the hardware used by one-eighth of the market, but
looks kind of crappy to the other seven-eighths of the market. And the Windows
Mobile folks have seen the result of that approach: At any moment, a team of
Apple developers can come along and wipe the floor with your reputation.

~~~
nuclear_eclipse
I understand, and agree with your overall point, and trust me when I say I'm
not a Google fanboy or Apple-hater. But I honestly can't imagine any
smartphone being released in the future without a proper touchscreen. It's
become such an integral part of the smartphone experience, and as you said,
completely changes the way a user can interact with a device or an
application.

The rest of the divergence in hardware is _not_ a total gamechanger though:
the screen resolution/DPI, screen orientation, etc. Those aren't gamechangers
like a touchscreen is, and touchscreens are here to stay anyways.

If devices like the G1 and iPhone can sell with a great multitouch screen for
$100, then there's no point in selling a smartphone without one, and a
consumer would be stupid (IMO) to pay for one without it.

So if we take the touchscreen as a done-deal, then everything else divergent
is a non-issue. Android makes it a piece of cake to optimize for them, without
having to redesign or rewrite your entire application. And at that point, the
variety of hardware is your friend, helping to increase your potential market.

That's all I was trying to get at.

------
lrm242
It seems to me that Android is really about taking share from Windows Mobile,
not the IPhone. Given that, it would make sense to take the multi-platform
approach that they have. This article, and the comments within it, seem to
simply be "stuff that must be said" given the recent announcement re: Chrome
OS.

~~~
enomar
It was never about taking market share from some other mobile OS. Google's
main objective here is to put pressure on carriers and handset makers. They
need high end phones with good web browsers to become the norm. More people
using these phones mean more people using the mobile web (and therefore
Google's services).

------
noelchurchill
The iPhone _will_ scale just like the iPod scaled. There are a few different
models and sizes to fit different peoples needs. The world doesn't need 1000
different phones running Android, and I doubt that's even on Google's agenda.
They want Android to be the fabled "operating system for any electric device".
Apple hasn't even shown any interest in this business model at all, ever! You
could easily flip this article around by saying "Unlike iPhone, Android Runs
on Low Quality Products".

------
jemmons
Clearly misleading. By this definition, Windows "scales" an order of magnitude
better than OS X — a statement that, when considered in the classical sense,
is, at very least, up for debate.

------
zimbabwe
Apple's ad responding to this philosophy:

<http://www.youtube.com/watch?v=fZRcYS88BwQ>

------
jacobian
Yeah, exactly! Just like a single distribution of Windows can't possibly
compete with the thousands of branches of Linux out there.

Oh, wait.

------
plinkplonk
And how would one code for all these different versions of Android working on
devices with varying capabilities?

~~~
nuclear_eclipse
See my explanation above: <http://news.ycombinator.com/item?id=699223>

------
st3fan
Personally I would rather have one very well designed phone than a 1000 'cheap
plastic' ones.

~~~
jamesbritt
Let a hundred flowers blossom. I'm interested in seeing what devices people
come up with, knowing that the OS side of things is a solved problem.

Most of it might be crap, but there are sure to be some wicked ideas.

------
brisance
Andy Rubin is the sort of deadwood that will spell Google's doom. What he says
is no different from what already had existed on the mobile marketplace for
years. It is called Windows Mobile.

------
trezor
I see the hype around scaling has now reached so massive heights that even
Google is willing to misattribute it to mean things that it doesn't if they
think it makes them look good.

That Android over time may get a higher market adaptation has nothing to do
with scaling. If I were to take on Google's interpretation here, Symbian would
seem to scale better than any other mobile OS, and I'm not even sure what that
would mean.

