This isn’t a new article, you could find this topic written many times throughout the web. However, I thought I would chime in with what I think about when I hear this term.
First, Web 2.0 is an adjective – not a noun. It isn’t a thing. I use it to describe two different areas: Design and Development.
A web design is considered “Web 2.0” by having a focus on usability – this usually means a clean, simple interface that doesn’t add unnecessary graphics for the sole purpose of looking pretty. As such, many of our website designs get called “Web 2.0” designs. We actively strive to create designs which are goal driven and simple for people to find the information they want (or, make it easy for users to see the information we want them to see).
For web development, the term “Web 2.0” general describes programming that is “agile”. Many programming languages have adapted code structures which allow them to create web data applications very quickly. Essentially do this by making common code libraries for the most common things. This means developers don’t have to rewrite the same code for every single website. Things like user profiles, login systems, etc. are already setup and a programmer just needs to build on top of that core system. Saving time (and money) makes the development process agile and thus “Web 2.0”.