The Adventures of Joshua Judson Rosen
(action man)

[ sections: VisualIDs | art | movies | everything ]


Wed, 28 Oct 2009
[@]

00:00: Slamming Android...

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]