Published Jan 06, 2019
From some forgotten month in 2004 to March of 2006, I spent spare hours developing a media management application with a number of novel features. Convinced this innovation must equate to financial success, I left a salaried position to work full-time developing the product I thought would become a household name.
The first problem encountered on the road to making the product a household name was the name itself: Media Purveyor
Yikes! As a name “Media Purveyor” fails to be unique, exciting, or informative but excels at conveying an odd combination of boring, pompous, and vaguely creepy. I wish I could remember what I was thinking but I doubt I was thinking anything at all (an absence of any thinking is probably the most pervasive thinking error). I was an “engineer” and thought the name unimportant. Didn’t the The Bard have Juliet say “That which we call a rose By any other name would smell as sweet”? Perhaps. Even still, no one will buy roses labelled “Squelchy Stink Blooms”.
During the process of developing the product I learned many other valuable lessons but these lessons were not learned sufficiently early to save the venture. I ran out of my own money (never solicited VC) and returned to collecting a paycheck solving problems for other people who had done the hard work of finding paying customers and inventing good names.
A few days ago I found a copy of the Media Purveyor v2.9 installer (v3.4 or so was the last version) and decided to fire it up on my Windows 10 computer. I was shocked by many things. If you have a Windows OS I invite you to give it a try: Media Purveyor v2.9 Download (NOTE The uninstaller does work.)
First, I was shocked the application worked on a modern OS in 2020. Well mostly worked. One dialog popped down under a window rather than popping over so that I had to use Alt-Tab to find it. Also the application threw an error on exiting.
Second, I was impressed by how much is comically and avoidably wrong with the user experience. We’ll start with the hyper-animated title screen: You cannot tell from the static image but trust me when I tell you the water is… um… undulating is probably the word. Inside the transparent sphere you will spot small red, green, and blue spheres. These three orbs both spin and move in and out like a nauseating carnival amusement. Why are they doing that? I don’t know. I coded the effects but I honestly don’t know why. I do know that you score in the 90th percentile for stomach constitution if you can stare at this screen for longer than 45 seconds without losing your last meal.
We move on to considering the main media browser screen. The image is scaled so it might be hard to tell but there are between 11 and 14 bazillion indicators, widgets, doodads, and things to press, click, slide, and twist. Almost every single surface can be right-clicked to reveal a dizzying array of additional options. Hovering over almost anything brings up a tooltip which is closer to a tool-novella. It is a kitchen sink interface with no sense of priority, proportion, weight, balance or flow.
That leads to the third major shock, and I apologize profusely if this has turned into a humblebrag, but I was proud of how much functionality had been built in the roughly 2,400 hours spent on development (another 800 hours were spent on marketing, help system / training materials, and customer support).
Remember when I claimed the application had some novel features that set it apart? Well none of the functionality listed above is really it!
Media Purveyor (ugh that name!) has one neat trick: it can read/write metadata from/to many different types of files without otherwise impacting the file contents. So what? Well it builds on that one trick to provide
Ultimately, the value proposition consisted of portability, support for decentralized peer-to-peer sharing, and search by cross-cutting concerns (rather than organization by hierarchy).
I added features which competitors had (feature envy) rather than concentrating on this unique set of value propositions. In so doing, I squandered my competitive advantage by burying the unique value underneath a mountain of superfluous features that were probably better implemented by my competitors. I frequently see Product Owners struggle with this. It takes a certain boldness to believe enough in your product vision to have the courage to say “No, I won’t do that.”. My personal lack of conviction
I learned to respect all of the roles in the value chain; listing just a few here
Not only did I learn to respect every role in a software organization but I learned the syngergy of communication.
When I began developing the product I would typically start with UX design or the Technical design of feature I thought would be awesome. This was a disastrous strategy.
By the end, I would consider every facet of the chain in determining what features to build