With the release of CaRP 4.0 just days away, I've found myself thinking back to the beginnings of Gecko Tribe, LLC, and how CaRP came to be my flagship product. Here's a brief history of my company.
After graduating from San Francisco State University in 1994, I got a job in the Japanese development group at a subsidiary of Apple Computer named Claris (I spent two years in Japan as a missionary and majored in Japanese at SFSU). It was a great job -- I worked with great people and had lots of opportunities to learn new skills. And perhaps best of all, I came to believe that I could succeed at anything I put my mind to.
I started off as a test engineer, primarily working on FileMaker Pro, and later moved into programming, where for a year or so I was the only programmer dedicated to the Japanese version of Em@iler.
But by January 1998, things in the company were changing -- Em@iler was getting cancelled, and my options weren't looking all that interesting. I think the level of independence I'd had working on Em@iler spoiled me for corporate life, so I decided to strike out on my own (not as in "three strikes, you're out" -- at least I hoped not!)
I don't recall for certain what exactly I planned to do other than that I was expecting to do a lot of contract work for a friend of my eldest brother's on a machine vision application he'd developed. But I ended up doing just two projects for him.
Other than that, I poured my time into various random projects that eventually failed: selling t-shirts I'd designed (only one design ever turned a profit), a spam filter (it earned me some spare change here and there, but soon fell behind the technology on the market), and a multi-site online game.
I still think the game was a great idea -- a distributed adventure game that anyone could add a "room" to on their site with their own graphics and other customizations. But I had neither the graphics design nor marketing skills necessary to build critical mass for it, and it eventually fizzled.
I also dabbled in things like creating plugins for FileMaker Pro and iMovie, and did some contract work for my old employer (which had by then changed it's name from Claris to FileMaker, Inc.), Intershop, and various small clients.
At some point, one of my brothers and I created a singles site for members of our church. We had the best technology (and were probably the first to use the terms "compatability profile" and "compatibility match", before eHarmony), but were probably just a little too late jumping on board, and again, didn't have the marketing chops, so the site has never become a major player. It's still limping along, but only brings in a trivial amount of income.
But I did get two very valuable things from the singles site: the first was the HOPE of making enough to keep working independently -- and to convince my wife to let me keep working independently! (the singles site was growing steadily for a while before slumping permanently), and CaRP.
In 2002, when I first heard of RSS feeds, I realized that if I could convert them to HTML, I might be able to find a source of auto-updating content for a news page on the singles site. Both halves of the equation ended up being more difficult than expected: finding a quality feed related to my church (that would be much easier today than it was then), and finding a script to convert the feed.
I looked around at the scripts that were available at the time and couldn't find anything that satisfied me, so I took some simple sample code someone had posted somewhere, and added the features I needed to it (local caching of feeds being the most critical).
I decided to release the code as a free download, partly just because, and partly to pull traffic in to my website. Soon, I started receiving feature requests and tech support questions. The script grew, and eventually I named it "CaRP" (Caching RSS Parser).
Within about a year of releasing the original code, I was getting enough requests for installation help that I decided to start doing paid installations. And within a month of that, on September 19, 2003, I released CaRP version 3.0 in two versions -- a free version and a commercial version with more features. The commercial version was later split into an entry level commercial version named CaRP Koi (which I've since retired) and the top-of-the-line version named CaRP Evolution.
By early 2004, I'd seen enough of the problems caused by the imperfections in the RSS format to start looking for other alternatives. I looked into the effort to develop the Atom format, but soon decided that it was too contentious and created my own. I worked out a number of ideas there, but had continued reading the messages from the Atom mailing list, and eventually started to slowly get involved.
Soon I dropped the idea of creating my own format completely, and for about a year and a half neglected far too much of my own work to help with Atom. Once the format was completed, I pretty much dropped out of the discussion (which had turned to the protocol) and went back to focusing on my own work.
I wanted, of course, to add Atom support to CaRP, but CaRP's code was too tightly bound to some of the particulars of the RSS format, so instead I decided to upgrade another product I'd created named Grouper to give it the ability to convert Atom feeds to RSS. Grouper's output could then be used by CaRP. It was a slightly cumbersome solution, but it got the job done well enough.
I kept planning on replacing both CaRP and Grouper with a completely rewritten application that would shed the limitations of the old code that had been carried forward so far. But with everything I had to keep up with on a daily basis, and new ideas for simpler projects occurring to me on a regular basis (some of which have added non-trivially to my bottom line), progress was slow. Every time I thought I was ready to declare a particular version of CaRP its last, I'd think of just a few more features that I wanted to give to CaRP users, and ideas for how I could work them into CaRP's code would come to mind.
In late 2007, I decided to attend an "offline" event for the first time -- Russell Brunson's "12 Month Internet Millionaire Workshop". Initially, my primary goal was to network with the other attendees. Later I decided that I also wanted to establish a business relationship with Russell himself.
It occurred to me at some point that rather than taking business cards to the workshop, I could burn CDs with a number of my products, some information about myself, and a signup form for my affiliate program, and pass those out instead.
As I was deciding what to put on the CD, I decided that to make the best impression possible, I really needed to have Atom support in CaRP. So I took yet another look at the code, and this time, I realized that there was a way to make it work that wouldn't require as much rewriting as I'd previously thought. So I knuckled down and got programming, and about a week before the workshop, finished CaRP version 4.0 with Atom support and a bunch of other new features.
The passing out of the CDs ended up getting nixed by a member of Russell's staff pretty quickly, so I still have most of those, but I also have the most significant single upgrade that CaRP has ever seen. I'll be increasing the price of CaRP for the first time in years when I release it (now that it has Atom support and I don't need to ask people to buy Grouper too, I'm ready to start asking for closer to what I really think it's worth!) and since it's a major version upgrade, it won't be a free upgrade (though version 3.X buyers will get a significant discount).
With the release of CaRP version 4.0 and a number improvements to my marketing processes, I expect this month to be a turning point in Gecko Tribe's history.
I guess I'd better get back to work!