HTML 4.5 Anyone? | January 24, 2007
HTML was created for document mark-up, and it still does a pretty good job. However as websites become more application focused, it becomes harder to use HTML to model complex user interfaces. We have the basics in the shape of form widgets, but there are a number of key UI elements missing. You only have to look at the average desktop application to see the wide variety of widgets on display, from push-in buttons to vertical and horizontal sliders. You can “hack” some of these elements using CSS and JavaScript, but it always seems like a less than ideal solution.
One of the benefits of application development with Flex 2.0 is its wide range of interface elements, or components. The developers have thought about the needs of modern web applications, and created a really handy toolkit of widgets. The widgets are essentially a combination of markup (MXML), styling (CSS) and behaviour (ActionScript), so are not dissimilar to the widgets we have currently. Developers can also create their own widgets, which is both a blessing or a curse. It’s a blessing because if you really need a particular widget you can create it yourself. It’s a curse because it could also lead to a proliferation of non-standard widgets which could ultimately lead to a reduced user experience.
The feeling that the web is outpacing (X)HTML and CSS development has been growing on me for some time. While commercial organisations are quick to react to client feature requests (not always a good thing), it seems that the W3C is getting bogged down in internal politics and the desire to please a diverse group of stakeholders.
As a reaction to this, a group of web developers creating their own “standards” working group called the WHATWG. The result has been a HTML derived a draft specification called Web Applications 1.0. The draft spec includes some very interesting suggestions, along with some more controversial ones.
One recommendation is predefined class names which just smells wrong to me. Class names have always been a way of authors adding their own meaning to a document, and to that end are very powerful. You see them being used very successfully with microformats, which is a good thing. However it is their looseness and flexibility that really gives them their strength, so predefining them seems wrong. We had this discussion in the office and Jeremy rightly pointed out that if you need to mark something up as a copyright message, you should create a copyright element instead.
Looking through their spec, they have recommended a number of new GUI elements and attributes that could prove very helpful.
In part as a reaction to the WHATWG, and in part due to calls from the browser vendors, the W3C have set up a new HTML working group to look at developing HTML further. I’m interested to see what comes of this, although I do worry that 2010 may be a little late.
I’m also interested to see the crossover with the new HTML working group and the web forms working group. Web forms are basically an extension of the existing form controls and adds some interesting features like validating or requiring input and auto completion. Here are some of the additions that look interesting to me, although I’m sure there are more.
- required attribute
- autocompleate attribute
- datalist
- adding, deleting and moving elements in repetition blocks
- output element
This progress is good, but I think there are a lot more useful elements you could add to both lists. Here are some of the elements I’d like to see in an application focused mark-up language.
- Press and stick buttons
- Vertical and horizontal sliders
- Spin boxes
- Menu element
- Expandable tree navigation
- Date selector with calendar
This is just a start, but I’d be interested to hear what UI elements you think are missing?
Posted at January 24, 2007 3:22 PM
Angelo said on January 24, 2007 3:44 PM
While I’m usually in favor of simplicity, some of the things mentioned here concern me.
I’m not sure what the actual ramifications are, but I innately abhor the idea of predefined classes. Could just be that I feel more human by adding my own semantics, but I also have strong doubts as to how useful this will actually be.
Forms, on the other hand, and specifically the standards used when dealing with them, do need to change. On the same note as above, I’d genuinely regret losing fine-grain control over things like validation.
Don’t reinvent the wheel, and if you do, don’t reinvent it with fewer spokes.