Previous  |  Next

Wed

Nov 28
2007

Tim O'Reilly

Tim O'Reilly

Software Above the Level of a Single Device

In February of 2003, Dave Stutz, who had been one of Microsoft's leading internal open source advocates, wrote a remarkable parting letter to the company, entitled Advice to Microsoft regarding commodity software. This essay made an indelible impression on me, and led me to write a talk (and later a paper) called The Open Source Paradigm Shift, which put together Dave's thoughts on software commoditization with my conviction that one of the unexpected but inevitable outcomes of open source software was that it was driving a the emergence of a new, proprietary platform layer on the web. The fuller explication of the nature of that platform was, of course, the talk and paper What is Web 2.0?.

Anyone interested in the evolution of the computer industry should re-read Dave's letter from time to time. But in this post, I want to bring specific attention to Dave's closing paragraphs, and in particular, to the line I've highlighted in italics below:

Why be distracted into looking backwards by the commodity cloners of open source? Useful as cloning may be for price-sensitive consumers, the commodity business is low-margin and high-risk. There is a new frontier, where software "collectives" are being built with ad hoc protocols and with clustered devices. Robotics and automation of all sorts is exposing a demand for sophisticated new ways of thinking. Consumers have an unslakable thirst for new forms of entertainment. And hardware vendors continue to push towards architectures that will fundamentally change the way that software is built by introducing fine-grained concurrency that simply cannot be ignored. There is no clear consensus on systems or application models for these areas. Useful software written above the level of the single device will command high margins for a long time to come.

Stop looking over your shoulder and invent something!

I made "software above the level of a single device" one of the key principles in my Web 2.0 talks. Nonetheless it seems to me that this is still one of the principles that is not properly understood, or is understood only in the most obvious sense.

And that obvious sense is this: by definition, every web application is software above the level of a single device. At minimum, these applications use a client on a local computer and one or more server computers. In the case of applications like Google, the server end may consist of hundreds of thousands of machines, and, of course, the data held on those servers is gathered from literally hundreds of millions of other computers. So clearly, this is software above the level of a single device.

Yet, in my Web 2.0 talks, I always use Apple's iTunes as my paradigmatic example for this principle. Why?

It seems to me that iTunes highlights the potential of a new application model beyond the web browser, where the personal computer acts as a control and management station for a handheld device, mediating and managing that device's access both to personal computer data and the internet cloud. Other Apple applications have some of the same characteristics (for example, iPhoto manages your camera and access to various .Mac-based photo services), but it's in iTunes, where Apple controls all levels of the user experience, that you really see the power of the model.

Imagine, for a moment, if your smart phone worked like your iPod? (Well, actually, now it is starting to do so, since for many of us, our iPod has become our smart phone. But I'm talking about other manufacturers' phones.) Instead of working through tiny, confusing configuration menus on the phone, you'd have a much richer management console on your PC. You'd have the Address Book 2.0 that I've been looking for, with direct lookup into your cell carrier's call history database as well as various directory services. You could annotate that data on your phone still, but how much more easily could you manage it on your PC?

I'm surprised to see how few companies have really searched out the possibilities of this three-tier model, with the PC providing management and configuration services (as well as useful standalone services on the PC itself), enabling much cleaner, more powerful services on the portable device, and full access to various kinds of internet services.

As the iPod/iTunes combination has morphed into the iPhone/iTunes combination, we can begin to see the real power of this approach. Because of course, it isn't just about managing music. It's about managing all of my digital assets, and making them available to me where I want them. And those assets are increasingly "above the level of a single device."

