../

Captcha confirmation

Please fill the box with the word in the image.

Refresh Captcha
Confirm

A Modularity Carol: the Ghosts of Modularity Past, Present and Future

Today I was reading a small blog post about a new desktop client for Twitter, Facebook, and LinkedIn being done by Seesmic. The interface looked very interesting, but as to the concept itself... ad nauseaum... until I got to the part where they claimed it was going to be easily extensible through plugins. As to the particular details of how they're going to implement the modularity and how easy it will be for developers to extend, and consumers to use, I can only speculate from the articles I have read, since it wasn't launched yet, but it does hold the promise of scratching a itch of mine, since I still have to use different tools to post on different social networks, and redundancy bugs me immensely.

The modularity train is gaining momentum, as we have seen developments all over the industry in this direction these pasts years, all apparently and hopefully heading torwards the station where we are already waiting at. Not so long ago, talking about building fully modular and extensible applications was crazy talk, utopic mumbo-jumbo, it made sense, but it was, or was perceived as, an unworthwhile investment... but history is about to change.

The Ghost of Modularity Past

In the software development world, Eclipse was probably the first extensible application whose modularity really seemed to pay off, or at least its utility was easily perceived by the developers using it. Personally, I've been using Eclipse for years, and it always seems to catch up to my new demands, since there always seems to be a bunch of plugins I can use to extend it in order to get the functionality I want.

Modularity even seems to have already played a significant role in the consumer market. There is probably more than one reason why Firefox has risen from being the underdog, to having a reasonable chunk of the browser market, and I personally think one of the reasons had to due with its extensible nature. When one needed a new feature in Firefox, like a downloader manager for example, one didn't need to spam the Mozilla Foundation requesting for that new feature, it was very probable that someone had already developed that feature as an extension, and getting it was as simple as search, point and click.. and if it wasn't available yet, developing the extension by ourselves was always an option.

When Google Chrome came out, even though it was blazing fast and I loved it for that, I have to admit it took me a while to drop Firefox and start using Chrome by default, due solely to it not being extensible, and to the fact that I had already placed some weight on my Firefox extensions' shoulders. Certainly, for a lot of early adopters the lack of extensibility in Chrome was probably irrelevant, but I'm pretty sure I wasn't the only one in the same position, that didn't think twice about dropping Firefox for Chrome once it started supporting extensions.

Above all people want speed, that's it, they want to be able to do the same or more, in less time. Chrome already delivered in terms of raw speed by having an incredibly short boot time, as well as lighting speed rendering and Javascript processing provided by WebKit and the V8 Javascript Engine, respectively. However, the last speed improvement was not so directly measurable; it was by providing extensions that it finally opened the possibility for a whole range of valuable time-saving shortcuts.

Modularity has been around for quite some years in the desktop application world, and even though monolithic applications are still the norm, one cannot deny the world of difference modularity brings to the few applications that apply the paradigm successfully.

The Ghost of Modularity Present

There is, as of recently, a new trend arising, that of bringing modularity to the web. Google seems to be increasingly interested in modularity and integration, Google Labs features seem to be popping up in all Google applications, and slowly but surely, the whole Google ecosystem seems to be integrating more and more, each time making more sense as a coherent whole. The recent launch of Google Apps Marketplace was particularly interesting, because it was a noteworthy move in bringing together different web applications into a single unified platform.

It's very satisfying to know that our own crazy talk/utopic mumbo-jumbo, or should I call it vision, is being confirmed with each passing day. The web has brought us all together, and thanks to this, excuses for re-inventing the wheel are becoming obsolete. If someone has already solved a problem, you shouldn't have to solve it again, period. The web mixed with the open source movement has done a huge deal in this regard, and we can surely credit them with the exponential growth in innovation brought forth nowadays by even by small groups of people with limited resources.

The Ghost of Modularity Future

The next step, is to have an unified platform where to develop and deploy applications, where one doesn't have to worry about scalability problems, or compatibility with target platforms. Where we can easily re-use the work performed by other developers, and share our own, a host where the user can find all his web applications, and the developer freely distribute or sell his own, ultimately a service that kills redundancy and complexity in favor of value and simplicity... we are working for Omni to be that service, to be your open web platform, your singularity on the web.

Post a comment