Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Interviews Dion Hinchcliffe on Web 2.0 and Web Oriented Architecture

Dion Hinchcliffe on Web 2.0 and Web Oriented Architecture


1. I'm Sadek Drobi. I'm here with Dion Hinchcliffe at QCon. So Dion why don't you tell us about yourself and what you've been working on.

Sure, thank you. So, my name is Dion Hinchcliffe and I'm an enterprise architect and business strategist who focuses on next generation business in terms of how the web really affects what we're doing today so much more than a great many things. I focus on SOA, Web 2.0, enterprise architecture and how to help that drive your business outcomes.


2. You talked in your talk about Web 2.0, do you think that there is enough understanding of what Web 2.0 is? Do you think that a lot of people approach other technology than a business model?

Well, I think people usually follow one or two caps. I think it's buzz word, that's put on top of products and it doesn't really mean a whole lot of things anymore, it is rich user experiences or user generated contacts or social networking or what it is. Another thing it is just a stack of technologies. When really the more profound implications the O'Reily folks came up with some very specific principles which are more non-technical than technical. There are ways to use the network to drive business outcomes and I don't see that there's deeper lessons, I have spread that far yet we still have a long way to go. Most people are not doing Web 2.0 and fewer people still understand it. I think that there has certainly been a lot more comprehension since we, in the last four years, but we have a lot of ways to go yet. Five years from now, it will be the place where quite a number of people are doing it.


3. How do you define Web 2.0 in few words?

The most compact definition, the one that I like, is network applications that leverage network effects. That's probably - we really haven't been optimizing for, saying: "Can we measure value on a network? And if we can, what's creating it?" And so, any network based product like: e-mail, or telephones, or social networking sites or enterprise applications, can all have network effects where a good old service or that product has more value the more that other people have it too. That's the crux of almost all the things, of everything that's in Web 2.0. Things like rich user experiences don't have much of networking effect, they just enable the use of the platform much easier. It's the network effect story that really sets Web 2.0 apart from other things we talked about.


4. If I am a CTO and I have a big amount of specific data and I want to go Web 2.0 model, what are the steps that I have to do?

That's the part here. We don't teach this in business school right now. We don't say to be in business today doesn't mean having a store front or a distributor ship. In the real world it means doing it online. What are the steps? How do you create open supply chains? For example Amazon, tremendous work with us, eBay and many other companies have opened up their businesses and their data and that's what's driving their success to great extent. Most of these companies are guarding exactly how they're doing it fairly closely. All you can do is watch what they are doing online. Right now, it's difficult. There are few authoritive sources of knowledge. We do see companies sprouting up though. For example is a great company that helps organizations get on board with APIs. This is not your core business, if you're a traditional business, you don't know about the web 2.0 and you certainly don't know about service oriented architecture if you are a smaller company and if you're a larger company there are no but open APIs. There's now an ecosystem forming to help businesses and start to adopt us.


5. The Web 2.0 model seems to evolve very fast, faster than technology. Do companies need to experiment the technology not to arrive there too late?

The technology that we're seeing hasn't evolved that much. Almost all things that we're talking about, if you look at the explosive rise of Youtube or the fact that everyone is on Facebook, I've been mentioning in my talk right before is that the big news this week is that in the UK social networking tools are now the dominant model for communicating, e-mail is now second to Facebook and MySpace in UK and now The Register is making a big deal about that this week. The things have really changed. Our behavior took a long time to catch up to the technology and now our mass behavior changes are really driving us, like you say, more than technology is. What we really see is a cultural change inside businesses is now the biggest obstacle it's not the new technologies although we have those: dynamic languages, lightweight surfaces, the new rich user experiences, we're seeing in the new lightweight platforms, we're seeing these things that have started to emerge in the enterprise and we're kind of getting to adopting the technology. It's changing our culture because these tools work a lot better when we open up and are much more transparent for example and we are not comfortable with that sometimes.


6. Different people try to discover the success factor of Web 2.0. Some people tell it's simplicity, some people tell that models are specific. What do you think are the reasons for the success of Web 2.0 model?

