2005-06-16

Web based applications

OK, since I cannot get anything written on my thesis right now anyway I might as well do some blogging. What I'd like to write a bit about is web based applications.

I believe Web based applications is the applications of the future. By a web based application I mean an application that you download from the internet when you run it. It typically also communicate over the internet a lot while running. The advantages are clear: You don't have to do anything to get the latest version, you automatically get it when downloading the program. It is the same with the data you're going to handle in the program, it will always be up-to-date. If the company providing the application is storing your personal data for you on their servers you can access it anywhere there is an internet connection. You don't have to worry about backups or transferring files when you get a new computer. This is their problem and they're most likely a lot better at it than you are.

Google is currently the leading company on this. I use GMail for all my emailing nowadays and it is perhaps the best email application I have ever used. (For the record I've used the following email programs: I started using the text based elm and pine. When I got my windows laptop I started using Outlook. I tried to use Netscape once but didn't like it. GMail beats them all.) Another cool Google app is Google Maps. I think it is pretty amazing that it can run so smoothly! Still, there are room for improvements. But the possibilities for Google Maps are simply huge if you imagine adding all kinds of localized information to that program.

One niche which I think could benefit a lot from this is games. The gaming industry has already realized the new posibilities with web based game play which make the games a lot more fun. For small games such as card games and puzzles I think web based deployment is ideal. If you're only after some minutes of diversion you don't want to bother with downloading and installing an application. This has already happened to some extent with site like Shockwave. I list other links below.

The current technology is to use the web browser as an "operating system" to host web based applications. The "machine code" is java script. But the browser comes equipped with a lot of technology for displaying information graphically such as rendering HTML and using CSS. These things together with interaction with the web server from the java script code is usually called AJAX and is currently very hyped. And it IS cool in the sense that it allows us to enjoy these new cool web based applications.

But this need not be the only technology and if it is going to take of seriously it should be integrated with the standard operating system in my opinion. An alternative technology is Java Web Start. Java Web Start has a little ordinary application which can be seen as the start button in windows. It has a list of programs that is available to you for download. The platform used here is not the browser but the Java Virtual Machine. In my opinion Java is a much more mature platform for web based applications but it hasn't received much attention since the applets went out of fashion. (I should add that I think that applets were the wrong thing. It was difficult to get an "application feeling" from them. They were restricted to a little box inside a web page. But they clearly paved way for cooler things.)

I understand perfectly if you're a bit skeptic about this idea. Especially if you have no experience with web based apps. And of course there are drawbacks. There are security issues all over the place and so it can never be the case that all programs are web based. And one needs to be connected to internet pretty much all the time to use them. In some cases this could be circumvented by caching the application locally. That would restrict the user to only use the data available locally on the machine. How much of a problem this is will vary between applications.

Finally I wish to list some cool links to some pretty amazing demos as to what is possible with these new technologies. Some of those things aren't very useful but they sure give a taste of the enormous potential of web based apps.

No comments: