Tuesday, October 26, 2004

Why The Future Is In The Browser

Why I think web applications are the future of application development. Read the full post.
Consider the current problems with application software, like say popular word processing software or spreadsheet software. Here’s what you’ll have to do to churn out a file.
  • Buy the software from your vendor. Get it in the form of a CD or a download. Ensure compatibility with your operating system and hardware.
  • Install the software. Pray that everything goes well.
  • Create your document.

Maybe you will want to now send this file to a printer. Or you want to e-mail it to someone. Or you want to upload it on the Internet for someone to view. Or maybe you just want to keep a copy on a CD or a floppy (do people still use those?) so that you can carry it around. That only complicates the problem. Here are more issues you have to worry about.
  • Will the guy you are sending the file to have the same software you would need to read that file?
  • Will his version be the same as yours? We know that sometimes versioning problems downgrade certain document features. Will that affect your document in case of a version conflict?
  • How will you actually send the file? E-Mail? So, you’ll have to upload the entire file? What if it is a huge file?
  • Is it really necessary to carry a CD or a floppy just so that you can access your file anywhere, especially when we have the Internet almost everywhere?
  • Now that multiple copies are created of the document, what if I make a change to one copy? How do I update the other people’s copies of the document? By going through this process again? Gosh!

Applications that run on networks have their own set of problems:
  • Every computer runs its own copy of the software. Ask any network administrator, and he’ll tell you what a maintenance nightmare that is.
  • Every computer needs its own copy, which you’ll have to buy from the vendor. Why pay so much? Is it really necessary?
  • When more documents have to be exchanged, as is the case is most networks, versioning, synchronizing and managing space and bandwidth consumed by multiples copies of the documents start becoming problems.

Almost all these problems are subverted in web applications. If your favorite application was a web application, all you had to do was fire up your browser and create your document. No installation. No problems about compatibility with your operating system or your hardware. Just your browser. And any good application will support at least the most popular modern browsers.

Imagine you have created your document in such a web application and saved it online. You can just send people a link to your document, much like you would send them a link to your briefcase from where they can download your document. On clicking on the link, instead of the user downloading the file to see it in his software, the document directly loads in his browser. He doesn’t need any software installed. So there’s no question of compatibility problems. The web application itself could display the document through its "reader" so that it can parse and render the document as required on the browser window itself using regular markup.

There’s in fact, at any given time, only one active version of the application – the one that runs on the web server. Since there’s really only one application that’s running, maintenance is a breeze. Also, there is only one necessary copy of the document you create, so versioning of the document is not necessary, and changes made can be instantly available to everyone who sees your document. What’s better, your file lies on the Internet (or on the network) and is hence totally portable between computers, as long there is a connection.

I agree a lot of applications cannot be converted to web applications. Examples include multimedia applications, or system applications which depend a lot on hardware and system resources to render their files or otherwise carry out processing. However, almost all other applications don’t really need local system resources that much, and can be run off a browser instead.

This wasn’t really possible up until now, because the browser simply wasn’t good enough an environment to run complex applications in. However, this is fast changing. Applications like GMail are just the first few of these applications to be rolled out. I only see more and more of these kinds of applications running off the network and the Internet web servers, letting us do our word processing, spreadsheets, accounting and various kinds of business logic based processing, while letting us exchange our work seamlessly without worrying about versioning, file transfer, compatibility and faulty or incompatible installations.

In the future, you won’t have to install software at all. You will just have to go to your browser, type in the URL and start using the application right off your browser. It’s where we are headed, like it or not. And I think I am going to love it.

No comments: