Archived entries for Browsers

Two Thunderbird Tips: Remove Duplicate Messages and Change Reply Headers

There are two tweaks I made to my Mozilla Thunderbird client in the last two days.

By default, Thunderbird places “Joe Smith wrote:” at the top of your message when you reply. I’d prefer to have a date stamp there toom like “on 5/12/2006 10:03 AM Joe Smith said the following:”. Firefox is a great browser and Thunderbird is a great email client for more reasons than extensibility, but extensibility sure is nice. The change is nearly-trivial in Thunderbird by modifing the User.js file in your Thunderbird profiles folder, and restarting Thunderbird (not your computer). How? Change Your Thunderbird Response Header

Another nice extensibility feature is Mozilla’s Extensions system which Thunderbird also shares wth Firefox. Returning from another time zone the other day, my POP server got confused and sent me all my recent messages again. Which stinks, because I ended up with about 1800 duplicate messages filtered and spread throughout my inbox folder structure. In the past I’ve just accepted that fate, but this time I looked for an extension.

Sure enough, the perfect tool for removing duplicate messages exists. One tip: switch which message (older or newer) is discarded, lest you delete your metadata (read, flagged) along with the older message. By default it seems to keep newer, but I’d recommend switching that. Aside from that, it’s a blazing fast tool that without fuss does exactly what it advertises.


Opera 9b Released on Earth Day

What is the significance of the brand-new Opera 9 beta being released on Earth Day? Probably nothing. It’s just that I wanted an excuse to point to the Opera 9b release as well as

The future of HTML, in two parts, from IBM Developer Works

I’m not sure how I missed these two articles, one from 2005.12.06 and the other from 2006.01.25. They are both writen by Edd Dumbill, Chair, XTech Conference, and are cross-published to the XML and Web architecture sections of IBM’s developerWorks site.

In these two articles, I’ve presented the salient points of both WHATWG’s HTML 5 and the W3C’s XHTML 2.0. The two initiatives are quite different: The grassroots-organised WHATWG aims for a gently incremental enhancement of HTML 4 and XHTML 1.0, whereas the consortium-sponsored XHTML 2.0 is a comprehensive refactoring of the HTML language.

I recommend reading both (though perhaps start with the second), because together they’re a authoratative, thorough and current introduction/summary of where we are today and where we’re going. If your development practice involves thoughful consideration of your markup layer – and it definitely should – they you’ll want to know this stuff.

They quickly cover significant ground, offering concise overviews of W3C & WHATWG, HTML 5 & XHTML 2.0, some specifics like canvas, Web Forms 2.0, XForms, Web APIs, and Web Application Formats, and make a strong case for “Why XHTML 2.0?”.

My First Interview for a Podcast

I had the pleasure of being interviewed by Dustin Diaz for the sixth episode of his podcast series. It was my first time appearing on a podcast, though I’ve since given another interview for a second podcast (that hasn’t been published yet).

We primarily talked about my Graded Browser Support article, but also touched on other aspects of the Yahoo! User Interface Libary and web development in general. Each podcast Dustin does gets better and better (and I hope I didn’t break that trend — though I’ll let you be the judge of that).

Shoot me a note or leave a comment if you’d like to discuss general web development, the Graded Browser Support article and chart, CSS and DOM Scripting, the Yahoo! Developer Network, the Yahoo! User Interface Blog, or the recently-released Yahoo! User Interface Library on your podcast.

Accessible DHTML presentation at CSUN this week

It’s been so busy lately, both professionally and socially, that I haven’t been putting any time into this blog. I’m sorry about that, and have lots of ideas swirling around in my head that I hope to be able to write here soon.

In the near term though, I wanted to let you know that I’ll be in LA this Thurday presenting a paper at the CSUN accessibility conference. The paper/presentation, co-authored by my colleage Victor Tsaran, has the long title, “Yahoo! Experiences with Accessibility, DHTML, and Ajax in Rich Internet Applications”. The 45 minute talk will review the current state of web development and then offer three families of techniques for making the DHTML development that’s at the heart of Web 2.0 accessible to all users.

It’s an interesting and important topic. From 1999 thru 2004 the web became increasingly accessible with the broad adoption of Web Standards and related modern methodologies. Since 2005, these gains have been under pressure as we all race to push the limits of what’s achievable with DHTML in capable and modern browsers. While it is a myth that DHTML is not accessible, in practice the rush jobs and rapid innovations of the day often leave accessibility as but an afterthought. Additionally, as mouse-based desktop interactions — drag and drop for example — become more commonplace online, it’s tempting to exclusively rely on mouse-based input and manipulation which is a cause of concern to the accessibility community (and keyboard-loving geeks everywhere). The straw that often breaks the camel’s back is Ajax, which partial-page updates are often unnoticable to screen readers and other types of assistive technology.