I do think it's the way that certain online products are designed. We're learning a set of design practices that generates a lot of value. For example I was showing it in my tutorial here how Youtube put code on every single page on the site. That's something we'd never do for a mainstream consumer site. Yet, they realized that was key of their growth, put code in front, no matter what video that is, there is a piece of code prominently on the site, that anyone can take somewhere else and spread the platform. These are very simple techniques but conventional wisdom today even now says you don't put code on every page of a mainstream consumer site. But people are breaking the traditional rules and say "No, No". It's vital for my growth. That's how I spread my platform. I give people the code.

They know they don't have to that. We've changed enough to understand that's enough for me to go and take the value that's there and move it to where I need it to be. These are big changes. We're seeing widgets and gadgets and other ways little soft distributable sellers. We see people in business that are using these and cobbling together their own applications out of desperation because they don't have any other tools. Other then the little bits and pieces people are starting to create on the web. So, a lot of this is grassroots movement and it's almost getting gorilla IT. When it comes to building Web 2.0 applications there are actually a whole number of very simple decisions and if you make them you will leverage a lot of the power and we're starting to all understand what these are. Conferences like this are coming together in sharing these ideas saying: "We're seeing what's working out there and the Darwinian environment of the web and we are baking this in our products".


7. Experiments on programming languages started far before the web and then now we have web and these programming languages that sometimes don't feel to fit in the web and in the network model. What do you think about that? Should we rethink some levels of the stack, of the software stack?

Well, I love some of the studies that came out about Ruby on Rails. The Rails community said: it's so much more productive. It's ten times more productive. And business people look at that and go: "Come on! There's not ten times more productivity to scrape out of the development process. We're already at the diminishing returns." The IBM did the study saying: "No. No. It's in our experience. It's ten to twenty times more productive for developing web applications". And so we came into the enterprise space with this big general purpose computing platform. We have .NET and we have Java, the two dominant ones.

And what you said is exactly right, they grew up in a world that wasn't so web-centric and they don't have a lot of lessons learned baked into them. The hard one lessons of the web are baked into the newest frameworks and platforms. We've actually seen some of these go back into .NET and Java. But for web applications are just much better languages. They need to go back and reinvent the stack. We see some of that happening naturally in the community. Like Ruby and Grails are well saying: "Well, we can take the job and we can update it". I think that enterprises for a certain type of application which is basically anything software as a service needs to take a hard look at these new tools.

And probably, less at retro fitting older ones. But sometimes that would make sense, too. They should do what is right for them. What we're seeing now is that businesses are too slow to catch up with what's happening on the net. We're seeing a gap forming between the big leading edge of web technology and business is getting wider. It's not shrinking. Businesses have to adapt faster to a new market place and how that's going to happen, that's going to be interesting.


8. In the same sense like with Web 2.0 we start to hear about a lot of dynamic languages and dynamic stuff and also we started the web with SOA and then we hear about Trace which is more dynamic in nature. Is web dynamic in nature?

We see that the web is a much more dynamic place and that the tools around they have shown what's possible. I love the example of housing maps, the mashup that the Google engineer Paul Rademacher created. He was looking at Google maps and realized "Hey, I needed a mapping piece of functionality in my application" and it connected with Craigslist's list. He did this over the weekend and then published that out to the net and he told that story and it was the story that made him famous. I said: "You built an application on all this functionality, feeds and Craigslist's list and Google Maps. You did this over the weekend?"

That is a completely different order of magnitude. It's possible because the web is so malleable and dynamic. JavaScript is the ductape of the web. You can literary take a great idea and then connect the pieces of the web because it is so easy to integrate. We have this lightweight SOA, this Rest model that is the model of the web itself. That's so great about it. It allows you to very easily connect data together and solve real problems quickly. Do enterprises want that? Yes, they're desperate for that sort of thing. So, we are seeing, I was just presenting in my talks some of the latest numbers that, at last, some of the more heavyweight SOA ideas and technology are in decline and these new lightweight models are finally moving across the firewall into businesses so, there's hope.


9. A few years ago we heard about some applications like Yahoo GeoCities and such kind of websites but they didn't have a huge success, but Facebook, for example, is a winner, a great success. What is the difference between these two models?

