I’m not sure exactly where I got this idea, but I know it’s not my own, so I cede the creativity of the idea to someone else. Actually, I think it was Bill Scott with Sabre / OpenRico on his blog, but again, I’m not sure.
Anyway, to the idea. If you stop thinking of javascript as a way to enhance a webpage and start thinking of it as more of an actual language you can use to build a small application inside of a webpage, it sorta “changes everything.” With the popularity of ajax and the rise of advanced widget systems (like script.aculo.us/) and rich web application frameworks, it’s becoming more and more apparent that you *can* build very functional applications on the web. And, for that matter, you can do it all inside a single webpage.
So, you can build a mini application, so what? Well, how about building a “Lightweight Plugin.” Here’s the flow of things:
- Browser downloads page with little markup, but much javascript
- Javascript loads a data file from server
- Javascript parses data file and displays to user
- User can interact with the javascript display to edit data or view new data
See, it’s just like having an acrobat reader or flash, but you’ve got ZERO downloads, and you can have it do whatever you want, completely customized to your way of doing things.
But wait, the thing about plugins is that there are only a few of them that people have, so everyone has to stick to using the big ones — acrobat reader & flash. We don’t have to stick to that anymore, since there’s no installation of software to worry about. I keep coming back to “The browser is the platform” — Once you’ve got the idea of the lightweight plugin, it becomes apparent that anyone can just build whatever lightweight plugin they want, and the browser just becomes the platform for running and distributing the application.
The browser is the platform.
The browser is the platform.
The browser is the platform.
We’re not getting rid of regular apps anytime soon, but we’re going to start seeing the web become a very different place, full of big and small applications.