I work for a Web 2.0 startup. We're currently
developing some pretty neat stuff. In particular we're
working on a Presentation Slideshow type
tool built around S5 (with S5's javascript being entirely rewritten to be more
readable and extendable) called Perihelium, and a social event calendar based
where users can add, search, and RSVP for various events in their area, called
EventMagnet. Developing for the Web 2.0 age''
means we have to pay particular attention to the various trends that are going
on right now; some of which are better then others.
AJAX - AJAX is taken to mean a lot of things, in the most literal sense our sites do not take advantage of AJAX at all, we do not use XML; instead we use JSON. JSON is more straight forward to parse, and to my eyes a lot easier to read. XML is very complex and powerful. For much of the data interchange being done on the internet it's just not necessary at all. There is more to AJAX then interchange formats though, and that's the idea of a dynamic interface. Mosty when you say AJAX this is what people think, interfaces that change when you click things instead of loading a new page. Using AJAX provides for some rather amazing capabilities. For example, type in a zip code and we can fill in your city and state. This does not stop there though, The use of AJAX lets us create an entire site driven by events. If someone else updates information about a venue we can update the page you are looking at. The power of AJAX can not be underestimated, and luckily it's backed by a powerful and cool programming language, javascript (I'll cover why javascript is cool and not horrible like it's popular to think in another issue).
Seperation of information and presentation - Seperating information and presentation makes it possible to lay information bare to the user without adding any implicit organization or styling aside from what is implied by the information. This is a really great thing because it makes it a lot easier to grok the information at glance without necessarily having to see it styled the way it was intended. There is another cool possibility with this though. It makes it a lot easier to theme things and provide various stylings for a site. S5 and by extension Perihelium take advantage of this fact by providing only a simple format for the actual presentation which is styled by some CSS and Javascript to provide the interactive part of the interface.
Microformats - Seperating information from presentation only goes so far. While it's nice to lay the data bare to the user and dress it up seperatly that can only go so far if the user (or worse) the computer doesn't know exactly what information is being laid bare to them. That's where microformats come in. Microformats provide a way to specify what exactly the various information on a page is, usually by use of HTML attirbutes (specifically class, rel, and rev). These little helpers make it possible to more easily scrape the information out of a page, or to style the information in a special way. A few Firefox plugins have started to do just that, collect and style information in microformats. Microformats may be the gateway into a real semantic web, in a way that is much more likely be adopted then something like the current proposals.
The look - The look is ugly. The wet floor effect that graces every single Web 2.0 logo looks cheap, the MASSIVE buttons don't make it any easier for me to click on, and sometimes the effects are just unnecessary and gratuitous. That being said it still looks a lot better then a lot of the designs of the past. We've taken some of what we like and adapted it into our own: light colors, thin lines, 90 degree angles (not that annoying rounded ones).
A lot of the ideas that are coming into place in the Web 2.0 world are ideas that have been expressed in the design of the Web since the beginning but have never quite come together. A while ago this spurned the concept of the semantic web which was the idea to encode information in XML/RDF (RDF to create inter-informational relations) such that information could be shared in a more computer useable way. These principals made their way into sites like MusicBrainz, which directly used the XML/RDF toolchain, but recently the MusicBrainz people have been pushing towards a more Web2.0 design. Their python bindings now access data via a Web Service instead of via RDF, and have become considerably easier to use.
Web 2.0 opens up the door for this kind of abstraction without making such radical abstractions from the way it has been done in the past they it stops them from being adopted. Granted sometimes radical changes are necessary or at least the best solution, but the Web 2.0 model, properly implemented, can provide almost if not all the capabilites of the Semantic Web model without as high an input level designed in implementing a tool around it.
P.S. I've setup HaloScan support for comments at least temporarily.