Input Output Disconnect

I think its interesting that calendaring tools can understand the definition of complicated event reccurence rules, as well as exchange those definitions in a powerful standard format, but that the user interfaces on the tools I have used (ical, google calendar) don’t actually support creating events with anything more than the simplest recurrence relationships… Goes to show that the bottleneck in many systems is still the interface between the human and the computer.

The other day I received my first $50 parking ticket of the street cleaning season. The rules on my street, even side cleaning on the second and fourth Wednesday, odd side cleaning on the first and third Tuesday seem simple enough to follow, but I still think Somerville’s chief revenue stream must be parking violations.

I thought perhaps I can set the events in iCal, upload that file to google calendar, and get SMS reminders. Turns out one can’t specify a recurring event like second and fourth Wednesday in iCal or google calendar. iCal’s interface allows one and only one “nth day of the month” recurrence. This made me wonder – is this stuff even possible in the iCalendar format?

So I checked the iCalendar spec in RFC2445 and sure enough, it supports powerful enough recurrence rules to handle any conceivable event schedule. Here’s an example that will handle the odd side street cleaning, April through November of every year:

RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=1TU,3TU;BYMONTH=4,5,6,7,8,9,10,11

I edited the one 1st Tuesday rule generated by iCal in a text editor to arrive at this iCal file. Imported it back into iCal, and it rendered the recurrences perfectly. Google calendar also reads the file well even saying under details “Every first and third tuesday”.

Its a shame there’s all this underlying power, yet the user interface allows only a small sliver of it. The 80/20 rule probably dictates an organization doesn’t put in the resources to develop and support a really complicated UI for creating event reccurences, but I would think some user facing tool would support that. Are there any out there?

Class final project: smoke and mirrors

The presentation of our final project managed to compensate for a complete lack of quantitative data with visual humor and gadgets. I’m still shaking my head.

Note: Beware this post is pretty much rather stream of consciousness, and worse was typed in a couple different sittings, so its not even the same conciousness.

The Project

Our final class project was an interactive prototype of a bike computer / navigation system. We split up into semi-randomly assigned groups of four, where the group consisted of one person who had self identified as a researcher, two people who self identified as good at design, and one who self-identified as a good prototyper. I made the mistake of identifying myself as a prototyper.

Some Pictures

Before the rest of this rather long winded post, I’d better throw up some pictures so you know what the hell I’m talking about. Here’s a couple of screenshots from the flash prototype.

The map and stats screen:
Map and Stats Screen

The trip planning wizard:
Map and Stats Screen

The team

My teammates were all undergraduates. That presented a problem constantly, because they had a different definition of last minute than I did. The class was on Tuesday night, so at the latest, I needed to get things done Monday night, preferably Sunday afternoon and night. They seemed to love working through monday and tuesday, ignoring this whole job thing of mine. The procrastination thing really did a number on my schedule ultimately.

The schedule

First week a two page research doc plus a conceptual map and a ui structure was due. Week two screen templates and renderings are due. Week three a prototype and presentation are due, along with usability testing. I looked at that and immediately knew that life as a prototyper was going to be rough unless we got ahead of the curve. Did that happen?

Not so much. I don’t know that it would have anyway, but any dreams I harbored of getting ahead were fucked because two people went away for passover. One from wednesday to sunday, the other like thursday to monday night. Hows that for a kick in the pants.

Week one

This week we met briefly a couple of times to get research going. We did have some really good ideas, some of which ultimately fell through the cracks (which i was reminded of later in other team’s presentations) – but the conceptual diagram and structure map were pretty much phoned in because no real meeting of the minds had happened yet. Not a good start.

Week two

This is a little fuzzy, but I don’t recall getting off to a good start. I think there was a little spurt of design before everyone disappeared, and there was a lot of design generated and shared through email and the dreaded blackboard system, but I still feel like things would have been easier and the results better if we were in the same place. There were some good ideas floating around, as well as some not so good ones. The design was always a little too frilly for an embedded device that should have been centered around simple information delivery.

I spent quite a bit of that easter/passover weekend designing the visual identity of our team, creating a rendering of our hardware and creating a splash movie in flash before finally jumping in to redesign our stats screen (things like speed, heart rate, etc), which as the time was this hard to read muddle of data – it was in rows and columns, but it wasn’t chunked well and the units and category labels had as much weight as the actual data, which clearly would be more important to see as the labels should melt away for an experienced user.

As I both expected and feared, the visual design deliverable was “finished” minutes before class on Tuesday night, leaving no time to get a head start on the prototype. To make matters worse, there weren’t nearly enough screens designed, there was no real concept of how the workflow would proceed within each screen and how the user would move from screen to screen. I also saw the visual design as far from finished.

Week three

Now it’s white knuckle time just a bit. Need to develop a prototype in Flash in under a week so it can be usability tested – and I’m refining the team’s design on the fly. Terrific. Suffice it to say that I spent a lot of time in Flash and Fireworks that week, and not nearly as much time sleeping.

My biggest regret of the prototyping effort was misallocating resources from visual fidelity to functional fidelity. (the prototype was supposed to be higher visual fideility than functional) I had made the same mistake on the previous prototyping project where I had cutesy windows sliding in and out rather than polishing the visual design; I made the same mistake again in actually implementing our trip planner screen which acted as a wizard so the user could set any one or more of 5 ride parameters (distance, end point, terrain type, etc) and then be guided through choosing a route based on those parameters (see the second screen shot above). I had argued against it in a design meeting, but somehow suckered myself into giving it a try. Oops, that took about 6 hours – and of course it was almost there after just half that time.

