“And a swimming pool would be nice.” That’s how a long conversation with my wife ended.
It started with a discussion about the merits of software development compared to … yard work. Yes, yard work. I tended to favor software development, while my wife was all about sprucing up the yard.
Let’s back this up about six months and I’ll put the discussion in context.
Bits of history
I spent a whole lot of years in the software business. I started the first dedicated HyperCard-related company (think plugins, but for a product waaay before WordPress), sold a database engine I created to Macromedia (which later became part of Adobe), and built a CMS six years before WordPress was created that eventually served 2.6 billion Web pages. That CMS powered the ZATZ online magazines (you can see the full archive of almost 75,000 articles here on this site).
But about seven or eight years ago, I wrote a book that changed my career trajectory. It wasn’t my first book, but it was the most visible. I did an in-depth investigation into missing email messages at the Bush White House (think Hillary’s email scandal, but the George W. Bush version). That investigation turned into a book, a whole lot of speaking engagements, and — eventually — a career change.
I had been running startups for almost 20 years, and, quite frankly, I was ready for something new. Another book, How To Save Jobs, followed Where Have All the Emails Gone?, I was invited to write a political analysis column for major news network, I got the opportunity to teach at UC Berkeley, and I advise, teach, and write on behalf of CBS Interactive and ZDNet.
Today, my day job consists of coordinating with teams, rather than managing them. I have students rather than employees. I’ve moved from founder to advisor, publisher to columnist, and manager to professor. And I love it.
One of the ways I stay fresh and sharp is by doing what I call side projects. Essentially, a side project is a project with a tangible, measurable goal that is not part of your normal work activity. I wrote a full article on this for ZDNet, and you’re welcome to read it.
A new project
Back in March, I was looking around for another side project (I had just finished writing a very academic research paper on learning and retention for online video), and I wanted something about as far away from academia as I could find. I decided it was time to freshen up my programming chops.
As it turned out, a very nice donations plugin I had used when helping a nonprofit was being put up for adoption. In the WordPress world, there’s a way to avoid just dropping support for plugins, and that’s offering a plugin for adoption, which essentially means the original developer turns over the responsibility and management of a plugin to a new volunteer.
That plugin was Seamless Donations and it was the perfect side project for me. It needed quite a bit of coding to meet the needs of its current and very active user base (all of whom relied on it to do some very good work). The project was almost entirely coding, and not a single APA-reference (the very odd and stilted format for academic paper resource references) to be found. It was glorious.
There’s one thing about side projects, though, and this brings us back to my discussion of yard work. Side projects are done outside the scope of the day job, which means they’re mostly projects done between big day job work projects or on nights and weekends.
Nights and weekends are, officially, family time. Now, we don’t spend every night and weekend together. My wife has a wide array of interests as well, and so when she’s doing her thing, I can tinker with my side projects. But we also have time together, and we have our own family projects, one of which turns out to be the yard.
A few years ago, my wife and I bought a fixer-upper and transformed the house into a very cool home. I even managed to run Ethernet cabling into almost every wall of the house. Geek win! Once we got the inside of the house in order, it was time to work on the outside, the yard.
Now, let me tell you something about me and yards. I’m not big on yards. I did my time hiking in the woods as a kid, climbed mountains, earned my Eagle Scout award. But shortly after I got my first credit card, I discovered hotels and room service, and realized I didn’t have to live in a tent when traveling. Fresh squeezed orange juice brought pool-side on request was much more civilized. Since then, the whole outside/nature thing has not really appealed to me.
My wife, on the other hand, wants a nice yard. That means, as a good husband, my job is to spend weekend days mowing the lawn, lugging pavers, discussing things like wild-flower gardens, and otherwise doing things that involve nature being dirty. So not my cup of coffee.
When I adopted Seamless Donations, I talked her into letting me take April, May, and June off from yard work, and spend my weekends coding the plugin, bringing it up to the point where it was extensible and modern, supportable for a new and growing group of users.
But the yard project didn’t stop. Instead of relying on the power of the “Honey-do,” my wife had to hire some yard workers to come in and do the mowing, the lugging, and various assorted other outside tasks. While not enormously expensive, it did prove to be substantially more costly than feeding the old man peanut butter smoothies, iced tea, and pizza.
Once July rolled around, it was time for me to be helpful again. We just couldn’t justify spending on yard services so I could take time off and work on a volunteer, pro-bono support project. I’d gotten Seamless Donations to the point where it would only take a few hours a week to maintain and support, and that didn’t cut into family yard project.
The most popular donations plugin for WordPress
Except, here’s the thing. Once Seamless Donations started to get active support, it started to grow. When I adopted it, it had about 54,000 lifetime downloads. Six months later, that number is well over 102,000. There are more than 10,000 nonprofits relying on it for their lifeblood of funding, and Seamless Donations is now the most popular donations plugin for WordPress.
Users want more. Every day, I get emails and support postings from users wanting more and more features. Features like better Thank You pages, a better way to set up the donations form, more capabilities for funds, new payment gateways, per-person funding limits for political campaigns, and on and on and on.
Each of these requests is doable. I designed the updated Seamless Donations to be extensible for just this reason. I expected users would then go off and build their own add-ons. But nonprofits aren’t populated by a lot of programmers, so the requests keep coming in to me to add these capabilities.
By September, that led to a quandary: do I take the time away from the yard project to do these add-ons, or do I just support Seamless Donations as it is, even though there are nonprofits out there desperate for more features?
Add-ons for Seamless Donations
And that, after a long round-about chat about yard work, brings us back to the discussion I was having with my wife at the beginning of this note. She doesn’t mind my avoiding yard work in favor of improving Seamless Donations. She knows I quite measurably dislike digging in the dirt, and quite enjoy coding.
That said, she was concerned that hiring yard services to help her pick up my slack would wind up tapping into the family budget, and she couldn’t see doing that for a project that was fundamentally a pro-bono give-away to the nonprofit and WordPress communities.
Eventually, we arrived at a compromise. If I sold add-ons for Seamless Donations, and those sales covered the cost of the yard services that would have to be hired to pick up my slack, I could keep programming Seamless Donations on weekends and in my spare time, and she could keep the yard project on track as well.
So that’s the deal. I’m not starting a new software company or otherwise trying to create a startup. I don’t expect revenue from WordPress plugins to have to support a team of employees scattered around the world. Frankly, I’ve done the software startup before and I have no inclination to go there again. I don’t want to manage developers and sales people and support people.
Frankly, I’m getting a lot of juice talking to each of my users directly, having hands-on with code, and making all of this a personal, productive, rewarding relationship.
But I’m going to start making add-ons and charging a small, fair price for them. The first one is Thank You Enhanced, which adds features to the donation completion process many of you have asked for. The money from these add-ons is earmarked specifically for our yard project, so I’ll be working with you on a much smaller scale than some company that has to justify teams of employees and a balance sheet to some investors.
That’s not to say I won’t take your purchases seriously. I know every penny a nonprofit brings in is particularly valuable and has to be used in the most productive way possible. Any Seamless Donations add-on you buy will have a full 30-day no-hassle refund policy, along with automatic updates, complete video tutorials, and ongoing support.
Core development will continue as well. Concurrent with Thank You Enhanced, I’m releasing the ninth update (4.0.9) to Seamless Donations since June. This release adds support for the licensing infrastructure for add-ons, a tweak that allows some menus to tuck under others, and a Portuguese translation (thanks to Daniel Sousa), as well as bug fixes.
I’ve mapped out plans for an initial set of three or four add-ons, and have a very long list of follow-on projects, based entirely on your requests. We’ll see how it goes.
As my wife put it, if I can cover the lawn project expenses with add-on sales, I can keep building new add-ons and spend what would otherwise be “burst-into-flame” time in the Florida sun in the safe glow of my development machine’s monitor, I will.
We ended our conversation with my wife telling me she’d like the add-on sales to do a bit more than just cover the lawn service expenses. “And a swimming pool would be nice.”
Clearly, I’ve got a lot more programming to do.