Testing in Production, Oops, No ‘Undo’

Earlier today I accidentally published a test blog post to this site (titled ‘d’) which meant that the ~450 email subscribers to this site would have received that empty blog post via email. I am really sorry about that: I’ll explain below how it happened, and why it shouldn’t happen again.

The way we do testing at WordPress.com is we test new designs and features against ‘production’ backend WordPress sites, which are typically test sites/blogs we have set up under our own WordPress.com user accounts, or test specific accounts we may also use. As with any testing that touches something in production, there’s some risks involved and this morning I accidentally published a test blog post to this WatirMelon site, which I avoid using for testing purposes.

Like many unfortunate events: the reason it happened was a combination of a few different things: I was testing a new mobile editing feature which happened to have an issue where you can’t see the site you are publishing to when you click publish – so I had no visual feedback that I was using this WatirMelon site. I was also using Chrome dev tools to inspect the DOM at the time, and I thought it was in select mode, when it actually wasn’t – the Chrome UI doesn’t differentiate these modes very well. Finally, clicking publish on WordPress.com is (currently) an irreversible action: as soon as I clicked it I realised I had stuffed up but had no way to undo my actions: the emails were sent, it was too late.

I have been advocating internally an option that allows a grace period to undo the publication of a post or page, similar to GMail’s life saving ‘undo send’ feature, for some time, and I recently raised this as a public WordPress.com enhancement request.

This is to address the ‘publish anxiety’ I have (and I imagine many others also have) knowing that clicking a single button is irreversible.

Allowing user actions to be undone, or emphasising ones that are irreversible, is part of Jakob Nielson’s classic 10 usability heuristics.

User control and freedom: users often choose system functions by mistake and will need a clearly marked “emergency exit” to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.

In the meantime, I wrote a GreaseMonkey/TamperoMonkey UserScript that offers an additional confirmation dialog box when clicking “Publish” on WordPress.com. This extra step should be enough to stop me accidentally clicking Publish like I did today and clogging your inboxes with junk.

My UserScript is available as a Gist if you’re interested in it.

And sorry again.

Author: Alister Scott

Alister is an Excellence Wrangler for Automattic.

3 thoughts on “Testing in Production, Oops, No ‘Undo’”

  1. I first made that mistake — and logged a feature request in the WordPress.com forums — probably eight years ago.

    What was happening to me was that I was drafting a post and hitting Publish instead of Save. I did it enough times that I built a habit: start new post, immediately schedule it for a year or so in the future, click Schedule, and then write. When I was finished, I’d set the scheduled date to the actual day I wanted it to go live.

    The new editor automatically saves often enough that I no longer have to do this workaround. Hooray!

    BTW, “d” is my go-to test letter, too.

    Liked by 1 person

Comments are closed.