Tim O'Reilly's WWDC Keynote Manuscript
Pages: 1, 2
Lessons from the Future -- What Are the Alpha Geeks Telling us Right Now?
1. They are choosing Mac OS X in overwhelming numbers!
There have been an amazing number of iBooks at recent O'Reilly conferences. The adoption by key OSS communities and leaders is also striking. For example: most of the Perl core team is now on OS X; James Gosling, Duncan Davidson, and a lot of other key Java developers; P2P developers; many of the key developers in bioinformatics (a very important new field involving the application of computer power to gene research and related areas). All are heavily into OS X.
And of course, it's not just hackers, but users who are taking up OS X in droves. Mac OS X: The Missing Manual is our fastest-selling new book since The Whole Internet User's Guide in 1992-1993, when the commercial Internet started to take off.
- One reason is what I call "guilt-free computing." Even hackers need to deal with office apps. (A few years ago I switched from Unix to Windows for a lot of my computing -- with MKS toolkit for continued access to Unix utilities -- because of the number of Word and Excel files I had to deal with.) But everyone except the most diehard free software advocates tends to run dual-boot PCs with Linux or FreeBSD AND Windows. And they'd look guiltily over their shoulder whenever they were using Windows in public. With OS X, you get the best of both worlds in a guilt-free package! Plus Office apps, a modern GUI, and all the power of Unix development and scripting tools.
- Wireless support. This is a subject I'll return to in a moment. The fact that 802.11b support is built-in is a huge win for hackers.
- The iApps. Apple has really built the future into this machine. iMovie, iPhoto, iTunes are all very appealing built-ins. (An aside: Where Windows typically seems to build in features from third party applications that are beating MS in the marketplace, Apple has been very successful in growing new markets by building in functionality that is ahead of the curve.)
- Sleek new packaging. OK, I admit it. These machines are just cool.
And there are a lot of things even more appealing about Jaguar (Mac OS X 10.2). I'll talk about those a bit more in a moment, because the fact that OS X is so in touch with what's coming down the pike is what's making it the platform of choice for today's hacker.
What are the hackers telling us beyond the fact that they like OS X?
2. Assume network connectivity is central; don't treat it as an add-on. Also assume cheap local storage.
Discuss MP3.com vs. Napster [See "Inventing the Future" for a description of what I talked about here.]
Bob Morris, vice president at IBM Almaden, and keynoter at next week's conference, pointed out that storage is getting cheaper even faster than ad hoc peer-to-peer networking is a key part of the new paradigm. Assume people are on, redundant resources come and go, and find ways to navigate that paradigm. It's really exciting to see that Apple totally gets this, with Rendezvous and the new features in iTunes under Jaguar. It's also so impressive that Steve Jobs is willing to stand up to the copyright bullies and argue for the disruptive paradigm.
3. 802.11b (WiFi) networking is a must-have, not a nice-to-have.
Some of my favorite hacker exploits are in the 802.11 space right now. Hackers are wiring their own communities. They are extending the range of 802.11b networks with homemade antennas, made from coffee cans. How many of you saw the antenna shootout reported on oreillynet.com?
(Aside: Don't you hate the name WiFi? I prefer Rob Flickenger's nocat. Rob is the author of our book Building Wireless Community Networks and the co-founder of the community networking group at www.nocat.net.) You might think the term comes from "no CAT5 cabling" but in fact, it comes from a great story about Einstein.
When asked to describe radio, he said: "You see, wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. Do you understand this? And radio operates exactly the same way: you send signals here, they receive them there. The only difference is that there is no cat."This may be an apocryphal story, but if it isn't true, it ought to be.
And of course, Apple is already all over this. 802.11 is a key part of why hackers like Mac laptops. The fact that it's hidden inside the case just makes it a natural part of today's laptop, rather than an add-on. And features like the integration of wireless with Rendezvous and iTunes are great.
4. Chat matters.
Long derided as a toy, chat is becoming one of the key new apps -- and what's more, key platform functionality. It's not just chat between people, but chat between programs. As described in Programming Jabber, DJ Adams has been using Jabber, the XML-based open source IM framework, to control SAP from a cell phone, using Jabber IM as the transport. Other folks are writing IM bots that answer questions and interact with users.
It's very impressive that Apple was able to make a deal with AOL to have iChat AIM compatible. AOL has been missing a major opportunity associated with their IM software. They are making the same mistake Lotus made with spreadsheets. Their IM applications have dominant market share, but they are vulnerable because they are only applications. As Microsoft has demonstrated again and again, it's possible to integrate applications into a broader platform by offering aspects of those applications to developers as program-callable functionality in a set of system-level APIs. (In fact, that's the lesson of all these technologies -- make them available for developers to build on, not just self-contained apps.)
5. Web Services are already a reality.
Hackers are building unauthorized interfaces via Web spidering and screen scraping. They think of Web-facing databases as software components to be recombined in new ways, and with new interfaces. We've built a whole custom set of market research interfaces to Amazon by spidering every computer book on Amazon every three hours, collecting vital statistics like author, publisher, page count, price, sales rank, and number and nature of customer reviews.
Another developer I know built a carpooling app based on MapQuest. An employee can say, "Who lives near me or on my route to work?" and get back a list of other employees on that route. These are brute force hacks that show the kinds of services that could be done much more efficiently if the Web sites in question provided suitable programmer interfaces via SOAP or XML-RPC.
[Look at Inventing the Future for a more detailed write-up of this point. I didn't write it up for myself here because I've already given this talk in detail at other times.]
These four things -- ad-hoc peer-to-peer networking, or Rendezvous (as Apple now calls it); nocat wireless networking; chat as transport; and Web sites as software components, or Web Services -- all come together (along with a couple of other things, such as grid computing) into what I call the "emergent Internet operating system." (That's the subject of my keynote at our conference in Santa Clara: The Shape of Things to Come.) We really are building a next generation operating system for the Net. The question is what kind of operating system we want it to be. I'm doing this bit of shameless self-promotion because it's really important that we think about this question.
I said earlier that after the hackers push the envelope, entrepreneurs start to simplify it. Hackers have been doing the kind of things that we see in OS X for a while. But they've had to do them the hard way. Apple has started to make it easy, so ordinary people can enjoy the benefits.
A good example is Apple's integration of Yahoo Finance and MapQuest right into Sherlock, rather than just through the browser. Perl hackers have been able to do this kind of integration for years, but ordinary people couldn't enjoy it. One of the challenges, though, is not just to integrate these things into an application other than the browser, but to expose APIs so that all developers can work with them. Data-driven Web sites need to be seen as software components. Google's API is a good step in the right direction, but all data-driven Web sites need to start thinking of themselves as program-callable software components for developers.
Marc Andreesen once dismissively referred to Windows as "just a bag of drivers," but in fact, that was its genius. The Win32 API took some of the pain out of supporting devices, so that application developers didn't have to do lots of one-off interfaces. And one of the challenges of the "Internet OS" is to figure out the "bag of drivers" we need now. What are the services that we want to integrate that developers want to use? I believe that Web databases are part of what we need standard "drivers" for.
That's ultimately what Microsoft's .Net is about. Defining a standard set of Net-facing programming services. And Apple is showing that they have a lot of the same moxie. Except that they don't have the clout to believe they can own the whole thing, so instead they are trying to inter-operate with the functionality that is out there. That's one of the most exciting things I've heard about Jaguar: the integration of services from AOL (AIM and MapQuest) and Yahoo. Which is absolutely the right thing to do.
What's particularly interesting here is also the way that a non-controlling player has to do "integration into the OS." Microsoft has typically integrated functionality that replaces or competes with the work of some existing player (Netscape, Real Networks, AOL), while Apple is having to find ways to integrate support for the existing players.
And of course, if the OS is an Internet OS rather than a PC OS, then the PC OSs are themselves software components of that larger OS. Apple seems to understand that.
So that brings me to the third and final part of my talk. If we're building an Internet OS, what kind of OS would we like it to be?
Lessons from the Past
That's where we can learn a lot from the design of Unix and the Internet. When I'm talking about design, I'm talking at a very high level, the "architecture is politics" level. I've recently become very aware of this level since reading Larry Lessig's book, Code and Other Laws of Cyberspace.
At some level, both Unix and the Internet are loosely coupled protocol-centric systems rather than API-centric systems.
I've always loved the formulation given in Kernighan and Pike's book about Unix, The Unix Programming Environment. If you're starting to work with Unix, you should go buy it, even though it was published by AW! It describes the few simple rules that made Unix work.
Everyone talks ASCII as a common data format. Write standard output and read standard input. Write small programs that work with other programs in a pipeline. I call this an architecture of participation. It made it possible for individuals all over the world to write programs without any central coordination. More than licensing, I think that this architecture is behind the success of Unix, and ultimately Linux.
Similarly, the Internet was based on what Jon Postel, in the RFC for TCP, called "the robustness principle": Be liberal in what you accept, rigorous in what you send out. In other words, try to be interoperable. Contrast this with what happened when Netscape and Microsoft started fighting over control of HTML and what happened in the browser. We saw the exact opposite, where each was being extremely illiberal in what they accepted, and putting out all kinds of proprietary stuff that no one else knew how to render.
The Internet architecture has flourished for 25+ years because of the robustness principle, and because it has a loosely coupled architecture in which the intelligence is in the endpoints, not in some central registry. Loosely connected actors, low barriers to entry ... these matter.
The result was explained really well in a recent message that Mike O'Dell, the former CTO of UUNET, the first commercial Internet service provider, sent to Dave Farber's IP list, regarding the spread of community wireless networks:
Biology will out-innovate the centralized planning "Department of Sanctified New Ideas" approach every time if given half a chance. Once the law of large numbers kicks in, even in the presence of Sturgeon's Law ("90 percent of *everything* is crap"), enough semi-good things happen that the progeny are at least interesting and some are quite vigorous.
"Nature works by conducting a zillion experiments in parallel and *most* of them die, but enough survive to keep the game interesting." (The "most of them die" part was, alas, overlooked by rabid investors in the latter '90s).
This is how the commercial Internet took off and this remains the central value of that network.
You don't need permission to innovate.
You get an idea and you can try it quickly. If it fails, fine -- one more bad idea to not reinvent later. But if it works, it takes off and can spread like wildfire. Instant messaging is a good example, even though ultimately complicated by ego and hubris. Various "peer-to-peer" things is an even better one.
WiFi is evolving the same way. A bit of *great* enabling technology made possible by a fortuitous policy accident in years long past, a few remarkable hacks, a huge perceived-value proposition (and I don't mean "free beer"), and presto! You have a real party going on in the Petri dish.
Clarifying note: During my tenure at UUNET, I described the real business as operating a giant Petri dish -- we kept it warm, we pumped in nutrients, and we made it bigger when it filled up. And people paid us money to sit in the dish and see what happened.
And standards compliance is a key part of the magic. I sometimes think that the IETF (the Internet Engineering Task Force, the Internet standards body responsible for such standards as TCP/IP) is one of the crown jewels in all of western civilization. For all its flaws, it's demonstrated that we can develop effective standards bottom up without a lot of central control. Again, it's made possible by a few simple rules: you can't have a paper standard, you have to have implementations, and since it's about interoperability, you have to have two independent implementations. This is summed up in Dave Clark's famous line, "No kings, voting or presidents, just a rough consensus and running code."
The other thing is that "small is beautiful". Modular designs. Apache and Jakarta, Perl and CPAN. Give people a way to extend the base program, don't just build in all the functionality and close the case.
And of course, both Unix and the Internet have adopted a kind of modular documentation. Pay as you go, write a man page or an RFC. Don't wait for the massive manual or the O'Reilly book.
Of course, we can also learn a lot from the design of earlier versions of Mac OS, especially the importance of consistent interfaces.
Again, Apple seems to be on the right track with OS X. One of the things that made me most excited about iPhoto, for instance, was that Apple has built a framework for users and developers to add extensions.
Mac OS X is a great platform. It's building the future into the system, in terms of the technology choices it's making. It's building on an open, extensible framework in the form of Darwin and FreeBSD. It's learning lessons from the open source community.
Now, as developers, you have to do the same thing. Think network. Think open. Think extensible. Play well with others.
Tim O'Reilly is the founder and CEO of O'Reilly Media, Inc., thought by many to be the best computer book publisher in the world. In addition to Foo Camps ("Friends of O'Reilly" Camps, which gave rise to the "un-conference" movement), O'Reilly Media also hosts conferences on technology topics, including the Web 2.0 Summit, the Web 2.0 Expo, the O'Reilly Open Source Convention, the Gov 2.0 Summit, and the Gov 2.0 Expo. Tim's blog, the O'Reilly Radar, "watches the alpha geeks" to determine emerging technology trends, and serves as a platform for advocacy about issues of importance to the technical community. Tim's long-term vision for his company is to change the world by spreading the knowledge of innovators. In addition to O'Reilly Media, Tim is a founder of Safari Books Online, a pioneering subscription service for accessing books online, and O'Reilly AlphaTech Ventures, an early-stage venture firm.
Return to MacDevCenter.com.