Plugin to the Future
In the past years, the number of plugins has grown enormously. Is it likely that this number will continue to increase? And what will the consequences of these enormous numbers of plugins be? Is it desirable to have so many different plugins or do we need consolidation? Let’s philosophize a little:
Explaining the increase in plugins
The past increase in plugins is easily explained. The number of people with a (WordPress based) website has grown enormously in the past decade. Also, the number of people wanting to make money with their website has grown. As a result, more and more functionality is needed. At the same time, people aren’t willing to pay (big) money for their functionality. Why should they? The openness of the internet allows everybody to develop their own plugins. Plugins are available for free on various platforms, most notably WordPress.org, and on individual websites. Some will even develop their own custom plugins for their sites.
Side-effects of plugin increase
The vastness of the internet makes it hard for people to find plugins. It’s even harder – especially if you are not able to code yourself – to judge the quality of plugins. Standards (such as WordPress coding standards) have been set, but are not followed by all or even most developers. The result is that a lot of the plugins are written in poor code and turn out to be poorly compatible with other plugins. For consumers, it remains difficult to assess which combination of plugins is most appropriate for their specific website. This will result in frustration and anger if plugins are incompatible.
The solution: setting and following standards
Thinking about this plugin-situation made me wonder whether this in fact is such a unique situation. The plugin-business isn’t that old yet. In other branches – like construction – the same problems must have appeared (and been solved already!). Let’s look at construction-history and see what lessons we can learn:
Before the industrial revolution, every carpenter used his own screws and nails. During the industrial revolution the need to make interchangeable parts became highly important. Joseph Whitworth designed the first standard size for screws. His standard was quickly taken over by the British Railways, which is nowadays known as the British Standard Whitworth. If parts are used by many, it makes sense to make them interchangeable. It saves us a lot of money, anger and frustration. So after a process in which many people used many different screws, came consolidation, making it easier for the consumer to combine parts. Nowadays, we all use the same kind of screws (except IKEA).
So, do we need to set a standard? But… there already is a standard? Why isn’t this standard followed (yet)?
Standardization is inevitable
One would expect that in the near future, more and more developers will follow code standards while writing new code, simply because the market and/or their employers demand it. But: the WordPress-community has a lot of talented – but sometimes pigheaded – programmers, who like to code in their own way. And why wouldn’t they, they offer their stuff for free! The beauty of open source is the enormous potential of geniality. Everybody can join and use the free software. The downside is that it makes it hard to impose any kind of standardization.
However, as the internet matures and people make more money with their websites, they will be more and more annoyed with poorly programmed functionality. At the same time, they will be more willing and able to spend money on well programmed and tested plugins. As a result of that, developers will be expected more and more to abide by standards, which will make it easier to create compatible plugins, but they’ll also be able to charge for this more easily. These processes will lead (in my opinion) to an increase in functionality, but to a smaller number of highly used plugins.
Consolidation
Alongside the process of standardization, a process of consolidation is also inevitable. We’ve really only seen very small steps in that regard in the WordPress community, but I fully expect the “big” players to slowly start acquiring more and more small players. The only players we’ve seen doing that so far are Automattic and WooThemes, but I fully expect others to follow suit, by buying plugins or complete companies.
Of course, none of us can really look into the future. All we can really do is wait and see what happens in the plugin business. But we know this: Yoast will play an active role, both in setting standards & improving plugin compatibility and in the consolidation process (no that’s not a hint at anything yet). The development in website functionality is continuously amazing and will allow us to keep on developing plugins for years to come!
We’d love to hear your thoughts!
Coming up next!
-
Event
WordCamp Europe 2024
June 13 - 15, 2024 Team Yoast is at Attending, Organizing, Sponsoring, Volunteering WordCamp Europe 2024! Click through to see who will be there, what we will do, and more! See where you can find us next » -
SEO webinar
Webinar: How to start with SEO (May 7, 2024)
07 May 2024 Learn how to start your SEO journey the right way with our free webinar. Get practical tips and answers to all your questions in the live Q&A! All Yoast SEO webinars »
Thanks yoast, i used your plugin and my site is optimization :) hope every things work ok :)
“At the same time people aren’t willing to pay (big) money for their functionality. Why should they? The openness of the internet allows everybody to develop their own plugins”.
Resource on internet must be free. That is what people want in current moment. Sorry about my bad English.
Why you don’t provide support for Video SEO?? I bought it a few months ago (version 1.5.4.4) and I need to update it to the latest version (1.5.4.6), but download link listed in purchase e-mail confirmation doesn’t work anymore. Where do I download it? (we can’t update plugins due to security reasons)
I sent many e-mails and I didn’t get any answer!
tnx for all your work, I love your SEO plugin.
Though there are millions of plugins available only few of them work well. The main reason behind this is that most of the plugins are developed by inexperienced developers.
Interesting thoughts here; thanks for a stimulating article.
Re consolidation – I think we’re already seeing a move to more trusted plugins given the poor quality out there. At the moment, people are restricted to assessing a plugin via a combination of star rating and download count. I’d expect WordPress to head towards some sort of certification in future, as something needs to make it easier for users to assess the quality of a plugin.
Re standards – I think it’s going to become less and less acceptable in the community to produce poor code that makes your users jump through hoops. For instance, lazy theme developers embedding site_url() in their settings etc. The key part of the standards here is poor understanding of how to work within the WordPress ecosystem and how to write PHP code. Another plugin author, wanting to run a job, was using WP cron to schedule a check every minute to see if the time had passed! Common stuff. Not common sense though!
Most power in the wordpress ecosystem stems from the fact that plugins execute in “in process”. It is virtually impossible to ensure a plugin behaves and does not run into endless loops or other nasty things. That is reason why most SaaS based ecosystems “only” offer restful service based extension points.
There’s always room for creativity in your tests though! We have a lot of problems with race conditions in our init sequences. We get around those with log file inspection queued by timers and asynchronous load reporting, etc. If you keep init logs, you can inspect them and catch things like that. It’s all a recursive process to reach a good test method.
Thanks for all the feedback, guys! Some great arguments to think about a bit more!
Wouldn’t it be possible to introduce some kind of integration testing on plugins added to the wordpress repositories? Surely integration tests could be written by the core team to make sure a plugin adheres to certain standards.
I’m not really a wordpress developer, but I do spend my days working on client side web application architecture and there are things you can do to get the delta of a system before and after installation. The tests would show up just like anything else in open source and would accumulate over time to at least catch the basics. The Yoast team and other groups like it could submit tests when they find a plugin collision based on bad code and the system would get better over time. Just a thought.
Might be partly possible, the issue is that might prevent *that* particular issue from occurring again, but because so many plugins do so many things and there are so many hooks and filters in WordPress (which in and of itself is a good thing), that wouldn’t exactly solve the larger problem.
Understood. It’s more about the aggregation, similar to organic integration tests. I call it “PDD” for “Panic Driven Development”. The real architecture would probably involve creating some kind of inspection utility on a virgin install that would run plugin installations and test for conflicts on some reserved server / headless browser combination every time a plugin gets submitted to wordpress. It’s not about catching everything, it’s about a system that gets better over time. Big project, but probably worthwhile?
Contrary to construction, IT and demand for solutions evolve super fast. Standards tend to evolve slowly. Anybody can get started building software solutions quickly.
With great power comes great responsibility. The more powerful the tools given to the developer, the more likely trouble is to be introduced.
At the end of the day, people have to understand that quality may come with some extra cost.
Good post. I think the biggest problem is the existence of security issues in poorly written plugins. The more plugins you use, the bigger the risk of security holes.
The problem with most plugins out there is that they are made by people who can’t code properly in the first place.
Because you don’t have to have a lot of knowlegde about proper programming to create a working plugin a lot of inexperienced developers release plugins.
Standardized code and tested code are supposed to be in any developer’s skill sets by default.
WordPress makes it easy to create plugins which opens the doors to scriptkids around the world to jump in.
Let’s hope WordPress will enforce more rules to increase the quality of plugins.
Right, it would be like trying to write a plugin. That being a guy that has spent 2 days dithering over the proper way to manually update my Genesis site to HTML 5. In other words I am not even sure why these folks wrote the plug in in the first place since they slow down or crash the site.
Thanks from a WordPress knownothing
Cheers
And go Sebastian Vettel!
As a developer I feel that standards always should be followed, no exceptions.