Thursday, June 21, 2007

Atomic ToDos

I'm having fun designing how to make the ToDo part of The Goo flow.

Flow happens when you can context switch smoothly in the face of a wave of challenging incoming tasks. The Goo needs to make it easy for users to resolve a task quickly, reward them in some way and move onto the next one. But there is a fine line between being challenged and overpowered by a task. Some tasks, for example, stop us in our tracks because the set up time is too expensive.

A ToDo task that is too unwieldy will break the state of flow. You might get stressed even thinking about where to start on a task. Stress is the flow killer!

Generally at Trexy and Turbo10 we try to break all our projects down into mentally manageable ToDos - which means we minimise stress while still making headway. No ToDo is too small and we actively avoid "projects" and "deadlines".

The trick is to break down a complex project into atomic ToDos --- indivisible, non-blocking, time slices of attention that get the job done.

Hmmm. How can I force the system to converge at atomic ToDos?

One way is to set a time limit per ToDo. How about a 'billable unit' to borrow a solicitor's term? Let's say five minutes.

Now some tasks will take less than five minutes (e.g., increase font size of heading to 20px) while others may take longer (e.g., write blog entry) but the time limit will generally encourage a smaller task size.

It also means that a user could acquire extra time over the course of the day if they 'beat the clock'. This helps to 'keep score' which is an important part of maintaining flow in computer games. User's should be rewarded in some way for beating the clock.

OK. So this is the next step for The Goo's ToDo management - atomic, 5 minute ToDos - and a cumulative scoring system based on time. Let's see if this helps find the elusive flow ...

Wednesday, June 20, 2007

Working with "Flow"

Game designers know implicitly that "flow" is the mental state they want their players to be in: happy, productive and engrossed in their game.

Wouldn't it be good if Microsoft Office could achieve the same effect?

Well my virus-ridden XP machine is currently showing the blue screen of death - so for me this is an entirely rhetorical question - but I hope you get my gist. If I can get into a state of flow while playing Tetris why doesn't office software try and do the same?

The Goo is some of the way there but to be honest it can't reliably get me into a state of flow. What can The Goo learn from game design? Here are some features of flow mentioned in a presentation by Daniel Johnson from the University of Queensland:
  • Tasks that offer a chance of completion
  • Tasks that facilitate concentration
  • The task has clear goals
  • The task provides immediate feedback (the need for a score or energy bar)
  • The task leads to deep but effortless involvement (removes awareness of everyday life)
  • A task that facilitates a sense of control over one's actions
  • Concern for the self disappears during the task, yet paradoxically the sense of self emerges as stronger when the flow task is completed
  • The sense of duration of time is altered
OK. In light of this it's time for the rudimentary user interface to go through another evolution ...

Tuesday, June 12, 2007

Bashing away at The Goo

A goal of The Goo is to help stick Things together and for a long time I've been wanting to add all my shell commands into The Goo. Thanks to some quick help from London.pm I can now capture all my bash shell history with the following ~/.bashrc setting:



export PROMPT_COMMAND='history 1 | /home/search/goo/lib/Goo/Sensor/ShellHistory.pm'


This inserts a perceptron into the database each time a command is executed and any 'things' in the argument list are automatically marked up. It also means the context is preserved between web based actions and shell actions.