There are a bunch of sexy new `Linux smartphone' devices hitting the
market, right now. One device of principle interest is Verizon's new
`Droid': made by Motorola and incorporating Google's
Android software stack, a lot of people
equate `Android' with `open', but are suspicious of the Droid
because `it's still Verizon'.
I asked one of my co-workers about the Droid, the other day, since
he's been following Android and other `open' smartphone options in
anticipation of the upcoming end of his Verizon contract. His response
was a suspicious-sounding, "I've heard some news about it. I haven't
heard everything about it, though," adding, "it's still Verizon,
so...".
His thought is that `maybe Google is big enough to push Verizon
into relinquishing some of the control that they normally want over
everything'. But then again, Google and Android already have a track
record that we can reference when trying to make predictions about
this, and I don't see much in that record that works as a foundation
for these expectations (or perhaps "hopes and dreams"): all of the
Android devices to date enforce signature-requirementson whatever
firmware they boot, in the same vein as
Tivo; so, the fact that you
get access to the source code doesn't really mean all that much: you
can read the source and convince yourself that your Google-phone is
trustworthy (assuming that you trust the source to match the
binaries), and you can even modify and redistribute your copy of the
code, but you can't run it on your device.
The T-Mobile/HTC Android phones all turned out to be similarly
`open' (i.e.: closed), and one would expect that both T-Mobile
and HTC would be easier to push into `doing good' (or even just to
push around) than either Verizon or Motorola.
That all of the `Google phones' to date have been just as
locked-down as anything that came before them would seem to indicate
that either Google isn't `big enough' to even hope to push Verizon
around, or that openness just isn't as important to Google as people
want to think it is.
If the Android phone's merit is not actually openness, what is it?
As someone who's interested in developing software to use on his
mobile device, I'm still... just not getting what the big deal is
about Android. I'd love it if someone who does get it could explain
it to me--I guess it's `better than the iPhone', but is that it?
Is it even better than the iPhone?
jwz recently gave up up on his Palm Pre, passed on any Android
phones, and just switched to the iPhone:
He says, there:
I thought about trying out an Android phone, but the reality is that
the most positive review I've ever heard about Android was damning
with faint praise along the lines of, "it sure does show the
potential to someday be an iPhone competitor."
The "Boy Genius Report"
offers a review that provides that same `damning faint praise':
... the most impressive phone we’ve used since the iPhone.
It’s positively amazing....
So the Droid is "positively amazing", just... not quite as amazing as
the iPhone? Otherwise it would have been something like "the most
impressive phone ever", rather than just "the most impressive phone
since the iPhone", right?
But most of these comparisons are actually more from the end user
perspective, so let's try to look at it from a developer's perspective,
here:
From the perspective of developer convenience, at least for some of
the development that I'm doing, I'd probably be reasonably well-off
developing on the iPhone--better-off than I would be on Android,
anway. Wow--I never thought I'd say that..., but it does appear that,
in some respects, I'd be better-off with an iPhone than I would with
an Android phone: at least I'd be able to use the toolkits that I
already have. On Android, I'm stuck developing in Google's mutant Java.
I don't want to have to develop in Java--I've done it, and
it's a pain.
I really don't want to have to develop in Google's mutant Java.
I really don't want to have to re-implement network-protocols,
file-formats, and graphics toolkits that I already have
available... just because they aren't already Mutant Java all the way
down. If only these Android devices actually provided an open
platform, I'd be able to load something more passable and work in
that.
Of course, the iPhone's ultimately a no-go for me because the rest
of the development that I'm doing is impossible on the iPhone: I
can't write a location-based reminder daemon, because there are no
daemons allowed on the iPhone; I can't integrate SMS and IM, because
iPhone apps aren't allowed to access the SMS subsystem. I can't
integrate VisualIDs into the phonebook-app
because I don't have the source for that and wouldn't be allowed to
create a derivative work of it even if I did; and I gather that I can't
even create my own phonebook-app because that's yet another piece of
functionality to which third-party apps just aren't allowed access.
And that's just how the iPhone fails to meet my own needs as a
solitary user-developer. If I want to share my applications with
other users like me, then I run into the problem that the whole idea
of `Free Software on the iPhone' is hampered by the inability to
actually share an application with other iPhone users who haven't
either `joined the developer program' (for a recurring fee) or
`jailbroken' their devices (accepting the risk that Apple might
break.
And don't forget that Apple's proprietary SDK is a requirement to
develop iPhone applications, which means that Mac OS is a requirement,
which in turn means buying a Macintosh. So, if I want to let someone
collaborate with me on an iPhone project, then I have to tell them,
`all you need is an iPhone, a service contract with AT&T, an Apple
Developer account, and a Macintosh'. Maybe I'm being unreasonably
humble, but that seems like an unrealistic investment to expect
someone to make. If someone said that to me, I'm pretty sure that I'd
respond with, `I think I'll just go work with those nice, cooperative
guys over there, on the project with a $0 entry-barrier'.
OK, so maybe the Android devices are better options than the iPhone:
it's significantly less convenient to develop for Android, but at
least it's possible to build more (though not all) of the things
that I want, and it's possible to build a community (however limited
in scope) around it....
There's also Nokia's new N900, which unifies their smartphone and
`palmtop Linux PC' lines. People are also talking about that, saying
things like:
Due on T-Mobile and AT&T soon i hear. It should be harder to lock
down ... and all the apps built for N700/800/810 should be
usable. That's what I'll be looking for when my contract is up.
It may be `harder to lock down' in the sense that you'll likely be
able to buy one `direct' from the Nokia (probably via an retailer of
unlocked phones, but without going through any of the
service-prividers) and use it with the network/provider of your
choice, since it's a GSM/UMTS device. Technical considerations aside,
this is why I went with GSM when I got into the mobile world: it may
seem more expensive to get a device without a carrier subsidy (and
may actually be more expensive, in some cases), but it can be
worth whatever extra expense there is.
Will the version that the carriers sell (if they do) be `harder to
lock down'? Maybe, maybe not--I guess it depends on what one means by
`locked down'. An N900 sold by T-Mobile or AT&T is probably not going
to be `locked down' in the sense of `nickle&dime you to death' as
Verizon customers tell me is par for Verizon, but that's not in the
normal AT&T or T-Mobile culture anyway.
The N900 is attractive-seeming, because it seems to give open access
to all of the development-tools that I currently enjoy with the
FreeRunner--I can just use my Cairo-based VisualIDs library, for
example. One can install Python, Perl, Tcl or any other framework on
top of Maemo. But the N900 is still not an open phone--there are
important operational components that are implemented in proprietary
binaries that communicate only via secret, obfuscated protocols
instead of conforming to any standard or open interface specification;
and there are `open' parts of the software stack that can't be
changed because it might make the proprietary parts stop working.
The freesmartphone.org team is
extremely dubious
about the prospects of FSO on the N900.
I think what I really want is just for OpenMoko to pay some heed to
maddog and become successful....
Maybe there's hope in that `methods of restricting functionality
available on a smartphone' patent that Apple was seeking.
At least my FreeRunner doesn't take 40 seconds to take a picture like
jwz's Pre does....
[Reply]
|