Thursday, May 8, 2008

The Adaptable Client

Darwin noted that it was not the strongest species to survive, but the most adaptable. This proves true in nature as it does in the software arena. Software, for the most part, becomes isolated on a single client after an invasive installation process. Having the application solely based on a single system leads to many inherent issues with data that is collaborative in nature, such as a staffing report or financial information.

An Atrocious Example

Let us take Excel, for instance, as a static application. It provides an interface and gives you a grid, which many of us can think of as the "data model", and you can do fun stuff like calculate columns. But what happens when you have a team of financial officers making changes to a report and emailing them as a method of collaboration. You get a nightmare of version control; the data integrity is completely lost and merging is simply out of the question. How could we possibly avoid such a scenario with localized data? Synchronizing each client has been a common answer in the past but let's face it, that's just ludicrous in the long run in terms of cost and practicality. There must be a better way!

Accessible Data Storage

There are plenty of formats that can be used to send and receive data over the HTTP protocol. REST, SOAP, raw XML, JSON, YAML, etc. The list goes on, but the point is there are companies like Google, Amazon and many others that are allowing a means for accessing a specific account of information in a distributed and collaborative manner. Such as, in Google's case, calendar information, blog info and, back to the excel example, spreadsheets. With the spreadsheet, you can allow multiple accounts to access that sheet and manipulate it collaboratively, instantly. How is this even possible though, do we have to install Google spreadsheets first? The answer is no, your browser is ready to handle this right now.

A Chameleon Client

The revolution that has occurred underneath our nose is that the browser no longer serves just web "pages" but now web applications. It provides a seamless and interchangeable interface to any accessible data store. By simply navigating to a URL you're ready to engage the application. This idea of a globally accessible, light weight, zero installation application has the software world humming with activity and progress.

Fuel for the Future

This progression is merely the start. Where today everyone has their "island application", I think the true future of software is going to be determined by the interoperability of any application; the ability to indefinitely embed an application within a bigger or just plain different context will be the cornerstone of this next revolution. The result will be a platform to serve multiple applications and provide a manner for data migration/integration/communication across many boundaries, and which will enable individuals to build these applications easily and collaboratively.

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home