
Image credit: Greg Westfall under CC by 2.0 license
When I worked at Apple and Claris we had sophisticated usability labs with multiple cameras and one-way mirrors to record every subtle aspect of a user’s interactions. We built and tested prototypes to validated our software interface designs.
As a solo independent app developer I knew the value of these techniques, but I also knew that with my limited resources I couldn’t practice them the same way. What I needed to do was recreate as much of the iterative testing and development model as possible but make it practical for developing my app PatternMusic.

A sketch of the pattern editor from the specification. Pop-out tabs are pretty well developed, but the timeline is at the top.
A product specification was needed to manage a project with the scope of PatternMusic. Usually a specification’s primary purpose is to communicate between team members. That wasn’t a problem I had. But I also knew from experience that such a document was going to be extremely valuable six months down the line when the objectives of the product’s design would no longer be fresh in my mind.