After seeing Fernanda Viegas and Martin Wattenberg's excellent talk about Many Eyes, a web site for social visualizations, it dawned on me that the web is starting to move towards a component architecture based on Application Service Providers.
To wit, if you want a video on your blog, you turn to YouTube, which makes it easy to embed one into your blog page. If you want a map, you turn to Google Maps. And now with Many Eyes, if you want an interactive visualization, you turn to them.
It's pretty clear Google has already caught on to this idea a while back, given their recent efforts in making it easier to embed Google Maps into web pages and their recent announcement about embedding embedding Google books as well.
One of my colleagues, Brad Myers, commented that there may be interesting analogies with ActiveX components. There used to be a somewhat active market for Visual Basic components about a decade ago (no idea how it's faring now). These components made it much easier to build an application, providing things like calculators, timers, clocks, graphs, and so on, rather than having to roll your own.
If this notion of web components is a viable one, it will be very interesting to see how things play out, in terms of what the market would be, viable business models (can there be any small players here?), programming these components, frameworks so that they can interact and play well with each other, distributing the content, and so on. Very interesting indeed.