WYSYIWYG Editors, The Back Button and a Monkey
By Adrian Sutton
The back button has been a great challenge for a lot of modern web applications and WYSIWYG editors are certainly no exception. Way back before I can remember, someone had the fantastic idea of preserving content entered into text fields and restoring it if the user hit the back button to return to the page. Unfortunately, with the advent of WYSIWYG editors, this was generally lost because the browser reruns the JavaScript in the page again, providing no indication that the user was returning to the page. I could be wrong, and I’d love to hear of other examples, but I don’t believe there is a WYSIWYG editors available today that preserves content when the user hits the back button. I find it somewhat interesting that despite the huge amount of user angst this causes1, there doesn’t seem to be a lot of interest in solving the problem.
Similarly interesting is the Ephox engineering team’s fascination with monkeys.
One night I must have been pondering this2 before falling asleep because in the middle of the night I awoke with a solution for this perplexing back button issue racing through my mind. An hour or so working on a proof of concept and it was clear that it really could work. Andy came along and worked out all the details3, refining the raw concepts in some pretty neat ways and generally weaving the code magic that he does and now EditLive! is the first4 WYSIWYG editor that works correctly with the back button5. You can check it on in the EditLive! 6.0 beta.
While track changes gets all the fanfare, this has to be my favorite feature that we’ve ever added to EditLive! I know longer live in fear of accidentally clicking a link or hitting backspace when the editor doesn’t have focus6.
You may be wondering what this has to do with monkeys. It turns out that while I was explaining this great idea to Brett, I started by mentioning that I was dreaming. Brett didn’t care about what the idea was, he just wanted to know if there was a monkey in the dream. Naturally I said there was and from then on the monkey got all the credit for coming up with the back button solution and any other great idea the engineering team has had. Stupid monkey…
In the end, I think what I really like about this feature is that users will never notice it – it will save them from experiencing major data loss countless times and they won’t even know. It will just work the way they expect it to. Could there be a better user interface for a feature?
1 – not least of all to me considering how much time I spend using WYSIWYG editors in a browser↩
2 – the back button problem, not the fascination with monkeys↩
3 – like how to make it work in practice on 4 different OS's, and who knows how many browsers↩
4 – at least that we know of, let me know if you know of another one↩
5 – it also works with the forward button incidentally.↩
6 – who decided backspace should be a shortcut for back in browsers anyway??↩