

Why Android Will Soon Kick Ass - qhoxie
http://gizmodo.com/5056476/why-android-will-soon-kick-ass

======
iigs
_Now, I enjoy an Apple hardware brainfuck as much as the next, but a phone is
never a better phone because of hardware alone, and Google knows this too._

Not sure about this... I think in large part the problem with Windows Mobile
phones is the driver quality/integration -- a problem that you can't separate
from the hardware too far.

 _No one else makes a legitimate phone OS with all this support that can be
tweaked down to the very roots. For one thing, I'm excited to be able to
download an entirely different version of all of Android’s core applications
if I don't like the default 1.0 versions—and that’s every app, everything from
the dialer to the contacts manager—something that's technically possible in
WinMo but often comes off more as an awkward re-skinning and not a top-down
integration._

I know the good folks at Google have given this a lot of hard thought, but the
fit and finish of those applications is critical to the reliability of the
phone as a phone. Software that hook into those interfaces poorly or without
good reason risks a lot of reliability for dubious gain. Anyone who used Mac
OS pre-X or PalmOS with a lot of extensions knows exactly what I'm talking
about.

That said, I'm more and more pumped about it as time goes on. The openness
can't hurt, even if Apple isn't on board (and likely won't be for years if
ever).

~~~
jwilliams
_Not sure about this... I think in large part the problem with Windows Mobile
phones is the driver quality/integration -- a problem that you can't separate
from the hardware too far._

Yup - The problem with a phone is that yes, the software is important - but
people still see it as all hardware and expect it all to _just work_ like
hardware.

So people see it as a device, but it's increasingly a platform. Apple's model
will certainly be more successful in treading this line - but remains to be
seen if that's the determining factor or not.

------
river_styx
The problem with this argument, and the problem with every argument for
android I've seen, is that many of the things that set it apart from iPhone
are geared for developers. I don't have the actual numbers, but I'm pretty
sure that developers make up a relatively small fraction of the overall mobile
phone market. I mean seriously, do you think that all of these teenage girls
and trendy urban types will really give a shit if a phone is built around an
"open" platform?

These things look cool to us because we're the target market. No one else will
care.

~~~
davidw
There's a reason Steve Ballmer screamed "developers! developers! developers!",
and it's not that he forgot to take his medications. Developers are the people
who create stuff that makes a platform attractive.

~~~
scott_s
This is a particularly important point when Apple is denying apps that compete
with theirs, but have functionality they don't. (Podcaster, or whatever the
name of the app that let people download podcasts directly to their iPhone.)

What Ballmer recognized was that if you have an environment that's friendly to
developers, eventually you will have things regular users want. I'm surprised
Apple doesn't seem to understand this.

~~~
iron_ball
Because now Windows PCs are viewed as sexy, powerful, and easy to use devices
that make you cool and productive, while Apple computers are not.

~~~
orib
Because Windows PCs are well known to be friendly to developers, with a
lovely, powerful Win32 API that's a joy to use, has no horrible warts and...
oh. wait.

Thanks to an accident of history (NeXT) combined with Apple killing backwards
compatibility with OS9 down, they have a really developer-friendly API
compared to Windows. On a purely technical level, Apple is far more developer-
friendly than Windows.

They are doing their very best to shit that all away though, when it comes to
the legal and backwards-compatibility side of things. That's one reason I
doubt I'll ever spend my money on Apple.

~~~
pchristensen
That makes Apple friendly to new developers, but I would say that the
backwards compatibility guarantee that Microsoft gives is pretty friendly.
It's nice to know that your program will run forever, no matter what changes
take place.

------
nuclear_eclipse
> _It's not about pretty icons, Apple fanboys, and its not about business use,
> Windows Mobile Nerds: its about giving people the true tools to build
> whatever they want without lame App Store limitations and _OS handcuffs_._

Tell my why developers can only use Java applets then that can only access
certain API functionality that Google (or the carrier) wants to limit them
too? Why can't I program for Android using Python, or C, and why can't I
connect to the phone from another machine over SSH to transfer files, or
compile applications, or tunnel an X11 session? What was that you said about
"no OS handcuffs" again?

> _No one else makes a legitimate phone OS with all this support that can be
> tweaked down to the very roots. For one thing, I'm excited to be able to
> download an entirely different version of all of Android’s core applications
> if I don't like the default 1.0 versions—and that’s every app, everything
> from the dialer to the contacts manager_

Openmoko has been making this possible (and infinitely more open) for far
longer than Google was even _planning_ Android...

~~~
omouse
>Why can't I program for Android using Python, or C,

Because those are pain in the ass languages for embedded devices. Do you
_really_ want to manage your own memory in C or deal with the slowness of
Python on a mobile device??

~~~
orib
What if the answer was yes?

There are some things C or C++ are just better at, like operating in a low-
memory environment when you want to squeeze as much as possible out of the
system. Sure, GC is nice and all, but for things to work well with a modern
copying generational GC, you need 2 or 3 times the amount of RAM as an
equivalent manually managed tool, because collection is lazy and you don't
want to run it on every allocation -- that would be too expensive. So garbage
sticks around for a little while.

Alternatively, some people like writing in high-level compiled languages (most
of which are faster than Java) like OCaml or Haskell, both of which are
suitable for a device that would also be running Java.

~~~
omouse
_edit: If you want to use C/C++ go and so some other mobile device platform
and see how "excellent" they are._

>There are some things C or C++ are just better at, like operating in a low-
memory environment when you want to squeeze as much as possible out of the
system.

No, that depends on the developer. A lot of developers don't want to worry
about memory management and memory leaks.

The thing is that they _need_ a VM-based language so they can port the VM over
to all sorts of hardware instead of forcing developers to mess around with
portability issues. Port of Squeak Smalltalk to the iPhone:
<http://isqueak.org/HomePage>

~~~
orib
_No, that depends on the developer. A lot of developers don't want to worry
about memory management and memory leaks._

That has nothing to do with what I said. If you want to avoid the peak memory
overhead of using a GC (and the peak memory overhead is quite a bit higher if
you don't want to kill performance -- you'd need to run the GC after every
statement that could possibly kill garbage otherwise), you need to use C or
C++.

And as for other mobile platforms -- Windows Mobile allows C++, IPhone is in
Objective-C, Symbian is C++, etc. Java is popular, but it's not overwhelmingly
so. And this is even taking into account that it's easier to get a Java based
device approved by carriers/regulators because the VM can trap more attempts
to break the OS and thus make sure that you can't trick the software into
doing out-of-spec stuff.

GC is a wonderful tool. it prevents leaks, but it needs more memory when
you're rapidly generating garbage. I wouldn't want to program without it...
unless I'm trying to shoehorn things onto a tiny system.

------
unalone
I think Android has a chance, but... not because of this. You can't base the
success of an OS based on another OS not having good developer tools. Apple
can release the restrictions on developing whenever they want to, and they
WILL if they ever think that Android might gain more developers than their
group.

And, not to belittle Google, but the iPhone apps are NOT something to laugh
at. Many of them are insanely good, and it's incredibly easy to get them.

------
shimi
Android found a great balance between a virtual environment and a good API. It
pretty much covers everything a developer needs.

What's more the SDK is also great, I tried to run the latest S60 SDK (Nokia)
and after 2 weeks gave up, MS is great but its not for free. With Android it's
free and straight forward.

------
seiji
"Google has their eyes on the long haul with Android. Which is why reactions
to a somewhat scattered UI in the very first implementation is not something
they're worried about too much."

It's too important for them to worry about the details of it?

