WYSIWYG is a Lie

Yes boys and girls, it’s that time of the month again when I rant about the evils of WYSIWYG. Let me tell you a little story. In the beginning there was text. That’s all we had really. We used white space, underscores and bunch of the table drawing ASCII characters for all our formating needs. And we were doing just fine. Plain text was limited though, and people wanted to do typesetting on their computers. You know, like take bunch of text and mark it up so that when printed it looks all nice – like a professionally bound book or a magazine. So we invented markup.

Markup can be done in many ways, but it always boils down to this: there are special formating commands or characters inserted into your text document which convey the formating/typesetting information to the printing software. Next logical step was of course to invent Print Preview functionality where you would try to simulate how a printed document would look on the computer screen to avoid killing many trees. The rest is history – a perfect example that pandering to the lowest common denominator under the guise of improving usability may lead you to an evolutionary dead end.

According to my rough estimates, 60% of people are fucking idiots, and the remaining 40% are fucking morons. Yes, that means you are in one of these groups and so am I. Pick one or the other – they are both equally bad. Our only redeeming quality is that every once in a while even a total idiot or a complete moron can come up with a good idea. Once this happens the rest of us idiots and morons conspires to fuck it up as quickly and throughly as possible. Fortunately good ideas can often fend for themselves, survive the assault of stupidity and persevere. Word processing unfortunately failed this test and got fucked up.

First issue with markup languages was that you need to learn them. As you can imagine, stupid people don’t like to learn so we invented special editors with funky toolbars so that they don’t have to remember the markup code for bold, but just press a button. This made the fancy typesetting applications accessible to even more stupid people, who immediately started complaining about how hard and counter intuitive they were. For example switching between editing view and print preview was cumbersome. The markup commands embedded in text were confusing, and etc… So we all boarded the simpleton train of idiocy we allowed the stupids to type in a print-preview like environment hiding the actual markup. This was how WYSIWIG was born. It was hailed (and still is) as a revolution in the way we processed electronic documents – a grand new invention, and a usability improvement like no other. But in reality it was an ugly kludge designed so that Ms. Dumberbuttons in accounting could type up her reports without stopping every keystroke to consult a cheat sheet taped to her desk (cause before we taped it she kept losing it every day). Funny thing is that all that work was for nothing, because at the end of the day Ms. Dumberbuttons still needed a cheat sheet to tell her that she needs to press the bolded B on the toolbar to make the text bold, and called the IT department every time she accidentally minimized her editor window (which was 4-5 times a day).

Some of the better WYSIWYG word processors such as Corell Word Perfect retained some vestigial mode which would actually show you all the markup commands and characters in your document. This was great because terminally stupid people like Ms. Dumberbuttons could just use her WYSIWYG interface without really learning how it worked, while the rest of us could still sort of know what the hell was actually going on in our documents.

markup.jpg
the right way to do WYSIWYG

Guess what happened to Word Perfect though? It was superseded by a much dumber and kludge-worthy application from Microsoft which removed never included the above feature from their product. Why? Who knows. Perhaps having such a tool would make it easier for their open source competition to reverse-engineer the proprietary, binary file format. Or perhaps they did not deem it worthy of inclusion, seeing how only like 7 people in the world admitted to using it. Either way, the de-facto standard for word processing these days is a funny little application that creates text files, applies quite an intense amount of markup to them, then hides all that markup making you guess what is going to happen next time you press the backspace key. Will you delete some important markup tag or not?

WYSIWYG is it’s own worse enemy because what you see is really not what you get. The invisible markup is what makes all the difference. You can’t really use MS Word to the full extent of it’s functionality without understanding how page breaks, section breaks and column breaks work.You need to understand that your document is full of meta-information that describes font faces, sizes, spacing and etc. You need to understand the crucial difference between inserting a paragraph break (Enter) or a line break (Shift+Enter) and how it impacts formating, and layout. Word seems deceptively easy to use, but it is a truly a difficult application to master because all the important things are hidden or obscured. Not to mention the fact that Word’s Print Layout mode is not really WYSIWYG – to really see how your document will look like you still need to use Print Preview feature.

