With apologies to Bruce Eckel, I sat down this afternoon and put together a draft list of the first-order elements of Web 2.0 thinking. It's not that I have the hubris to consider this list official in any way but it should be a serviceable starting point for debate, discourse, and reference. I'd also like to give credit to Jeremy Zawodny for his write-up pointing me to Tom Coat's excellent presentation notes from his Future of Web Apps talk which partially inspired this effort. I think both of them have really solid source material. But they still don't quite capture a complete high-level picture of the ingredients, forces, and decisions that have to go into thinking about, using, and building complete Web 2.0 software experiences.