On the face, they look the same you have an online community early-on on the web and it did ok and then you have something like Facebook which in eighteen months took over the planet. Very, very different. If you look at the models, obviously they were developing products that were designed differently. Facebook is a result of 15 years of hard learned lessons on the web: how to make something very viral, how to launch a product, what tools to build it with and, one of the key things, if you look at the Facebook growth curve, it really started to flatten out until it opened up the platform.

As soon as they credited the Facebook application platform, in other words turning it into taking from individual application, social networking application into an open platform, communication platform anyone can built on top of, that's when they got their exponential curve and hasn't stopped. I think they are now starting to run out of users, but it's only after two years later. You don't see those types of activities, you have to understand how important it was to turn our application into open platforms because you can't do it all yourself. To create the richest product in the world, you open it up to partners and say: "Everyone, come on!" It was set up with the iPhone too.

This is now our standard thing that we do with our products, if we have any success; we turn that into a platform story. For example, they didn't understand the platform player in the GeoCities world and we weren't ready either. We co-evolved with the web, too. The web offers always new lessons that we keep incorporating and rolling back into our products. But we're much more ready for social software than we have ever have before. When GeoCities was around I heard all the time from people: "I'd never put anything about myself on the web. I'll never do anything.

My picture out there, my name out there, nothing," and now you can't be successful unless you get your name out there, unless you're Arlington and you're networking, and meeting people. Now we understand how important that is and it's acceptable and we are kind of familiar with the risks. So it's not unknown anymore. So, I think the other thing is that not only we can develop products that have the right patterns in them, but we've learned, the Web 2.0 patterns, that's what they are, lessons learned. But we've changed just as much.


10. People are consuming more and more services, and there are some ideas of doing contracts, like WSDL, WADL, for REST. Do you think that it is essential or even interesting for doing Web 2.0?

You'd have to have something that describes the service. In the ideal Rest world that you've got enough in the resource that your common sense will tell you what to do. Just like the best code requires no comments, if you look at a piece of code and you think "I know exactly what this does". You don't have to write any comments for this. It's well-written. The best Rest resources have their state changes and everything brought right in so it's obvious how to alter the resource, according to the business role or the business process.

That being said, the best resources, the best web services or best software is highly consumable. And what we see as consistently APIs that worked the best have good documentation: they've good reference implementation, they've got code samples, they've got people who answer questions. Because, in the end, it's people that integrate software until some adequate really kicks in and does all the work for us and we're getting there and we're getting close. It's people that integrate software so, I don't think Rest resources are self-documenting enough to account for us. Whether it's machine readable contracts that help tools, I think that's the big value right now for Rest. Is it - tools can look at the Rest resource and go: "I don't know what that means. There's no standard for describing it". Machine readable contracts help there. I think for people plain English documentation, quick starts and all the stuff that we have always used to get developers going seems to work better.


11. Do you see any hope in semantic web?

Right now, we're seeing a tremendous interest in it, again. We've made some advances on the semantic web side. Our biggest problem is anthologies and trying to find a common way of describing the world so that software can understand it. So, we see a lot of demand for – I told you reading magazines, we run a lot of semantic web articles and they are always some of the most popular things that we published. It has anything to do with how to make a website consumable by the semantic web. It's the other side. It's the great products that show why we got to have it. They're missing. Everybody gets the idea that - some people are saying APIs are nice but I think the semantic web will do better.

I think we can list twenty great tools consumers can use for the semantic web. Some of them are search engines, things like that. We just haven't hit a critical mass with it. As you predicted this year that we would, and that everything fell apart on the economy, so people are really reluctant to try anything new or make new investments. I'm reserving the right to say next year is going to be the big year. But I feel it, we're getting closer. We're getting a lot of interest. Tools are arriving, applications are arriving and they are heading towards a critical mass but we're not there yet.


12. If I have right now an enterprise website of some kind, and it's based of existing technologies and I want to move towards a web oriented architecture, what concrete steps should I take in order to move in that direction?

Start taking a moving from a public facing side with web oriented architecture. It's all the things you normally go about and say: "I want to support the developer community with my company". That's a hard first step for a lot of companies to get. The whole thing is not very visible other than the developer community itself. It's great when you start seeing products down the line and most good companies that have a lot of people using their web oriented architecture, that have a whole list of, here's the gallery of wonderful products that have built on top of that.

