Saving team members from RSI
Posted: - Modified: | geek, workI watched Jen: Ctrl-C, Alt-Tab, click, click, Ctrl-v, click, click, click, click, click, Alt-Tab, Down, Ctrl-C… One by one, Jen copied the tasks from our Drupal planning spreadsheet to the Rational Team Concert task-tracking system.
I didn't know if RTC had a batch import system we could use, but I'd rather do a macro using AutoHotkey instead of letting Jen copy the information one row at a time. (And with so many clicks, too!)
Fifteen minutes and some tweaking later, I have an AutoHotkey script that copies the information, creates the task, and moves to the next row. A few minutes, and I've copied all the rest of the tasks.
Less risk of repetitive strain injury for everyone, more interesting work, and the ability to easily handle future spreadsheets. Yay!
I show her the AutoHotkey script at work. “Coool,” she says.
Time to organize the tasks by story. Drag-and-drop to the rescue. Not easy with a mouse – Fitts's law, small targets – but it's easy enough with the tablet stylus. It feels natural.
Keep an eye out for the little things that you can fix with just the right tool. =)
AutoHotkey script:
F12::MakeRTCTask() MakeRTCTask() { SetTitleMatchMode,2 CoordMode Mouse, Screen WinActivate, Planning WinWaitActive, Planning Send ^c Sleep 200 WinActivate, IBM Rational Team Concert WinWaitActive, IBM Rational Team Concert Click 972, 346 ; add Sleep 500 Click 927, 406 ; task Sleep 500 Click 468, 154 ; summary text field Send ^v Send {TAB}{TAB} Sleep 100 Send {DOWN} ; filed against Send {TAB}{TAB}{TAB}{TAB} Sleep 100 Send 1 ; priority Send 1 Click 807, 125 ; save and close Sleep 500 Send {PgUp}{PgUp}{PgUp} WinActivate, Planning WinWaitActive, Planning Send {ESC}{DOWN} }