6 Comments

  1. Laura Kalbag

    Thanks Andrew and Jeff, that was a really enlightening interview.

    I’m not sure of the ins and outs of TinyMCE, but it seems to me that a lot of it’s downfalls are being blamed on the browsers (such as Firefox and the image insertion.) Is this a chicken and egg situation? It is hard to judge where the fault lies on whether TinyMCE should take browser interpretation into account or whether the browser is correctly implementing code.

    I think the same also applies to the functions being the same as they work in Writer and Word. Just because these are original functions, does it mean that they are the best way to do it? I think that it is strange to base a visual HTML editor on desktop publishing software, as the nature of the content is entirely different.

    Thanks for including my questions, Jeff.



  2. The TinyMCE/WordPress integration was my responsibility for the two years or so before it was Andrew’s. When he took it over it made me a very happy man.

    The hardest part of the task is not the coding or even dealing with browser differences. What is difficult is making decisions about how the editor should behave in each of the innumerable ways it will be used. People don’t agree on what the editor should do in all situations. Someone will complain, no matter what.

    For example, when someone types some HTML in the RTE and they see it displayed instead of interpreted, they send in a bug report because they expected the editor to know what they wanted. It’s not obvious to everyone, but this would be a horrible way for the visual editor to behave. I created the tabbed editor to make it easier to edit the HTML directly, but this complaint just kept coming in. I mentally created a category for this kind of bug—expectation fault—and it made sorting through bug reports much easier.

    The expectation fault appears nowhere more frequently than in the editor. You mentioned blockquote and Andrew explained the current behavior. If you paste text in blockquote mode, your cursor will be at the end of the last paragraph. The editor has received no indication that you’re done with blockquote mode, so when you press Enter it starts a new paragraph in that mode. It always seemed correct to me. You would not have minded the current behavior if you were typing or pasting multiple paragraphs in blockquote mode. You never would have noticed it because your inputs would not have produced unexpected results.

    I used to complain that I couldn’t write software that could read minds, thus the editor was doomed to fail in everyone’s eyes at least some of the time. To the programmer, it’s the intended result and not a malfunction. Thus it’s definitely not a bug, and at worst a suboptimal design decision. To the user, it’s a bug. Usually this comes down to someone not realizing that the program acted in the way the programmer saw best, given its state and the user’s actions. Editor state is always displayed via the button shading, the cursor position, and the status line. Usually the user does not understand the editor state, which is by nature complex.

    Andrew is doing a very good job maintaining, upgrading, and improving the TinyMCE integration in WordPress. There may be (probably are) better editors out there, but editor integration is extremely sensitive and time-consuming. It’s not likely to be removed or replaced because the majority of users depend on it. Although it frustrates us sometimes, we should remember that we always have the option of editing the HTML directly… and most of us pick the RTE anyway.




  3. I always enjoy reading well explained reasons why things are the way they are. As a developer I do keep non-developers in mind when I plan and assemble, of course I do or my work would be terrible, but phrasing my own decisions to those non-developers is a feat greater than programming, for me.

    Andrew’s comments were interesting, and I applaud his reminder around browser capabilities. Also, the power user/quirks situation is one I still battle with, I’ve found myself resorting to inserting a Duck in order to ‘get away’ with a new feature, or plant an Egg to reward curiosity (or mishap).

    Andy S – I found your comments interesting too, particularly your description of the Editors state, not to mention your category for the ‘expectation fault’.

    Edit: Yes! I do want to use the same kick ass comment editor on my site!

Comments are closed.