Wednesday, May 8, 2013

Apple and Photos

Peter Nixey (via John Siracusa):

To be honest, I got a little confused at this point. Have I transferred them into iPhoto? I’m not sure I’ll check the photostream - ack, no, I remember you told me to delete photos off my photostream because there were too many. Hmmm, check the camera roll again. Hang on a minute - where are my videos?! Turns out photostreams don’t stream videos. Man, these things are not cool.

I didn’t realize how confusing Photo Stream could be until I tried explaining it to a friend. The mental model is so different from the rest of iCloud.

2 Comments RSS · Twitter

Am I crazy to think the entire iCloudy with Meatballs thang is, and always will be, fundamentally flawed until they change it to be a 'canonical store in the cloud' model?

Yes, you're crazy. Canonical data stores *are* the problem, not the solution.

Where Apple is repeatedly going wrong is in thinking it can solve the traditional data silo problem by slapping on just another band-aid. That quick-n-dirty lash-up approach worked well for them over the years when it was just as case of replacing one local desktop platform (classic Mac OS) with another local desktop platform (OS X), so naturally their instinct is to use the same successful technique again.

But now they are trying to replace a local desktop platform with a highly distributed computing platform, which is not something that can be achieved simply by evolving the existing local computing idioms to make them magically distributed. It requires a complete ground-up rethink of how personal computing works. Which is not the single-sentence happy message that directors and shareholders want to hear, and so they continue pushing their old strategy into Peter Principle territory and beyond.

In addition to wanting a fast, cheap, simple [fantasy] solution to what is an unavoidably long, expensive, difficult and very real problem, Apple have a further COI polluting all their decisions. As a shamelessly commercial venture, Apple want to monetize every part of the user experience, which means they want to proprietize and control every part of the system. While that philosophy may work well for some things (by which I mean "puts lots of $$$ in vendor's pockets while keeping customers acceptably satisfied"), I think it is doomed to fail for any system on this scale.

Consider the Internet itself, which only succeeded once proprietary system vendors decided to set aside their own narrow controlling interests in order to achieve a broad common goal from which they would all subsequently reap some benefit (Game Theory 101). But Apple still want to control all their users' data, which means "their cloud, their way", rather than designing an open, flexible, forgiving system that provides everybody with the same freedoms. Look at the WWW, which has seen its original egalitarian principles (everyone can directly publish, everyone can directly share) eroded by commercial interests (only a small elite can directly publish, everyone else must either use their tollroads or just blindly consumer).

For cloud-based personal computing ever to work right, it has to be designed to be flexible and imperfect, trustworthy in its tolerance for faults, and respect the teeny tiny fact that user data should belong to the user, and it should be for them to define the rules by which it should be stored and shared.

A crude comparison would be to non-distributed vs distributed source control systems (e.g. Subversion/CVS vs Git/Mercurial). The former try to maintain absolute central control because that is 'simple' and 'foolproof', but all that happens is that users rebel: the system fails to meet their needs (e.g. see the horrors of resource locks and "Merge Day"), so they end up creating myriad ways to work around it, all bad. DVCSes share ownership and control across all users, and provide mechanisms for synchronizing differences and resolving disputes. Yes, it's an imperfect mechanism, but that's because it's designed to be. And, yes, martinets and OCD types will loathe it, but if you let those sorts run your lives then you deserve every ounce of misery they pour on you.

Obviously, there's still a considerable difference between how DVCS operates and what a full cloud system would need to do, like the difference between the world's first wheelbarrow and a modern Mack truck. But I think if you're going to look for inspiration then that is the place to start; whereas the old godlike mainframe data silo surrounded by myriad dumb terminals absolutely is not (and would be a disaster ready to happen).

Like I say, stuff is hard. And some things you can't pretend it's not.

Leave a Comment