For much of my programming career I’ve worked for small companies that were in the process of creating their first commercial software product. Usually, the impetus for creating a product was someone’s idea of what would cause a lot of people to spend money. It was never something that the idea person would spend his or her own money on, and the companies in question weren’t rich or mature enough to actually do research that would demonstrate whether or not the financial assumptions were true.
The immediate result of this mode of operation was requirements that could change at a moment’s notice whenever someone with political clout claimed to know what the mythical customer would want. The longer term results included a series of technical successes that did poorly when they were presented to a market that didn’t care and, in one case, entertaining fluctuations in pricing that ranged — as I remember it — between $0.00 and $1400.00, depending on whether “Software as a Service” was in vogue that day.
This brings me to an iPad program called Timely that I’ve recently uploaded to Apple for approval. I’ve specified, designed, and written it myself…just as I have many other programs in my life. Although I’ve asked some people for their opinions about features, what it contains in its first version is what I need.
See, when I’m not writing code, I’m fairly seriously caught up in my hobby of songwriting, singing, and guitar playing within the filk community.
Timely lets me store and display songs in a variety of formats and then accumulate them into overlapping set lists. It estimates set length as I change my mind while organizing one. It should let me stop carrying many pounds of paper when I go off to conventions, practices, and monthly filk circles. It displays songs by automatically scrolling them so that I don’t have to turn pages or compress song notation into a maximum of two pages. It organizes songs alphabetically and lets me make reference notes about them. It optionally plays a note when a song starts for times when I need a cue.
It’s the program I want and will evolve as my needs evolve and as I see more things I’d like it to do.
It has not been written for customers which may or may not exist and which might number between zero and seven billion. I wish I could have written it for all the people who might find it useful enough to buy it. That would have produced the best focus group, but it’s impossible to do and impractical to simulate. Instead, Timely has been written for one customer which, in my experience, is the second-best number.