Are browsers evolving as they should?
October 5, 2015 by Ian SpanglerWatching a talk by Stefan Tilkov on web application development not long ago led me to start thinking about the following: In an age of single-page apps and AJAX-laden web applications, are we doing it all wrong, or designing for the wrong thing? Does it seem like the cutting-edge experiences we’re devising are forcing browsers to be something they were never intended to be? Does the form fit the function?
Maybe today’s web experiences are calling for a different kind of platform or apparatus altogether. For one thing, they are still called “browsers”, even though these days they are being tasked with doing much more than allowing people to browse information. They are handling various kinds of user input, acting as conduits for real-time communication, rendering 3D graphics, and much more. Despite that some of these capabilities are being integrated natively by the more modern browser providers, it still seems to me that the Internet, overall, is favoring the original paradigm of flat, inter-linked “documents”, both in performance optimization and presentation.
On the level of architecture, each document, by default, is designed to have its own unique “address”, and there are what we call “links” — hotspots that connect one document to another. On a UI level, we still see forward and back buttons in browsers for navigating from page to page within a single site, and a scrollbar that encourages the creation of long documents no matter what kind of website it is.
On the level of technology, raw HTML, the original building block of the web, is still transmitted faster over HTTP than other newer, more versatile data formats like JSON. Using plugins like Javascript to manipulate graphical DOM elements, if not managed carefully, can easily bog down the browser. It certainly seems that from a development standpoint, the sheer task of building an application where individual pages load one at a time is thoroughly less complicated and more intrinsically supported than the task of developing an application that juggles multiple views within one browser document.
So, is it time for a new kind of vehicle that would not only accommodate, but also mold itself toward more dynamic user experiences? What if it were a two-fold application? Half would be a browser, similar to what we have now, and this would be optimized to serve the more traditional, document-based types of websites which are still useful in their own right. The other half would have a different kind of visual language/ framework plus an engine and architecture dedicated to powering rich, social, immersive web “applications”. The platform would deliver something closer to native app-like performance. Animations, visual effects, and form elements might be given special treatment. Long, text-heavy “pages” that require a lot of scrolling would be discouraged. It might be called “experiencer” or something along those lines (I’ll need to meditate on the name a bit more). Designers and technologists would choose to develop for either the browser or the experiencer. What do you think? And what might the founding fathers of the Internet think?