Thursday, December 12, 2013

The browser is your avatar

I first suggested that browsers and servers should be combined under one peer-to-peer architecture as a "Smart" browser about 4-5 years ago. And even created a framework for how it would work under a project named "Creed". I then presented the idea to Computer Scientists, and got no response. Typical.

However, this vision remains clear, with client-side applications becoming "rich" by adapting a server-side Model-View-Controller framework, they edge closer and closer to becoming servers. Backbone, Angular, Can, Ember, all resemble mini-servers. And when the Chrome Browser becomes more like a server - think back on this article.

The logic is simple. 

Why have a redundant MVC pattern on both the client and the server? 
All it takes from a software developer standpoint is the keyword "Private" to represent Server-Side code, and "Public" to represent Client-Side code. 

Why not have a single "Smart" browser that you can extend with server-side plugins? 
People tend to think of Client and Server as programs. But, really they are environments of distributed programs (plugins). A "Smart" browser should manage both the client and server environments.

The future of software, is a system where these Client/Server Browsers communicate with each other. This goes even further, the "Smart Browser" is not just a browser, it's a web operating system. And finally, the web operating system is not just an operating system - it's a representation of you!

Your personal avatar in the form of a Browser.
And Public means stuff you share with others, and Private means stuff you don't share.

Tim Montague