Four years ago, I started out on a journey to build an eCommerce plugin for myself so that I could sell a few of the plugins I was building. A plugin to sell plugins, how meta. As with most of the projects I choose to dedicate my time and energy to, Easy Digital Downloads was built for me by me but in such a way that others could make use of it if they wished.
Today, Easy Digital Downloads is installed on over 50,000 websites, has reached nearly one million downloads, and has grown to a sustainable business that supports the livelihood of an ever-growing team comprised of full time employees and active contractors. I don’t think I ever thought we would be where we are today four years ago. It has certainly been an adventure and continues to bring new challenges and excitement every day. I would like to take a few minutes to look back at some of the challenges, hardships, and triumphs we experienced in getting to today.
Usually in these types of posts, I primarily cover the revenue numbers and other accomplishments. While I’d like to still include those in an effort to be ever transparent, I want to focus primarily on some aspects of this journey that I feel are more important and provide better value to others working on similar projects.
We are all imposters
Easy Digital Downloads has done well for me and my team, I will not deny that. We have seen upwards and continuing success constantly over the last four years. We have consistently grown our team and have managed to stay profitable as we do. Easy Digital Downloads is 100% bootstrapped and fueled by profit. We’ve never taken out loans to meet payroll or cover development investments and we do not plan to change this in the future. We are here and here we will stay. These are facts I’m very pleased to claim, however . . .
We are all imposters. We’re constantly exposed to the success and greatness of others that we place ourselves ever in a shadow of doubt. It is easy to look at the accolades of products and developers in similar ecosystems and compare your own success to them, and in comparison, look sadly upon yourself and wonder where you went wrong.
I watch spectacles like the recent WooConf and am in awe of their success. What is it that lead projects like WooCommerce to be so incredibly successful? I don’t intend to actually try and answer this question because it’s due to many, many reasons and debating their success, or the success of anyone else, is not the purpose of this post, but seeing this kind of success always makes one be a bit introspective.
It has been a true pleasure to watch the team behind Ninja Forms take their plugin from a small form builder that did okay to a truly dominant player in the market. I have watched, and been behind the scenes, as they have gone from a few downloads per day to thousands of downloads each and every day. They recently passed 2,000,000 downloads and are now active on over 400,000 websites. I love to see them excel and succeed like that, but then I wonder why it is Easy Digital Downloads has not reached those kinds of numbers? Sure we have passed 50,000 active installs and are approaching one million downloads, but our growth pales in comparison to Ninja Forms.
How about WP Job Manager, a side project for Mike Jolley? It has more installs than EDD and (from what I hear) has a higher monthly revenue than we have ever had.
It’s incredibly easy to get down on ourselves when watching the success of others fly past us. I don’t mean to belittle what we have achieved as I firmly believe our team has done great things with Easy Digital Downloads and I’m exceptionally proud of what we have produced and where we are going in the future. I do not bemoan others for doing better; no, I applaud them for their efforts and the rewards which they have truly earned.
I am not blind to my own status within the WordPress development community. I am very aware that many look up to me and my team for what we’ve done, so do not think these are the words of an ignoramus or someone that is blind to their own success. I believe it is important to understand that every one, no matter how high they have climbed and no matter how many people look up to them, is susceptible to feeling like an imposter among giants.
A bold face lie would be to tell you that I’ve never felt down or burdened when looking at the success of others.
About a year ago, a friend said something to me that had a great impact on me. He said something along these lines:
You are miles and years behind WooCommerce.
At first I was a bit disoriented. I didn’t really know how to take that. For the last three-four years, I had been working incredibly hard to make Easy Digital Downloads what it is today and here was my friend telling me I had essentially failed because EDD was nothing compared to WooCommerce. We didn’t have the massive customer base they did; we didn’t have the millions in annual revenue; we didn’t have media coverage outside of the WordPress world; we were not even a blip on most eCommerce radars. We were nothing. When he said that, he did not mean it to belittle or criticize our efforts; he was simply pointing out that if we wanted to dominate, we had to get moving and that we should consider partnering with those that could really propel us forward.
It took me a few minutes to (or perhaps months or years) to come to terms with that statement, but once I did, I realized something incredibly important. It did not matter.
At Pressnomics 2016, Brian Krogsgard gave a presentation on the state of business in WordPress. One of his poignant comments was that not everyone wants to be the best or the biggest. Not everyone is striving to win this competition that we’re all seemingly in, whether we choose to or not. The competition of who is the best, who has the best product, who makes the most money, who has the biggest and most badass team.
In response to my friend’s comment, my answer is this:
I know, and that is okay. Our goal is not to be the biggest or to own the market. Our goal is create something awesome and love doing it.
If your goal is to be the biggest or the most badass or to have the most market share, power to you. That’s awesome. I salute you, but that is not my goal and that is not the goal of my team or the goal of our products. Easy Digital Downloads is not the biggest, it is not the best, it is not the most valuable, and all of those things are entirely okay because those are the not accolades we strive to achieve. Instead, we strive to create a great product that customers love to use and one that allows our customers to create their own successful businesses online.
One of our customers told me recently that Easy Digital Downloads had changed his life. He said it had provided him the means to sell his plugin, which had grown to a point where it provided 100% of his revenue and enough to employ several full time team members.
That is the difference that we strive to make. Those are the accolades we are after.
I, and millions of others, feel like an imposter every day. If we allow ourselves to get caught up in that, it will consume us, so remember: it’s not about beating everyone else. Someone will always do better than you, and that is okay.
Own your product or be owned
A few months ago, I published a blog post titled Be a little selfish. The premise of that post was that in order to thrive, both personally and professionally, we all have to be willing to be a little bit selfish and make sure that we are taking care of ourselves. I stated that I felt it was fundamentally important to be ever cognizant that if you or your team is unhappy or unhealthy, you cannot possibly run a company that maintains happy customers, and I stand by that belief today.
Of all challenges we have faced in the last four years of building Easy Digital Downloads, the realization that we had begun to lose control of our product was perhaps the hardest and most painful to deal with. Last summer we began to realize that we had grown too lax with how well we controlled the extensions and developers that we actively promoted within the Easy Digital Downloads ecosystem. We had permitted too many subpar plugins to be published on our marketplace and we had allowed ourselves to become victims of those developers and our own inaction.
Early on, I made the decision to promote Easy Digital Downloads as having an open marketplace that any developer could get their EDD extension listed in. I wanted all developers to have the opportunity to piggyback off of the growing market that Easy Digital Downloads was creating. It made sense to me at the time: we promote other developers and other developers build things for us. Easy win! What I had not anticipated, however, was the severe challenges that running an open marketplace presents. I had no idea that the management, review, and support involved with publishing dozens of plugins from other developers would be so incredibly challenging. Looking back on it, I was clearly naive. How could that not be monstrously challenging?
Three months ago, we made a very deliberate decision: we were here to own our product. We did not set out to provide a platform for customers to set up sites that worked okay; we set out to build something awesome, and in order to do that, we had to take firm control of what we produced, what we supported, and where we chose to exert our efforts.
That decision meant that we were no longer running an open marketplace for any and all extension developers. Today, we still run an extension marketplace for Easy Digital Downloads, but we don’t allow just any one in. We are very, very choosy with who gets a plugin published on our site. Along with much stricter publishing guidelines, we also thoroughly evaluated every single plugin sold through the site and discontinued a large number of them for one reason or another. At one time, Easy Digital Downloads boasted over 300 extensions available in the marketplace. Today it has 164. In three months, who knows. I’d like to see the number go down actually.
Before we chose to take better control of our product, we were fueled by the idea that more is better. More extensions, more options, more choices. These can only be good things. Right? No! WordPress core got it right:
Decisions, not Options
When making decisions these are the users we consider first. A great example of this consideration is software options. Every time you give a user an option, you are asking them to make a decision. When a user doesn’t care or understand the option this ultimately leads to frustration. As developers we sometimes feel that providing options for everything is a good thing, you can never have too many choices, right? Ultimately these choices end up being technical ones, choices that the average end user has no interest in. It’s our duty as developers to make smart design decisions and avoid putting the weight of technical choices on our end users.
By producing every option under the sun and striving for even more options, we were crippling our users and crippling ourselves. What we thought was benefiting us, was actually killing us. We recognized this early this year and took action. To say that making a conscious decision to re-take control of our product made a difference would be an understatement. Since making the first set of changes that lead to better ownership of our own platform, revenue has increased, customers are happier, support tickets are down (and/or easier to solve), and our team’s morale is greatly improved. That’s the definition of a good decision if you ask me.
Highlights and victories
Over the last four years, the Easy Digital Downloads team has had some great highlights that I’m exceptionally proud of. I cannot cover everything, but there are a few I’d like to tell you about.
Since Easy Digital Downloads was first launched, we have experienced nearly constant growth. Each year we have done better than the previous and have experienced monthly growth more months than not. The graph below shows how EDD’s revenue has increased over time:
2015 saw only little growth, and a bit of fluctuation up and down throughout the year, but still ended very well, and 2016 has proved to be on a good path so far.
Revenue by year:
- 2012: $25,500
- 2013: $203,000
- 2014: $489,000
- 2015: $576,000
- 2016 (so far): $194,000
While we have managed to continue the upward trend of revenue through https://easydigitaldownloads.com, the true indicator of our efforts will come in March of 2017. Last month we turned on automatic renewals through subscriptions for every purchase made through our website. This will have a significant impact on revenue next year.
So far this year, only 19% of our revenue has come from license renewals. Because license renewals have always required a manual process by customers, the renewal rate for license keys is incredibly low. While some customers do not renew because they choose not to use the plugins anymore, a huge portion of customers never renew their license keys because it’s a hassle, they miss the emailed expiration alerts, they think “I’ll do that tomorrow” and then forget, or some other reason that results them in dropping out. We managed to increase our renewal rate quite significantly by being much more aggressive with our email and license expiration notification strategies, but even those have only a minimal impact compared to what automatic renewals will have.
Imagine for a moment that a site that requires manual renewals has a renewal rate of 15%. Now convert this to an automatic renewal system, and take a guess at what the renewal rate will be. Hint: it’s significant even on the lowest estimates.
While only time will tell, we expect to nearly double our revenue in 2017 through automatic renewals alone. That’s the impact of automatic renewals through subscriptions.
Transitioning the extension sales to a subscription model took nearly a year’s worth of work and planning, but it was (and will be) worth the effort. As a happy side effect, the work we did on our systems to make subscriptions possible also literally more than doubled the monthly revenue of one of our more popular extensions. Talk about dog-fooding for the win!
Growth is about more than just revenue though. Our download counts on WordPress.org have been steadily increasing as well, as have the total number of active sites. We recently passed 50,000 active sites. The numbers below represent the total at the end of April each year.
- April 2012: 1,585
- April 2013: 83,763
- April 2014: 278,002
- April 2015: 584,058
- April 2016: 994,820
I have no idea how many sites we’ll have running Easy Digital Downloads by this time next year but I am excited to see how far we can reach.
Traffic to easydigitaldownloads.com has also been on a near constant rise.
Something interesting that I had not expected and only discovered when looking at the stats as I was writing this post, is the significant increase in page views and sessions between May and June, 2015. Remember what happened on May 19? Automattic announced the acquisition of WooThemes and WooCommerce. I am not going to dive into hypotheticals or make proposals for why our traffic and page views went up right then, but I do find it super interesting 🙂
Overcoming technical debt
Perhaps one of the most difficult aspects of any long-term project, at least from a developer perspective, is dealing with technical debt.
Easy Digital Downloads has had its fair share of technical debt. It’s a problem that all projects spanning numerous years encounter, but I’ve come to realize that the technical debt in an eCommerce platform is significantly more severe than most projects. This is for a very simple reason: eCommerce platforms are depended on by businesses to keep their business running. Changing things just to get rid of technical debt is simply not an option in many cases. You have to constantly keep old data structures, or API methods, old everything in mind so as to not disrupt businesses’ revenue flows.
If an update for a purely presentational plugin goes awry and affects the display of a site, the revenue of the business may be affected due to unprofessional appearance, but if the update for an eCommerce platform goes awry, sales potentially grind to a complete halt. Obviously this is not always the case as not every update-gone-awry is so drastic, but it is an important lesson to keep at the forefront of every developer’s mind when building eCommerce.
In 2015 alone, we managed to eliminate a huge amount of technical debt that had been hurting our growth, hurting our flexibility, and making it more difficult and cumbersome for 3rd party developers to build on top of Easy Digital Downloads.
Later in 2016, we have continued efforts planned to even further remove some of our technical debt, and that excites me.
Getting great people
In the end, business is about people. Or perhaps I should say great business is about people. While I do not know if we fit in the category of a great business, I do know that we have managed to build a great and talented team around Easy Digital Downloads.
I have never felt qualified by any measure to lead a team but for some reason, these individuals let me keep my job, and for that I am incredibly grateful and blessed.
Today, the Easy Digital Downloads team is spread across four countries and even more backgrounds.
Sean Davis, Andrew Munro, Chris Klosowski, Topher DeRosia, John Parris, Chris Christoff and Phil Johnston are the folks working day and night to keep Easy Digital Downloads running. Honorable mentions go to Sunny Ratilal, Dan Griffiths, Kyle Maurer, Barbara Atkinson, Michael Beil, Spencer Finnell, and Adam Pickering. We also work actively with an ever-growing list of contractors and 3rd party developers to make improvements across the Easy Digital Downloads ecosystem.
These folks have all of my praise and deserve endless thanks. They make me better in so many ways and I’m humbled to get the opportunity to work next to them.
Onwards and forward!
Perhaps the most exciting aspect of the last four years for me, is the realization that we’re only just getting started. At times I feel like I’ve been working on Easy Digital Downloads my whole life, but it’s really been a brief period and we have a long runway in front of us.