This is where some conflict started arising among the team. Okay mostly between me and the rest – my prototype was visually more simple than what their designs had (loosely) specified. It was fun to dance around that by pointing out that their designs didn’t even agree with each other.

During this week, usability testing is happening in parallel as much as possible with my prototype development – which is the crux of the problem with the schedule…

The Presentation

Come the deadline, the team has put together a slide deck for our presentation, and we’ve very briefly rehearsed the presentation. We’re going fourth out of five teams, so we got to get a feel for how ours stacked up against the rest, which was good and bad. Bad because the teams presenting before us actually gathered and presented quantitative usability results – that didn’t even occur to me or the team, so we don’t have anything to show on that front. A little annoying seeing some of the really good ideas that we either didn’t come up with or more often had in early brainstorming but let slide through the cracks at some point. Good because I’m starting to feel better about our design; the prototypes we see are vindicating my resistance to needless glitter like background images. At least for me, working on something flat out like this totally breeds contempt; I could see all the flaws in our design and not how it might actually not be so bad after all.

I insisted on going with pictures rather than bulleted lists as much as possible, and I think that turned out for the best. Instead of presenting usability test results against the backdrop of ugly excel charts, we did some hand waving in front of a picture of a team member with a notebook wearing flip flops in hot pursuit of someone riding a bike, and more pictures of a mockup of the device taped to a bike. We even had a color printout attached to cardboard to pass around the room (this was fun to watch. I’d designed the device with a curve so that it would be easy to pivot the thumb between buttons, so a lot of people actually tried that on the mockup) We had the Queen song “Bicycle Race” playing behind a list of acknowledgements. If I remember correctly we got applause before even taking questions.

I have no idea what grade we got on the project, but one of the “bicycle experts” brought in to be part of a panel of judges said we had “the best presentation so far”

All’s well that ends well I guess.

Anglicized Names

I just switched projects at work to one in which a significant percentage of the team is based in India. One thing that strikes me all of a sudden is how many members of that team have made-up “American” names like “Austin” or “Joe” that have no bearing on any possible pronunciation of their real names. Granted some of them take a syllable of their name that may sound like an American name – I’m just not sure what to make of the phenomenon.

Part of me thinks they should stick to their guns and teach people how to pronounce their real names, but another part of me realizes by giving up, they’ve effectively made their own lives easier too, because now they don’t have to spend all that time correcting people.

Another class complete…

I’m so glad my final project for Applied Design of Software User Interfaces (ENP166) is over; indeed the class as well. The class sessions were awesome to sit in: the teacher, Michael Wiklund and ta Allison work together at the teacher’s design firm so they had all sorts of real world stories to draw upon. Much better than the dry academic stuff a “real” professor usually would have to share.

The class ended up being pretty grueling in terms of workload – the first three or four weeks had a project every week; there was the pet adoption web site design, the art museum tablet pc like guide book design, the airline in-flight entertainment system design and prototype, capped off by the bicycle computer/navigation system team project. Lots of practical experience with the phases of UI design working through conceptual models, ui structure maps, templating, visual design and prototyping meant lots of time in front of computers using omnigraffle, free mind, fireworks, the gimp, and flash.

Even given all the experience gained using the tools, I’m afraid I didn’t learn all that much. I don’t know if I’m in an in one ear, out the other rut right now, or I was just usually so tired for class having been up late the night before finishing projects – I can’t rattle off some of the buzzwords like some other people in class can. Hopefully $3000 worth of stuff stuck upstairs somewhere.

22 Dollars poorer, 30% less productive

My Viewsonic vp171b display crapped out all of a sudden late last week – just late enough in my school project to be somewhat bearable. It would flicker for a moment, then the backlight would shut off. Turning it off and on a few times usually resulted in it working for a few more hours. I only got the display in October 2005, orthopedist so its under warranty, but still a pain in the butt. $22 to ship it to California and 3-4 weeks without my second display. Good thing I don’t plan on working on anything so involved as to require a second display for a little while.

I’m sure some people must be capable of managing all of Flash’s pallette windows, including the terrible excuse for an editor present in the actions pane without two monitors, but it escapes me how. Semi-interesting Flash note: I did get to find out that the Flash IDE crashes when its running on a second display that gets unplugged.

My team’s logo

At some point I’ll make a lengthier update praising Macromedia Fireworks capabilities – the more I learn about how to use it, the better it gets (especially the pen tool!), but for now I wanted to show off share this logo I created for my class project team. (For some context the project is to design the interface of a bike computer that would include GPS maps as well as all the usual bike computer stuff)

Tireless Logo

Fenway Frisking

The security at red sox games doesn’t make any sense. Apparently only men are a threat, because they receive a cursory pat down the sides. Women pass right on through. (though I’m sure the discriminating female terrorist would be tripped up for storing her anthrax in her vera bradley, because purses and bags are searched.)

What is the point of such half-ass security? I’m sure the pat down wouldn’t detect a firearm or some other munition in the small of one’s back, and they didn’t even touch anyone’s legs. This is like banning nail clippers on planes (yes I know they aren’t banned anymore). Maybe it makes someone feel better, but it doesn’t make a lick of difference to any actual security.

Soledad slaps away the race card

I just saw this great interview between Soledad O’Brian and Rep. Cynthia McKinney. Backstory is that the Rep. wasn’t recognized by Capitol Police going though security, felt insulted, tried to keep going, got grabbed by the officer, and then hit the officer in the chest. Now she may have charges filed against her for assaulting an officer. So the Rep. tries to call it racial profiling, starts blabbing about discrimination, minorities, the war in iraq, a potential strike against Iran, anything but the issue at hand, which is her side of the story about what happened.

Soledad does a great job at relentlessly shutting down Rep. McKinney nonsensical tirades. Bravo!