A couple days ago, I saw this tweet by John Blackbourn. I’m following John for quite a while now, not in the last place because I’m a fan of one of this free WordPress plugins. Enter User Switching. This little plugin is a real gem in the plugins directory. Not only does this plugin do just one thing (which I’m a fan of), it does it really well.
Have you ever been in a situation where you needed to test with multiple user accounts on the same WordPress powered website? Incognito windows and using multiple browsers only gets you so far. This plugin offers a one click swap between user accounts, logging you in as the selected user. It also comes in hand when you need to actually see what a user is seeing when they report an issue.
Security is really important here
The first thought that crossed my mind when I first saw this plugin, was about security. Maybe it’s force of habit, but when a plugin like this bypasses some authentication layers in WordPress like this, it has to be done very well. And I can assure you, every step of the security handbook has been followed with this plugin.
By default only administrators (or network administrators on multisite installs) can use this feature and the plugin is using nonces to verify that a switch is done intentional.
Do one thing and do it very well
I love this plugin because it offers a feature that comes in hand in a lot of use cases. I have used it plenty of times when I was still doing client work and had to build websites with a lot of different roles and capabilities. But the main thing that I like about this plugin is that it’s so limited in features.
‘Do one thing and do it well‘ is a Unix philosophy that (in my opinion) should be adopted by pretty much all developers of WordPress plugins:
This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
The User Switching plugin is a perfect example of a plugin that adheres to this philosophy and does it really well. Some might say the limited number of features is a downside because other plugins might offer more functionality. I hope one day the world will understand that using multiple plugins is note a bad thing, but actually is a good thing to use plugins that compliment each other.
Thank you John for making this awesome plugin, it deserves much more downloads than the 100,000 it is currently at!