10 Lessons Software Developers Should Learn From CCleaner’s Success


By now everyone knows that CCleaner is synonymous with System Cleaning just like Google is synonymous with Search. It is one of the oldest system cleaner out there which was first launched back in 2005. Even through CCleaner had the advantage of launching the first ever complete system cleaner at that time, users must note that the real success comes with various factors(which also includes timing).

What is amazing here is not that CCleaner was the first tool that mastered the art of cleaning but rather the astonishing growth over a period of 6 years. It seems like Google is predicting even further growth for it in 2010.

CCleaner Growth

In my experience(as a tech writer) I have seen the phenomenal growth of popular applications, but after a period of time the growth becomes flat or gradually starts to fall because of tough competition. But it seems that CCleaner has managed to hold itself quite well. In fact, so well that some independent developers out there have stopped the development of system cleaners since they realize that competing with CCleaner is near impossible.

CCleaner logo

So what steps exactly did CCleaner take to become so popular and mainstream? Here are 10 lessons every software developer should learn from CCleaner’s huge success.

Lesson 1 – KISS(Keep It Simple Stupid)

This is by far the best lesson CCleaner will teach you. KISS applies to the product name, functionality, and usability. How easy it is to spell? A letter ‘C’ before ‘Cleaner’ makes CCleaner, simple. How easy is the functionality? All basic functionality is laid down clearly on the main window, simple. How easy is the usability? Dead-simple GUI is one reason why it is more mainstream than other similar tools.

Lesson 2 – Don’t Change The Product Name Later

Most authors make a huge mistake by changing the product name at later stage of development. There are various reasons for this purpose, either they will change the name because the original name was not easy to remember(Read Lesson 1) or because they have coded the whole software with a brand new interface from the ground up(and believe that changing name will lead to it’s popularity).

In both cases above, changing the product name is not the best idea. When the name is changed, not only the existing customers get angry, but all bloggers and webmasters who reviewed the software(before name change) get equally pissed.

Pick an easy-to-remember name and stick to it forever. Changing name at a later stage is like if Google changes the name to Googol and tells the world that this is what they originally wanted, wouldn’t you be pissed?

Update: Read the last sentence above again, “Changing name at a later stage….”. As the commenter points out below, CCleaner first used to be CrapCleaner, but you have to keep in mind that they changed the name sooner than what most developers would do. Changing name when you are starting up is better than changing name later when it becomes too late. Also keep in mind that they chose a much simpler and shorter name which is also one important factor of growth.

Lesson 3 – Update Regularly

Think of it like an Apple App Store, the more update you will add, the more it will appear in the listing, the more people will get to know about it, the more users will download, and finally the more popular your app will become. Except that in this case there is no Apple App Store, rather there are hundreds of popular software websites that keep check on all the latest development of the product.

Users love the software that is updated regularly because it gives them a clear message that the author is quite active in the development. Keeping a timeframe for releasing the updates will also help, for example, make it once every 2 weeks or once a month.

So what exactly is the lesson here? While other software are struggling to support Windows 7, CCleaner is among the first apps that have added support for Windows 7 JumpList. Which gives users another reason to migrate over to CCleaner.

Lesson 4 – Notify Bloggers And Webmasters

No launch is a launch unless users don’t get to know about the software in the first place. Submitting a software to various software portals is good, but contacting bloggers and forum webmasters about it is far better way of increasing the popularity.

Personally I give a much higher priority to the software that are submitted to me than those I find on software portals. Getting mentioned on few popular blogs is quite important since it will get picked up easily by other blogs, followed by word of mouth and mentions everywhere from forums to twitter.

Lesson 5 – Don’t Mess It Up

Once the software is launched, it is no more a testing ground. The developers can only make changes according to what users demand, this is simply because the public will be in much control of the development. Most developers will go as far as changing the whole interface instead of refining what is actually there.

If you want to test a new interface, the best way is to compile a separate new build and ask users to test this new build. So how will users leave the feedback? Either you can make a build-in feedback button or users can leave postings on the forum.

Lesson 6 – No Forum = No Growth

The title pretty much sums it up. Most developers forget to add forums to their website, but have a look at CCleaner’s  homepage. Not only do they provide a clear link to the forums on the title bar, they have also provided a link to the forum at the end of the main page where thousands of users land daily.

Don’t expect hundreds of users to join the forum the next day after launch. The growth always take time, even if two people register on the forum to provide feedback it is worth far more than not providing a forum at all.

Lesson 5 and 6 are parallel to each other. Users will mostly control the development and ask for more features by posting them on forums. If you don’t have a forum in the first place then you have pretty much Messed up the development.

Lesson 7 – Provide Easy Way To Upgrade

If a developer asks users to download the latest version during every latest release, then he/she is either the most dumbest person alive or is mentally retarded in a sense that nobody can define. (Sorry for being sarcastic here)

The last time I remember installing CCleaner was August, 2008 and today it is updated to the latest version, all done automatically. CCleaner has a build-in updater that keeps the software up-to-date. Remember that users want more features and less trouble, adding a build-in updater is a great way to reduce customer headache.

Lesson 8 – Solid Architecture

Just like changing the interface or changing the name of the product at a later stage is a huge mistake, so is the basic architecture. Over time developers have to add various new features and to ensure maximum possible flexibility a new architecture is needed.

Don’t get me wrong. I am not saying that building a new architecture from ground up is a bad idea, Facebook did that, Firefox did that, heck even Google had to do it. My message is simple, if you build a software from the ground up with a brand new architecture, just don’t ask users to download the latest version(and uninstall the previous version). The build-in update feature should do this job.

As an example CCleaner has implanted the automatic update feature so beautifully that even when they did a complete overhaul of the software, users didn’t have to download the new version and remove the previous one.

Lesson 9 – Don’t Get Greedy

Greed. Yes, greed. When a software gets popular, developers get more greedy than ever which technically brings doomsday to their products. Just look at Digsby, they filled every possible crapware, spamware, and malware in their setup file by using shady tactics and now they are sorry for what they did.

Start the CCleaner setup and you will see that it only asks you to install one toolbar(Yahoo! toolbar) and mentions it quite clearly among other options. The steps are also simple, in just three clicks CCleaner will be installed and ready to use.

Lesson 10 – No Success Is Enough Success

Even though the above growth chart by Google Insight is pretty impressive, the guys behind CCleaner must be taking a break by now. But as you can see by visiting their forums, the activity is pretty much in full-swing and the updates are coming regularly. This alone shows the level of commitment of the developers towards CCleaner.

CCleaner Homepage

“Failure is success if we learn from it.”, Malcolm Forbes.

“Defeat is not the worst of failures. Not to have tried is the true failure.”, George Edward Woodberry.