Aggregation, Disaggregation, and RIAs

We (the AIR team) have been doing some thinking about the future of Rich Internet Applications as we start work on the next major release of AIR. Here’s a couple of relevant trends as I see them.

First, personal data is being aggregated onto a relatively smaller number of storage services. For example, calendars, email, photos, addresses, and so on are no longer always stored on individual machines. Instead, millions of people store this information on a limited number of storage services provided primarily by Microsoft, Yahoo!, and Google.

This aggregation of data is enabling the disaggregation of applications. Whereas before applications tended toward the monolithic and managed lots of local data, now the trend appears to be towards a larger number of smaller applications that depend on services to access the data they need. The data is accessed by multiple applications and each need only concern itself with the portion it requires. For example, I might browse my photos from a mobile device but reserve heavy-duty organization to access from a desktop with broadband.

Interestingly, this trend in the consumer space mirrors the existing architecture of most enterprises. Enterprises have long aggregated data into a small number of databases but provided various ways (forms, reports, query tools) of accessing and managing bits of that data.

I believe much of what I’ve seen done with early AIR applications fits the disaggregation trend: small, focused applications accessing some portion of much larger aggregated data sets. The next step is to think about how the Adobe platform–AIR, Flash, Flex Builder, et al–can better target developing these kinds of applications.