Even Apple still has a long way to go, of course:

  • There really ought to be an iPhone app (or iPhone functionality in iTunes) that would allow me to make VoIP calls from the PC. (Maybe Apple could take Skype off ebay's hands :-)

  • Apple hasn't really embraced the address book as a first class application. There's an enormous opportunity to turn our address book into a personal CRM system, pulling in additional data from the phone company's databases, from internet social networking services, and from other communication applications like IM and email.

  • iTunes needs to work together more seamlessly with other applications like iPhoto, and the internet-enabled address book I keep hoping for. Right now, when you sync your phone, you have both applications open up, competing for your attention. As more data needs to be synced to the phone, you don't want this to turn into a cacophony.

But I don't want you to think that this is a post about iTunes per se. It's about the idea of iTunes, and how it could be applied to build new and powerful applications. My GPS (which will eventually be and integral part of my phone and camera) should sync with my PC and and with Google maps, and supply a management application with which I can annotate my travels, find online photos of places I'm going so I know what I'm looking for, easily forward directions to other people, view my photos by location, generate mileage calculations for expense reports, and perhaps even build location-based games. A lot of these things would be possible on a portable device (and in fact, the Dash shows just how powerful an internet-connected GPS can be), but the interfaces become richer, and the possibilities greater, when you are not limited to the device itself for data input, management and configuration.

Incidentally, the Chumby (in which O'Reilly AlphaTech Ventures is an investor) uses another version of this device management model. Rather than a standalone PC client for managing the Chumby, you use the web browser and your account at chumby.com. But the concept is the same. Rather than building complex configuration menus into the device itself, you manage the data channels that will be streamed to the device in a separate application, with a much bigger screen and a keyboard for input.

I can't wait till more device manufacturers realize that you don't need to build the application for managing a device into the device itself. The game is richer than that. Let the device do what it does best; let the internet do what it does; and use the PC to help manage the relationship between the two.

tags: apple, davestutz, devices, iphone, web_2.0  | comments: 22   | Sphere It
submit:

 

0 TrackBacks

TrackBack URL for this entry: http://orm3.managed.sonic.net/mt/mt-tb.cgi/2652

Matt Asay   [11.28.07 06:16 AM]

Good points, Tim, but it seems like we're barely out of the gates with Web 2.0 and you're already talking about consolidation (See your earlier post on the Microsoft, Yahoo, and Google acquisitions). Is it time for consolidation? We've barely begun....

I'm all for cutting out the cacophony of needless social networks and social applications. I don't need 20. I need maybe three. I like the idea of applications being architected to be more Internet-aware such that follow-on developers can link them together in interesting ways.

But as I responded to your post today, I'm concerned that we've reached the point of consolidation of these disparate Web 2.0 voices far too soon, such that we'll have one or three "meta-voices" online. I don't think that's healthy. I don't want Google to be the owner of most or all of my useful data connections. Nor do I want Yahoo or MSN to have it, either.

I prefer to own it and let a wide range of application providers compete for my coin with useful *services* that let me dole out my data as I see fit, just long enough to be useful for the service but not in a persistent fashion that would lead to my lock-in to a vendor.

Am I being naive? Is this not possible?

Chris Jay   [11.28.07 06:24 AM]

I disagree that the PC should be the middle-man. Devices should sync with the cloud, not with PCs.

For example, my camera display could be a browser set to photoshop.com, showing my photos (plus the current view). When my PC visits the same website, it sees the same data but has more menu options because it's a bigger screen. There's no offline syncing between camera and PC!

At some point, the iTunes app will be replaced by iTunes.com, a web app that runs in the Safari browser using HTML5 offline data cacheing. iTunes.com will run anywhere that Safari runs. And yes, iTunes.com will have adverts :)

Tim O'Reilly   [11.28.07 08:16 AM]

Matt --

Not sure why you put this comment here, rather than on the post Microsoft, Google and Yahoo! Acquisitions compared, which it is in response to, but I'll take a shot at answering it here. (It would be better, though, if you repeated the comment over there.)

I don't think that there will only be one voice, like the old googlezon video argued. But just as happened in the PC era, a new paradigm begins first with an explosion of entrepreneurship, with everyone shooting for the brass ring. Then companies are started with an eye to selling them. Eventually, they aren't created at all. We're in the second phase, not the third.

Tim O'Reilly   [11.28.07 08:20 AM]

Chris --

I think you're misreading my post.

I don't disagree that devices should sync directly with the cloud (I plan to get an eye-fi for my camera!) but I do think that the device should make use of the PC (either with a standalone app like iTunes or a browser interface like Chumby) to take much of the job of configuring and managing the device away from the limited interface available on the device.

That's why Apple has been able to make iPods simple and beautiful, while so many other consumer electronics are hopelessly complex.

Sachin   [11.28.07 08:30 AM]

I would add another element to this: A merging of what iTunes is for desktop/mobile device and what Chumby is for web/mobile device.

That would be desktop/web/mobile device like Bookmarks are synchronised on a web-based account. So if I am mobile, i don't have to lug around my computer with me. I can hook my mobile device to my web account and synchronise anywhere, anytime.

Localhost   [11.28.07 08:41 AM]

Sort of "Think Global"?
The Matrix?

ros.white   [11.28.07 09:18 AM]

Thank you for very interesting and inspirational article, just want add that I know at least two companies that are trying to bring smart phone and web synergy to customers. http://www.dashwire.com for Windows Mobile phones and http://www.bloove.com for Nokia S60 smartphones.

Owen   [11.28.07 09:21 AM]

This reminds me of the Facebook app created for the Blackberry. A colleague of mine introduced the app to me saying that "it's really smart." The app is a thick client that only offers a fraction of the overall features of the main online application. However, those features are what the design team figured were the most valuable for Blackberry users. Personally, it would have been great to offer a customization feature on the web app that configures what my Blackberry app does...

Just a quick thought on consolidation. I think it is something that everyone wants in theory, but loathes in application.

In the spirit of enable not require, I think we can look forward to some very interesting innovations if we, as the innovation drivers, stay focused on discovering that sublime balance of data-rich servers and smart connected applications that leverage the strengths of the devices they run on.

The web browser is dead. Long live the web browser.

Don Marti   [11.28.07 09:25 AM]

The off-device configuration plan means that when you buy a device you have to trust the maker of the device either to maintain an application for your chosen desktop platform, or to run a decent web site, for as long as you own the device. So you're not just buying a piece of hardware -- you're buying a service or an option on the service.

There are companies that I buy hardware from whose software strategies I have enough doubts about that I wouldn't buy a net-configured device from them.

Josh Patterson   [11.28.07 09:50 AM]

I think really the ultimate "above the device" concept is thinking of data in terms of a floating layer above the entire internet, such that you simply can query for your images, regardless of location, and have the pointers+thumbnails of them show up on any device that you plug a global-id (openID? Lid?) into. I think it needs to be done in abstraction layers, just like filesystems and the OSI Network Model, so that logically its one big filesystem or db. But isnt that what the internet is becoming, one big machine? I'm betting so at this point.

Daniel Lewis   [11.28.07 10:03 AM]

I think that devices should be androgynous to the rest of the web and other devices. It is all in the data.

I was thinking about this the other day, why is it not easy for me to just tell my smart phone that I want to collect my phone book from all of the Web 2.0 style Social Networking Web Applications that I am a part of?

When this is able to happen, it will truly be the beginnings of the next version of the Web: Usable, Simple, Mobile, Meaningful and more Intelligent.

Jay Palat   [11.28.07 10:05 AM]

Echos my take on Ubiquitous Computing, my data (including config) is in the cloud and I can see with whatever I have on hand.

It is an intriguing thought. Software that has aspects of facets that are available from different devices. Having a standards based interface to hardware with a well published API that allows multiple vendors to compete for the same hardware by providing better interfaces to user data/configuration.

I think Google's Android platform will give developers a chance to internalize these ideas and run with them. Why not build a phone app that integrates with Open Social to pull together your Addressbook 2.0?

Scott Lawton (Blogcosm)   [11.28.07 10:34 AM]

Instead of having the software off-device, I'd be happy if every device had a built-in Web server. Next step: a Web services API, so that anyone can create a custom wrapper.

Andy Wong   [11.28.07 03:36 PM]

To sync with the clouds or to sync with the PC is very much depend on your privacy policy. If you feel nervous about storing address book or calendar etc. online, you would use PC as your info center.

There exist standards and protocols for storing info encrypted online, and decrypting encrypted info in local clients. However, implementations of these protocols are still very few.

Andy Wong   [11.28.07 03:49 PM]

To Scott Lawton

A built-in web server is not available when you turn your (every) device off, or you walk into a basement with your device. If you really desire everyone own a web server with service API, you may just simply host the web server in a 3rd party vendor which provide 24x7 support, and you use your hand-held device to manage.

Jay   [11.28.07 06:50 PM]

Tim,
I think you're right that product owners need to consider the experience beyond just "their" product, and I definitely agree that the iPhone needs to embrace the address book further.
However, I think it's more then just using the PC to manage an embedded device.

What I really want is "seemless" [sic] integration.

In your example, why should I have to use iTunes to update my address book for my iPhone, why not either or and have them synced... they kind of do that now...

So beyond now, why not use Facebook to update my iPhone's contact list, or vice versa. If a user sets their facebook status to "Jay is busy working" then maybe it might be useful for my phone to show me that status before I tried calling them to talk about the big game lastnight.

I don't mind multiple services, twitter, facebook, gmail++ but I do mind having to constantly enter information multiple times, and I think we need to look beyond "export and import" as a solution.

The true answer is that consumers don't want to use a PC to manage "this" and "that" they want all their things to manage each other!

Al   [11.29.07 06:49 AM]

Hi Tim nice post.

I think you will like this it is right smack bang in the middle of the points you are making (from nokia).

http://www.e-series.org/archives/450

regards
Al

Todd   [11.29.07 03:59 PM]

I've been using Orb (www.orb.com) for the past few days, which, if I'm understanding you correctly, seems to have some of these attributes. It's quite impressive what they've put together, and I find myself doing quite a bit of management on my PC, but enjoying the media generally on my web-enabled Pocket PC phone.

Ehsan Honary   [11.30.07 02:15 AM]

Nice post, however having read it, I could not stop thinking that the model that iTunes uses was already mainstream way before iTunes became popular. The combination of Outlook/ActiveSync/Pocket PC provided just that. you could easily create complex notes, tasks, contacts, link them together and expect to see them in the mobile device. Today that combination is incredibly powerful and practical. The beauty of this is that I feel I own my data. I have total control over it and no worries on privacy issues. Systems like ORB are nice, though you may immediately get concerned about privacy as your PC data is always channelled via their servers.

An ideal system uses the "Home Computer" for syncing and extending the mobile device, while at the same time, connection to the cloud lets you have automatic updates on external sources.

Ultimately, the holy grail is to be able to use the cloud securely to sync with your own server at home. This way you get the best of both worlds. You go via the cloud so you can get your info anywhere you are, and you own your own data which resides safe on you home PC.

---
Future Converged
http://www.futureconverged.com

A Faithful Reader   [11.30.07 06:37 AM]

Tim, I enjoy reading your articles every week. When they're long, I like to print them out rather than read them online. However, the software you're using for your blog is not printer friendly. Today I had to cut and paste (into some word processor) three of your posts that got truncated when I printed them out.

I've tried emailing various people in your Contacts page, but maybe if you asked them, it would actually get done? :) Could you please ask your IT guys to make all O'Reilly blogs printer-friendly?

Thanks!

Tim O'Reilly   [11.30.07 08:05 AM]

Ehsan --

While I agree that the outlook/pocket pc combination exhibits some of these characteristics, I think that the breakthrough with iTunes was the design of the three-tier device as an integral system. Pocket PC is an add-on to outlook, and it shows, as with all other similar devices. Even the palm, which was designed from the getgo to sync with the PC, didn't really think through how this could lead to a radical simplification of the interface on the device, since you no longer had to support certain functions there.

The point of this design is that it allows you to take certain things AWAY from the device. I don't have lots of experience with the pocket pc, but I don't think they did that.

Martin Lawrence   [12.01.07 09:24 AM]

Tim,

I have been following your thoughts on Address Book 2.0 from the start.

If I understand you correct, Addressbook 2.0 would be an application that:

a. accesses any digital profile-repository available to me (facebook, linkedin, outlook, cellphone-ab, white pages...)

b. displays one consistent, integrated profile-page for each individual (you didn't say this, I made this one up)

c. integrates and analyzes the communication logs of each communication-device or -application and associates them to my network nodes (aka contacts)

d. syncs my personal devices with a database that can be accessed from a PC

So, take opensocial, build plugins for popular email-apps, plus some MIDP2 midlet for popular phones.

Sounds doable. Whoever wants to build this, contact me. I'm game.

One caveat: I doubt leading social networks will be willing to open up personal communication logs any time soon. These guys are smart.

(Of course, in the long term, they will have to :-)

Regards, Martin


Post A Comment:

 (please be patient, comments may take awhile to post)




Remember Me?


Subscribe to this Site

Radar RSS feed

BUSINESS INTELLIGENCE

CURRENT CONFERENCES