At this time three years ago, I released a small eCommerce plugin to the world called Easy Digital Downloads, and now it’s anything but a small plugin. During the last few years, I have had some of the best highs of my life, and a few of the deepest lows. For my own reflection, I would like to look back at a few of hardships and a few of the peaks I encountered along the way.
First, I cannot thank enough the team of people that have helped propel us to where we are today. It may have started as a one man journey, but it was only that way for a short while. Today the Easy Digital Downloads team consists of four full-time developers and support staff, two part time support staff, and two very active contributing developers, and on May 1 we are bringing on another full time team member to manage documentation. To each of these individuals, I must express my most sincere gratitude for believing in the platform, trusting me to lead it, and sticking along side the rest of the team through good and bad. Without the hard work of everyone on the team, Easy Digital Downloads would only be a shadow of what it is today.
Growth of a code base
Easy Digital Downloads began as a relatively small plugin. but over time it has grown significantly. In terms of the code base alone, comparing the first beta version to the current release shows just how much has changed over three years. The interface has changed significantly over three years as well:
When first released, EDD contained 8,085 lines of PHP. Today, EDD has 64,195 lines of PHP. That’s nearly an 800% increase.
With a larger code base, managing bugs, features, and backwards compatibility becomes an ever-increasing challenge. Heavily relying on GitHub for our issue and development tracking has made this task exponentially more manageable.
It is not just about code or UIs, however. Easy Digital Downloads has grown in so many more ways.
At launch, there was just a hand full of add-ons available. Four to be precise. Today, there are over 230 add-ons available, with over 200 of those being listed on our own site.
Of all aspects of the platform that I expected to be challenging, managing add-on submissions and development was not one of them. I was so incredibly wrong. Perhaps it was because I had never personally managed large numbers of plugins for other developers. Perhaps it was because I was naive. Perhaps it was because my ego got in the way. Whatever the reason, as EDD grew and more developers became interested with submitting extensions to the site, I found myself in a challenging position. There were dozens of people submitting ideas and finished extensions, yet I had no way to track them. My tracking system was my inbox, which very quickly got out of hand.
Over the course of the first year, I succeeded in implementing a better management system for extensions, thanks to the suggestion of one of our very first outside contributors, Chris Christoff. We still use the same system for managing extensions two and a half years later.
The critical security flaw
After learning first hand that managing large numbers of extensions was challenging, I had the opportunity to experience the extreme anxiety and self-loathing that can come with discovering a severe security vulnerability in your code base that affects thousands of websites.
On Valentine’s day, 2013, I was notified of a critical security flaw in Easy Digital Downloads that made it possible for someone to gain full admin access to EDD sites that were running a specific configuration of settings in the plugin. Exploiting the flaw was trivial and required no special knowledge of typical exploit methods. With the click of a button, any unauthenticated visitor could become a full admin.
Realizing that flaw was out in the wild was terrifying, and I hated myself for allowing it to happen. Suddenly I was faced with the very real possibility of being the person responsible for the compromise of a large number of sites. To say that I slept poorly that night would be a vast understatement.
In retrospect, we handled the flaw well. We had the flaw fixed within 30 minutes of discovering it and immediately released the patch for it. We followed that up by immediately notifying Sucuri and putting a policy in place that we could not assist any users with issues on their site until the update was installed. We personally handled the update for anyone that was reluctant to update. It was critically important that the flaw be erased from all active sites.
When that happened, I was also reminded of the tremendous support I have from my wife. The flaw was discovered on Valentine’s day, which also just happens to be her birthday and our engagement anniversary. She wasn’t too thrilled with me sitting down at my computer at 11 PM just as we were about to enjoy our Valentine’s evening, but she understood the severity of the situation.
Burdens of increased revenue
Since launch, Easy Digital Downloads has gone from just an idea and personal project for my own site, to a business with $25,000 in annual revenue, to a business with $500,000 in annual revenue. The growth we’ve seen has been awesome and is a huge source of pride for me, but it hasn’t been without its own challenges.
When you start bringing in more revenue, people and institutions start caring a bit more about what you do. For example, a business that brings in less than a minimum wage job each year is highly unlikely to ever be in the sights of the IRS auditors, but one that is bringing in half a million each year is a nice, juicy target.
I have never been audited, but realizing that there was a much higher likelihood of it happening with the revenue increases, I knew it was going to be important that the bookkeeping be up to par. While I’ve always been a do-it-myself person, this was one place where hiring a professional was the only right decision. Likewise, hiring a professional to handle all of the business taxes was equally, if not more, important. I almost learned this the hard way by trying to do the business taxes myself, only to discover that (according to my erroneous calculations) I owed the IRS $120,000.
In EDD’s first year and a half, every dollar the platform earned was earned in my name. When EDD earned only one or two thousand dollars each month, this wasn’t that big of a deal, since that was in line with what a freelancer often makes monthly. Once EDD started earning $10,000, $15,000, $20,000, and even $50,000 per month, however, keeping the revenue in my name was a horrible idea.
To the IRS, Charles Williamson went from earning a few thousand per month to earning over $200,000-$300,000 thousand per year. Red flag!
This is when the importance of setting up a corporation and making sure the business was properly licensed in my state became painfully clear.
Opportunities to change lives with increased revenue
Of all reasons to be happy about earning more, the one I like the most is the excellent set of opportunities that open up. There are countless amazing things that you can do in this world without a dime, but there are many others that take a significant amount of cash.
I’m not talking about expensive cars, luxury vacations, fancy houses or anything of that nature. No, I’m referring to the opportunities to change peoples lives.
Through the growth of Easy Digital Downloads, we have had the opportunity to witness first hand the influence it has had on people. I would like to briefly look at a few of the many examples.
According to Sean Davis, EDD “turned my whole world upside down (which is really right side up)“. Before joining the Easy Digital Downloads team, Sean was making really awesome themes, plugins, and tutorials through SDavisMedia, but still struggling to make ends meet. Now, Sean is able to be assured that his bills are covered, some is put aside for personal investments, and he can actively pursue his deep love of racquetball.
Chris Klosowski worked a well-paying job at GoDaddy for six years prior to joining Easy Digital Downloads as a lead developer. Having the freedom to spend time with his wife, son, and second child arriving in August, however, is invaluable to Chris. By joining us on EDD, Chris is now able to work comfortably from home and watch his son learn to talk, grow, and interact with others.
Chris Christoff was in high school when he began contributing to Easy Digital Downloads, and like most high school and college students, lived on a tight budget. Today, Chris is in his final year at the University of Florida and able to live comfortably due to the success of several of his widely popular extensions. Unlike an unfortunately large percentage of colleges students who have no jobs or careers lined up when they are finished with school, Chris has already created a permanent position for himself with Easy Digital Downloads through his own ambition, success, and expertise. For Chris, the real gift is “the knowledge and the ability to use the platform to empower myself and others to do remarkable things for not just our community but many others.”
For Andrew Munro, Easy Digital Downloads allowed him to quit client development and pursue his love for building plugins and contributing back to larger projects, and it provided the base for a new, full time job building AffiliateWP.
Dan Griffith had been homeless for five years when he began participating in the Easy Digital Downloads community. By actively contributing to EDD itself, building extensions for the EDD marketplace, and joining a development community that openly welcomed his suggestions and improvements, Dan was able to move off of the streets. He now enjoys the freedom of being able to travel the country to frequent WordCamps and other conferences, and is still an active participant of the EDD development team.
These are just a few examples of how EDD has helped change the lives of people all around the world. There are so many more than this, both within the Easy Digital Downloads development community and in our vast community of users that are building out their own stores and changing lives through their own businesses.
If EDD has impacted your life or the lives of others around you, we would love to hear about it.
Realizing just how much impact this little project has had on the world is reason enough to keep improving the platform. The more we build, the greater the impact we can have on the world.
A lot of progress has been made in the last three years, but there is always so much more to do. There a new projects, improved features, bugs, partnerships, and so much more. Easy Digital Downloads is three years old today, but we’re just getting started. There is so much more growing to do.