The rest of us is sitting down and say: "I need to do some real architecture. I need to design how my resources will be exposed and what these resources are, how they're going to be linked together", and then I have to connect them to my real enterprise systems. This is where it starts to be some actual work. Saying that I have data in my enterprise IT systems scattered all over the place, I need to consistently present in a web oriented fashion. This is actually the same thing whether you're just doing it internally, to start exposing your enterprise data internally to search engines and be used in internal mashups, or whether you are providing it to partners or the third party on the web that build apps out of it. It's the same general process.

The enterprises we have today are not design to be exposed that way. The good news is, Microsoft has a project Astoria - for example, that would take any SQL database and allow to identify pieces to expose in a Rest fashion, in a web oriented fashion, that's pretty neat. sqlREST is a great open source project that would allow you to take open source databases. And, again, to identify series of tables and expose millions of rows as properly linked data. But they're not perfect. Neither of these are. None of those are perfect. But it's a big step forward in saying we have all this submerged data developers can easily get to it and especially not in a very performance oriented way. The issue we have is, of course, doing reporting against the transactional database has always been one of the big "No, No". You never do that.

Trying to decide which databases to expose, you have to work through all those issues from an architecture stand point. If you do, what we see is a much greater increase in consumption, the data is much more visible and it's easy to consume inside browsers and other places in a way that traditional web services aren't. We would use to take the SOAP and create a service and say:"Go build Apps!" But you always had to build a middle tier around that and you had to process all the packets and interfaces and a lot of the languages from web development. You really don't deal with that very well. You really have two parallel tracks: one is the tactical track and the other one is the business track where you created a developer community.

If you don't support your developers that are using that architecture, you won't see uptake. It's one of the biggest use we see with traditional SOA, too. Like we see Jeff Barr from the Amazon traveling on the world saying: "Our services are great! Here's what you can do! Here's what other people have done! And we're staying behind you. We guarantee that they are up and they're not going to go away tomorrow". You have to do that just as much as you provide the tactical infrastructure that designs everything.


13. How does a web oriented architecture build upon the philosophies behind the service oriented architecture?

I think the business of SOA hasn't changed that much. I think that it's like a lot of the Web 2.0 things – it's what we're doing before but the knobs were adjusted are different. We see that to be successful with web services whether they're based on a Rest model or traditional classical SOA model, you've got to document them, you've got to have data the people care about, you've got to make them conceivable, you have to support them and tell everyone about them. But the business of SOA is much more around: "All right. How do we use strategically now that we have this open up, all these all over the business pieces opened up?

How do we compose them and use them strategically to create new solutions that dynamically respond to business problems?" That business of SOA has not changed. Whether you're doing service oriented architecture with Rest or you're doing with SOAP, that's not affecting that much. What I think that business has to learn about is how to encourage consumption and adoption. Much more than it has been. Most SOA efforts are not focused on that consumption. Saying: "We're here. We're going to stand behind you and we're going to provide the easiest services in the world to use. You don't build it yourself".

How many projects it says: your SOA initiative was not lined up in my priorities, I've got to deliver it in three months. If you don't have my services ready, I'm building my own. We see that all the time as opposed to enabling them and saying "I should have built the stuff that Rest means use the tools that we already have". Like Ruby on Rails. Build an API for you as you build your application. That three month project will build that part of the SOA along the way in a very web oriented fashion and you don't have to do anything, anything special happens automatically. Starting using some of the new technologies is going to help, I think that looking with the open API world has done to get so much adoption compared to the traditional SOA and I think refocusing some of the business side. I think that you'll see a next generation we call "the new SOA", lighter weight, it's on a diet, it's much more focused about consumption and adoption.


14. The Web 2.0 model seems to open all brand new opportunities for businesses, because Amazon was selling books and afterwards it started selling services and then data and so. What do you think of that? It seems like you need a kind of shift of mindset to start doing Web 2.0.

