Back in 2009 I wrote an article for the Microsoft Coding 4 Fun blog, demonstrating how you can intercept the sound of your voice and perform real-time effects in a Skype conversation. The idea of using audio effects in Skype actually came from one of the blog maintainers, Dan Fernandez; I was just interested in creating some audio effects I could use with NAudio.
So I wrote the article, and hosted the source code on Codeplex and thought nothing more of it.
However, a few years later, when I was in discussion about writing another article for Coding 4 Fun, and Dan happened to mention that Skype Voice Changer was one of the most downloaded projects on CodePlex. In fact its been downloaded over 3 million times since I launched it, making it by far my most popular ever piece of open source software.
The success of Skype Voice Changer led me to think about whether I could monetise it. I thought about making a paid version with extra features, but that would take some time, so I opted for the quick and easy option of enabling adverts on the CodePlex project page.
I then forgot about it for another two years, only to be contacted by the ad network asking where I wanted the money to be paid. Apparently I’d been making around $100 per month and hadn’t set up any payment options, so that was a nice surprise.
The ongoing success of Skype Voice Changer prompted me to make a few improvements to the free application (which had originally been called simply TestApp.exe!), and I started to come up with ideas for a paid version, such as adding the ability to record calls and play back pre-recorded sounds.
I was making slow but steady progress on a paid version of Skype Voice Changer when in mid 2013 Microsoft hit me (and other Skype extension creators) with a bombshell – the desktop API would be discontinued. Effectively that would mean the app would no longer work.
Lots of people complained and Microsoft agreed to give the desktop API a stay of execution, but with no commitment to how long it would be available for. All the developer documentation disappeared from their site.
I almost walked away from the project there and then, but through following the entreprogrammers podcast, I decided that if I ever did want to try selling my own product, this would be the easiest option, even if I didn’t know for how much longer it would be a viable product.
So I got to work on making a “minimum viable product”, rewriting Skype Voice Changer in WPF, using MahApps.Metro for the styling (which I made a Pluralsight course about), and ClickOnce for the delivery mechanism (which I also made a Pluralsight course about).
Of course, creating the product turned out to be only a small part of the task. I needed to create a website for the product, which was one of my first Azure deployed websites, and I learned for the first time about buying SSL certificates, and code signing certificates (which was really painful). I also delved into the world of email marketing with MailChimp and facebook advertising. I learned so much through this experience that I made another Pluralsight course, on Creating and Selling a Digital Product.
So finally I was all set up to sell online, and the sales were slow and steady. I’ve already shared that in the first year I was trying to raise £3000 for a charity, which I just about managed with a bit to spare. Over the next year sales continued to rise very slowly and I again managed to raise £3000 while covering my costs.
However, I was still at the mercy of Microsoft, and every now and then they would release a version of Skype which in some way broke my application. I get user errors automatically emailed to me, and last month it got to the point where I was receiving around 20-30 error submissions a day, mostly due to a Skype error that was outside my control (it won’t let you intercept audio in group calls).
Despite this, last month I was averaging just over a sale a day. Until all of a sudden, a week ago, sales dried up. I tested the app on a few computers and my fears were confirmed – the latest versions of Skype completely refuse to intercept audio on any type of call, making my application useless.
Of course, I always knew this day was coming. Microsoft have wanted to phase out the desktop API for a long time, and they want to push everyone to a new UWP version of Skype which will also not support the desktop API.
So this means I need to wind this project up. Unless Microsoft restore the broken functionality in the next few weeks (which I doubt), I’ll have to close down sales. I might open source the application, although it won’t be much use to anyone.
Overall, I can’t complain about how well I’ve done through the project, getting an article fee, seven years of advertising revenue, sold a few hundred licenses, and created several Pluralsight courses about the technologies I’ve used or learned while developing this application.
Most importantly, I’ve learned a huge amount through this experience, tackling a wide variety of different technologies and also venturing into the world of sales and marketing for the first time.
Creating and selling a digital product has been a fun and challenging journey, and I’ve got a few ideas brewing for what I might build next, so watch this space for details.