When users hear WYSIWYG they expect the application to work like a modal typewriter. When they press enter they expect to see the cursor skip to the next line. They don’t expect that behind the scenes word will insert a paragraph break into their document, then write out some invisible markup that indicates the start of a new paragraph and then check what formating this paragraph is supposed to inherit based on current document layout and write it out as well. So there is a huge discrepancy between what people expect WYSIWYG to do and what it really does.

I’m not the only person who sees it. Terminally Incoherent regular Ian Clifton noticed this too:

In general, users want to get the work done as soon as possible, which means doing whatever they already know or whatever makes the most sense to them. They rarely look through menu choices to try to figure out how to do something such as how to format a paragraph. They don’t pay any attention to anything that they don’t need to pay attention to (e.g., the ruler). They commonly feel as though they are “fighting” the computer to get it to do what they want. The thought that there are alternative programs almost never occurs.

Overall, I’d say the biggest difference between an “average” user and someone who is truly technically literate is that the former never considers how his/her actions will be interpreted by the computer (assuming the computer should think in the same way as s/he does); the latter acts based on how the computer will interpret the action. Essentially, it’s the difference between talking to someone and talking at someone.

That is precisely the point. Average MS Word user is FIGHTING the application to get their work done. They have to wrestle this monster and beat it into submission. It is an uphill battle between a user who just wants to type shit up, and an evil, malevolent computer which throws obstacles in his way. The only way to properly use the application is to understand the way it handles the markup and try to anticipate what it will do based on that knowledge.

In effect, every user of a WYSIWYG processor has to acquire intuitive knowledge of their editors internal markup language and it’s quirks without actually ever seeing it displayed on the screen. The ease of use is an illusion that fades away as soon as you need to create a document that is more complex than a one page memo or a thank you letter.

I blame the WYSIWYG paradigm for this. Going from text processing to typesetting to word processing was an idiotic thing to do and we are paying for it every day. Well, you are paying for it. I’m happily typesetting most of my work in LaTex so I don’t have to deal with word processor bullshit. But I digress, people are paying for it every day. I’m not saying everyone should switch to LaTex. LaTex is for smart people who are not afraid to learn a new markup language in order to increase their productivity and generally improve their quality of life. For example Ms. Dumberbuttons from Accounting would probably never learn it, because she is allergic to knowledge (and also dumb as a brick). You my friend may never learn it because you are a lazy bum, and you don’t give a fuck. Everyone has their own reasons and deficiencies so I’m not going to push the issue. All I’m saying is, put a button on your Word Processing application which will expose the markup to me the same way Corell Word Perfect did. Make it nice, self explanatory and user friendly. Have tool-tips explaining each of the tags when user hovers over them. I’m looking at you OpenOffice.org? Why is that not part of your Word Processing application? Because MS Word doesn’t have it? Well, if MS Word jumped off a bridge would you do it too?

Fuck, never mind – it was a rhetorical question. The only reason you probably don’t have a Ribbon interface yet is because it would require rewriting the whole UI from scratch and no one wants to do that. Yet… So yeah, I know full well you would jump off that bridge. But you don’t have to. Blindly aping everything that Microsoft does is not always a good thing. If we had a markup exposing feature in MS Office alternatives our lives would be much easier.

Instead of sitting and scratching their heads, users could just switch to the markup view and go – “Ah! That’s where my problem is. I’m missing a column break here!. And by users I mean power-users. You know, guys like you who don’t want to learn LaTex even though I keep telling you it will make you better, more awesome and will totally increase the size of your… Resume. What? What did you thing I was going to say? Ms. Dumberbuttons will still be two-finger typing her reports and calling the helpdesk every day to walk her through the ardors process of saving the document in the right folder on the network share. That can’t be helped.

