We are the 1%, building Joomla for the 99%
I love Joomla, I love the power and flexibility that Joomla gives me. I love the way that I can customise everything in Joomla.
I read the documentation. I update everything as soon as possible. I take automatic backups daily. I customise every little thing that I can. I am the 1%.
Chances are that if you are reading this then you are part of the 1% as well.
We need to be honest with ourselves
99% of web site owners just want to get something online quickly and easily. They don’t want to be bothered with backups, they don’t want to customise every last option and they certainly don’t want to be logging in to their web site daily just to see if something needs to be updated.
The 99% will build a site and that’s it. They might occasionally add a new piece of content but just like the brochure they sent to the print shop they want a low maintenance web site that just works. Joomla is for the 99%.
We’ve forgotten that. We get excited by all the bells and whistles. We spend hours tweaking and modifying each and every parameter and option. We are the 1%.
Don’t touch it
I am certain that there isn’t a developer amongst you who doesn’t create sensible default options. You do that for the 99%. Changing the options is for you and me. We are the 1%.
When I train a newcomer to Joomla I always try and instill in them that they should forget about the options and if “Brian didn’t say to touch it, they shouldn’t”. But is that really the best way?
If you have created sensible defaults why do you even show these options to the 99%. They don’t care about them, they get confused by them, they make a change they don’t understand and break things. Those options are for the 1%. If we need to change an option I am sure we can find the button that says “Configure Options” but please don’t put them all on the screen at once for everyone. We are the 1%.
The big kiss
“Keep it simple for the stupid” should be at the front of our minds every time we consider adding an option. Adding an option for everything is not for the 99%. Sometimes its not even for the 1%.
How many web sites want to display detailed information (date, author etc) about the content or offer the ability to print or email it? Not many corporate brochure web sites that is for certain. But have you ever counted how many check boxes you need to tick to achieve that? Let us keep it simple and have two options. Display details on and display details off. Keep the fine tuning to the hidden advanced section for the 1%.
Just three clicks
For years people have said your content should never be more than three clicks away. The same should be true for any task you want to perform on the site. If you make the 99% think about what button they should press and what options they should tick then you’ve developed it wrong. All those advanced options are for you and me. We are the 1%.
We tell everyone to make sure they have backups of their web site. But if we really want the 99% to do that then it should be a one click process. Click on Backup Now. Wait for the backup to take place and confirm where you want the backup to be saved. Only the 1% will ever need something more than that. For the 99% we have to hide those options.
What do you want to do today?
If on the rare occasion that you decide to update your web site and you actually log in to the admin interface do you really want to have the screen filled with “update me now” messages.
Do you really want to be spending the next 30 minutes doing updates? Not even the most ardent fan of Windows will say yes to that when all you wanted to do was to correct a small typo that should take you under a minute.
Wait, is Brian saying we shouldn’t tell people about updates, surely not. That’s exactly what I am saying.
Updates should take place silently in the background and pushed to the web site as and when needed. Not just urgent security updates but all updates.
But didn’t you say automatic updates were bad?
Yes I did but I fell into the trap of thinking I was part of the 99%. I am not and neither are you. We are the 1%.
This requires a change in mindset
When was the last time you had to set an option in your browser or word processor just to get it to work? Never! Why - because the defaults are sensible and work for the 99%
- If your option has a sensible default then you can hide it from the 99%.
- If your option has no default then go back and make sure it has one.
Every time you add an option to your code. Think again - do you really need it. Can I create this code with less options. If that option is only for the 1% do you even need to bother, perhaps not - it depends.
I’ve said before that automated updates are bad and explained the reasons. Today I am saying those are not valid reasons. They are excuses for accepting bad development practices.
If an update requires post update actions to be manually performed go back and think again about what you have written. You can and must write better code.
If an update has the potential to break your existing code and kill the web site then go back and think again about what you have written. You can and must write better code.
It’s not easy
None of this is easy. There will be some pain points to go through to achieve this. But that pain is for us the 1% it is not for our users, the 99%.
Think of the rewards
- 99% of your users will be able to use your software without asking for support or breaking things.
- 99% of your users will always be running the latest version of your software. No more repeating yourself supporting issues that you have already resolved.
- 99% of your users will find using your software easy to use and a joy to work with. They won’t be cursing every time they have to update the web site.
As for the 1%, we are still intelligent enough to find the options and fine tune everything that we have always done. We are still intelligent enough to find the button that disables automatic updates if we don’t want them. We didn’t become idiots overnight
We are the 1%. Let us not forget that and make sure that we are building Joomla for the 99% and not for us.
P.S. Before you comment that you tried this for you user interface and it didn’t work let me tell you one thing. Try again. I am willing to wager that you can do better.
As for the automatic updates. It’s not easy but I am convinced that it can be done successfully for the 99%.