I got inspired to write a couple of long comments. The first is about what I think Web 2.0 is a response to John's request "What are the 3 big themes that undergird the upgrade?" :
- open data.
- You open whatever data you have, and positively encourage others to take it and "join" / "remix" it with their own. Plenty of people always understood this, but were probably swamped in web 1.0 by an influx from traditional media who tended to see data as something they created and sold access to.
- Open data allows more niche re-users. One company doesn't have to do it all. It's a distributed bazaar where you can get famous (and possibly rich) doing one thing really well, as long as you're plugged into the ecosystem in the right way. Being well plugged-in is probably more important than having a stunningly good and original idea, or great execution. The irony here is that people who get famous doing one thing well, then get rich by being bought by a bigger conglomerate.
- For now, RSS and search engines. I guess we'll see further developments in crawlers, scutters, search and inference engines etc. With or without RDF. The important point is that integration doesn't just happen in the brain of the user any more.
AJAX I'm ambivalent about. It makes cute interfaces, which seem like a big deal to some people. But if we didn't have AJAX we'd probably be doing more with custom client software as was already happening with things like iPodder, Flickr's Uploadr, RSS aggregators, Napster etc.
Of course, the smart people (like Dave Winer) could see all this years ago. But O'Reilly think of memes as platforms they can own. I guess this does help to get a bundle of ideas more widely distributed, and to a certain extent provides a shared vocabulary we can use to communicate more effectively.
Lots of people will misunderstand it all, though.
The second, in response to John's mention of custom services, how I see the developer ecosystem.
I wonder if there's really a continuum. At the far end we're talking users doing their own customization and remixing, possibly with the help of GreaseMonkey or special purpose software. Maybe tagging goes on here too. These are the ultimate specialists, as they are specializing in something that's only for themselves. (With possibly positive externalities)
Further along, we're looking at nano-corps, micro-ISVs and one-(wo)man projects which provide either a service or tool to a narrow niche or geographically local area. (What Shirky calls "Situated Software")
Larger companies provide more comprehensive or more general tools, or tools backed by more robust levels of service.
At the other end of the scale are the real internet players : Google, Yahoo, MS etc. who need to build platforms comprising seriously reliable and customizable service, and integrate dozens of applications.
The key for them is identifying deep commonalities between different applications. In Web 2.0 anyone should be able to plug the output of one application into the input of another. That's for the end users and small-fry. Going beyond that requires owning some very generic infrastructure which can power dozens of applications, the way eBay does with online auctions and payments. Or Google does with search. Or Amazon does with recommendations.