Do we really want to dumb down our software to the point where even Ms. Dumberbuttons can use them? Isn’t there a point where we should just say, fuck this! If you can’t figure out how to my application perhaps you are just too dumb to use it? Do we really need to scrape every single bit of functionality and power out of an application before it is deemed “idiot proof” enough to be released?

Do you know why crybabies out there constantly whine that Linux is not ready for the desktop? That’s because most people involved with open source project have some intuitive grasp of what I said above. They know that you have to draw a line at some point and refuse to dumb the application down any further. Pandering to Ms. Dumberbuttons needs is very time consuming, difficult process. Especially since months of research and development staff result in only mildly smaller amount of confusion on her part and no visible increase in productivity. The smart thing to do is to cut your losses and hope that Ms. Dumberbuttons boss will come to his senses and move her into a position which does not require computer skills.

What we are doing right now is counter productive. By investing so much into WYSIWYG we created an interface which is actually deceptively difficult to master and use properly. I really don’t see why Ms. Dumberbuttons couldn’t have a cheat sheet with markup commands on her desk instead of a cheat sheet which tells her which buttons and menu items to click on. Perhaps it would not be so bad. Perhaps it would actually be easier for her to learn bunch of textual formating directives than to navigate the menus and tool bars and dealing with the quirks caused by invisible characters in her text. But alas, that won’t happen. We are stuck with WYSIWYG. Hell, there is a WYSIWYG editor in my WordPress for Christ’s sake. For what? For the 4 or 5 HTML tags actually allowed? It is like a joke. Fortunately there is a way for me to switch back into regular HTML editor and use that. And this is all I’m really asking for. You can have a WYSIWYG editor, but give me a way to actually use the markup language that it uses internally. This way both power users and idiot users will be happy.

This entry was posted in technology and tagged . Bookmark the permalink.



