The 80% Rule of Software Platforms

“Simplicity is the key to brilliance.” Bruce Lee

There is a growing problem facing WordPress and the WordPress ecosystem.  It has nothing to do with the underlying technology, the platform itself or any one thing in particular.  But it is probably costing you time, money and results.

It’s called bloat and it’s important you know what it looks like.

Bloat affects software in most its forms. And as the commercial marketplace for WordPress has evolved, bloat has increasingly become an issue inside themes and extensions.

To put it another way, most extensions are getting more and more bloated; which, in turn, means your site is getting more bloated.

What is bloat?

In software, the rule is that any feature placed into a program should be needed and used by 80% of its users.

When a feature is used by less than that, it is best placed in an extension or another program.

For our purposes, we’ll define when this doesn’t happen as “bloat.”

There are two types of bloat…  Let’s call them “featuritis” and “codeitis.”

Featureitis

Featureitis is what happens when a developer keeps cramming features and options into a plugin that distract from its primary purpose.   Often times problems best solved by separate plugins are all crammed into one.

Inside of WordPress, I’m seeing this more and more as a way premium extensions can be upsold and cross sold to users.

Screen Shot 2015-12-06 at 3.14.51 PM
Inside Yoast SEO, social meta should be handled by a separate plugin.

Codeitis

Including Bootstrap or another CSS framework in a theme is a common example of codeitis
Including the full Bootstrap framework in a theme is a common example of codeitis.

Codeitis is when a developer includes code for features or behaviors based on what we call ‘fringe’ cases.  And in software the definition for ‘fringe’ is a case that less than 80% of the user base for a piece of software will use.

Many/most premium themes are guity of codeitis in some regard.

They throw in parallax, animations, templates, builders, options all in an effort to ‘beat the next guy.’ Which to new users may appear nice: “this theme does everything” they say…

But then, when parallax is out of fashion or when best practice for css changes.. guess what? They can’t upgrade it without breaking your site.

Another common example is when CSS frameworks, like Bootstrap, are included wholesale into a theme. You may not use everything or you may want things to look differently from the way the themers created it. But you’re stuck with everything, like it or not. Then you have to override things and it can be a mess.

So how should things be designed?

Platform 5 Extension Engine
Platform 5 Extension Engine

We think that the best engine for building sites is one that follows the 80% guideline.

That’s why the new Platform 5 system (out next month) includes something we call an ‘extension engine.’

In essence, the extension system allows you to choose your own adventure regarding features that you’d like to include in your site.  While also increasing your options by giving you an ever increasing list of extensions to choose from.

For example, maybe you don’t have much need for a slider. Well simply don’t install it. That way your site isn’t going to be weighed down by all those features and code.

Each PL5 extension carries its own Features and code (CSS, Javascript, PHP and HTML) so if you don’t need it, none of it will exist on your site. None of it will get in your way.

We’ve also removed all animations, parallax effects and most bootstrap inspired components, and added them to extensions. As again, we think this allows your site to be streamlined and evolve.

So! if you don’t like bloat. Please take Platform 5 for a spin once it’s released and let us know what you think.

Less is more.