Building your own Twitter client with Fluid and jQuery

Like many before me, I was searching (unsuccessfully) for a decent twitter client. There are many, but most seem to be ad sponsored or based on a rather hefty framework like AIR (which by now, I guess, has been silently installed on my computer anyhow).

Quick site performance improvement

I have been playing with YSlow, Yahoo’s tool for web site profiling, for a while. If you haven’t tried YSlow (which is a Firefox addon to Firebug) I recommend you try it right away. Install the Firebug extension first and then add YSlow.

Reducing distractions, increasing productivity

I have been trying to reduce distractions in my computing environment lately. Apparently, our brains aren’t wired properly for task switching:

Defining Characteristics of a Successful Software Project

Lately, there has been some really interesting presentations and articles on agile methods and how they fit into the big picture of software development. One that was particularly interesting was Scott Ambler’s 2007 IT Project Success Rates Survey (also see the Javapolis presentation).

IR glove that lights up an IR LED when the index and thumb touch

Building a Wiimote glove for virtual card sorting

Thanks to Johnny Chung Lee, everyone and their mom seem to be setting up their own Wiimote whiteboards these days. I tried it too but disliked the pen-based interaction. So, I built a simple glove that allows you to pinch an object to drag and drop it somewhere.

Usability test of the iPhone yields interesting result

The swedish usability consulting firm inUse did a usability review of four mobile phones including Apple’s iPhone, the HTC TyTN, Sony Ericsson W910i, and Nokia N95. Users performed common tasks such as making a call by dialing a number manually and then by calling a person from the address book, change volume during a call add a new contact to the address book, create a new calendar event and more.

The result should be useful for those who are trying to convince their IT department:

Stunning. The iPhone has introduced a new interaction paradigm to the world, in an uncompromising way that proves that “less is more” when it comes to true user experience.

Some other interesting quotes from the report include:

Most of the subjects did not mention the HTC at all when speaking of which device they would prefer. [...] Only one of the users was able to carry out all tasks [on the HTC] without the assistance of the test leader and all five users had severe difficulties with at least three of the tasks.

What is it then that makes the iPhone different? Most importantly, it has removed one level of abstraction by allowing the user to act on objects using the finger directly on the phone’s surface. The difference between this and having to press keys on a keyboard and watch the screen to see what happens is striking.

The full report is available in PDF from the inUseful blog.

UI Inconsistencies…

Consistency is important when designing interaction with user interfaces. Consistency makes it possible to re-use what you learned in one application in another. Unfortunately there are many application developers that invent their own interaction principles, even when their is an established praxis. But, it is even worse when someone who established the praxis provides an inconsistent user experience. Yes, that means you Apple.

Case in point: zooming in and out of a document:

  • Safari: Apple +/-
  • Keynote: Apple </>
  • Preview.app: Apple +/-
  • iPhoto: Alt 1/2

At first I thought that Apple +/- was for increasing and decreasing text, but in that case Preview.app is inconsistent. Oh well, moving on…

Prism – web apps as desktop apps

When people started making applications available in the browser a number of interaction challenges appeared. How do you launch a web app compared to a desktop app? How do you prevent people from navigating away from your app? The Mozilla people have been hard t work with Prism – basically a customized version of Firefox, which lets you create desktop apps pre-configured to load a certain URL at startup. The desktop app is launched like any other application. Pretty sweet as the user experience becomes more consistent. You can also customize the application icon and other parameters.

Interacting With a Stockholm Public Transport Ticket Vending Machine

This will be a field day for industrial designers and usability experts. The new ticket vending machines for the Stockholm public transport system have been met with a lot of criticism lately. People are finding them difficult to use and apparently there are very few tickets sold. On top of that they look like the machines seen in parking lots. Oh wait, they are apparently from the same manufacturer.

Stockholm public transport has a tradition of being late to the 21st century. Pre-paid tickets are still paper based and stamped by the bus driver. Previously you could buy them directly from the bus driver. However, robbery prompted the public transport authorities to remove all cash handling from the bus drivers, hence the increased need for outdoor ticket vending machines.

So, how do you interact with these machines?

SL ticket vending machine

  1. You start in the middle and press a blue button one to three times to tell the machine if you want a ticket for zone A, A and B or A, B and C.
  2. Move down and press the second blue button once for a regular ticket or twice for a reduced price ticket.
  3. Now it’s time to swipe your credit card on the top left side of the machine.
  4. Move back to the center and press the green button once.
  5. Ticket appears to the left.

Complaints mainly focus on the illogical placement of buttons (4, 1, 2 if you read top to bottom). In between pushing the buttons you have to look at the two line dimly lit LCD display to see what you are supposed to do next.

I am guessing most people buy a regular priced ticket for zone A (the city center). This involves pressing three buttons. Maybe the most common scenario could be reduced to “press a zone button and swipe your credit card”? Why does it have to be difficult?

I remember the pleasant experience of the Tokyo subway system. On some machines, all you did was to push a button representing your destination on the map, dump a fistful of coins into the machine and it would hand you the ticket and spare change in an instant.

Update: We won the World Usability Day design contest with a redesign of this machine. The design proposal and background is here (only in swedish).