A new Era in User Interface Design

Aug2207Aug 22, 07

I've been reading a lot recently with regards to JavaScript-heavy user interface designs, and I thought it would be wise to share my opinions on this sort of thing.

The Problem

More than ever before, the internet has become accessible to anyone and everyone. I had the pleasure of seeing a derelict using the internet at a public library when I was much younger, and it had a lasting impression on me. Don't get me wrong, the internet is for everyone's use and enjoyment, but there needs to be limits so that web designers know what is required to provide to the end user. Accessibility is one thing, but when it progresses beyond that into the realm of predictive software, even the simplest websites become excruciating to code.

There are a great number of sites dedicated to making the internet more user-friendly ("user" referring to individuals with little or no web-surfing experience). The problem I have with these organizations arises from a general overzealous approach to such a simple task. I am a big supporter of Unobtrusive JavaScript and I use images very sparingly in designing for the general public, but there is a point where I call it a draw (me VS user, nobody wins). That point comes when I am asked to have 4 different versions of every website just to provide content to someone who refuses to use a modern web-browser, or someone who can't be bothered to view a page larger than 800 by 600 pixels.

The Solution

As an advocate of simple solutions to rather complex problems, this one seems foreign to me. What needs to occur is a complex solution to a "simple" problem, in that the problem is simplicity of design. The solution is to go server-side. This article was moved from the JavaScript section, partially because it represents more of a "rant" than anything else, but also because I am herein downplaying the excessive use of JavaScript.

Server-side code is faster than client side, because less actual information is transferred between server and client. Exceptions include working with local files on a client machine, although generally these are uploaded to the server at some point in time anyways. The server-side coding languages available are significantly more robust than client-side, with the added bonus of knowing that code written will not encounter any compatibility issues on appropriately configured servers.

A Final Note

To pin the tail on this article, I thought I would direct you to a service that you should already know about. Google has been on the forefront of useable, accessible cross-browser technology for many years, and it has given them the advantage of knowing where to switch between client and server procedures. Three notable examples of this in action are iGoogle, Docs & Spreadsheets, and Suggest. In a search for accessible, user-friendly, cross-browser user interfaces, perhaps imitating Google is a good place to start.

About Jason Miller:

I am a JavaScript developer from Waterloo, Ontario, Canada. When I am not typing green code onto a black screen, you might find me at the nearest coffee pub checking out the brew. I run a internet firm called developIT and maintain blogs and web apps when I can.