And we see this is exactly what happens is that we see companies, I'd say 20th century companies; they understood the roles for doing business fairly well and they developed enormous expertise to service the market place in the conditions that existed in the 20th century. Now we've become incredibly network connected, the network surrounds us on everything and we want to increasingly – that's how we interact with the world. We can't physically interact with most of the people we want to, now we're so far flung and collaborative and it's so easy now to work with people remotely that we've changed the way, the very way we interact with people. Our human nature, in some respects, has altered.

When you start to get into Web 2.0 business models, you have these concepts, things like crowd sourcing; your customers are actually your biggest source of value. Not only do they buy stuff from you, they'll partner with you and do everything you need to create your product. If you look at all the biggest fast growth products in the last three years, they have been primarily created by the customers. This is what's interesting. Youtube has nothing that wasn't brought to them by their users. They had nothing but what their customers have brought - same thing with Facebook, same thing with all the big companies.

Most of what Amazon has to offer the world is not the product database; it's all the stuff underneath that, provided by the users. That's a critical discriminator. We see this big shift of control that's driving that shift of mindset that you were talking about, that the smartest companies in the world have realized it - that the network enables this partnership with the market place. It was never possible before. And Amazon realized it. It's user generated content but it's also, when you open up your services, people will build incredibly, insanely great products on top of that. And our motto as a company, we're making a video here. It's one of the best new video products for creating these fantastic video montages. It's all powered by Amazon.

Amazon is not in that business, it's not good at it but they can provide a lot of the pieces for that to succeed. I don't know if it's Siemens, or it is BASF, it's the one that say "We don't make the products, we make them better", and that is part of this new mindset, but the other one is that we can't do everything by ourselves. Companies have traditionally tried to do everything: product development, customer service, everything that they do by themselves when they realized that if they have great products the market place will come up and do things that are different, in order of magnitude more richer and more robust. So we see crowd sourcing with Mechanical Turk, have you heard about that? It's a web service made by Amazon where they wrapped the web service around their customers. And anyone can access the customers to do anything, that's outsourcing. But you can plug it into your software.

When Steve Fawcett's plane crashed, the company took images of the entire area with high resolution images and it literally got tens of thousands of people through the Mechanical Turk API that had cut out little tiny bits of the images and said "Is your plane there? How about there? How about there?" They didn't find Steve Fawcett, but they found dozens and dozens of airplanes that have been lost for eighty years of civil aviation disasters. This shows you a completely new way of looking at things and say "We have all these value in our company, how do we get the most out of it?" so everybody benefits, and Mechanical Turk is just another way they leverage their natural assets. It's a completely new way of thinking about the way we do business. Moving from the twenty century, the twenty first century requires a big mindshift.


15. And do you think there should be new contracts to exist with this new business model? We saw Amazon creating more and more contracts and new kinds of contracts, what do you think?

One thing is the contracting between the people that create the value or people who are providing their data to these companies. One thing is constant data portability. In early days with everything being in the cloud we are using these services to operate our business or our lives. So who owns the data? Like Facebook, won't let you download your data once you put it up there. That's an issue and people want their user bill of rights. Companies want the same thing, they want to know that working with Amazon, or or Google App engine, is a reversible process. Just talking form a strategic prospective, we have a whole bunch of contracts to work out that we don't.

And we don't want the government to get involved telling companies how they have to do it, because companies should figure this out in the marketplace for themselves, so that there is a bill of rights, so that if I give you my data, if I can get it back there is a "Forget me" button, so that I know that if I don't trust you anymore then you will get rid of all the information that you have on me. That's a contract at one level. And then from a technical prospective, I do think that, talking about the semantic web, I think that to get to the next level we got more technical work to do as well. You were mentioning WADL earlier before, there were literally a dozen contract languages for doing things. And we have not found an alternative yet and so there is work to be done there.


16. Also payment systems, like Amazon for example, before hosting anything we had to pay lots of money, now you pay for what you use or what you consume. So also about the payment system, or how we pay for the service that we are doing. There is another payment system, request-based, so I guess this has to evolve as well for the business model.

Right. I want to see how well that works. It's a great model if you have good content, they can give you an infrastructure that help you show that data, let's say making video available, but you want to find an effective way to charge them, but you don't want to put your own infrastructure together, they will give that to you, I think the request-based pay model is very interesting. We see other companies like Near-Time also has a similar product that allows you to take the information or the knowledge or whatever it is that you have and then monetize it on the web.

