• there_oughta_be
  • tech ...

Quick thought:

There are enough applications. If you can think of something you want a computer to do, there are probably five ways to do it, with five more coming down the pipe. An important part of computer science has been the development of tools and methodologies for writing big applications that do lots and lots of things (or, more accurately, for managing teams that produce such applications). That's changing. Most of the cutting-edge development programs, standards and strategies nowadays are geared towards maximizing interoperability instead of functionality. The proliferation of applications creates demand for glue code that can get these applications to share data. Interoperability has always been a part of development to some extent (market pressures force Word to understand non-Microsoft document formats), but it's only recently that demand has turned it into a science on par with application development.

Open source is especially conducive to this. Most open-source software is written to scratch an itch, and "my two favorite applications can't talk to eachother" is a very common itch. It's a lot easier to write some glue code between two applications or services than it is to write a whole nother application or service, especially when there are documented APIs and libraries ready for use.

Readwriteweb.com has a link-rich summary of this, centered around the conceptualization of Firefox 3 as an "information broker", with the aid of microformats and web services.

Instead of using the entire product suite of a Google or an MSN or a Yahoo, you can instead use the particular apps you like most from not only big players - but small startups too. So say I use the 30Boxes online calendar - Firefox 3 would automagically transfer any (microformatted) events data I come across while browsing, into my 30Boxes account. And it could likewise put all my contacts into Gmail, locations into Yahoo Maps, phone numbers into Skype, etc.