In the summer of 2003 while still working for my first startup I’ve got a “big idea”: social news reader. Imagine something like Google Reader with Priority Inbox and social recommendations. I was thinking about it day and night. I couldn’t sleep and was working through it in my head while lying awake in bed. I’ve got The Madness. “It’s going to be huge!” – I thought. This was the kind of idea you’re supposed to seek venture funding for. But I was in Windsor, Canada, far away from Silicon Valley and didn’t know anything about VCs or funding. So I was going to build everything myself.
In 2003 there was no Google Reader, no Facebook and hardly any RSS feeds. No RSS feeds? Ok, I will have to build an intelligent scraper that can crawl websites and gather news/updates. No Facebook to pull social data from? That’s a problem. I can’t build anything social without the people. I will need users to make it work, and a lot of them. My “big idea” was going to take a long time to build, so I decided to make something simple and give it away for free to attract users. I had some experience with computer telephony, so small desktop app to show caller id was easy enough to develop. 2 months later PhoneTray Free was born.
2003 was a tough year. My first startup was going from moderate success to disappointing failure very fast. I couldn’t do any consulting work because of my visa status. Needless to say I wasn’t making tons of money 😉 I was very close to giving up on startups and accepting a full time job offer. But my wife had a job and we had some savings, so we decided to tough it up so I could continue with my own business.
I was working on my “big idea” and on what was left of my first startup, and people were downloading PhoneTray Free. I started getting emails from PhoneTray users, and they liked my little app. “Hey, I get annoying calls from my ex.” – one email said – “Can your program block calls from him?”. I thought “why not?” and implemented blocking of calls from specific numbers. And it was the feature that everyone wanted. PhoneTray Free was becoming popular. By the end of 2004 I was getting couple hundred downloads per day and tons of emails.
“I like your program and all” – one email said – “but what about us, dial-up internet users? We miss important calls when online!”. “Um, really?” – I thought – “Is dial-up still alive?”. Quick Google search told me that over 65% of US internet users were still using dial-up at that time. But isn’t it a solved problem with modem-on-hold and V.92 standard? Apparently not, as I quickly found out. V.92 standard describes how to implement call detection and modem-on-hold in hardware, but nothing about software or API. Windows doesn’t have built-in modem-on-hold support. There is a couple of modem-on-hold apps provided by modem manufacturers but they only work with specific modems, and most modems don’t come with any modem-on-hold software. Can I add something to PhoneTray to make it work for the dial-up users?
Well, turns out it’s not so easy. There is no standard way to implement modem-on-hold. Existing apps were talking directly to the modem driver using internal API. Undocumented of course. And each modem chipset vendor came up with its own API. Plus some vendors decided not to bother and didn’t implement any API. That looked like a challenge to me, and who doesn’t like challenge? So I got my old x86 assembler books and trusty IDA and started to look into how the modem drivers work. I disassembled several modem drivers, read up on driver development and figured out what I had to do. I had to make my own kernel driver that sits on top of the modem driver and monitors what the modem driver is doing. Then PhoneTray can communicate with my driver and control the modem.
Did I say that I like challenge? If you ever tried to develop kernel mode drivers you know what I’m talking about. Remote kernel debugger, BSOD/reboot cycle, kernel memory dumps… I was having so much fun that my big idea was forgotten :), at least temporary. It took 5 months to make my driver work with all different modems, but in May 2004 the first version of PhoneTray Dialup was ready. It was a product solving real problem for people, and I was going to charge money for it. Sales were slow in the beginning and PhoneTray Dialup had bugs but by version 2.10 it became a solid product and sales were ramping up quickly.
By the end of 2004 PhoneTray Dialup was making couple thousand per month and growing. I became permanent resident of Canada and could do consulting work and make some money. Things were looking up! I went back to working on my big idea, doing some consulting work and updating PhoneTray Free and PhoneTray Dialup from time to time. Then one day I’ve got an email from the owner of small ISP who wanted to offer PhoneTray Dialup to his users. “Of course! Why didn’t I think of it myself?” – I thought – “That’s the whole new market!”. I quickly made a fully customizable version that ISPs could offer as their own software, got another person on board and started selling it. During the next 2 years we licensed it to a couple dozen ISPs. The biggest one was in Saudi Arabia and had 300,000 users.
Our business was doing well and I had tons of things to do. My wife left her job and joined Traysoft to help out. My big idea was forgotten, again. But dial-up was slowly dying and we had to do come up with something else to make money. Over the years I was getting emails from different businesses asking us to develop a custom version of PhoneTray Free for them. I wasn’t going to do that but I wanted to help developers with building what they want. I took the core telephony features of PhoneTray, ported to C#, added some extras and built telephony library for .NET. It became a successful product that accounts for over 50% of our company revenue. And PhoneTray is still going strong, plus we have advanced call management software PhoneTray Pro coming soon.
So here I am, 8 years later, with a thriving small business that supports me and my family. Business that started with a little free app. And my “big idea”? I will make it happen. Some day 😉