Are you interested in selling large PHP applications on CodeCanyon? Then this post if for you!
The Ultimate Client Manager (UCM) has been a pet project of mine over the past three years. With 75000 lines of code (and growing every week) it is up there with some of the largest applications I have ever created. This post contains a quick overview of my application features, along with it’s brief history and future plans here on CodeCanyon.
This will help answer some questions others have about selling their own large PHP applications on CodeCanyon.
Brief CodeCanyon history:
Back in 2009 I created a small in-house application for the simply recording customer website details (FTP and Email passwords). After doing some research I found that hundreds of freelance web developers were in need of a simple system like the one I had just created. Bingo! Time to sell it.
CodeCanyon appeared shortly after I created my first UCM release. The hype around this new marketplace excited me! Finally an “eBay for Code” backed by a company who really knew how to sell digital goods. The signup process was painless, and my application received a HUGE amount of exposure straight away (~200 unique viewers per day). I was soon receiving an enormous amount of feedback, countless feature requests, bug reports, complaints and praise from happy customers.
Three years and 1400 sales later (1+ every day!), the success of this application has exceeded all of my expectations, and then some. There is absolutely no way I could have received same level of exposure (and sales) if I had tried to sell my application on it’s own.
A bit about the UCM application:
The Ultimate Client Manager has gone through quite a bit since its first release. Below is the current feature list “summary”.
- Website Details: record unlimited fields against a website (eg: ftp details, analytics details, domain login details, cpanel login details, email passwords) for easy retrieval at a later stage.
- Ticket Support: Customers can send in support tickets, ticket ID numbers, support queue, ticket status, send/receive via email.
- Customer Management: store notes against customers, keep customer records (phone / address / etc..)
- Jobs: Create a job (eg: build a website) and record tasks against that job.
- Invoicing: Invoice the customer for completed tasks in a job. Take invoice payments online. Record when payments are made and get overdue reminders.
- Recurring: Recurring notifications for web hosting, domain name and other renewable customer invoices.
- Security Options: easily fine tune which users can view, edit, delete or create records in different parts of the system. Choose which jobs or customer information staff members can see.
- Import/Export: ability to import and export most data from the system via CSV.
- Configuration Area: adjust settings for pretty much every part of the system straight from the settings area.
- Automatic Updates: very easily update to the latest version of the system straight within the application
Plugins: a growing list of plugins to extend the features of the base UCM system (more info)
- Newsletter System: send out professional looking email newsletters to your customer base. Track open rates, unsubscribe rates and bounce rates. (more info)
- Mobile Device View: transforms your entire UCM system into a mobile friendly website when viewing from your mobile device. Great when you’re on the road and checking up on things. (more info)
- PDF Invoicing: ability to generate a nice PDF version of your customer invoice, and mail it to the customer directly from the system (no saving the PDF to your desktop and attaching it to a separate email). Once invoice is paid, you can email them a PDF receipt. (more info)
- Finance Manager: Basic finance tracking. Track your income and expenses. Schedule recurring or upcoming expenses and get reminded before they are due (eg: internet or phone bills). Great tool to manually gauge how your earnings will look in the coming months. (more info)
- Email Support Tickets: This plugin collects support emails (eg: firstname.lastname@example.org) and imports them into the UCM system under their customer account. Tickets are assigned an ID number and placed in a queue. (more info)
- See website for more upcoming plugins.
The UCM system has gone through 2 major code re-writes and has received countless new features as requested by the community over the years. Here is the current code count as of April 2012:
:/qnap/envato/ucm/dev/$ wc -l `find . -iname "*.php"`
:/qnap/envato/ucm/dev/$ sloccount .
Totals grouped by language:
php: 75641 (100.00%)
generated using David A. Wheeler's 'SLOCCount'
Future plans for this PHP Application on CodeCanyon
This is where it gets exciting! It’s time to up the game and take the UCM system to the next level.
Recently I have started developing new features as UCM plugins, rather than adding additional functionality to the base system itself. Users can purchase these new plugins to receive any additional features they require. These plugins are advertised by CodeCanyon, and also new plugins are shown with the UCM system itself (see below).
Building out the base application like this creates your own little CodeCanyon ecosystem. This is something I encourage all CodeCanyon large application developers to do!
Creating plugins for a base system also keeps the base system from getting clogged with features that many users may not ever use.
Q: “But how do you make ongoing earnings?”
This is the question most “big app” creators have asked me when considering selling on the CodeCanyon marketplace (vs. selling via their own website). In my opinion this is the single biggest hurtle holding back large application authors from the CodeCanyon marketplace. All CodeCanyon items are sold as a one-off purchase, with free ongoing updates provided to the buyer. Whereas most other “big apps” seem to be sold via a subscription model (eg: month by month payments).
The argument for CodeCanyon simply comes down to exposure. A new application (like my UCM system was in 2009) would never receive the amount of exposure if it was launched on its own website. The income potential from one-off purchases via CodeCanyon (due do the exposure of items) greatly outdoes any subscriptions a new application would receive out in the wild.
Q: “No really, how do you make ongoing earnings?”
Saying that you’ll earn more from one off purchases vs. subscriptions still doesn’t go down well with most developers. So below are some ideas from other authors about how to make ongoing earnings after the initial buyer purchase on CodeCanyon.
- Offer paid support for the application
- Offer a paid “installation service” for the application
- Accept donations for ongoing development
- Offer custom development services for tweaks to the application
- Provide a hosting service for your application
- Create additional plugins for your base application, and release them as additional CodeCanyon items.
- Create additional plugins for your base application, and release them outside of the CodeCanyon marketplace for a higher fee or on your own subscription model.
I hope this quick overview of my UCM system and its history on CodeCanyon can help convince other large application developers to sell via the CodeCanyon marketplace.
Please feel free to ask any questions below!