I have given a lot of thought to how to achieve a state of play in my work. Not only am I more productive, in both quantity and quality, but its more fun too. It feels a bit odd to be applying such conscious thought to constructing a playful attitude, but I believe that it is no different from professional entertainers or the people who craft a good game. Humans have a long history of structured play. Why not make our work a form of play?

caveat: I must acknowledge that these ideas will not apply to all work. If you work on an assembly line or a 7-11, you’ll need an entirely different approach. These ideas apply to those who are privileged to have work like mine, where creativity is valuable and you have some degree of freedom.

In observing myself and others in both fun and not fun situations at work, I have come up with a few rules for the game:

1. Eat Breakfast
Anyone who has spent a lot of time with very young children quickly sees the connection between mood and physiology. Tired, hungry, or sick means grumpy. The same applies to grown-ups.

2. Switch Tasks
Do something different for a little while. Something that still needs doing. Something that will make you feel better once it’s done. It may not be your #1 priority, but doing it will be fun. This is not the same as procrastinating. Fun begets fun. Sometimes once you’ve had some time successfully completing some other work in a fun and satisfying way, you can go back to your previous dreary assignment and uncover new challenges or interesting aspects that can let you sink playfully into the task.

3. Take a Walk
Even a short walk down the street or around the block can help. Get away from your desk for a few minutes, see a change the scenery, take deep breaths and give the problem a broader perspective. Walks are good for a bit of unstructured thought. A little space might give you the freedom to connect ideas or let you to consider other approaches. Even if going for a walk doesn’t generate any new insights, it will make you feel good.

4. Lie
Also known as being optimistic, supremely confident, or outrageously naive. Tell yourself you can do the impossible. Tell yourself to just spend 15 minutes on the problem (or an hour or whatever length of time feels short, yet still lets you dig in and get hooked).

5. Experiment
Try something that has a very slim chance of success, tell yourself the outcome doesn’t matter, learn something from it. Do something practical near the problem area that will not lead you to solve the problem at hand. Give yourself permission to fail, to be unproductive, to be impractical for a specific span of time or in doing a specific task.

6. Change the Rules
Think about what really needs doing and what doesn’t. Make different plans. If you aren’t having fun, you aren’t working effectively, so something needs to change. Do your work in a different order. Write the conclusion first. Change the premise. There are often fewer real rules than there seem to be.

“Hallelujah!” It sure feels good to hear someone acknowledge that usability is a technical problem.

For a while I’ve been reflecting upon the lack of good user interface design in open source systems. Of course, I more freqently reflect upon the lack of good user interface design in general. Good UI is hard, but as Frans Englich points out the open source approach has licked a number of hard problems. Security is hard too.

I believe that good design is all about making choices and applying a bit of common sense. We need to take the time to really think about the decisions that we ask people to make when they use our software.

I enjoyed Joel Spolsky’s observation that the Options dialog is an archaeological record for software development. “It is the height of arrogance for a software designer to inflict a choice … on the user simply because the designer couldn’t think hard enough to decide which option is really better.”

Havoc Pennington also discusses the question of preferences. “For any program, there are literally an infinite number of possible preferences. Each one has a cost. … the UI developer’s job is to choose the useful subset of possible preferences.”

I don’t know why every software engineer doesn’t care about the human experience. If people don’t use the software we write what’s the point?

I’ll be speaking at BayCHI next week…

User Interface: The Future of the Web is not the Past of Windows
Bret Simister and Sarah Allen, Laszlo Systems
Wednesday, July 7, 6:30pm

This event is co-sponsored by the Web Interface BOF and the Struts User BOF. The target audience for this presentation includes both web interface designers and web application developers.

A general consensus is emerging: The page-oriented HTML web is reaching its limits as an application platform, and the time has arrived for a foundation that supports more application-like experiences, preferably based on XML. But what does this application-like experience consist of? Is it simply the ability to deliver Windows-like applications into a web browser like Swing, but based on XML? Or is it something more?

In this presentation, Bret Simister and Sarah Allen of Laszlo Systems describe what Laszlo believes is the next step in the evolution of web UI. This expressive, flexible user experience extends what we’ve learned on the web a UI that is a combination of application functionality, content, and branding, implemented via markup language. Bret and Sarah will demo what Laszlo describes as the “cinematic user experience,” and how its XML language, LZX, is designed to support the creation of these advanced, rich applications.

Sarah and Bret will show how designers and developers can collaborate to build great applications that are scalable, modular, and maintainable, and how these teams can combine their core strengths to create the best possible user experiences using the Laszlo Presentation Server.

more details