Hello!
This is the current homepage of James Pearson, known as Xiong Chiamiov across the internets.
The Programmer's UI
I keep finding The Design of Everyday Things more and more useful, both in understanding why things are the way they are and in helping me improve my own designs. If you don't have a copy of it, go get one. I'll wait.
Ok, now that you're back, I'd like to share how it helped me process the reasons for the existence of one of our users' most dreaded enemies:
The Programmer's UI
You've seen it. The interface only its designer could love.

Programmers are notorious for creating UIs like this - busy with buttons, lavished with links, filled with forms. But why is this? Why do we create such god-awful things that make our users curse us (and computers in general) to the deepest...
more
The Importance of Usability in Regards to Fire Fighting
For Christmas, my parents thoughtfully presented me with a copy of Web Operations, a book in which a number of well-known people in, well, the web operations field write about... web operations.
Anyways, one of the chapters contains an essay by Richard Cook entitled "How Complex Systems Fail", with commentary from John Allspaw. The thing that struck me the most out of those points was the comment that humans under stress make decicions that are often suboptimal; this struck home for me in relation to a recent experience.
An Anecdote
As part of my Christmas vacation, I stayed at my grandparents' house for a few days. They've lived there for some time, so the house has a few issues - like poor plumbing.
Before taking a shower...
more
IDEs are Uncohesive
I dislike IDEs. I enjoy being able to swap out pieces of my development toolchain, bit by bit, without having to wait for someone to write a new plugin. I am a grumpy Unix programmer.
This Fall quarter, I took a class about software design. Yes, yes, the course title is "Individual Software Development", but that's not at all what it was about. We discussed CRC cards, Design Patterns, Design-by-Contract, and all sorts of ways to make your programs better.
One of these was cohesion.
It's a generally accepted idea in software engineering that your programs should be cohesive; that is, each part should do one thing and those different parts should all work nicely together.
You might recognize this as one of the...
more
View all posts.