WEB as antique value of our fathers

WEB is everyday thing. News, shopping, e-mail, entertainments, route information and many other activities come to virtual space. Probably you greet you colleagues later than you open a BBC Web site or check your e-mail box :) That is evident well-know fact.


Despite this fact you still depend on your PC. You have to have software installed on your personal computer, you have to store personal data on your PC. If you need to find the best route, that is ok: open a browser ask and get an answer everywhere you have access to internet. If you need to build a presentation, document, spreadsheet or make a correction colours of your photos you need your PC together with software and personal data hosted on it. If your are software development the dependency is much more stronger.


The questions are:

  • Why you cannot eliminate the dependence ?
  • Can WEB and WEB bloatware technologies help to keep your “hands free” ?


What a user need is a kind of remote applications which are supposed to be a replacement of usual standalone applications. You have to have access to these applications everywhere where internet can be found. First idea is just take Web as a basement and do it. Challenges, like Google G-mail, look promising. Yes and no. The problem is Web has never ever been designed to develop application generally and remote applications in particular. The purpose was to represent linked information using HTML as representation language and make the information available through network by simple request/response HTTP protocol. Do you think the situation has been changed radically since DHTML, AJAX, CSS, WEB 2.0 and others modern words have come to our vocabulary ?


Historically (D)HTML goes through the miscellaneous reformations and renewals, but regardless of this fact DHTML is staying practically at the same stage. DHTML we have today is DHTML we had ten years ago. AJAX and WEB 2 marketing words are next circle of speculation around old fashioned DHTML technology. What is wrong with DHTML ? The most important weaknesses are the following:

  • No components model. Initial components set you have for your WEB application is predefined set of not extendible components provided by a WEB browser. Impossibility to extend means impossibility to reuse. Pay double attention how limited and primitive UI components set you have (and can use) in a browser.
  • Lack of UI components. You are restricted with poor set of not extendible basic UI components provided by HTML for ages. You even don’t have a chance to enrich the hierarchy with new, more flexible and complex UI components.
  • Puzzling component building. One of the main task of a WEB developer is puzzling necessary UI components from pieces of images and HTML elements (like children do it). There is no better way to implement a new (more or less complex) UI component, due to rudimentary nature of WEB components model. Layout of the resulting WEB page is crap.
  • No programming language is available on client side. What you have is Java script ! We have to have deal with script language instead of good structured object oriented languages. Java script itself has very small value outside browser context. I would say it is stuck to browser. No browser no Java script.
  • No layer model. Take a look at a WEB page source code. This is a mess of script pieces, HTML elements and server side tags (JSP/ASP etc). In most cases WEB application pages are dynamically generated, you can hardly see final view looking at JSP/ASP/whatever. Imagine the cost of support and developing for such intricate things.
  • No way to control WEB browser behaviour. You are free surfing internet: you can press back/forward buttons (and get cashed page), you can reload page and the result is very dependent on the browser you have used. These actions are not fully controlled within a WEB application context.
  • WEB application cannot be run as a standalone application. It is easy to do for Java Applet, for example. WEB applications can be run and viewed only inside a browser.
  • Browser dependent behaviour. If you have ever read, for example, a CSS tutorial you have to know how much attention is spared to warn developers about CSS browser specific behaviour. In other words WEB application is browser dependent if you don’t put portion of “dirty” code to analyse a WEB application context (browser type).
  • Performance. Dynamically generated, puzzled from thousands pieces, partially written in a script language and interacted through the internet by HTTP protocol WEB application cannot be fast, that is evident.


Summary


All projects are restricted by time, resources and money. That is reality. Using WEB as a basement for developing complex applications we involve maximal resources, time and money to achieve minimal results. More over we are supplying headache for the future support.