A short while ago, Justin Tadlock posted an article titled Are Plugin Authors to Blame for the Poor Admin Notices Experience?. If you haven’t already, I recommend reading his article. It describes in detail one question I’ve been pondering since I originally posted the WP Notify feature project proposal almost a year ago now: Will a new notification system for WordPress solve the notification spam, or just move it elsewhere?
The answer might not be as simple as we think.
I have been building, maintaining, and supporting a number of free, paid, and client plugins for the past five years. During that time I have also been an active contributor — as much as I possibly can outside of work and my personal life — to the WordPress open source project. Now that’s definitely a drop in the ocean compared to some folks, but whenever I see the mess that can occur when multiple plugins or themes register admin_notices on EVERY SINGLE ADMIN PAGE, it strengthens my resolve in the idea that WordPress needs a centrally managed notification system.
If you read Justin’s article, or you are a plugin or theme developer yourself, you know that the notifications system (aka admin notices, a reference to the WordPress hook that prints these notices) in WordPress is limited at best. We need to be honest with ourselves, however, admin notices was not designed to function as a notification system. Admin notices should really only be used to display useful information to the user about state changes in the system. Messages like when a post has been updated or deleted, or a database upgrade is required. Short, useful, and more importantly, relevant.
As developers, we usually look for the root cause of a problem. And in the case of admin notices, the root cause is not the current notification system, or the fact that plugin developers use it for things other than, well, admin notices. The root cause is the fact that there has never existed a mechanism for notifications other than admin notices to be displayed to the user. This means that whenever a plugin developer has needed, or in fact wanted, to communicate with their users, via “in app messages,” admin notices has been the only way they can do so.
Want to let your users know about a new upgrade? Admin notice. Want to ask them to leave a review? Admin notice. Your premium license is about to expire! Admin notice. Hey, we’ve got a new sale on our premium products! Admin notice. It all soon adds up to an almighty mess.
And that’s the problem with a project like WP Notify. We’ve had admin notices, in its current iteration at least, since 2011. That means we have been using it for all our user facing messages now for nine years at least – nine years of plugin and theme developers using admin notices to send messages to users.
If you have children, imagine telling your nine year old that the way they have been walking is wrong, and they now need to learn a completely new way of doing it. Good Luck!
So, as much as it pains me to admit it, WP Notify is not the silver bullet that will magically fix the problem at its core. As Matt Mullenweg pointed out in the comments on Justin’s article, “I don’t think a notification center is the solution to this problem. It may be useful for other reasons, but not that one.”
However, not having a specific solution for notifications other than those that are necessary, means that developers will keep on doing things the way they have always been. Enforcing new guidelines around the current functionality nine years later is going to be hard, especially since enforcing these guidelines will have to be done by a small group of volunteers, namely the theme and plugin review teams.
By building WP Notify, we create a new and hopefully better way for plugin and theme developers to connect and communicate with their users. At the same time, we provide a tool by which we can more easily enforce any new guidelines. A guideline could be created for example, that unless your message is strictly within the realms of informing the user about state changes in the system, it needs to be displayed in the notifications center, and not as an admin notice.
So no, I don’t believe WP Notify will be a silver bullet solution. We’re not going to build it, ship it, and suddenly all the notification spam goes away the next day. That kind of change takes time.
But I do believe it’s a step in the right direction.
If you agree with me, why not join our merry band and help us build it.
Can we follow up with what’d be the unanimously acceptable way to notify the user about “buy premium, review our plugin/theme, sale sale sale”? AFAIK right now, nothing is.
We’re only talking about restrictions, which will ultimately leave new plugin and theme developers in the dust–making 0 income.
As the one who built The SEO Framework with heart and soul, without ever utilizing persistent notifications, I can expose that 90% of our users don’t even know that we have a premium/paid version. Getting that number up to 80% could easily double our income.
I can also expose it took four long years of dealing with debt before I could even climb out of the gutter and think about expanding. Utilizing notifications, like other plugin authors are doing, would surely kickstart a significant income.
I vehemently can’t recommend being as pure with FOSS as I have been.
Just tossing an idea out there: Add a standardized and exposed “has premium” button on the plugin/theme page, which leads users to all the information they need.