Are Plugin Authors to Blame for the Poor Admin Notices Experience?

Last Thursday, Vova Feldman published an article asking that we stop blaming plugin authors for the plethora of admin notices that users are bombarded with each day. The real culprit? The lack of a notifications mechanism in WordPress core.

Feldman’s post was prompted by a tweet in which Scott Bolinger called out plugin authors for letting admin notices get out of control:

Feldman argues that laying the blame on plugin authors is the wrong way to look at the issue. While I agree that the underlying problem lies with WordPress, plugin authors have played their part in creating an atmosphere where they have become the scapegoat for everything wrong with the system.

I have developed plugins since a fateful day in April 2007 in which I released a plugin that simply listed the current page’s subpages. I have worked on 100s of plugins for clients and public release since then. In that time, I have maybe added a custom admin notice two times and only when the plugin had a major change, such as a database update. I reserved such notices for the OMGBBQ-very-important-you-need-to-read-this type of stuff. I considered it my duty to create an experience in which the user did not have to dismiss a notice every time one of my plugins received an update.

This was not because I was cognizant of the growing issue of dozens of notices on some sites or how often users were being overwhelmed with them. For many years, I worked within a bubble where I simply focused on creating what I considered an ideal experience for my users. I always thought the admin notices system created an abysmal experience. It did not make sense to use it more than necessary.

On the other hand, there were likely a few times over the years where I should have added some sort of notices for changes. Instead, I avoided doing so altogether because WordPress lacked a notifications system. I missed some good opportunities for communication.

To a large extent, the issue stems from this lack of a proper notification system. However, plugin authors have perpetuated this broken system by continuing to use it when unnecessary. They have used it as a billboard to place their holiday ads. They have used it to upsell commercial versions of their products and services while prompting users for a five-star rating. There is plenty of blame to go around.

Instead of placing blame, we should start asking what tools would solve problems for developers.

The Need for a Better System

Technically, WordPress simply has a hook and a set of common classes that developers can use in their HTML to provide some different colors for notices. There is no API, and without an API, it is impossible for even third-party plugin developers to even try their hands at creating various solutions.

The closest thing WordPress has to an API is a little-known project from the Themes Team that provides a standardized method for theme authors to add notices. However, the project covers only one aspect of admin notices, which is to create a consistent UI.

The admin notice issue cannot be properly addressed without identifying the problems that plugin authors have tried to solve within the system, which at least includes the following:

  • User-oriented notifications, generally appearing after a user action.
  • Advertising commercial products and services.
  • Calls for plugin feedback or star ratings.

One of the primary issues with the current notification system is that it was created for the first item in that list. The other two items are not necessarily bad things. They are just poor usages of the system in place. However, there is no other standard method to handle those scenarios.

Advertising is something we all must deal with in some form or fashion. I am unsure if there could or even should be a standard API for advertising. An outright ban of ads in the admin notice area could create a beast of its own, forcing plugin authors to come up with more obtrusive forms of advertising in other areas of the admin. I want to support advertising but not when that advertising wiggles its way to the top of every admin screen.

WordPress provides no easy way for end-users to rate or review plugins from their admin interfaces. Having an easy way to provide direct feedback would be immensely helpful for both users and developers. While I am certain many people would argue against such integration with the WordPress.org site (there are arguments against any external integration out of the box), ratings and reviews would require an explicit opt-in from end-users because they would need an account on WordPress.org.

Advertising and plugin feedback should not be a part of a discussion on admin notices. However, reality dictates that they are integral to the conversation.

The first order of business must be to create a new notification system from the ground up. It should provide a standard API for plugin authors while handing over full management capabilities to the site owners. Users should be able to disable notices altogether or even enable/disable notices on a per-plugin basis. Notice that a particular plugin author provides useless notices? Well, just disable notices from that plugin. The author lost their privileges.

From that point, we can let the progress drive the discussion on what to do about advertising and calls for feedback. A new system may shift them to a new screen — out of sight out of mind — but not make those problems disappear.

More than anything, it is time for a champion. The project does not get done without someone who will pave the path forward and earn the green light for a new notifications system in WordPress.

18

