I was reading an article about web applications being a poor idea because HTML is meant to represent documents, not user interfaces. My first instinct was to agree with this notion. The predominant markup language for the creation of web pages is HTML which is meant to, according to Wikipedia, “provide a means to describe the structure of text-based information in a document.” Web applications are really just user interfaces to the server-side application which does the actual state-storing. So, is a GUI a type of document?
Currently, vendors are creating one multi-user-application, storing it on a server, and then providing access to it over the internet via dynamically generated HTML documents. The web browser, using AJAX, can send information back to the server and change the content of the HTML document without reloading the page. This provides a nice separation between application and interface (GUI).
Wikipedia defines a GUI as “a type of user interface which allows people to interact with a computer and computer-controlled devices which employ graphical icons, visual indicators or special graphical elements called “widgets”, along with text labels or text navigation to represent the information and actions available to a user. The actions are usually performed through direct manipulation of the graphical elements.” Wikipedia simply says “a document contains information.” So, according to the definitions, it seems that a GUI is a dynamic text document.
So why the hesitation to recognize GUIs as documents? Thus far, documents have really only been static; usually represented in the form of paper. While a static piece of paper with information on it is a sufficient definition of a document, it isn’t necessary that all documents have these properties. With this in mind, dynamic documents make sense with things like computers.
The gap between static text documents and dynamic text documents is slowly closing. Science fiction books and films, like the Harry Potter series, have shown books, maps, and photos (all on paper) with extended abilities to change and interact with users. As a thought experiment, I don’t think anyone would argue that Harry’s “Marauder’s Map” is not a document. There are even real life examples of dynamic and interactive documents.
When I originally started thinking about the current situation of web pages, I told Bennett that it seemed like a “hack” to have web applications represented as web pages. My instinct was to agree that web applications are wrong. But, with the idea that the user interface and the actual application are separated between client and server (respectively), it is easy to see that, indeed applications can be split into function (application) and document (interface) parts. Therefore, web applications are correct in being rendered in a document-rendering web browser.
- None Found