2006-12-19

Who Gives This Software to be Web?

When my sister got married, I gave her away.  But the pastor who officiated wanted to retain something of the tradition of parents performing that act, so when I walked my sister up to him, he asked me, "who gives this woman to be wed?"

And I responded "her father, her mother, and I do, sir."

For some reason I'm reminded of this story whenever I think about the three informal personas that guide my hacking.

Persona #1: My Mother

My mother is a novice computer user.  She doesn't use keyboard shortcuts, and she doesn't use menus much either.  Nor bookmarks, except for the couple I added to her Bookmarks Toolbar once.  She also doesn't quite get the difference between a URL and a search, so she goes to URLs by searching for them on Google.  She has never installed an add-on.

My mother doesn't care how or why her computer does what it does, and she doesn't want to bother learning how to use it better.  She just wants it to do what she wants.

Persona #2: My Partner

My wife Judy, on the other hand, is a power user.  She uses some keyboard shortcuts, and she uses a lot of bookmarks (organizing them into multiple categorized folders).  She knows the difference between URLs and search terms.  She groks HTML.  And she has installed a couple of add-ons.

Judy takes the time to learn how to use her computer well, not because she wants to, but because she uses her computer a lot, and learning how to use it better helps her get her work done.  She too doesn't care why her computer does what it does, she just wants it to work well for her.

Persona #3: Me

I'm a programmer.  I spend more time computing than I do sleeping.  So, like Judy, I invest time into making my computing environment as efficient and effective as possible, learning bunches of keyboard shortcuts, installing dozens of extensions, setting up multiple desktops, etc.

But I'm also fascinated with computers and how they work, and I like to modify apps to do more or do it better.  So factors such as extensibility matter to me in a way they will never (directly) matter to most other people, although others will benefit from the extensions I and other programmers create.

He-Fox and the Masters of its Universe

I think software like Firefox can and should serve multiple audiences well, including the people I mention above, which comprise three basic categories of computer users.  Not every feature will appeal to every group, and we might use even common features in very different ways, but Firefox should be able to provide a great experience for all three kinds of users.

When I work on Firefox and other apps, I try to keep these people in mind as proxies for Firefox's actual userbase and provide the appropriate experience for each one. So when considering who benefits from the work I do, I can say "my mother, my partner, and I do, sir."

2006-12-13

userstyles.org creates microsummary generator repository

Jason Barnabe has integrated support for microsummary generators into his userstyles.org site.  I've uploaded all my generators to the site, and some other folks have uploaded theirs, so it's turning into a one-stop shop for microsummary generators.  Check it out at:

http://userstyles.org/livetitle

2006-12-12

persistent, site-specific prefs prototype

I've been investigating options for improving user control over content, including persisting user decisions about appearance and behavior and overriding global preferences on a site-specific basis.

To test some ideas about how to do these things, I put together a prototype that implements a basic service for persisting site-specific preferences to a profile database.

The prototype also includes some experimental UI in the form of a sidebar into which controls for twiddling site-specific preferences can be placed. The sidebar currently contains one such control: a slider that sets the text zoom value (i.e. what View > Text Size > Increase/Decrease/Normal sets).



I've bundled up the prototype into an extension called (boringly) Content Preferences for Firefox 2 and up and posted it to addons. While it undergoes review on that site, the eager among you can get it from my web site: Install Content Preferences.

It should go without saying that this is early, rough alpha code, and you should exercise all due caution when testing it. To try it out, do the normal install and restart thing, then select View > Sidebar > Content Preferences.

Your feedback is welcomed.

---

Some voluminous notes for the compulsive informaddicts among you:

View > Text Size Impact

Once you install the extension, the View > Text Size menu items and their keyboard shortcuts also become site-specific and profile-persistent (i.e. lasts as long as your profile does). So even if you never open the sidebar, you still get the benefits of the extension with the existing text zoom UI.

If you uninstall the extension, that UI goes back to the way it was before (i.e. tab-specific and tab-persistent). No permanent harm done (AFAICT, YMMV, etc.).

The Slider

The sidebar slider's magnification range is 1-400%, which is somewhat smaller than the View > Text Size commands' range of 1-2000%, but the smaller range seemed more usable. The slider will follow any changes you make via View > Text Size as far as it can, then it'll sit there lonely at the end of its range until you come back to it.

What is a Site?

A "site," for the purposes of this early prototype, is the set of pages hosted at the exact same domain name (f.e. everything on en-us.www.mozilla.com).

As David Baron has pointed out, figuring out what constitutes a site is an important component of an endeavour like this, so future prototypes will experiment with TLD+1 (*.mozilla.com) sites, www-optional sites (www.mozilla.com == mozilla.com), and anything else that seems promising.

Perhaps multiple domains secured by certificates granted to the same organization should count as one site?

Fixing Font Size on the Web

Finally, I'm aware of multiple proposals for fixing the font size settings in Firefox so they're easier to use and get things right more of the time. And I'm also aware that the more we can get stuff like font size right without making users configure it themselves, the better.

This prototype doesn't constitute a proposal for dealing with font size, it's more an experiment in how to improve usability with persistence and site-specificity. I picked on text zoom only because itty-bitty fonts seem to be among the commoner complaints about the web, and also because hacking into text zoom seemed like a good testbed.

Even if we solve text size issues some other way, there will be other uses for the core service this extension provides. For example, Dave Camp overheard me describing this experiment a couple days ago and mentioned that he's been looking for a way for users to grant additional DOMStorage space to particular sites. A site-specific preference service sounds like just his ticket.