Friday, May 22, 2009

"This is Rumor Control. Here are the facts."*

In response to my most recent posting, "Shivan" writes,
yadda yadda
http://www.limofoundation.org/what-is-the-platform.html
look at the middleware, between "Database" and "Multimedia Framework".
There, you got it, I'm out.
What Shivan is slyly referring to here is the box labeled "DRM Framework", and he's evidently expressing his displeasure that such a thing might be included as part of a cell phone platform. I initially began to respond in a comment, but ultimately decided that this deserved a posting all of its own.

Shivan is well within his rights to "opt out" of anything which includes DRM in it, but I'm afraid it's likely to limit his activities a little. The fact is that—to the very best of my knowledge, anyway—there isn't a mobile network operator on the planet which doesn't mandate the inclusion of at least some form of DRM in every single phone it provides. In fact, you'd be hard-pressed to find a phone which doesn't include some form of DRM, "OMA Type 1" at the very least. And as much as I hate to be the one to tell you this, Android has DRM. Qtopia has DRM.

So Shivan is (unless he gets, perhaps, an OpenMoko phone and a long extension cord) going to have to do without a cell phone. He's likewise going to have to do without any MP3 player that supports protected AAC, WMA, and other DRM-enabled media. I'm pretty sure that excludes the bulk of the devices out there, so he's going to have to probably listen to his music (FLAC encoded? Better get a big hard disk, too...) on his laptop (and another extension cord, maybe).

(Oh, and for sure don't ever watch any DVDs!)

One nice thing about having been around as long as I have is that I'm a pragmatist. Another nice thing about it is that I understand very well that half a loaf is better than none, and ninety-nine one-hundredths of a loaf is even better than that.

It's not a perfect world, Shivan. I don't like DRM, so I don't use it—most of my music was ripped (to MP3s, sorry, even with a 160GB iPod, I've got a lot of music) from my CD collection and the rest was purchased as downloads (without DRM) from Amazon. With one exception, which I did as an experiment, I've never bought protected media from the iTunes Store, or much of anything else. So DRM never impacts me. But I'm realistic enough to understand that it's going to be there, in at least some metaphysical sense, for the foreseeable future, and I get on with life.

When the MNOs decide there's no need for DRM, cell phone platforms will stop including it. That'll be fine by me. In the meantime, I don't see that I'm improving my life by refusing to use a cell phone until they do. Your Mileage May Vary. Sorry For The Incovenience.

* Brian Glover as "Harold Andrews" in Alien3

Thursday, May 21, 2009

The New Walled Gardens

(This post was originally published on the LiMo Foundation blog...)

Consumers’ first exposure to the internet came via walled gardens for most people: America Online, Prodigy and Compuserve all offered a degree of access to the network, but at the cost of a variety of limitations to access and a great deal of control. In time, those walled gardens withered away, replaced by unmediated access. Similarly, mobile data services have, for years, been similar walled gardens, and in the same way, those efforts to “rope in” users are becoming untenable. Today, we see other walled gardens springing up as the old ones wither away.

The new walled gardens are different, however: they’re about the ability to write software for, and to add software to, devices that are much more capable than older cell phones (and even many of the computers we used when we were using AOL to get to the network). The walls around these gardens are defined by programming models, by application distribution (and the policies around it) and most importantly, by platforms.

Apple’s iTunes App Store, and the entire ecosystem associated with the iPhone, is an excellent example of one of these new gardens. The walls consist of an idiosyncratic programming model, one which uses non-standard languages and its own set of programming paradigms, as well as the store itself. Writing an application for the iPhone involves an investment in learning how to program for the device in Objective C—knowledge which is non-transferable to other contexts—as well as a fairly large “leap of faith” that Apple will actually accept the application and place it in the App Store for distribution.

Android, similarly, attempts to lock in developers via similar means. Applications for Android can only be written in Java, and not even standard Java, and must be created to fit within the Android application framework. Again, this involves a fairly steep learning curve, and the learning is essentially unusable anywhere other than in the context of Android.

What’s the attraction for these platform purveyors? Mostly—as with the early attempts at facilitiating internet access—it’s an attempt at a mechanism of control: control of the users, but this time at second-hand. Control is exerted via the development community associated with the device, and the expectation is that the availability of applications on a given platform (and their presumed unavailablity on others) will act as an incentive to coax users to stay with the device they have.

Experience shows that these efforts are generally failures. AOL and the like had to be dragged, kicking and screaming, to the point of allowing unmediated access to the net as opposed to their little Disneyland-ified portion of it. People want freedom, and people don’t like to have stumbling blocks put in their path. Developers, on the other hand, want to write programs the way that they’re used to doing, and they want their work to be as widely available as it can be. Both of these factors conspire against the success over time of the current batch of walled gardens.

We can see some of this beginning to happen in the area of MID devices: mainstream Linux is getting to be a popular choice there, and there are increasingly impressive efforts to adapt the basic Linux desktop user experience to these smaller devices. There’s a well understood programming model for these devices—it’s the same model used on the Linux desktop and on pretty much all devices based on mainstream Linux distros. This is the same programming model that will be exposed on the next wave of
“open phones” coming from LiMo Foundation members.

This is a core difference between the efforts of organizations like LiMo and others: LiMo is not reinventing a new wheel in order to “lock in” developers—and by extension users—to a particular device. The programming model, architecture and components used in a phone based on LiMo platform software is largely identical—in the open source portions, certainly—with any Linux-based desktop. Programs are developed and tested in the same ways, and programmers aren’t asked to face a learning curve that only enables them to program for a single device.

One answer, and one which will be popular in some areas, is the idea of web-based applications, using Ruby or AJAX or any of the various “Web 2.0” development models. This is attractive in that there’s a lot less risk of being locked into a single platform but again it comes at a cost: not all applications can be readily adapted to running out “in the cloud”, and not all should. But in the meantime, efforts like BONDI, etc., offer some short term relief for at least a class of developers.

In a free market, “open” generally wins over “closed” in time. Closed systems—and a walled garden is simply a somewhat larger “closed system”--ultimately frustrate both their developers and their users: the developers because they can’t do what they want, whether because they’re trammeled by programming models of by distribution models, and the users because they find they can’t get access to the programs and facilities that they want. Open will eventually win over closed in the mobile development marketplace and for the same reasons: people won’t stand for any more control exerted on them than they have to. And that goes for both developers as well as for end users.