Thursday, June 17, 2004
The Web Hypertext Applications Technology Working Group is working on extending HTML4 forms to make Web applications work better.
In the previous rounds of HTML enhancement, the world's great graphic designers (like Jeffrey Zeldman) made the most noise and got us things like CSS which allow the kind of pixel-perfect page layout that the marketing people like, done in an intelligent way that separates content from presentation. Kudos. They got what they wanted, mostly, and quieted down. Now it's time for us application developers to start clamoring for the features we need to develop great web applications. Here are some examples of the kinds of features I'd like to see in web browsers:
- Improved inline editing (step one: make contentEditable work in Gecko just like it does in IE 5.5+)
- A rich set of standard controls for application development that provide better ways to upload files, better ways to drag and drop with the desktop, etc
- Better standardized windowing features. At the very least I'd like modal and modeless dialogs that pop up instantly, a standard way to do a menu inside a web page (with ONE consistent UI, not everybody's wacky DHTML menu that are all a bit different), TreeView and ListView controls, and a standard way to make a toolbar/button bar
- The ability to get a "device context" (in a platform neutral way) on an HTML control and wail on it to paint just about anything you want
- A far richer set of events. At the very least I need to be able to use the entire keyboard. Combined with #6 I should be able to develop any custom control I want that is 100% client side.
- Media integration, so I can play sounds or stream music in standard ways without relying on <objects>
- Graceful degradation for legacy browsers (IE. It's time to make Microsoft play catchup again. Fire and Motion Baby.)
This is just a random list, nothing organized. These things would have happened if browser development hadn't ground to a halt in the late 90s due to the misguided Netscape-rewrite-project and the lock-IE-developers-in-a-dungeon project.
What I do not want to hear about:
- Proprietary tools like Macromedia's or Java Applets that embed clever widgets in rectangles in a browser. I want this stuff integrated with DHTML and CSS, deeply in the fabric of the web
- Things that don't have any chance of degrading gracefully on legacy browsers. You have to be able to construct an interface that gets better if you install Firefox, but still works on IE, without too much testing on the part of the developer.
- Boil the ocean schemes that require 400,000,000 users to install some thingamajig before you get anything useful. Such schemes will not go anywhere.
Want to know more?
You’re reading Joel on Software, stuffed
with years and years of completely raving mad articles about software development, managing
software teams, designing user interfaces, running successful software companies,
and rubber duckies.
About the author.
I’m Joel Spolsky,
co-founder of Trello and
Fog Creek Software, and CEO of Stack Exchange.
More about me.
© 2000-2015 Joel Spolsky