22 Responses to WYSIWYG is a Lie

  1. James Heaver UNITED KINGDOM Mozilla Firefox Windows says:

    I think, or perhaps hope, that we are moving back towards this paradigm.

    Command line launcher programmes (Launchy, Enso, Quicksilver even Ubiquity) and the work of Aza Raskin are clearly moving in this direction. There is nothing complicated about a keyboard interface, or markup or anything similar so long as you have an intelligent and liberal use of tooltips. (I think I’ve posted about this before).
    If your computer understands what you’re doing to WSIYWIG it, it shoudl understand it well wnough to explain it to you in clear, human language.

    I’m starting to see a move towards manipulating data, rather than manipulating MS Word or MS Excel. People are starting to ask why they can’t throw their data at their browser, email program etc and have it understood. If you moved to a markup system, based on open standards the ability to ‘understand’ data would be available in every application – if my OS understands my data /somewhere/ it should understand my data /everywhere/.

    You also need /stricter/ programmes, lets make it easier to apply a paragraph style to text than to just make it big and bold.

    Generally, in software atm, the stupid method is the more visible method – so teh method that is used mroe often. I used paragraph styles religiously in indesign, but can I be arsed to work out how to use them properly in Word?
    Especially when the first person to modify the document will mess them up anyway.

    You should try talking to any decent secretary over the age of 35 – they all swear by Word Perfect and keyboard shortcuts.

    Reply  |  Quote
  2. Dax UNITED STATES Opera Windows says:

    Luke, I agree with you 100%. WYSIWYG was a complete pain in the ass for web design, and sucks even harder for document creation (at least I can manually edit the source for a web page). Every time I am forced to use Word for something I run into one of those infamous situations where I have NO idea what is going to happen when I press backspace or delete whitespace.

    I wrote several papers in my university days in LaTeX and loved it. Being a developer, I may have had an easier time grasping the markup language that the average person, but LaTeX gave me complete control over the layout.

    I agree that the newer word processors would benefit greatly from the “reveal codes” feature that used to make Word Perfect so great. I wish that Open Office had this feature (maybe it does, but I haven’t figured it out yet). Maybe someone can recommend an alternative word processor that contains this functionality.

    Reply  |  Quote
  3. bob UNITED STATES Internet Explorer Windows says:

    Do you know why crybabies out there constantly whine that Linux is not ready for the desktop? That’s because most people involved with open source project have some intuitive grasp of what I said above. They know that you have to draw a line at some point and refuse to dumb the application down any further. Pandering to Ms. Dumberbuttons needs is very time consuming, difficult process.

    Man you are exactly right but I wonder why some many FOSS and OSS zealots still whine so much that they want everyone to only use OSS/FOSS and to think just like them? The fact is that not only is OSS/FOSS difficult to use but buggy especially most of the crap on Linux. Realisticallymainstream users don’t care about memorizing an arcane set of commands just to use your crappy software. Get a clue.

    Reply  |  Quote
  4. Luke Maciak UNITED STATES Mozilla Firefox Ubuntu Linux Terminalist says:

    @James Heaver: Wow… Really? I totally want to meet your secretary. Most of the secretaries over 35 I have dealt with could not for the life of them grasp the whole “file system” thing. They would write a document, then use the “Send To” feature to emails it and store a copy in their email. If they closed the document by accident they would just start from scratch.

    @Dax: Yeah, Open Office doesn’t have that. I actually spent some time looking for it and checking the docs, and I can’t find any evidence that this idea was ever implemented or even planned.

    @bob: Never said everyone should use FOSS software. You pick whatever software you are comfortable with. If a commercial package gives you more value then that’s fine.

    Let’s face it – Vi is hard to use. So is Emacs. Are they buggy? Nope, not really. These are probably the two most mature open source projects in existence. They are difficult to use for a reason – they offer you unparalleled power and flexibility that cannot be matched by any other editors. But this comes at a price – you must learn a whole new set of key-bindings, and change the way you edit text.

    People say Lisp is difficult and cryptic. Perhaps, but once again – it offers you more power than most other functional languages combined.

    These benefits are plain to see. Have you ever seen a real vi user at work? Or a real Emacs guy doing it’s thing. I was fortunate enough to have a great professor who was die hard emacs user. Things he did with that editor blew my mind. But alas, if you have never seen it used the right way you wouldn’t know.

    People who argue that application X or Y is difficult to use, but refuse to put in the time and effort to learn it are like people who argue that touch typing is difficult and thus never learn it and claim they are simply a slow typist. It is silly – we can all see that such a person would benefit from a little bit of practice. This is how I view folks who refuse to learn their applications of choice.

    Oh, and btw – I have been using Ubuntu for few years now and I rarely had any issues with it. I have been using many open source apps since I’ve got a clue back in college and I was rarely disappointed with them.

    Would you call Firefox buggy? I have yet to find a browser that offers me a better experience. It has huge community, and problems are fixed in record time. It’s not perfect but then again nothing is.

    I could tell you stories about funny Office glitches I have encountered. The conversion between the old binary format and the OOXML format is buggy as hell. Excel constantly forgets positioning of text boxes, Word does funny things with embedded objects. Over 60% of calls to our help desk deal with various Office issues, bugs and conversion problems. Hardly ever do we have a call about the supported Open Source apps such as Firefox.

    All software is buggy. Open source software makes these bugs visible so that they can be fixed. Commercial software sweeps them under the rug and hopes no one notices. Then 3 years later they fix it in a service pack and act as if they were heroes.

    But I’m not saying everyone should use FOSS software. What I said was that FOSS is aping commercial world far to much. Open Office should have that “show markup” feature from Word Perfect but they don’t. Why? Because their goal is to clone functionality of MS Office, not to design a best Office Suite available. Perhaps if they shifted their focus, they would be much more successful in competing with Microsoft. Perhaps more people would be drawn to it because it would be a superior editor and not just because it’s free and open.

    Reply  |  Quote
  5. James Heaver UNITED KINGDOM Mozilla Firefox Windows says:

    Luke, perhaps it might be worth suggesting it to Openoffice.

    I know historicaly OO.o hasn’t been able to support different views on the same data – this was why it never had an outline mode. I /believe/, but haven’t checked, that they have changed the architecture to allow different views now, so it may be trivial to implement a markup view.

    Presumably odf should make this trivial, as it is designed to be human editable (in raw form, and for a very bored human…)

    Reply  |  Quote
  6. Mart SINGAPORE Mozilla Firefox Windows Terminalist says:

    I’m slowly but surely moving from being a “fucking idiot” to “fucking moron” because of your blog! :D

    But I still use MS Word… :P

    Reply  |  Quote
  7. Luke Maciak UNITED STATES Mozilla Firefox Windows Terminalist says:

    @Mart: LOL! Glad to hear that. :) I mean I think. I’m assuming that the “fucking moron” state is the better one though I’m not sure.

    My theory is that we are all equally stupid – just in different, unique ways. :P

    Oh and there is one feature I like about word is that you can actually use it to create quick documents with many screenshots very rapidly by simply doing:

    1. Alt+Print Screen
    2. Ctrl+V in Word

    You can then crop them right inside Word. It’s actually very convenient. Well, actually most Office quality editors can do that so they all qualify. Great for creating documents with many images and little text on the fly this way.

    For any kind of real writing it’s LaTex though.

    Reply  |  Quote
  8. Mart SINGAPORE Mozilla Firefox Windows Terminalist says:

    30 pages long, since university, which is why I’m still on MS Word for ease of use. Most on the time, I’m just writing barely-5-page reports. I’m developing funky habits for dealing with its WYSIWYG though, like turning off the bold or italics before I hit a new line/para, or using the default Styles or create my own custom ones so I can auto-create and auto-update stuff. I’m still amazed that a lot of people don’t use Styles at all.

    Maybe when I get a sudden inspiration to write a novel, LaTeX will be my software of choice. :P

    Reply  |  Quote
  9. Mart SINGAPORE Mozilla Firefox Windows Terminalist says:

    OT: Did something do wrong somewhere in my prev comment?

    Reply  |  Quote
  10. Luke Maciak UNITED STATES Mozilla Firefox Windows Terminalist says:

    [quote comment=”10404″]OT: Did something do wrong somewhere in my prev comment?[/quote]

    Yeah, it seems that you had a half a link appended to the begging of the comment and opening of a quote. Not sure why that happened, but I fixed it. :)

    Reply  |  Quote
  11. Alphast NETHERLANDS Mozilla Firefox Ubuntu Linux Terminalist says:

    Actually, the only clever answer to this problem (and as an unhappy user of both MS Word and Open Office, I can tell) is: don’t use text editing applications. There is another type of application which does use markup language and can still be pretty to print (given you use proper CSS style) and that is a wiki.

    I use a wiki at work (Confluence, from Atlassian) and I am happy with it. Admittedly, it has a WYSIWYG mode too, but I simply ignore it. It is good enough for most text. And if I really need a semi-pro publishing tool (for posters or flyers), then I can use good old Scribus.

    Reply  |  Quote
  12. Mart SINGAPORE Mozilla Firefox Windows Terminalist says:

    @Luke Maciak: Thanks Luke, but I think the first part got chopped off. Guess I’m still not ready for markup languages yet. :P

    Reply  |  Quote
  13. Peter Hilton NETHERLANDS Safari Mac OS says:

    You’re right, and so is Alphast, which is why a Wiki is my word-processor.

    Reply  |  Quote
  14. Alex UNITED STATES Internet Explorer Windows says:

    That’s funny, all the post is talking about the evil on WYSIWYG and at the end of the page there is advertisment for Cute Editor for ASP.Net, a WYSIWYG HTML editor.

    Reply  |  Quote
  15. Jake UNITED STATES Mozilla Firefox OpenBSD says:

    [quote comment=”10398″]
    Man you are exactly right but I wonder why some many FOSS and OSS zealots still whine so much that they want everyone to only use OSS/FOSS and to think just like them? The fact is that not only is OSS/FOSS difficult to use but buggy especially most of the crap on Linux..[/quote]

    You are making a very broad generalization. You are saying that all software that is produced a certain way is going to be buggy. In reality, some of the code that you are using is even from open source software at some point. Microsoft borrowed public domain code to make Internet Explorer and they borrowed BSD licensed code for Window’s TCP/IP stack.

    Open source is simply a way of coding and releasing code. There will be some excellent, easy-to-use dependable code released under open source licenses. There will also be some code that is complete crap. I find the Linux kernel, GNU toolkit, KDE desktop environment, and so forth to be very easy to use and reliable. OpenBSD that I’m on now is also very reliable, even if it isn’t easy to use. OpenBSD is arguably the most secure OS in existence.

    Reply  |  Quote
  16. axolotl GERMANY Safari Mac OS says:

    The blog we use at our company uses a variant of TinyMCE. Its WYSIWYG mode is very useful for “importing” rich text I want to post which originally came via email, from a Word document or from a web page etc: Copy & Paste into TinyMCE, switch to HTML source view (!) and clean up the mess (preferrably by copying to a syntax-aware highlighting ASCII editor and back).
    By the way, for HTML editing, Dreamweaver used to follow the “Word Perfect” paradigm – parallel HTML source and rendered page view.

    Reply  |  Quote
  17. Luke Maciak UNITED STATES Mozilla Firefox Windows Terminalist says:

    @Peter Hilton: Great article! Wikis are indeed a good replacement – especially for collaborative documents.

    @Alex: LOL! It happens. Just like all my WoW related posts have Gold Farming adds attached to them. :P

    @Jake: Word!

    [quote post=”2674″]By the way, for HTML editing, Dreamweaver used to follow the “Word Perfect” paradigm – parallel HTML source and rendered page view.[/quote]

    What do you mean used to? I hope they didn’t remove that feature in the newer releases.

    Reply  |  Quote
  18. Kevin Benko UNITED STATES Opera Linux says:

    Luke:

    I remember “Wordstar”… on CP/M !!!

    I’ve been using LaTeX since 2002. Hell, I use LaTeX for everything. I’m probably one of the three people on Earth who uses the letter class. I use the beamer class to do presentation (death by “powerpoint”) slides. I even got my wife to start using LaTeX in 2004.

    I totally agree with you, man.

    Reply  |  Quote
  19. Ian Clifton UNITED STATES Mozilla Firefox Ubuntu Linux says:

    Excellent quote! ;) I think this post ties in with your post from today and mentioning that people don’t like to read. People also like to only excel at one thing, and they actively choose for that thing to not be technologically related. This all goes back to the anti-intellectualism that I believe you posted about quite a while ago; our society somehow thinks that being ignorant is cool. Of course, our society also believes in buying things it can’t afford and look where that has gotten us…

    Reply  |  Quote
  20. Luke Maciak UNITED STATES Mozilla Firefox Ubuntu Linux Terminalist says:

    @Kevin Benko: My thesis defense slides were made with LaTex. ;)

    Also, I see you are feeling somewhat bold today. lol

    @Ian Clifton: Precisely! I hate when people are proud of their own ignorance and lack of knowledge as if it was something worth bragging about.

    Reply  |  Quote
  21. axolotl GERMANY Safari Mac OS says:

    @Ian @Luke the good part of ignorance is mental economy – you cannot know and learn everything, so you consciously chose what to learn. Making a good decision can be something to be proud of. The bad part is when bad decisions keep you ignorant of something you’d need to understand in order to do a good job at whatever you want to do (e.g. typesetting documents!). Worst of course is when economy becomes just an excuse for lazyness.

    Reply  |  Quote
  22. s BELGIUM Mozilla Firefox Ubuntu Linux says:

    i hate ms word. this stuff is like RETARDED. i am writing a paper together with a co-worker. normally i use vim+latex but of course that’s *impossible* to use for “normal” people (sigh). so now i’m using ms word and constantly banging my head on my table. it’s so stupid and buggy i can’t believe people want to pay for this. and it hurts my eyes.

    sorry, i needed to vent my frustration.

    Reply  |  Quote

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>