18 responses to “Are Plugin Authors to Blame for the Poor Admin Notices Experience?”

  1. The solution to spam in your email isn’t to make an inbox. The solution to notifications you don’t want on your phone isn’t the notification center. I don’t think a notification center is the solution to this problem. It may be useful for other reasons, but not that one.

    • The solution to notifications you don’t want on your phone isn’t the notification center.

      Incidentally, the notification center and its underlying system are exactly what enable to someone to control unwanted notifications.

      • I would posit that app store guidelines have had a far bigger impact there on user happiness than the settings and controls in the OS. Also think about the rules introduced about how and when an app can ask you for a review, which is inside the app and not in a notification.

    • We have three major issues with plugins/themes:

      1/ Notifications;

      2/ Cluttering menus;

      3/ Cluttering databases and folder structures even after uninstall.

      I think for each one of these there should be a basked so one could look, clear and manage it when and if he wants.

      I am tired of chasing where a plugin put itself in the menus and tired of seeing my WP admin looking like a Christmas tree from plugins inserting themselves into various of sub menus or even the main menus.

      A client of mine tested several analytics plugins and uninstall then later. He had a dozen page site and it become super slow. Turns out the database grow with few hundred megabytes due to these tests. We used third party plugin to clean most, but not all of it.

      If you want a consistent UX and focused UX with fast speeds we need to force plugins and themes to obey rules and to make people manage all that cruft that comes with them.

      I know many devs won’t like it but we need sand boxing aka the way the new Linux and MacOS and even Windows 10X would do where the main core is a read only image and all the clutter on top is outside of it and is easily manageable and purgeable.

      You need to think how a WP installation ages as testing it in a clear fresh new state is not the typical picture.

      People blame their WP sites to be slow exactly because of the clutter that builds up and that can’t be removed even uninstall. I’ve dealt with hundreds if not thousands of WP sites and I can clearly state that this is the major issue.

      Not to mention how the average Joe is confused by the UI inconsistency of all these installed plugins which insert stuff wherever they want.

  2. As a user, the most frustrating thing about the unwanted notifications is that sometimes, on poorly or irresponsibly written plugins, they persist even after I close them. Those times I would love a “Mark as spam” functionality, but that would be too much and it could easily be misused, ending up making things even worse.

    A less aggressive and maybe more realistic approach would be some sort of “Mute this plugin” option: Users could disallow specific plugins from displaying notifications overall, either permanently or until their next update (in case they indeed need to announce something actually important).

    • As a user, the most frustrating thing about the unwanted notifications is that sometimes, on poorly or irresponsibly written plugins, they persist even after I close them.

      This. I ended up thinking that most plugins that do this, do it on purpose. Then, you see the developers in their support forums playing dumb like they don’t know what’s happening with their plugin.

  3. Matt,

    your analogy sounds good but does not stand up.

    Spam was never the the probelm with email and it is not with notifications. Gmail´’s tabbed interface hugely improved email, by automatically categorising items and hiding non urgent matters that could be looked at later
    Right now we don´t even have an inbox for notifications. Developers put them wherever they feel like.

    The WP Notify project seems like a workable the answer to me, what do you propose?

    • I want to answer this question:

      Stricter guidelines for plugins.
      Plugin notifications only on the respective plugin screen.

      At the end of the day you can’t control commercial plugins or non-repo plugins and they are free to inject ads and notifications wherever they want.

      But for the official plugin repository, see my 2 points above.

      I do agree that the wp-notify project is an improvement and I’d like to see a nice bell icon somewhere top right of the screen where all the messages are.

  4. I fully agree with the annoyance of these notifications. I just installed and activated your plugin. Why the heck would I want to buy the PRO version, rate the plugin or subscribe to your newsletter? I JUST INSTALLED AND ACTIVATED YOUR PLUGIN.
    The PRO version or any paid extensions, etc…is spamming my admin box.
    Also, the fact that your plugin automatically adds an admin widget on the admin dashboard is also wrong.

    Yes, I know plugin and theme authors have created the plugins and themes I use on my WordPress websites. However, YOUR job is there because of a free product.

    The only notification I am ok with is the Really Simple SSL, to turn that setting on.

    I even remove all the “default” admint widgets, including that one that lists WordPress Meetups and WordCamps.

    I install x amount of plugins in all my installations. Those the basic plugins I install. I install more depending on each website.

    Guess what? I started with WordPress in 2005. I know how to install things. I know how to rate things. I already rated most of the plugins I use. I don’t have to do that. I subscribe to over 30 WordPress based newsletters.

    A former employee that was let go (not former at that time), decided to delete ALL 35 WordPress installations of mine. I had to reinstall everything from start (he had access to backups too and deleted them). Just like that person from Twitter that removed Trump’s Twitter account on his last day.

    WPSmush asked me 35 days to subscribe to their newsletter.

    The list of basic plugins I installed in every installation (I just checked as I typed this sentence) is 41.

    41 plugins x 35 websites…1,435 notifications if they each gave me 1 notification in all sites.

    The whole anonymous stats collecting. Freemius and other ways…..that has to go too.

  5. Recently installed a cache plugin, it came with a ridiculously high level of adverts.

    I don’t prescribe to advertising as necessary (you’re putting billboards on my tool, without my permission), but if the advertising is done well, its, to me a sign of a good developer who understands user experience and user interfaces. Most WP advertising on the dashboard just highlights a lack of thought.

    I installed it the cache plugin and ended up with cache enabler, which has 1 admin notice but a very small one about a paid feature.

  6. Adverts have no place in the admin area. A lot of the clutter comes from plugins trying to sell something, whether it’s upselling a Premium version / paid upgrade, or a related product, or worst of all an unrelated advert. They aren’t notifications that an admin needs to see, ever.

    I realise a lot of plugin authors depend on upselling to make any sort of income from their plugins. The problem with the current system is that it’s a noise arms race: if one plugin is loud and another is subtle, the subtle one will get less money despite being the better admin experience, so plugin authors have no incentive to play nice.

    So while we need a solution to notifications (such as the WP Notify project already mentioned), we also need a separate solution – not part of that notifications area – for how plugin authors can upsell responsibly. I don’t know what that looks like, but without it the notifications area won’t solve the problem.

  7. Here’s a thought. WP silently updates itself for .x versions and will soon do the same for plugins (and themes? I can’t remember). So I will no longer have to look at the plugins that want to be updated and see the list of changes.

    That would be a good use for Notifications as well. A notification from each plugin that updates itself, with a link to the latest readme.

  8. What good are guidelines if they are not followed? Rememeber when Yoast added a non-dismissable banner add for Black Friday, totally contrary to the guidelines? And then they played innocent afterwards?

  9. WordPress provides an open API for plugin and theme developers to message users in the ‘shared apartment’ that is their dashboard, and it has not enforced any house rules whatsoever up to today.

    Blaming plugin developers isn’t the answer, nor is appealing to their sense of care. The core software must take responsibility for the coherence of its own UX, and it must provide tools and restrictions to help third-party developers reduce cognitive load for end users. Enabling basic user actions like block, snooze, and even prioritise certain types of messages are key in that regard.

    While currently that is still not happening, the WP Notify project looks like a good start.

  10. And the exact reason that the ‘hide admin notices’ plugin exists.

    The notices area should be for urgent items – like upgrade warnings, changes to plugins, etc – not that you should leave a review, live or subscribe.

Newsletter

Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.