Seeing as how we can all get very excited, very quickly about Web 2.0, AJAX, Mash-ups, Social Applications, etc., it is wise every so often to step back and brew up a couple of rain clouds in order to see what happens to the parade. Try out this little thought experiment, for instance.
Q: How would you describe a Web Browser to a Martian? Assume the Martian can speak English and has a rudimentary knowledge of computing.
A: A web browser is a tool that displays text and image files stored on a computer, typically at a location remote from the viewer, on a “web” page. It uses a descriptive language called HTML to position the images on the page and to format the text in a variety of ways such as size, color and location. It also recognizes a light-weight software language called JavaScript that can be used to manipulate the text and images on the page in ways that a simple descriptive language like HTML can not, for example finding the sum of a list of numbers on the page. A third native language called CSS is used to place the formatting instructions for HTML into a centralized location allowing them to be reused for many different pages stored in the same location on the remote computer. Browsers may be enhanced by fitting them with additional modules that allow them to do more than read HTML, JavaScript and CSS. These modules may be manipulated to create a more interactive experience for the user and the content on the page. One of the most common of these modules is called Flash which is frequently utilized to embed games and movies on the page. Another very common module is called Java. Java is a more heavyweight program as it is an entirely separate operating system running on top of the one your computer has, of which the part that the browser uses is relatively small. Java has been used to create applications that communicate directly with a remote computer in order to allow the text and images on a page to change as the changes happen, without the need to use HTML, JavaScript or CSS to display them.
Now ask yourself if you were building a new internet application that was going to replace a common desktop application, say a spreadsheet, and the Web Browser had not yet been invented, would your final product resemble the tool described above.
Should we be concerned about creating new applications for the Web and the Web Browser when the Web and the Web Browser may not be the best tool for our applications? Will the real Web 2.0 killer app be the replacement for IE, Firefox and the rest?