Remix: ETech 2005

Program chair Rael Dornfest kicked off the O'Reilly Emerging Technology (ETech) Conference 2005 by introducing this year's theme: remix. The key point is that everything changes when customers customize.

Customization is not merely the domain of geeks anymore. Where a few years ago it took a Pringles can and some ingenuity to extend your wireless network, now Rael can provide free wireless to others staying on the same floor at the hotel with a simple Apple Airport Express. Dornfest repeated Marc Hedlund's not-so-complicated instructions for setting up this impromptu network: plug it in and wait for the green light to come on.

As another example, Dornfest referred to a strong television lineup that one U.S. network has on Thursday nights. There are "must see" shows scheduled at 8, 8:30, and 10 pm, and yet many people would stay tuned through the weaker shows at 9 and 9:30. Now, Dornfest says, people can make every night a Thursday night using Tivo. Using Tivo and other technologies, the television viewing public now programs their own home video network.

Dornfest provided other examples of customers working to shape their world to their needs and concluded with the following quote from George Bernard Shaw: "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man."

O'Reilly Media founder and president Tim O'Reilly joined Rael onstage for a look at what is on the O'Reilly radar. In the spirit of Christopher Alexander's design patterns, the pair presented internet application design patterns by providing a context and a statement of a particular problem, followed by a prescription.

As an introductory example, O'Reilly said that people will want to reuse images from the web such as book covers in other contexts such as presentations. If they directly use the low resolution images that are sufficient for small images intended to be viewed in a web browser, the images will look fuzzy when repurposed in a slide show. Therefore, he concluded, be sure to provide alternate high resolution images for online materials that you expect others to use.

O'Reilly pointed to problems with large monolithic applications and suggested that a successful open source project consists of small pieces loosely joined. He pointed to the years of effort involved and the lessons learned in converting Mozilla to a project that could now result in something as successful as Firefox. O'Reilly advised that you should "architect your software or service in such a way as to be used easily as a component of a larger system: keep it modular, document your interfaces, and use a license that doesn't hinder recombination." In fact, he continued in a related pattern, you no longer need to build or own all of the components of your application.

Another disadvantage to large and monolithic pieces of software is the long lead time for release. Contrast the time it has taken and will take to release Microsoft's Longhorn operating system with Google's pattern of feature releases. O'Reilly recommends that new features need not wait for major releases but can be folded in on a regular basis. Operate as if you are in perpetual beta.

The pair emphasized that if you want to take advantage of network effects, you need to make participation the default. On Flickr, the default privacy setting for photos is public and the default setting for the audience of shared photos is any Flickr user. Dornfest pointed to the lesson of the long tail; there are a lot of books, music, and videos that do not sell enough to justify shelf space at a physical store. The internet removes these limiting factors and allows a market to grow around offering these titles. O'Reilly pointed out that Google ad sense is a way of monetizing pages that would otherwise be too small for traditional advertising models.

Dornfest advised the audience to develop their applications to integrate services and share data across multiple devices. You can no longer design internet applications as if all end users are connecting from PCs. A related pattern was to consider the packets and containers that data is shipped in. O'Reilly said that a web page is an analogy for container shipping, but that the books that O'Reilly produces do not fit on a web page. If you look at the successful Hacks series, you will see that each book is comprised of web-content-sized chunks assembled into a book.

As you create applications, take advantage of information you can infer instead of trying to force your users to take unnatural actions. O'Reilly used social networking as an example. It is not natural to ask people, "are you my friend?" For the most part, you know who your friends are automatically. If you email someone regularly and call them on your cell phone and these devices are connected, then a rich application could determine who your friends are. A spammer who sends you email but to whom you never respond is clearly not your friend. In other words, "Social networks are a by-product of social applications like email, instant messaging, and photo sharing." As O'Reilly had pointed out earlier, there should be a benefit to the user for providing information. As an example, look at the tagging that is done by users of Flickr, del.iciou.us, and Technorati. During the conference, anything on these sites tagged with ETech is visible on the inroomchat page.

Dornfest and O'Reilly returned to the theme of the conference with a look at AJAX, Asynchronous JavaScript and XML, which they see as the return of JavaScript. They demonstrated richer client web experiences with Google Maps, Flickr, treemaps, and a baby name appplet.

The web is remixable.

Daniel H. Steinberg
is the editor for the new series of Mac Developer titles for the Pragmatic Programmers. He writes feature articles for Apple's ADC web site and is a regular contributor to Mac Devcenter. He has presented at Apple's Worldwide Developer Conference, MacWorld, MacHack and other Mac developer conferences.