I've been wanting to write for a while now about how business has been going for me, mainly because I see occasional articles on Hacker News about software earnings from independent developers (for example, Patrick McKenzie) but I don't really see the same type of writing over in the Joomlasphere from commercial extension developers (essentially, it's a bit of a mystery how much those companies actually make, though in some cases one can kind of estimate from their userbase and average product/subscription cost).


Before I started selling any software commercially, I had quite a few entrepreneurial tests under my belt:

  • In high school I initially wanted to build desktop computers from scratch because I thought I could do it less expensively and with better quality than the big names (things seem to have gotten a lot better since then, and I prefer a laptop anyways now). I only built about a handful of computers (it probably didn't help I only really wanted to build "gamer" PCs at the time).
  • However, this led to a great idea from my mom to get into consulting and helping others to troubleshoot their computer issues. Earning $40-60 a pop (or more sometimes) was a great way to earn extra spending cash.
  • In my junior year my older cousin called my family up and asked if I'd be interested in taking over a little dial-up ISP business he had acquired, cleaned up, and was looking to sell. It was a sizable investment, and while it earned a good amount of money, at least initially, I'm not sure it ever really panned out money-wise for my parents with me at the helm. It was a really great learning experience for me though, and taught me quite a bit about customer service and dealing with upset customers, billing, taxes, and streamlining processes.
  • Once the dial-up ISP business was no more I took to providing website development services and began to specialize using Joomla and its various extensions. In these cases I'd usually get a client's business to build their site for $500-$1000 (I was still fairly young and inexperienced at the time, plus where I live you can't really charge the rates I've seen others charge for similar work) and then hope to keep their business by hosting their site over the long-term. The only issue with that idea is I never really had a great billing solution for clients to charge them recurringly for hosting costs, and even with my current provider, Rackspace Cloud Sites, I don't really have that option either.
  • I never really liked the drudge of searching for clients (once again, partly because of the area I lived in) and trying very hard to put together a great solution for them, only to see it never really be utilized for whatever reason (be it the client not taking over the reins after the project finished, or their site traffic really wasn't big enough, or maybe communication broke down and needed content and other things were never brought in to complete the project properly).
  • Around this time I began to realize I really wanted to have something a little more stable to rely upon money-wise so I began looking for a position that would help me to: develop more of my programming skills (I've never liked doing the example projects in books and really wanted something more meaningful to develop my skills with, even though I had been reading a lot of programming books at that time and just trying to internalize concepts in my little brain box), allow me to focus on a single organization or website, and provide a nice stable income. It took a little over a year, but in 2008 I finally landed what would essentially be my dream position for my region: webmaster at the local community college.

Since starting that position, I've had a number of great projects to develop my programming skills and build some really neat software on top of the Joomla Framework, but I'll always be learning :-). Most of the projects have been for internal usage there at the college (though I'm hoping to start releasing more of that software on GitHub) but some of those needs for the college provided great insights into various pain points that could be solved via software, one of which led to my first free extension for Joomla named ArtCats. Aside from a few publicly released patches that attempted to add subcategory support to Joomla 1.5, I didn't release much else publicly, but I started studying how others were commercializing their Joomla software.

Particularly, the two main models I saw were: the one-off purchase (you pay once for a particular product and get access to only that one piece of software) and the subscription model where users could purchase a subscription and afterwards gain access to any extensions that were available from that developer. There are other models of course, but those were the two main buckets I used mentally to classify the approaches.

Finally, in summer 2010 I decided to make my first commercial extension and try my hand at what I was seeing others do with their commercial Joomla products. I thought, "Hey, if I can earn enough to pay for my hosting costs, which were a little over a $100 a month, that'd be great!", because at the time my hosting costs were a bit of a financial drain since I wasn't really charging my past customers, even though I was still hosting their sites.

I had a few ideas to start with, but quickly narrowed down to one in particular: a content plugin for the DOCman document and download manager extension for Joomla that would help make listing files from one or more file categories very easy, since a big frustration of mine when using the software was how it didn't allow you to link to a whole folder's worth of files within an article on your website and that seemed like a useful business case that others might be willing to pay for.

Essentially, what the plugin would allow you to do is define a little piece of code where you provided some options such as the categories you wanted to draw files from, the number of levels deep you wanted to delve and then upon rendering the page that little snippet would be transformed into a nice pretty collapsible, sortable table of output that would automatically be updated if you added in new files, removed them, renamed them, etc. I felt this would give DOCman itself a lot more flexibility because it would allow you to embed folders of documents all around your website in various articles (rather than requiring users to visit the DOCman section of your site specifically).

And that's how the idea for the DOCman List Plugin was born!

It tooks a few weeks of dedicated labor, but once the plugin was published on the Joomla Extensions Directory, traffic started to come to the site pretty immediately and I remember how excited I was the day I made my first sale :-).

Sales Figures from 2010 to 2012

Since then, up until December 31, 2012 the sales breakdown has been:

  • 223 Monthly Plan Subscriptions
  • 140 Yearly Plan Subscriptions
  • 6 Lifetime Subscriptions
The total dollar figures (gross) has been:
  • 2010 - $1,469.68 (from mid-August to December 31)
  • 2011 - $3,458.94
  • 2012 - $3,287.16

orware sales report 2012-12-31

If things go ahead and continue with the $3,000+ trend year over year, then it looks like 2013 will be the year I surpass the $10,000 mark.

One interesting trend I'm noting in the sales information above is that the portion of the pie being taken up by the 1 Month Subscriptions has steadily increased:

  • 2010 - The ratio of Yearly to Monthly Subscriptions was ~3.6:1
  • 2011 - The ratio of Yearly to Monthly Subscriptions was ~2:1
  • 2012 - The ratio of Yearly to Monthly Subscriptions was ~1:1

I'm not sure what the correct way to interpet this trend would be, but my first thought would be that maybe I'm not providing enough value to justify the Yearly subscription with my current offerings or perhaps simply the Monthly subscription is a quick, inexpensive way for people to get in and gain access to the software whether it ends up being what they need or not (though most often it is what they're looking for I hope :-).

Expenses and Profit

Expense-wise I would say my primary expenses for the business are the hosting costs each month and the fees PayPal takes off of each subscription ($0.59 for Monthly Subscriptions, $1.47 for Yearly Subscriptions and $6.15 for Lifetime Subscriptions).

Currently, I am grandfathered in to Rackspace Cloud Sites' original pricing of $100/mo (it's now $150/mo) so that's part of the reason why I've gone ahead and kept it. So that's $1,200 right off the top.

For PayPal there's approximately 2.9% I have to reduce the gross amount by because of the fees taken out automatically by PayPal:

  • 2010 - Approximately $42.62 in PayPal Fees
  • 2011 - Approximately $100.31 in PayPal Fees
  • 2012 - Approximately $95.33 in PayPal Fees
There are a few other relatively small costs (I think I pay $6/mo right for Subversion hosting and less than $1 each month for Sendgrid's SMTP Services...which are awesome by the way!), domain renewal fees, etc. but that leaves approximately the following amounts in profit:
  • 2010 Profit = $227.06
  • 2011 Profit = $2,158.63
  • 2012 Profit = $1,991.83
So essentially my first year I was able to break even on the hosting costs, even though I started in mid-August. In 2011 and 2012 though, I've been able to bring home about $2,000. Come tax time, this amount gets reduced a bit further to pay my taxes on the earnings, but overall it's a pretty good amount :-).

Traffic Statistics

The biggest contributor to my sales I would have to attribute to the referral traffic brought in by the Joomla Extensions Directory via the DOCman List Plugin listing page which accounts for over 2,000 visits a year and another 2,000 or so from my free ArtCats listing page.

In terms of other statistics these all seem to be staying around the same range year over year or increasing slightly:

  • 2011 - Visits / 24,022; Unique Visitors / 20,612; Pageviews / 59,516 (100% orware.net)
  • 2012 - Visits / 27,749; Unique Visitors / ~23,549; Pageviews / 58,561 (25% orware.net, 75% orware.com)
*NOTE: I switched domains from orware.net to orware.com at the beginning of April 2012, so I had to combine some of my Google Analytics stats for that one.

Time and Energy

In terms of time and energy I would say it's definitely not a stressful situation (it's a lot less stressful than the dial-up ISP business I used to run, that's for sure).

On a weekly basis I might get a handful of support emails which I try to handle immediately, if possible. I only sometimes get behind if for whatever reason I'm away from my comptuer for an extended time period. Most of these are handled pretty quickly (for example, getting started questions) by providing a quick answer or example for the user that helps them move forward with using the software. Other times the issue might be a bug that needs to be addressed, or investigated more in-depth and that might require a copy of their site for me to use to replicate the issue and take a little more time. Sometimes a new feature is suggested and if I have the time I'll try and implement it pretty quickly if I think it's a great idea or I may wait a little while till I have a few good features to add all at once and do a single release with all of them included.

The primary time draw would be actual development time, which comes and goes in cycles (but each cycle requires a steady stream of hours), especially now that DOCman List is pretty stable. The last major time consuming update was probably when I added in the nested categories layout.

One other thing that consumed close to a weeks worth of time was the conversion in April 2012 of the site from Joomla 1.5 to 2.5, which involved quite a bit of migrating/updating/testing/etc. and moving to a completely new domain (from orware.net to orware.com...special thanks to Ozzie Thoreson who transferred the domain over to me...it was a great present I had been trying to acquire for years!)

It's interesting how you wear different hats when running your own software business (on the one hand you have to think like a regular site developer to get your site in working order, think like a marketer/user to make things as easy to use as possible, and then actually put on your developer hat to develop the software...and also think like a user in that case).

Future Improvements and New Development

One of the goals I had when I sort of went through and redesigned the site in April 2012 and did the move to Joomla 2.5 was to hopefully reduce the number of areas I had to go in and update when I wanted to release a new version of the software. However, I think I can still do a lot more in terms of documentation and providing helpers to new users, which would probably be very useful for people coming to the site looking to make a software buying decision.

The other big area I still want to do more in is simply to add more offerings for my subscribers.

One thing I feel has been getting in the way of new development is simply time, especially since in 2012 I took up a lot of new responsibilities there at my position at the college and just having less free time after work in general. Lack of time is an excuse I hate to use but I do know I need a large amount of uninterrupted to really plow through new development work and sometimes it's difficult to come by.

Another issue has just been a lack of another bright idea I feel really strongly about pursuing like I did when I built the DOCman List Plugin (recently, I have had the opportunity to start working with the 2.0 version of DOCman, which should be production ready in the near future and I'm looking forward to upgrading the DOCman List Plugin with support for DOCman 2.0).

I love it when I had an idea and there's a clear plan for it and I can go ahead and execute on the development.

Another painpoint for 2012 has been the Joomla Extensions Directory which hasn't been especially friendly to me recenlty for new extension submissions. In one case I wanted to submit an updated ArtCats module with a new version number name to distinguish it from the Joomla 1.5 version. In my mind the new one was separate from the old one since very little in terms of code/approach was shared because of the new nested categories in Joomla 1.6+, but that didn't really matter according to the directory rules (even though there were examples of other extensions that had been approved from other developers on the directory that had two separate listings of similar extensions). In the other case I submitted a completely new extension...a little simple image gallery content plugin I had put together and that one had a slight issue (not with the code, but with the text in the description if I remember correctly) so I had to address that, mark it with an X to indicate some corrections had been made and then just waited...and waited...and waited (at the end of 60 days the listing just gets unpublished and you don't have access to it anymore and have to go through the process again). Hopefully things will go better with the next extension I submit :-).

The last thing that's deterred me recently has just been the influx of seemingly new changes to the Joomla codebase and UI that have made me a little slow to try migrating some existing components I have from Joomla 1.5 to 2.5/3.0. Plus newer requirements like unit tests and style checking and breaking builds can kind of scare the bejeezus out of folks just a tad.

Other than that though the door is pretty wide open. I'd love to find a new idea for a project that could benefit a lot of people and either develop that into a SaaS product like the ones I've been reading about, or something that could be sold as an additional software product available to subscribers on my site.

One of the things I really enjoy about writing my own software, whether for work or here with my DOCman List Plugin and other software is that I'm able to make the needed decisions rather quickly and can then listen/respond to feedback from my users and iterate again pretty quickly as needed and actually see my code used in production and make a difference (I think that might be one thing that reduced my Joomla contributions in 2012...though I'm going to be attempting to do so again this year and see how it goes :-)...it's that feeling that you've built things in the past that never made it in, or suggested things that not a wide number of people necessarily needed, but which would have still been useful to have available...I guess for me I like to have that feeling that I'm making a difference :-).

My goal with all of this is to hopefully build up this side business into something a little more substantial that I can then use to invest in other things (like paying off debt, investing in my own home, or just in general to help my family).

Thanks for reading!

I really appreciate you reading all the way to the end...I hope my words were informative and somewhat entertaining!


Comment on this article via the following topic on the Joomla General Development Google Group: https://groups.google.com/d/topic/joomla-dev-general/gulWG9QRjBY/discussion or the following HN post: http://news.ycombinator.com/item?id=5003308