Usability for Programmers
At work we have a geek book club, a little while ago we all read Joel Spolsky’s User Interface Design for Programmer’s, which is a longer, printed version of this earlier online work. Joel does a great job of explaining the basic of use interaction, provides a few rules-of-thumb and some well-written anecdotes.
What’s struck me back in the office, though, is that the phrase can be read two ways, as teaching programmer’s how to design interfaces or about how to design interface that programmers will use.
This set me thinking about other stuff we’ve been reading, lie Paul Graham’s Hackers & Painters, The Pragmatic Programmer, Object Thinking Code as Design and other bits and pieces. A common thread of all of these is that writing code is about describing a solution to a problem, rather than simply providing a set of instructions to a computer.
Then this week a few of us were working on checkout and build processes for one of our newer codebases, trying to make it easier for ourselves to work on and it struck me that we were really designing software for each other and that a big part of best-practice and common approaches is really just about usability and interactiopn design.
Take, for example, any one of the popular c/c++ open-source applications and you’ll find it has an sutomake based configure script which generates a makefile that has ‘clean’, ‘build’, ‘all’ and ‘install’ targets in it. i.e. it follows the standard pattern. This is no different to using standard menus, buttons and other controls in a Win32 GUI - it’s easier to use.
So, mental note to self:
Consider anyone who will be working with code I’m writing as a class of user and design the development interface with as much care as the user interface.
Search
Right Now (ish)
- @JeniT congratulations! great work. in reply to JeniT 1 hr ago
- iPhoto Face Detection and Recognition - MS Research had this 8 years ago, but MS couldn't get it into Vista! 1 hr ago
- hmmm, trying to debug (someone else's overly compleicated) code from a long time ago 1 hr ago
- More updates...
Categories
- .Net Technical
- Blog on Blog
- commands I have issued
- Enterprise Architecture
- event
- Fiction Book Review
- Food
- Interaction Design
- Internet Social Impact
- Internet Technical
- IP Law
- Library Tech
- Music
- New Toy
- Non-Fiction Book Review
- Other Technical
- Personal
- Random Thought
- Resourcing
- Security And Privacy
- Semantic Web
- Software Business
- Software Engineering
- Talis Technical
- Uncategorized
- Working at Talis
- [grid::blogpaper]
- [grid::fatherhood]
Archive
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- January 2008
- December 2007
- November 2007
- October 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- September 2006
- August 2006
- June 2006
- February 2006
- January 2006
- December 2005
- November 2005
- September 2005
- August 2005
- July 2005
- June 2005
- May 2005
- February 2005
- January 2005
- December 2004
- November 2004
- October 2004
- September 2004
- August 2004
- July 2004
- June 2004
- May 2004
- April 2004
- March 2004
- February 2004
- December 2003
- November 2003
- August 2003
- July 2003
- June 2003
- May 2003
- March 2003
- January 2003
- May 2002
- March 2002
- August 2001
- May 2001
- April 2001
- January 2001
- December 2000
- November 2000
- December 1999
- November 1999
- July 1999