What do these things have in common? Only that they reminded my of a couple of other technologies...
Remember "portals"? A portal was how to make your site sticky, customizable, get users to spend lots of time there, view lots of ads make you lots of money. Maybe they would even set it as their homepage! A few companies made big money as purpose-built portals. Then there were content-management sites where every group of accounts shared a portal that they could customize themselves -- using the site itself! How amazingly meta! And then came open source portal and CMS products and finally the sign that portal magic had surely jumped the shark, a JSR for portal components. Ok, portlets, I said it.
That first part was fun though ... sounds a lot like social networking sites. Groups of users. Widgets. Social. Sticky. Ad views. Customizable. And as Om points out discussing Ning, you can roll your own right online. The next step is code I can download and run locally, or that godaddy.com sells me with my domain name registration. Like CMSs, storefronts, and shopping carts, the basic software form of a social networking site is stabilizing (stabilized?). Freshmeat lists nearly a dozen social networking apps/projects in varying states of maturity.
I'm not criticizing these sites; quite the opposite -- I'm suggesting that their success will be so complete as to make them just another page in another site. Eventually one ASP.net template or Rails script will import all the social networking features you could want.
AJAX frameworks and libraries remind me of application servers:
- When the CGI was the baseline, app servers let the innovators stand out with more sophisticated interactivity and customization.
- When full-page GET/POST was the baseline, AJAX toolkits let the innovators stand out with more sophisticated interactivity and customization.
I'm not trivializing app servers. Standardization was a boon, and the decision of which to use had long-term consequences. Painful ones, if the decision was taken incorrectly.
Eventually, though, in part thanks for Moore's Law, commodity hardware, open source software, and the nuclear winter, it became no big deal. They all work. More or less fine. Some are better than others for certain things, but no one's gonna waste time arguing that PHP or IIS/ASP.net is "just no good," and (non-technical) business concerns or the right talent often makes the case for one or the other today.
Aside from their being interesting in themselves, these comparisons are meant to put some perspective on where we are in the technology cycle. We're getting past the "hey wow" part of AJAX, widgets, and social networking features. Commoditization comes, standards emerge, infrastructure value-add declines.
These bits become the new top layer of the stack, and we should be thinking about the apps that we will build to ride atop them.