Sponsored Link •
iTunes is far more than a desktop music player and organizer: it is also a path through which over 300 million users have already installed Apple's open-source dynamic networking software, Bonjour. Has the time for spontaneous networking finally arrived?
When the Wall Street Journal's Walter Mossberg asked Steve Jobs at last week's D: All Things Digital Conference about iTunes, Apple's desktop music player software, Jobs noted that to date over 300 million people have downloaded iTunes. Mossberg subsequently penned a column in his popular personal technology series, You’re Using iTunes, But Are You Missing Some of the Fun?.
The key point of Mossberg's column was that iTunes may be a fine music player and music organizer, and an excellent vehicle to deliver users to Apple's online music store, but that there is a bigger point to consider, too: each installation of iTunes also installs Apple's Bonjour software, making the host machine an instant and potential participant on a Bonjour, or ZeroConf, dynamic network.
While many companies routinely install in-house technologies that support their product, Bonjour—or ZeroConf, or Multicast DNS, or DNS Service Discovery, as it is sometimes called—is now an Apple-supported IETF standard to extend the domain name system to allow the dynamic advertisement and discovery of network services over both local and wide-area networks.
Although many of Apple's products, such as iTunes, Safari, and OS X itself, directly support Bonjour networking, Mossberg noted the vast majority of the 300 million iTunes downloads were to Windows machines. Given that in all of 2007 global PC sales are estimated at just over 200 million units, and that there will be about 1.1 billion PCs in use by year's end, Bonjour's presence on desktops is very significant.
The notion of network services advertising and discovering each other, forming spontaneous, often impromptu, relationships, was at the heart of the Jini vision. While Jini may well experience a resurgence due to Sun recently donating the Jini codebase to the Apache Foundation, Jini itself never gained the wide distribution that Apple's similarly-purposed network technology already enjoys. The Jini community has debated for a long time Sun's role in Jini's general acceptance, or lack thereof. While licensing may have been an issue, in my opinion there have not been compelling enough Jini services to entice users to install and use Jini. By contrast, iTunes users who care only about being able to listen to or purchase music online, have downloaded and installed Bonjour to the tune of several hundred million hosts.
In addition to all those PCs, and every Mac, hundreds of different types of devices provide Bonjour-based networking capabilities, and new Bonjour devices come to the market all the time. Perhaps the most anticipated one will be Apple's own iPhone. Given all these devices, including a large number of PC desktops, it seems that a widely available spontaneous networking platform is now available. The question now is what developers will do with this new platform.
Mossberg in his Wall Street Journal article points to companies, such as ilike, last.FM, or MOG that rely on Bonjour to allow the discovery and advertisement of the kinds of music their users listen to, facilitating social discovery and networking. While these applications interact with iTunes music, all sorts of other types of data can be advertised, and discovered, through Bonjour as well. More recently, Adobe's Creative Suite 3 and Skype, to mention two examples, started to use Bonjour to facilitate local-area collaboration and discovery.
As Bonjour inventor Stuart Cheshire demonstrated in an hour-long Google TechTalk presentation (Flash video), Bonjour can be used to advertise and discover networked services over the WAN as well. This can be accomplished by adding extra bits of data to a host's DNS record. In this way, iTunes, Safari, or any other Bonjour-friendly program, can discover and use services that reside on other Internet hosts.
In contrast to Jini's reliance on Java and code mobility, Bonjour simply extends the existing DNS mechanisms, and uses a service's protocol type, defined as a string, in service discovery. There are now several hundred service types described this way, from HTTP and SSL to the MYOB accounting software and the Sybase database server. If a client can talk a certain protocol, it can use Bonjour to discover and invoke services capable of communicating over that same protocol.
The beauty of the Jini vision was all kinds of devices and software discovering and communicating with one another, making networked services seamlessly useable by anyone. Given its very wide market presence, do you think Bonjour can help us achieve that goal? Can it accomplish what Jini couldn't?
|Frank Sommers is a Senior Editor with Artima Developer. Prior to joining Artima, Frank wrote the Jiniology and Web services columns for JavaWorld. Frank also serves as chief editor of the Web zine ClusterComputing.org, the IEEE Technical Committee on Scalable Computing's newsletter. Prior to that, he edited the Newsletter of the IEEE Task Force on Cluster Computing. Frank is also founder and president of Autospaces, a company dedicated to bringing service-oriented computing to the automotive software market.
Prior to Autospaces, Frank was vice president of technology and chief software architect at a Los Angeles system integration firm. In that capacity, he designed and developed that company's two main products: A financial underwriting system, and an insurance claims management expert system. Before assuming that position, he was a research fellow at the Center for Multiethnic and Transnational Studies at the University of Southern California, where he participated in a geographic information systems (GIS) project mapping the ethnic populations of the world and the diverse demography of southern California. Frank's interests include parallel and distributed computing, data management, programming languages, cluster and grid computing, and the theoretic foundations of computation. He is a member of the ACM and IEEE, and the American Musicological Society.