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.”