These days, I’m gloomier and gloomier about the prospects for the mobile Internet; you know, the one you access through the sexy gizmo in your pocket, not the klunky old general-purpose computer on your desk.
We’ve all heard about the glowing future; Jonathan is particularly good at telling it; “There are more mobile phones sold every day than computers sold every year, etc.” (OK, I’m exaggerating, but that’s the thrust). And indeed there are big parts of the world where a networked computer is in the economic reach of very few, but a cellphone is attainable to many.
The Legacy Problem · We all know that cellphones have been able to access the Net for years and years. In theory. I’m a heavy Internet user and have carried a phone for a decade or more, and have never seriously used the one on the other. The browsers suck, the programming models suck, and lots of things are intentionally crippled, like my current pretty-good Samsung whose JVM won’t run anything that didn’t come with the phone.
And anyhow, I remember the first time I got a phone advertised as “having Java”. So I went and got whichever flavor of Mobile Java was current at the time. Quickly discovered that I couldn’t use it to make a phone call on the phone, or pretty much anything except write pretty-but-vapid games. Couldn’t see the point.
“But wait,” you say, “the iPhone has changed all that!”
The iPhone Problem · Yep, iPhone owners do actually use them as general-purpose Net clients. And, for the first time ever, they’re decently programmable in a somewhat-uncrippled way.
But there’s a little problem and a big problem. The little problem is that I don’t wanna learn Objective-C and I don’t wanna learn a whole new UI framework. I acknowledge that lots of smart people think Objective-C and Cocoa are both wonderful, and quite likely they’re right. I don’t care. I’m lazy; I know enough languages and enough frameworks. You’re free to disapprove, but there are a whole lot of people like me out there.
The big problem is this: I don’t wanna be a sharecropper on Massa Steve’s plantation. I don’t want to write code for a platform where there’s someone else who gets to decide whether I get to play and what I’m allowed to sell, and who can flip my you’re-out-of-business-switch any time it furthers their business goals. PragDave’s experience is hardly a confidence-builder. Call me paranoid if you will, but I just ain’t going there. No way, nohow.
Granted, the device is slick and has massive consumer pull, and maybe we’ll end up with a situation where the only way to be relevant in the mobile-apps space is as an Apple sharecropper. That’s not the future I want, but maybe it’s the one we’ll get.
The Android Problem · I guess it’s a little impolitic for a Sun person to say this, but I really like Android, at the conceptual level. It seems more modern in its feel than the other mobile SDKs I’ve looked at, and the amount of new stuff I’m going to have to learn is much less, and the platform has no intrinsic lock-in that I can spot.
On the other hand, it seems like there’s not much there there; haven’t seen much in the way of updates or hardware or movement, and there seems little transparency about what’s happening behind the scenes. And Android doesn’t address the dysfunctional business model that has crippled mainstream as Net clients, to date. More on that below.
The JavaFX Mobile Problem · It’s easy to like the JavaFX Mobile idea. It’s just Java SE only with access to the whole device, so you can use the phone as a phone, and with a layer on top to make it easier to program. In principle there’s no reason I couldn’t actually write my app in JRuby or Jython or some such. It’s probably got the least lock-in potential of any of the mobile-future options.
The problem is that it isn’t here yet. A year ago, my feeling was that maybe they’d started too late. Given the whole industry’s lack of progress since then, and the generally dismal outlook, I think there’s still a window of opportunity if FX Mobile ships before too long and turns out well.
The Business Problem · I’m on the record here and here and here; many of my commenters disagree with me, but they’re wrong. Until we get network operators who are willing to open their networks, and a business model that makes access affordable while incenting operators to encourage its use, all the shiny SDKs and glitzy pocket-jewels in the world aren’t going to come close to realizing the true potential of the mobile Net.