An Interview with Tim O'Reillyby Jennifer Buckendorff
Author's note: Talking with Tim O'Reilly bears more than a little resemblance to riding the Shinkansen Bullet Train--keep up, or miss the details as they whiz by. If you've talked to him once, you know that he's a man who likes to kick back and riff on his current favorite technical topics. We set the tape rolling--yes, we still use tape--and from iPod to Web services to O'Reilly's upcoming Emerging Technology Conference, here's what Tim's thinking about as of late.
Rendezvous as a Fulfillment of Sun's JINI Dream
One of the things I'm most excited about is Apple's new Rendezvous technology, which allows applications and devices to automatically find each other when in local or logical proximity. This is an idea that a lot of people have been working on for four or five years. As usual, Sun Microsystems was way ahead of the curve. Bill Joy, who's one of the real visionaries of the industry, saw the need pretty early on. The whole JINI project was about this idea of devices being able to find each other and just work together.
But like a lot of first implementations, I think JINI had too much baggage with it. Sun's continued to work at it, with JXTA being the latest incarnation. There's also been a lot of innovation in the P2P file-sharing space in the last couple of years that is very relevant. A lot of it didn't quite go anywhere, but some of the ideas became mainstream. Microsoft and Intel are also working on something called Universal Plug and Play (UPnP). What's very nice about Rendezvous, though, is that it is so simple. It leverages a lot of the existing Internet infrastructure and provides an elegant solution for the question, "How do you get devices and programs to seamlessly find and see each other?" It's simple enough that I expect an awful lot of hackers to pick up on it. The fundamental idea of Rendezvous is that you shouldn't have to configure computers to work together. It's part of a paradigm shift that I've been talking about a lot lately. We're moving from assuming that a computer is a stand-alone device to assuming that it's a network citizen.
The Internet has been at the forefront of the industry's efforts for the past decade, but from a paradigmatic point of view, it was largely framed as an add-on to a personal computer. But now a personal computer is becoming part of a larger mesh of computers and devices that come and go, with a mesh of services that come and go, and application design is starting to reflect that realization. With Rendezvous, Apple has come up with a very, very simple architecture that I can see a lot of people leveraging.
The iPod and the Battle Over Digital Rights
Obviously, a lot of interesting things are happening with online music sharing. Despite the abatement of marketplace hype, peer-to-peer remains a transformative technology. There are a lot of legal and regulatory issues that could hold back the technology, but it's clearly where consumers want to go. Consumers want to have access to music on a lot of devices. They like to think that if they've bought some music, they should be able to listen to it in their car. They should be able to listen to it on their handheld. They shouldn't have to pay again. There's obviously a battle over that right now. Apple is out in front in that it is trying to make consumer control over their music part of its ad campaign: "Rip. Mix. Burn." Eventually the record companies will realize that there's more money to be made going with the tide than trying to hold it back. But we're still in a fairly difficult period right now.
But music is just the tip of the iceberg. What do people use computers for these days? We've been in this paradigm for the last 20 years that says, "Oh, office and business applications are where it's at." And in fact, that's already shifted immensely. The first wave of change came with the Web. The Web was all about access to all kinds of data. A lot of it was consumer data--people doing things like shopping or creating new applications like eBay where users can trade their junk. The Internet worldwide garage sale. Who would have thought of that as a killer app? But then, the next wave was Napster and everything that followed from that. This represents one of the next challenges for application developers. Consumers now own all these digital assets. How do we help them manage those online?
Now we look at things like iPhoto and iMovie, which are even more personal. iTunes was Apple's answer to "How are we going to help people manage their music?" The next generation--which Steve Jobs talked about at Macworld--as integrated with Rendezvous into a kind of "digital hub", will go even further. But iTunes is still dealing with data that was provided by someone else, whereas iPhoto and iMovie are about the idea that people are going to be producing their own digital assets. The people who have said, "Oh, file sharing is bad. We have to stop this, because it would allow music to be pirated" fail to recognize that the same techniques will allow you to easily share your photos or other things that you've produced. We're really at a bit of an impasse right now, because the music industry and the film industry want to restrict technologies that have substantial uses--uses that are very desirable to consumers for sharing their own information.
The Internet Operating System and the Future for Web Services
I believe we're at the stage of trying to define an operating system for the Internet. You could say, "Well, what is an operating system?" Originally, an operating system was a little thing that was controlling a relatively limited hardware set. Then it got bigger and bigger, and there were more complex pieces of hardware to manage. With the PC explosion, we had massive numbers of different devices that had to be managed. A lot of what Microsoft did was to say, "OK, we'll make you a bargain. We'll give you a high-level abstraction (the Windows API) and we'll manage how to talk to all those hundreds of different disk drives and thousands of different memory cards." That all worked pretty well, except people realized that it gave Microsoft a lot of control, which it wasn't shy about exploiting. So it turned out to be a Faustian bargain.
We're now at a similar stage with the Internet. Just as there was a period where application developers were struggling with devices--"Sorry, that disk drive isn't supported"--now they're saying, "I'd love to be able to get at that data from that Web site, but it's not really supported." There are a lot of primitive Web services--like screen scraping--where people are effectively writing a driver for a Web site as a remote data source. A lot of what is happening with Web services is that we're starting to formalize these ad hoc services.
The next stage beyond that is somebody saying, "OK, I'm going to build a framework where you can effectively manage all those services, routinely thinking of remote Web sites as services." And we don't quite know what that operating system is going to look like, but I'm fairly confident that it's going to exist. Unlike past operating systems, where you assumed that an OS was managing access by a processor (a CPU) to a bunch of different devices and its cast of supporting players, you're now actually having to write an operating system that's about managing the relationship between a bunch of individual computers providing different services, and figuring out how to coordinate and manage all those services.
I think there are a lot of very deep technical trends that are driving the evolution of the Internet: ubiquitous connectivity and cheap local storage, so you can have big caches, for example. I think there will be some kind of card or maybe just a personal biometric identifier--something that says, "OK, here's all my data, here's my local state, plug me in." It might be that you'll plug it in physically for faster speed, but heck, if you don't have the speed requirements, maybe it will just be picked up by local area wireless of some kind. In fact, there are prototype keyboards that are simply projected onto a piece of cloth, and a heads-up display will be just sitting out there in the room. I don't think that stuff is as far off as a lot of people think it is. Once you have that, really, it's simply about what kind of access device we have? The challenge will be how we manage our personal data, and how it is connected to all these services that are offered out there.
The Unix Tradition of Cooperation
I come from the Unix tradition. Unix, or Linux, is the stone-soup operating system, where everybody has brought their own contribution to the common pot. There is a core architecture and there's a kernel, but so many things that people think of as Unix were written up by completely unrelated parties. Because the system has a fundamental architecture of small, cooperating tools, they just work together. The philosophy is "you don't control all the pieces; you just have to be a good citizen, a good network citizen (in the case of the Internet), or a good operating system citizen (in the case of the local program)."
I think that's absolutely essential, as things get more complex. You have to assume cooperation; you have to assume that you don't control all the resources all the time. If you think about those kinds of services, a lot of them are already present out there on the Internet, at least in some rudimentary form. Sometimes they may be replaced by somebody else's version of the same thing, for example, with search. A lot of sites have their own search engine. But the fact is, Google is often better at searching even your own Web site than your own local search engine--Google is the search component of the Internet operating system. Similarly, Microsoft has thought a lot about this, and they're actually trying to define big pieces of it. The problem with Microsoft's vision is that nobody trusts them because previously they've been very strategic about figuring out where the points of control were, and once they had that control, they've been good at leveraging them.
.NET MyServices, Passport, and Amazon.com's 1-Click
Here's one example of the market rejecting Microsoft's new attempts at control: while they've had some success rolling out their low-level .NET Framework, they also had a bunch of higher level services they were hoping to get programmers to use, called .NET MyServices. One of the services was Passport, which really is a single sign-on identity management system. It was rejected because it gave too much control to Microsoft in the initial implementation. People said, "You are absolutely right that managing people's identity is one of the choke points of the Internet operating system. So tell us again why we should hand you that?" Think about the analogy between identity management on computers and, say, credit cards. Passport was the equivalent of American Express. What Microsoft is going to have to come back with is something that's much more like Mastercard and Visa, where the two companies have agreed to use the same system and the same rules, and there are certain services that are shared, and those services are actually managed by a nonprofit. None of the individual issuers of credit cards actually controls the key pieces of the infrastructure.
I think that some next-generation Internet services are going to end up using that Visa/Mastercard model, because the information is so critical, and it shouldn't belong to one player. And there are already large databases of people who've signed up for one identity system or another. Everyone on the Net has at least one unique email address. Microsoft's own customers use Passport. AOL's customers have their AIM identities. Amazon has a large population of customers who have given approval to charge their credit card via 1-click. So does PayPal. All these things are going to co-evolve, and gradually increase their level of interoperability. It's going to end up going much the same way as the various networks of Automated Teller Machines. Who knows any more what exactly is the difference between Cirrus and New York Cash Exchange? These networks originally didn't talk to each other; after a while they basically threw in the towel and they all said, "We've got to interoperate." And at some point it becomes relatively transparent to the customer. Occasionally, a cash machine says, "Sorry, your bank doesn't belong to our network," but increasingly, everybody belongs to the same network and they've agreed to share.
Watching the Alpha Geeks at the Emerging Technology Conference
A lot of what I'm talking about here comes from watching my customers. They are the ones who show me the shape of the future. Hackers are such a great early warning system if you want to think about the future of technology. Because they are more capable with computers than most users, they do things today that everyone else will be doing in a couple of years. A good example is the way that hackers building wireless community networks started building home-brewed antennas to extend the range of their networks. Now we have companies offering higher power 200 mA 802.11b cards and eventually 802.11g. Similarly, Web spidering with Perl prefigured all the Web services hype by several years.
This is the premise behind O'Reilly's Emerging Technology Conference. Unlike some of our other topic-specific conferences, this one is really aimed at showcasing whatever the "alpha geeks" are playing with now. It's an amazingly high-energy event because everyone is learning from the other attendees as well as from the speakers. This upcoming conference will continue to explore the themes from past conferences, including peer-to-peer, Web services, the whole "Internet operating system" idea, Rendezvous, and other mechanisms for ad hoc networking and wireless. We'll also be looking at biological models for computing, lessons from complexity theory, and lots of other juicy ideas from the hacker noosphere.
But the conference isn't just for hackers. For investors and entrepreneurs, watching the alpha geeks is a lot like watching the water flow in a rainstorm before deciding where to dig your ditches. And for corporate CTOs and CIOs, it's a great way to understand what your lead users are playing with, so they can get ahead of the curve integrating potentially disruptive technologies into the workplace.
Jennifer Buckendorff is a freelance writer and editor living in Seattle, Washington.
iMacros to the rescue...
2006-08-10 08:26:06 SandraTalks [View]
Receive & transmit
2003-01-29 12:31:17 anonymous2 [View]
O'Reilly interview with J. Buckendorff
2003-01-12 04:41:47 anonymous2 [View]
2002-12-09 04:25:34 jonogden [View]
2002-12-12 12:11:43 davidefrank [View]
2003-05-08 21:37:34 awhitson [View]
2002-12-08 01:44:51 anonymous2 [View]
2002-12-04 17:09:06 anonymous2 [View]