Saturday, February 23, 2008

Down With Keyboard Focus Thieves

I know it's a design trade off for an application to steal keyboard focus or not. However, I think when it must be done, it could be done better. I was installing an Office service pack today, which is a lengthy process, and at one point, while I was typing in an IM window, the install grabbed the keyboard focus. Before I noticed, I had hit 'space' and acknowledged whatever button was the default. Then I saw this:

There is no "back"; there is no way to see what happened. A box appeared and disappeared before I saw it, and now the install is cancelled and must be restarted.

Argh! As I'm writing this, it just happened again! I was running the install and it went to completion. It popped up some sort of confirmation box and as I was typing, again acknowledged the default option. In this case that option was "restart your computer". So, as I'm trying to write a blog entry, windows are closing and I'm thinking "I hope Blogger autosaved that entry already!". Luckily Vista popped up with a message about unresponsive programs that couldn't be closed (Firefox, for some reason), so I had a chance to cancel the reboot.

I think if an application has to steal keyboard focus, it might as well steal visual focus too. As much as I dislike the disruptive full screen blankout of the User Account Control system in Vista, at least it gets your attention. The problem with that one is that you can't say "go away, I'll decide later". Something visually unavoidable (even on 2 monitors, which is where I have most trouble with this) but with the option to minimize it for later would be great. Dialogs that appeared on the currently active monitor would also be better. Additionally, when a dialogue box steals keyboard focus, the OS should be smart enough to recognize whether you were vigorously typing before the automatic focus shift occurred, and ignore keyboard events until a short pause in typing occurs, indicating the user probably has stopped typing and has realized their application lost keyboard focus. This would help avoid inadvertent spacebar or enter presses that activate buttons before we see them.

Or, perhaps even better, don't steal focus for events like "the install finished". Flash the orange indicator in the taskbar/dock and wait for the user to be ready to acknowledge it.


In a fit of energy, I decided to stop procrastinating. I was inspired by some listening and reading I did... while procrastinating. Tim Pychyl, a Carleton University Professor, has a great website on procrastination -- the research focus of his group at Carleton. He also has a great podcast called "iProcrastinate". Anyway, my favourite episode of the podcast basically consists of him chastising the listener for "cyberslacking". Basically, this is the self-delusion that because you are sitting at work, at your computer, you are "working". We all know, deep down, that isn't true. He rails against Facebook, email, IM, online news, etc. and says these are forms of entertainment, not forms of useful work activity (no matter how much we might try to convince ourselves that using Facebook is for research into social networks).

This really resonated for me. I often go home feeling like I've missed an entire day, and that is because I've been "cyberslacking" for hours, rather than getting up and leaving my computer if I've made a conscious decision not to work, or otherwise intentionally shutting off distractions and getting to it. As hard is it might be, I think he's right, I need to turn off IM and email notifiers for several hour blocks, and force the Facebook use and the newspaper to my at home hours. That way, maybe I'll actually get some at home hours. This isn't rocket science, it's something I've been battling for a while, but having a Dr. who researches procrastination somehow just validates the problem for me.

My favourite quote: "Cyberslacking is making you a mouse potato". OK, well maybe "desk potato" would be more congruent with the original phrase, but whatever, it's a nice saying.

So, as of today, no more mouse potato. At least until I forget about this blog post. Enough cyberslacking with my blog.

Tuesday, February 12, 2008

Windows Usability: Small Boxes for Long Texts

Windows Vista (and XP) have a fixed-size box for editing environment variables. It looks like this:

[Sidebar: I took that screen shot with the Vista "Snipping Tool". You draw a red box to define the capture area, but the inclusion of the red box in the screenshot was unexpected!]

So, when you want to enter something like a path (mine is 434 characters), you have to scroll this tiny box. And, yes, you have to scroll it by positioning the cursor in the box and holding down left or right (or using a keyboard shortcut like home/end). Once you set it, you have the same problem if you want to read it -- the form for viewing environment variables is fixed at a small width that appears to be designed for 640x480 monitors.

Some of the unpolished aspects like this, the buggy UAC system and slow printing, along with the the persistent awfulness of the calculator and notepad applications make me wonder why Microsoft didn't finish Vista before publishing it.

Friday, February 8, 2008

Referendum Clarity

Clear working of a referendum question is a required in order to achieve a result that validly reflects the wishes of voters. Students are paying extraordinary fees these days -- questions asking for more money must be carefully considered. When I was a member of the executive of the Graduate Students' Union at University of Toronto we had a policy that the wording of any potential referendum question had to be approved by the general assembly of the Union. This vetting process resulted in subtle but clarifying changes to the question wording so that the referendum could be considered fair and valid. Clarity on referendum questions and outcomes is actually legislated in Canada (the controversial "Clarity Act") but student organizations needn't be held to such high standards. I do, however, think they should at least have grammatically correct questions!

There is currently a referendum and election underway at the University of Calgary Student's Union. Upon looking into some policy, it seems they union here has an even clearer procedure and policy about how to approve referendum questions. In a nutshell, 5% of the student body has to sign a petition supporting the referendum. The petition must contain the wording of the full question to be put to students, and the final question is then approved by the Student Legislative Council through a process of 2 readings. Referendums about fees have to meet three additional criteria:

i) information on the purpose of the fee;
ii) the university sessions for which the fee applies; and
iii) the level of the assessment of the fee in all faculties,
programs, and sessions in which the fee level is different.

Also, "If the SLC decides the wording of a referendum or plebiscite
included in a petition is unclear or potentially in violation of the
Constitution, bylaws or Procedures of The Students’ Union, the SLC may, by SLC resolution, refer the question to the Review Board for clarification, grammatical correction of the wording or form, or a ruling on the validity of the question" (SLC Election By-law).

So, then I have to ask what the SLC was thinking when they didn't send this question for review and grammar correction:

"Do you support an increase of $1.00 for each full-time and part-time students, in all faculties, per session (fall/winter/spring/summer) for the continued growth, maintenance, and operations of NUTV, a non-profit society."

Yes, it says "for each full-time and part-time students" and ends with a period. The session information is separated by a clause from the dollar amount, muddying the readability. NUTV is not defined other than as a "non-profit society." Some question!

Compare it to another question from the same referendum:

"The Gauntlet is the independent student newspaper of the University of Calgary. Currently, Gauntlet fees are $3.50 per session for full-time students and $1.75 per session for part-time students. Do you support an increase in the Gauntlet fee of $1.00 per session for full-time students and $1.00 per session for part-time students?"

I guess I should expect better writing from a newspaper than a tv station. This question provides context (current fees) where the other one doesn't. This provides more of an ability for voters to judge the value they are getting for the current fee. In order for student governments to be well-respected organizations, I think they need to take issues like referendum validity seriously. The SU of U of C seems to have not followed it's own by-laws in not correcting the NUTV question. They should also add a fourth clause to referendum questions regarding fees: (iv) current levels of the fee, if any.

Well, I'm not an undergraduate, or a U of C student, so it's really none of my business. I guess I'm a political junkie and I miss being involved in student governance. Or, I just need to get a life.