Xtech 2006: Tom Coates – Native to a Web of Data: Designing a part of the Aggregate Web

This is a developed version of the talk Tom gave first at the Caron Summit on the Future of Web Apps. So now you can compare and contrast, and maybe draw the conclusion that either I am typing more slowly these days, or he just talked faster.

Was working at the BBC, now at Yahoo! Only been there a few months so what he’s saying is not corporate policy. [Does everyone who leaves the BBC go to work for Yahoo?]

Paul’s presentation was a little bit ‘sad puppy’ but mine is going to be more chichi. Go to bingo.scrumjax.com for buzzword bingo.

I’m going to be talking about design of W2.0. When people think about design they think rounded corner, gradient fills, like Rollyo, Chatsum. Now you have rounded corners and aqua effects FeedRinse. All started with Blogger and the Adaptive Path group.

Could talk for hours about this, the new tools at our disposal, about how Mac or OmniGraffe change the way people design. But going to talk about products and how they fit into the web. Web is gestalt.

What is the web changing into?

What can you or should you build on top of it?

Architectural stuff

Web of data, W2.0 buzzwords, lots of different things going on, at design, interface, server levels, social dynamics. Too much going on underneath it to stand as a term, but w.20 is condensing as a term. These buzzwords are an ettempt to make sense of things, there are a lot of changes and innovations, and I’m going to concentrate on one element. On the move into a web of data, reuse, etc.

Web is becoming aggregate web of connected data sources and service. “A web of data sources, services for exploring and manipulating data, and ways that user can connect them together.”

Mashups are pilot fish for the web. By themselves, not that interesting. But they are a step on the way to what’s coming.

Eg., Astronewsology. Take Yahoo! news, and star signs, so can see what news happens to Capricorns. Then compare to predictions. Fact check the news with the deep, importance spiritual nature of the universe.

Makes two sets of data explorable by each other, put together by an axis of time.

Network effect of services.

– every new service can build on top of every other existing service. the web becomes a true platform.

– every service and piece of data that’s added to the web makes every other service potentially more powerful.

These things hook together and work together so powerfully that it all just accelerates.

Consequences

– massive creative possibilities

– accelerating innovation

– increasingly competitive services

– increasing specialisation

API-ish thing is a hippy dream… but there is money to be made. Why would a company do this?

– Use APIs to drive people to your stuff. Amazon, eBay. Make it easier for people to find and discover your stuff.

– Save yourself money, make service more attractive and useful with less central dev’t

– Use syndicated content as a platform, e.g. stick ads on maps, or target banner adds more precisely

– turn your API into a pay-for service

Allows the hippies and the money men to work together, and the presence of the money is good. The fact that they are part of this ecosystem is good.

If you are part of this ecosystem, you benefit from this acceleration. If you’re not, you’re part of a backwater.

What can I build that will make the whole web better? (A web of data, not of pages.) How can I add value to the aggregate web?

Data sources should be pretty much self-explanatory. Should be able to commercialise it, open it out, make money, benefit from the ecosystem around you. How can you help people use it?

If you’re in social software, how can you help people create, collect or annotate data?

There is a land grab going on for certain types of data sources. People want to be the definitive source. In some areas, there is opportunity to be the single source. In others, it’s about user aggregation, reaching critical mass, and turn that aggregated data into a service.

Services for exploring/manipulating data. You don’t need to own the data source to add values, you can provide people tools to manipulate it.

Users, whether developers or whomever. Feedburner good at this. Slicing information together.

Now will look at the ways to build these things. Architectural principles.

Much of this stuff from Matt Biddulph’s Application of Weblike Design to Data: Designing Data for Reuse, which Tom worked on with Matt.

The web of data comprises these components.

– Data sources

– Standard ways of representing data

– Identifiers and URLs

– Mechanisms for distributing data

– Ways to interact with/enhance data

– Rights frameworks and financial

These are the core components that we have to get write for this web of data to emerge properly.

Want people to interrogate this a bit more, and think about what’s missing.

Ten principles.

1. Look to add value to the aggregate web of data.

2. Build or normal users, developers and machines. Users need something beautiful. Developers need something useful, that they can build upon, show them the hooks like consistent urls. Machines need predictability. How can you automate stuff? E.g. tagspaces on Flickr can be automated getting those photos thus tagged.

3. Start by explorable data, not page. How are you going to represent that data. Designers think yuou need to start with user needs, but most user needs stuff is based on knowing what the data is for to start with. Need to work out best way to explore data.

4. Identify your first order objects and make them addressable. What are the core concepts you are dealing with? First order objects are things like people, addresses, events, TV shows, whatever.

5. Correlate with external identifier schemes (or coin a new standard).

6. Use readable, reliable and hackable URLs.

– Should have a 1-1 correlation with the concept.

– Be a permanent references to resources, use directories to represent hierarchy

– not reflect the underlying tech.

– reflect the structure of the data – e.g. tv schedules don’t reflect the tv show but the broadcast, so if you use the time/date when a show is broadcast, that doesn’t correlate to the show itself, it’s too breakable.

– be predictable, guessable, hackable.

– be as human readable as possible, but no more.

– be – or expose – identifiers. e.g. if you have an identifiers for every item, e.g. IMDb film identifiers could be used by other service to relate to that film.

Good urls are beautiful and a mark of design quality.

7. Build list views and batch manipulation interfaces

Three core types of page

– destination

– list-view

– manipulation interface, data handled in pages that are still addressable and linkable.

8. Create parallel data service using understood standards

9. Make your data as explorable as possible

10. Give everything an appropriate licence

– so people know how they can and can’t use it.

Are you talking about the semantic web? Yes and no. But it’s a web of dirty semantics – getting data marked up, describable by any means possible. The nice semantic stuff is cool, but use any way you can to get it done.