I think monetization strategies are still a big challenge, the economics of the 2.0 generation is very different, just like open source economics is very very different, and open source is the precursor of web 2.0 obviously, that was when everybody could come and contribute with a piece of software, it's open so everyone use your contribution on the network but then how do you make a business out of that? So that it is more than creating just the product but the entire ecosystem around it that we would like to see before we bet our businesses on it. We have some of that challenge.

Advertising has proven to be one of the biggest models on the web, advertising is one of the biggest businesses on the planet, I think it was worth over half a trillion last year. So it's a great business to use to pay for some of this but hopefully it's not the only one, Facebook and Youtube are struggling mightily with this, they have good revenue streams, but they are not creating new Oracles or new Microsofts, so that's interesting.


17. With data, what's the motivations for people to keep control, do you think that is a problem to building this open web space?

This is a really big top. Open data, I absolutely agree this is the next frontier of the online world, we had open source now, that is the model for software now, we still have commercial software but it's not the dominant activity in software anymore. It's open source, period. We are seeing ideas spreading elsewhere so Web 2.0 a lot of it is just spreading in the open source ideas to almost any part of any business. So we have everything from crowd sourcing to user generated content these are all open source ideas that have been moving on all over the place as you were saying. And open data is a very important part of that because that is the part where you can't replicate the data.

You can always replicate software; anyone can take a look at a piece of software and replicate it as long as it's not highly algorithmic there are a few exceptions where that is hard to do. And that is for the secret sauce. Google page rank is a highly closed algorithm, they don't share it with anyone. It generates their data, the input to their product is all our data and the output is a view of it that we are all addicted to.


18. I guess the things interesting like Flicker and Google page rank. I don't want to know how they work because the second that people know how they work, there will be gamed and they will become not so useful. So keeping those secret makes sense. But I think where I am going is the data, I mean raw facts are very hard to unlearn. If I know there are six hundred people in this room, do I have to say Copyright QCon every time I mention the number six hundred?

I think we have seen the world works much better when we moved away from all rights reserved to some rights reserved. Some of them want to give away their rights, if you create data, you created value, you should have some stake to it, but you will find that you will get more value by setting it free, almost always than by putting excessive control. Excessive controls kills like it does with traditional SOA, excessive control kills consumption and then also without consumption you can't create value for yourself. That was the problem with open source, it was only a limited number of ways to reward people who contributed, but it was enough. We are seeing open data, the open mapping model, it's actually here in the UK.

Open street maps, the beautiful model for this, we are doing this right, we have the licenses as far as I can see, they are getting a lot of participation, and they are creating something. When I look at the data in there they are creating something that is going to threaten the company, what's the big mapping company's name?


19. It was the UK government institution and it was privatized a long time and it was privatized in a way that had to make money so they had to have that data, whereas now they would probably be free. But I suppose that the problem is that if you build organizations around data like a newspaper or a mapping company then I think the challenge for those people is not give away the crown jewels and yet sort of enter a world where we can link to things and match things up.

This is going to be a challenge as everyone who opens up has to have enough control to get enough value out of it, and keep doing it. At least get enough out of it to keep doing it. But it's just like the whole cloud computing in discussion; it's the new lock in. What happens with OpenStreetMap is a company has to decide: "Well I can get my data from Garmin, or I can use OpenStreetMap". Well, Garmin will be there, I got to pay them. I know they are going to be there, if organize and invest millions of dollars in years of our lives, I want to build it on a solid foundation.

And so things like open data is going to be a challenge to get real use because here is what we are seeing with the problem of open data: it's not compelling when you just have the data. The world will not just look at the APIs that are in there. You got to have something that uses it, it's the points of use, it's a product sort of made up on top of OpenStreetMap that everyone will sort of start show up and go "Look this is so much cheaper or better", whatever the reason they are going to switch, right? And they should be both by the way, OpenStreetMap when they hit the tipping point and they are getting close I think they are going much cheaper data, they are free, and much more data, they are going to have all users, if a new road opens up, it will be there the next day. You can't compete with that.


