Shorter URLs for bugzilla.mozilla.org

January 14th, 2010

Reed Loden set up bugzil.la as a redirect for Bugzilla bugs and searches. Examples:

Fun with DOMMouseScroll

November 6th, 2009

I put together a demo of incrementing numbers in URLs by scrolling.

Hopefully it's not considered a bug that I can use rangeOffset for a text node "inside" a textbox ;) Trying to access rangeParent throws a security exception.

This could be used by an extension like URL Flipper as a shortcut for changing specific numbers in URLs.

Replacing my weekly review

November 2nd, 2009

Getting Things Done recommends spending an hour or two on a "weekly review" every Friday afternoon. This worked for me at first, but after a month, I found myself procrastinating more often than actually doing a weekly review. Ironically, another concept from the same book helped me understand some of the reasons.

A major problem with my old weekly review checklist was that it included things I had to do in different contexts. For example, I can only check snail mail at home, but I can only check voice mail when I'm not at home. Worse, performing a weekly review seemed to require concentrating on one thing for an hour, and I'd rather spend that concentration on programming.

I decided to split my weekly review into a list of weekly sanity reminders, with each reminder on appropriate day of the week. I chose Monday for reviewing actions assigned to specific contexts, since the contexts "office" and "business-hours" usually become available on Monday. But I review coding projects later in the week, when distractions have died down.

For many of the smaller parts of my old weekly review, such as making sure my iPhone's voicemail list is empty, I chose a day of the week on which a mid-day meeting breaks up my day.

Splitting my weekly review into multiple scheduled items allowed me to put some reminders on the days when they do the most good, and others on the days when distractions do the least harm.

Like the author of GTD, I found that doing each of these things once a week helps me focus on the right projects and avoid some forms of procrastination. They just don't all need to be done on the same day.

Subscribing to a file in hg

October 16th, 2009

Yesterday, I subscribed to the hg feed for reftest.js in Google Reader. Today, Google Reader informed me of a change Mats made. It works!

Buglist in input order

October 15th, 2009

My newest Greasemonkey script, Buglist in input order, lets you sort a bug list according to an order external to Bugzilla.

For example, you can view the list of bugs related to topcrashes sorted by how common each crash is. First, load the list of Firefox 3.5.3 topcrashes. Second, use the "collect buglinks" bookmarklet to view a bug list consisting of the bug numbers listed there. Third, click the "#" added by this Greasemonkey script to sort the bugs by their order on the topcrash page.

Hopefully, this script will allow us to avoid duplicating information between Bugzilla and CrashKill wiki pages, and thus reduce the risk of information in both places becoming out of date.

Making it easier to install Mac apps

September 17th, 2009

Limi and Gruber recently wrote about what application developers can do to make installing Mac apps easier. All the choices have serious downsides:

  • Disk images take many steps, and many things can go wrong.
  • Zip files leave you wondering what to do, especially if you use a browser other than Safari.
  • Installers have a reputation for being sneaky (on Windows) or indicating that an application will require elevated privileges (on Mac).

What can browsers do to make some of these choices suck less, and make installing Mac apps easier?

Here's what I'd like to see: when you download a zip containing just an application, the browser offers to "install" it for you rather than just leaving it in the downloads folder. It could even do the same for disk images that contain nothing other than an application and a shortcut to /Applications.

Install applications only from authors whom you trust.

Malicious software can damage your computer or violate your privacy.

You clicked a link from http://adium.im/ that downloads an application called "Adium". Move it to /Applications and:

[x] Add to dock
[ ] Add to desktop
[ ] Launch now (if unchecked, reveal in finder)

Cancel / Install Now

Done right, this could be both easier and safer for users than leaving software in the user's Downloads directory.

Crash bug triage day #2

August 18th, 2009

Today is the second crash bug triage day. Can we beat the first one's record of resolving 104 crash bugs and identifying several important, valid bugs?

(Short, time-specific blog posts feel weird now. You should follow me on Twitter.)

iPhone Voicemail

July 29th, 2009

Dave Cronin complains that when he misses a call and gets voicemail as a result, the iPhone forces him to click both Recents and Voicemail to clear badges.

I agree with his complaint, but I don't like his proposed solution of making call history and voicemail a single list. I worry that with his design, leaving voicemails for an iPhone user would become a crapshoot, similar to emailing many people.

The reason email works poorly for many people is that it encourages them to mix reference information with to-do-reminders. A reminder mixed with a large amount of reference information is as good as forgotten. Good default workflow is especially important for voicemail, given its status as the last bastion of sanity in many lives:

I have never heard anybody say, “I get too many messages on my answering machine. I get too many voicemails.” What’s the difference? There’s no difference. [Just like with email], you get stuff that’s just reference stuff, that’s just trash, and stuff you need to act on.

What people don’t do is leave it there, undecided. But they do about e-mail. They also do it by paper. That’s why most people are highly voice-addicted, and most cultures are voice-addicted. That’s why interruptitis is so huge out there, because if you have something you consider timely and meaningful that somebody needs to know and hear, you’ve got to deliver it to them by some sort of auditory means, because that’s the only thing they’re processing.

Well, I just go, “Duh! Somebody give me the rationale for this.” And there is none. E-mail wouldn’t be a problem if it blew up like your answering machine did once you got more than a screen full.

The iPhone Recents list is primarily reference information. In particular, it provides shortcuts for calling people you have talked with recently. Mixing voicemail with Recents would force you to mix reference and reminders, because unlike with email, you have no other good place to put the reference information.

How could Apple address Cronin's complaint without leading iPhone voicemail users into the same trap that email leads people into? I think the solution is to divide the list not by kind (calls vs voicemails) but by purpose (needs-processing vs reference). An "In" list would show both voicemails and missed calls, and encourage you to keep it empty. The "Recents" list would serve only as reference; you would never feel compelled to go there to change something.

One challenge with my design is to ensure that removing missed calls from "In" feels more natural than ignoring them. Otherwise, users will fall into the email-like trap, just like I fear they would with Cronin's design. I suspect it would be best if it feels like moving the missed calls to Recents, rather than deleting them. A "Clear Missed" button button might also help.