I’ll post slides after the talk, and will be writing about this with Victor in an upcoming article for our Yahoo! User Interface Blog.

Same Language, New Dialect

Vivabit’s Dan Webb wrote an interesting post a few days ago that touches two important topics, both of which I’ve been thinking about a bunch lately. His entry is called DOM Abuse Part 1: Drag and Drop and he says towards the beginning that:

As more and more JavaScript libraries add solid drag and drop support I begin to shiver. Everyone is going to be doing it soon and Im scared.

I’m not scared – I think we’re entering a great era of web design – but I understand exactly what he means. I would categorise his two points as “the accessibility issue” and “the discovery issue.”

First, accessibility: Advanced interactions and behavior provided via JavaScript must be enhancements, not the sole way to accomplish a task. In desktop cut-and-paste, there are at least three ways: keyboard shortcuts; “Edit” menu options; and drag and drop. Accessibility isn’t an optional characteristic of the Web. With what could be considered a gold rush of JavaScript development powering a big chunk of “Web 2.0”, the accessibility gains won over the last four years (Web Standards) are at risk. For JavaScript, the way forward is clear – progressive enhancement, unobtrusive javascript, and Hijax – and championed by the DOM scripting task force.

His second point I’d summarize as the “discoverability issue”. It’s definitely an issue, but it’s also a symptom of a larger overarching issue, what I call “the low expectations issue.” Here’s what he says:

Drag and drop is not a method of interaction you see on the web (at least at the moment) and as such you do really need to be told when to do it. That’s not good. I’m not used to reading what’s on the screen. How are we supposed to know to and when not to try it?

It’s not that the feature isn’t discoverable (though it could certainly be aided by some visual affordances), it’s that he’s not expecting it to be there! On the desktop there are minimal cues because we expect it to just be there, and often don’t need to be told.

In my opinion (with a hat-tip to colleagues Eric Miraglia, Bill Scott, and others), this is a primary design challenge of the day. It’s not just about adding visual affordances, it’s about something bigger. It’s about raising overall expectations in a careful, purposful, we’ve-got-one-chance-to-get-this-right type of way.

Since the beginning, we’ve been lowering expectations of what’s possible in the browser compared to other desktop software. No double-click in the browser. No drag-and-drop in the browser. No right-click, context menus, auto-save, auto-complete, full screen, minimize, layers, spell-check, not even many tooltips.

More broadly: no direct manipulation, no immediate feedback, and no persistence in the browser. On the desktop, we learn by experiementing. In the browser, users have stopped exploring because there hasn’t been a reason to explore, nothing to find. (To make matters worse, every click has traditionally meant many seconds of page teardown and replacement.)

It’s not that we didn’t want to provide a familiar experience, it’s that the technology wasn’t really available in the browser. That’s not true anymore.

But, the availability of new technology isn’t a cure, or a reason to believe we’ll make a successful transition.

Being able to do something does not mean that we should do something. Why is more important that how. Using animation to create 2006’s version of the 1999 Flash splash screen isn’t a why, it’s a “because we can” (and a bad idea). On the other hand, using animation to ease transitions, provide user feedback, maintain user orientation, and promote learning of new idioms are four good reasons why.

But knowing why isn’t the same as doing it well. When I say that we’re got one chance to get it right, I mean this: If we bring the rich interaction patterns of the desktop to the browser in a recognizable, comfortable, thorough, complete and appropriate way, user’s will break through their doubts and quickly transfer their desktop experience into the browser. We won’t have to put big neon signs on our sites saying “drag here”. If we get it right, users will just assume.

On the other hand, if we don’t get it right, if we’re spotty, if we don’t keep the façade intact, then the illusion will not stick. If we make too many missteps, if we leave to many gaps, then the nearly free “user education” and the potential parity of expectations will be gone again. I’m not scared by drag and drop, I’m scared that if we miss this chance to bring richness to the browser, user’s expectations won’t just be low they’ll be shattered.

To be clear, it’s not about replicating the desktop in the browser. They’re different environments. Instead, we want to take the idomatic language users already understand and express it within this new environment. Same language, new dialect.

San Francisco, California | Creative Commons By-2.5 License | Contact

RSS Feed. This blog is proudly powered by Wordpress and uses Modern Clix, a theme by Rodrigo Galindez.