20. So it's the links and links are all over, links are valuable, so linking back to the origin gives value to that company, but also the value like a tile on Google maps, is actually a lot of money for Google to give that mapping data away, but it's also I suspect in the long term, what will be more interesting is who is linking to it and who is using it.

Google knows the rules of the game. Their mapping tools are very two-way the more and more two-way all the time. You are using it, well do you have information, can you add a new business, can you tell us what the traffic is right now, and I should bug you for this stuff now, they need to build a better data set. The web 2.0 is about maintaining control over a hard to recreate set of data. That is the rule, whoever has that we see it as the number one player or there is maybe two or three, but one of the really ominous implications, with the few really ominous ones, is that in a world where every product is equally accessible, location doesn't matter whoever has the best data, and you won't go to number two or three.

So we see typically there is Facebook and MySpace and the other social networks fall in the corner of the market place, same thing with the search for data. Same thing with video data, Youtube has got sixty percent of every video ever made in the world and so on. This is going to be interesting to see how you are going to support that level of data and do it as an open project.


21. I think that is a challenge, something gets some right I mean Google came along quite a long way with the search and the way it treats advertisers but they still have a lot of information about you on a personal level which makes targeting advertising I think never started.

The Wikipedia foundation struggles for that. Jimmy Wales has asked me for another dollar. How many times do you have to contribute already? It's like a PBS, a public service of the BBC type of thing, how do you fund it?


22. The provenance is the driver to linking back to using Google Maps, or using OpenStreetMaps, but then they can do things on a personal basis, on a scale, I think that's where the value will come. But I am really hoping that it can make people think about it.

It should be using multiple licenses just as it is now in the open source world. Here is the free stuff but if you go above the level of use that is clearly you have built a product on top of it, then you need to pay for costs.


24. Sure, and the reason I am liable, I mean I think about it, if they make a mistake.

I don't think it is the right way to do it. I do agree with you with that. Yahoo and a lot of other people who do provide all their APIs for free but you read the fine print, Yahoo developer network will never give you more than five thousand API request per IP a day because obviously you don't need it for yourself, you've built something. And now you are going to contact us and help pick up the tab. We see very little push back in the developer community go "Yes, of course if this takes off, I can afford to pay for it".

I think that is going to be the case with open data too, because I don't think it's going to be fund raising and other things, I think the use of these public initiatives that get voluntary labor, like you said it requires infrastructure, we couldn't create an open Youtube right now because of the open infrastructure, it's impossible, the infrastructure is not there.


25. Dion, you mentioned earlier on that the original problem of SOA will still play the business even once they start to expose APIs for developer community to start consuming some of the corporate services. Are there any caveats that you can see for a company that doesn't have that kind of APIs to avoid just launching straight out there with prototype services which are pretty much a glorified thing veneer over the database as opposed to offering some more high level business capability type service and delaying the actual delivery of those services in such times that they figure out how exactly they want to do that? Should they go ahead and then figure out over time how that model should look?

It's hard to answer that question simply. Because the answer is it depends. Your industry, that you might be opening up your developer network to, might be a highly competitive one and if it is, then the answer might be slightly different than it would be otherwise. I wouldn't recommend doing a big bang anything. We are talking about the era of perpetual beta and products that continuously improve. I would say in a perfect world, you would try and figure out what your customers really want and the best way to do that is try to open some of the services they keep asking for, certainly you have got partners who are already asking.

Most companies already know what their valuable data is and they will say "Well we are not going to give it away to you, not all of it, but I am going to give you what I can so you can do the most of it". We are going to partner on this. But you will find out the right way to do that. We see fairly often initial APIs are replaced by the real APIs you are in beta and we got all your feedback and now we got you what you really want and it sometimes is very different from the data they originally expected. But the companies that get their clock started they open up, or they start doing other things, they are getting user generated content, they build either a base of data or a network effect run on APIs that is so strong it can not be easily dislodged. So if you look in the industry and what we see, I talked to John Muster, who probably analyzes immediate adoption of APIs more than anyone else in the world, he says what he sees is industry one or two things happen: a big player in the industry is very successful with APIs and then everybody thinks "Oh we got to be doing that".

