In the early prototyping years, our system only fired computer scripted shows. When we decided to offer the system for sale, it was apparent we needed a "Nail Board" functionality. I came up with what I thought was the mac daddy user interface, one button for each shot, organized by addresses. The first comment about how to make it better came about 5 seconds after I showed it to a customer. They wanted to see the battery levels, signal levels, arming state and stuff that they can see on the Show Control tab. "Uh, ok fine, since you are buying everything we made for the entire year." I said. Back to the digital salt mine. I added a panel down the left side with a representation of each physical Field Unit, and on the right kept the logical Field Unit firing buttons. All done. Ship It!
First comment comes in a day later from the God Father of pyro, Don Sparky. Don Sparky is the electrical engineer on the project, and he can send "some guys" to make you appreciate his suggestions better if you know what I mean. (Anyone want to setup pyro next to a guy named Sparky?)
"Could you maybe put a button on each address so it just fires the next unfired shell? I get tired of moving my mouse around and I think people will just load and shoot them in order anyway."
"Cool" I say, "Let me add that button for you". So I hitch the digital horses to the code wagon and start whipping.
Next round of suggestions comes from a demo to one of our distributors... "I like that nail board thing, its Hollisterifical!, but I want to be able to do that while shooting a scripted show. Can I just click on the Field Unit and make the Nail Board for that unit show up on the scripted Show Mode?"
"Yep, I can see it. Let me apply some nose to the digital grindstone and see what I can do for ya."
Well it wasn't long after that and the "most interesting man in the world" let me know that "I don't always put Nail Board units on the Show Mode page, But when I do I want a lot of them and they should scroll."
"Huh, yeah I can see the need. When's this show?" I ask basking in the lazy week the 4th of July.
"3 days" says the most interesting man in the world.
"I see the need, and the need for speed! I'm on it." says I. Ok, maybe I said "in your dreams Levi". But Don said "make it happen cap'n" so I hoisted the digital main sails and weighed anchor.
"The show went great", said the most interesting man in the world, "but I had 3 physical units all on the same address but one of them had some extra shots and when you test the cues, you need to 'Or' the results so they all light up."
First, who knew the most interesting man in the world knew computer sciency terms like Oring? So, I tell him and all his posse, "Er, yeah, testing. I don't always write a usage case and test plan and do a full regression test but when I do it takes more than 3 days! Whatever, yeah, I'm on it." So I lather up the code and grab the digital razor for some trimming down of the rough spot.
And that's the story of how software evolves to become better from feedback. I am amazed at how many different ways our customers use our system, and pleased to be able to incorporate their requests. I hope you find it interesting to see into the digital sausage factory to see how a part of our system evolved over time.