An Interview with Simon Phipps
Pages: 1, 2
Sims: You had mentioned that Sun's looking at web services as an expansion area for Java. One of the things that's interesting about it is, the same web services could play out whether the client's a server, a client machine with a a JVM on it, or a cellphone with J2ME. Can you talk a bit about how Sun is looking at Web service.
Phipps: We've been talking about the idea of the service-driven network since about 1996. And the idea of accessing services across the web. The term "web services" is broad enough for lots of people to mean lots of different things by it. I think the way that we're looking at web services today is in terms of something a computer somewhere else does for you, with results communicated in XML.
Now we've just recently come around to the fifth birthday of our thinking about services on the Internet, and we feel that the time is ready to start talking about making web services smart. We've been thinking about adding context to web services. In one context a web service might be a facility on your PDA to provide you with directions to get from one place to another. Using that as a web service in today's world, you'd probably navigate around either in an application on the PDA or on a web site, find the directions facility, key in your current ZIP code and your destination ZIP code, get up a view, zoom it down so that your start and end points are visible, and then you'd have a met, and you'd be able to get directions as well.
We're envisioning a future where that process has added to it context in a standardized way. By context I mean things like your calendar (where is your next meeting?), probably the calendar in your computer at the office or in your PDA has got a ZIP code in it that would be able to tell you where to go next. Maybe that ZIP code is actually in the address book, so I have to look in the calendar and then in your address book. Your cellphone knows where you are. It could actually give coordinates to say where you are at the moment. Your bank account knows whether you can afford public transport or whether you have a car, or how you're going to get around the place, and can give input as to your preferences, and your ability to use different modes of transport. Maybe there are rules that your organization has about the means of transport available to you.
All of those are pieces of context that can be fed to the web service to allow it to make smart choices and pre-empt some of the grunt work that you would have to do to get started using the web service. So a smart web service for direction-finding would probably, when you clicked on the map button on your PDA, it would show you a map from where you are now to where your next meeting is. Or it would, if you pressed the airline reservation icon on your PDA, it would come up with the three flights to take to where you've got to be next, at fares that are approved by your company's corporate policy. Those are both smart web services: web services, but with added context.
Sims: You mentioned that these services and applications are going to have to deal with the context in standardized ways. We've been dealing with standards a little bit here because we've been part of the peer-to-peer working group that's getting started. It's been interesting looking at how a standards process gets started from the ground up when there's really just people and organizations, both profit and non-profit trying to figure out how to work together. Do you think that is the basis of standards? People figuring out how to work together?
Phipps: There's a whole school of philosophy that considers standards. My estimation of what a standard is is it's a vehicle for turning a technology into a marketplace. And of course that doesn't really rest well with developers and code-heads, because that idea of turning a technology into a marketplace sounds horribly commercial. But, if you weren't aiming at a commercial marketplace with multiple players, you wouldn't need standards. And the reason you need them is because you're turning technologies into marketplace opportunities.
Now, the way you got about standards has changed, certainly within the last 20 years that I've been working with them actively. I worked in the 80s with OSI standards, and the process for doing standards in those days involved identifying who the few experts were who knew about a topic, locking them in a smoke-filled room, and telling them they weren't getting food until a specification came out the door.
Sims: Which was usually a couple of years at least.
Phipps: Which took a rather long time so they were always wasted and thin when they came out.
Now the process for standardization that came about in the 90s was broader than that. The pace that people wanted to work was faster, the community involved was broader, and the connectedness that was involved in the solutions they were producing was greater. So I think we moved to a more consortium-based approach in the 1990s, and that was really the second generation of standards organizations, characterized by groups like IETF [Internet Engineering Task Force] or W3C [World Wide Web Consortium]. IETF in particular has the laudable characteristic that it asks for implementations. It seeks to encourage an iteration of: specify, interfaces, implement, re-specify based on experience.
Sims: It's looking for a reference implementation to base a standard on?
Phipps: Yes. But it's also looking for an interface specification to base on implementation on. The two things go hand in hand in IETF's world.
Now, I think we're coming to a third generation of standards. I think it's still young. Some of the communities involved are probably rather reluctant to be described as standards communities. I believe that the Linux community, for example, is a standards community. There are issues in those young organizations that need to be worked out, things like the ownership of intellectual property, the process by which the code pool gets turned into a release, and who has the authority to do it and how they got that authority.
"I think we're coming to a third generation of standards ... we'll see a number of groups coming about in the future that deal with these massively connected areas like smart web services, and that have to base themselves in a community rather than on the fiat of a group of businesses."
There are those sorts of issues to be worked through, but I think that the future we're moving into is so massively interconnected that nothing short of a whole community-based standards process is going to be effective.
So the standards bodies that are going to succeed from now on are the ones that are community based, rather than based in either expert groups or business consortia.
Sims: It does seem like a change facilitated by the Internet, where you can be surprised by input you get from people you hadn't thought to invite to the table.
Phipps: Absolutely. And I think that the whole experience is quite scary for a lot of business folk who are used to having closed communities. On the other hand, it wouldn't be good to run away with the idea that this is a complete free-for-all that is going on. In the end, if you want to have Linux, you need Linus Torvalds. In the end, if you're going to have Apache, then you need the Apache Foundation. And, there's always going to have to be some process and regulation involved. So I think that this whole idea of a third-generation standards process is going to have to find its feet, work out what's best. I think we'll see a number of standards groups coming about in the future that deal with these massively connected areas like smart web services and that have to base themselves in a community rather than on the fiat of a group of businesses.
Sims: It actually seems like the second and third generation have worked out on their own how to develop technologies under their own processes, but bridging the two -- which web services certainly seems to need -- seems like a tougher nut to crack. Each side is familiar with its own way of operating. Linux was able to develop without corporations because no one was paying attention, at least in the first five years. Now that things are being developed -- I'm thinking of peer-to-peer and web services -- where everybody from HP, Sun and IBM to the two guys in a garage startup have to agree; seems like having to teach two communities of old dogs new tricks, doesn't it?
Phipps: Absolutely. And I think there are going to be some burnt fingers. Things like conspiring devices won't come about unless we see the ability of those diverse communities to actually do real stuff. There's going to be a constant process of having to surrender vested interest. And I'm anticipating seeing over the next couple of years very big businesses having to change the way they operate in order to fit in with that new world.
Sims: Last question: What's your favorite new device or new application that you've either been toying with or that you're waiting to get your hands on?
Phipps: I think that the toy that I'm waiting for most that I haven't really seen yet is probably a Bluetooth earpiece. I look forward to a future where, instead of having a cellphone I have an earpiece which, when I'm in the office works with a desk set, when I'm in the car works with a cellular telephone that's built into the car, and when I'm walking around in the street works with something the size of a pager or a packet of peppermints that is my cellphone identity. I'm pretty keen to see that, because I think that will open up all sorts of new applications, as other devices begin to say, hey, he's got a headset. As my laptop begins to say, hey, he's got a headset, we can start listening to it. Now that there's a Bluetooth chipset out there, I believe we'll begin to see it in more products.
David Sims was the editorial director of the O'Reilly Network.
Return to ONJava.com.