Then it's too late because they have already been very successful and they got everybody. They were knocking at all the doors and they wanted to integrate and build a product and the demand has already been satisfied by that player, it will still be some other demand but it's now hard to get into it. Or the whole industry says "Oh, I see everybody is doing this, I got to get there first". Both of those scenarios preclude a very patient studied way of releasing. In general what we see is you got to have enough out there to be compelling in the market place. We see the industry started to do open APIs, open supply chains or whatever you want to call it. And it's not something that is happening all over the place so you will see all of a sudden everyone in the retail industry will be doing it and then governments will do this in a big way and then it's both in the US and the UK and that's a big thing and more dominos are starting to fall. Hope that answers your question a bit.


26. Would you say that you can successfully refine these iteratively because I am thinking that once things are public, they are largely immutable and you don't want to start saying: "Well, you know, we have moved to version n+1 of our services, you all have to upgrade because this guy is going to be deprecating six months from now and start antagonizing in any way". Kind of annoying.

That is an issue. If you have been in SOA you know about versioning services, you can never retire old stuff, people will go "No, no, don't take that away, I didn't have any budget to go redo that interface, don't retire all that stuff." So you usually get stuck with it or you make a lot of people very mad at you. You always have that choice. I got to do the work to support it or I got to get people upset with me and unhappy. And you are in exactly the same business. Google supports any APIs for several years. Like Google Maps, is the one who actually pin your mashup with the version of Google Maps, they just say at some point, and we are telling you now that you have to budget to going back and change it because we are going to continue to evolve it and we are going to retire old things eventually. This is a very proactive, community policy that says "Here is the APIs, we are going to guarantee that we are going to support this for a couple of years, but we are going to retire every APIs after a few years".


27. Setting expectations up front?

Yes, setting expectations and giving people enough head room, generous amount of time seems to do the trick.


28. Is web orientated architecture something that is stable enough that you believe a company can bet their strategic model on it, like is it strategic, can they go forward with it?

This is something they should be investing in. That is the important question that people are trying to understand. Is this a fad or is this something artificial that we are creating and that we are hoping is going to succeed. We got the ideas for web oriented architecture from the companies out there who are actually doing it and being successful with this model. It has become already the dominant model, if you look at how companies are connecting together in the online space this is the one that they are using. We are seeing indications on the enterprise that this is a way that it is happening. I think it is completely safe to bet on these technologies, you are not investing in a new technology at all.

You are investing largely in what you have and they work better if you use the new technologies because our existing programming stacks like the .NET and Java don't play as well as they could with this. Although that is improving too. The short answer is I think it's a completely safe bet, it's like investing in the web essentially which is a safe bet. So I would encourage companies to use this. I think this is even safer to invest in than classical SOA which is based on a number of technologies which aren't doing very well right now.


29. Earlier on today you showed some statistics around Rest versus SOA decline, are there any studies or even your personal opinion around how you see that trending out over the next two to five years in terms of general Rest app take and what would be a reason for justifying that trend?

My feeling is that we see too much emphasis just on the Rest. That is why we came up with this concept of web oriented architecture. There is a number of things: Rest being very foundational, we have things like mashups, Ajax, and other components, things like web identity, that are all emerging as very successful techniques as dominant models as part of that stack. We are saying that when we are looking at what is happening these are the things that should be succeeding, they get uptake. I have all the reason to believe that Rest and all the things that I have mentioned are going to increase both in the consumer web and in the enterprise that's the way they are trending and there are reasons for that.

We think we understand what the reasons are, even if we don't this is what is happening in that space. I don't see some of these older things that are going away because we already built a lot of stuff, with these older technologies, which line OK with these new things that we are talking about from the web 2.0. They will not go away, I think that we are going to be essentially deprecated. As with cloud computing and we are looking at software as a service, almost all those really favor this new lightweight web oriented model much more that they have heavyweight enterprise technologies. As we see the enterprise technologies space focus primarily on web development technologies what we are seeing out there now. You were mentioning dynamic languages I saw the first major system ship the other day with Erlang. It is amazing, we keep hearing about these new things. You want to look at the face of the enterprise, you will be basically looking at innovation and where they growth is and that is going to be primarily web technologies sides.

Jul 13, 2009