poorly documented feature works. Occasionally, I write custom code and kick myself later when I discover a standard API function that does the same thing.
APIs can also betray you. For a while, my greatest hit was a Facebook Tab Manager plugin for WordPress, which made it possible to use the WordPress editor to create and update content to be displayed on Facebook, as a tab attached to a page. This was a bit of a sensation for a while and had the virtue of letting you use the same tools to edit content for both your website and for Facebook. The reason it didn't last was that Facebook changed the APIs and rules around the use of page tabs so that they became more expensive to create (you had to secure them with an SSL certificate for your web server) and less useful as a free marketing tool (less prominent placement in the user interface and, most recently, no more members-only content for people "liked" your page).
Ah, well, what do you want for nothing?
Legacy Systems Are Created Daily
We see this all the time in the enterprise software world, where the innovative new entrant in any sector is criticized by competitors a few years later for being a throwback to an earlier era. Enterprise architects talk about maintaining flexibility with software that we configure, rather than customize at the code level. Yet any decision we make while coding, configuring, or designing a system is a decision we may regret later -- and find hard to go back and change.
This is as true for the solo developer as it is for the big enterprise or the software development giant. If I took time to go through the old RSVPMaker code line-by-line, I'd find dozens of things to change based on what I know now that I didn't know then. Only problem: I know how many things I would break in the process of trying to untangle my old hairballs.
The Status Quo Is Tough Competition
Suddenly, I feel more sympathy for all the technology vendors I have interviewed over the years who had a product they believed was far superior to the established leader in their category -- and yet getting the rest of the world to recognize its virtues was still difficult.
The Toastmasters website project I've been working on was originally a one-off hack I created for one of these public speaking clubs while serving as its VP of education. I was frustrated by the limitations of the default web hosting platform used by most clubs, which had a nice meeting signup function but wasn't very flexible as a web and social marketing tool. So I created a meeting role signup plugin as an extension to RSVPMaker so we could use WordPress as our content management system.
Now that I have done the work to generalize this into something any club can use, it's clear to me that my offering is a big improvement over the default choice -- which, with its custom content management system, can never compete with all that the open source community around WordPress can deliver. Yet the default choice is still the default choice. While Toastmasters International has never said clubs have to use it, it's the only choice they promote. Just making clubs aware that another option exists is a big challenge, given that I'm relying on word of mouth and social media marketing.
Why am I working so hard to give something away for free? Just for fun, and because it would be pretty cool if I managed to set a new standard even in this little niche.
Finding an actual moneymaking opportunity will have to be my next challenge. Still, I'm not doing badly for a journalism major (or so I tell myself).
Apply now for the 2015 InformationWeek Elite 100, which recognizes the most innovative users of technology to advance a company's business goals. Winners will be recognized at the InformationWeek Conference, April 27-28, 2015, at the Mandalay Bay in Las Vegas. Application period ends Jan. 16, 2015.