# Invisible Formatting Tags are Evil

**URL:** <https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826>\
**Category:** blog\
**Created:** [May 8, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826 "2006-05-08T00:00:00Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![codinghorror](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/codinghorror/32/36371_2.png) [@codinghorror](https://discourse.codinghorror.com/u/codinghorror)\
**Post date:** [May 8, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/1 "2006-05-08T00:00:00Z")

</div>

So I'm merrily editing my document in Word, or the WYSWYG editor of my choice, and **I accidentally delete one of the invisible formatting tags embedded in the document**. Carnage ensues. Here's an example from Outlook:

* * *
This is a companion discussion topic for the original blog entry at: [http://www.codinghorror.com/blog/2006/05/invisible-formatting-tags-are-evil.html](http://www.codinghorror.com/blog/2006/05/invisible-formatting-tags-are-evil.html)

---

<div class="post-metadata">

**Author:** ![David](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/d/aeb1de/32.png) [@David](https://discourse.codinghorror.com/u/David)\
**Post date:** [May 8, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/2 "2006-05-08T00:00:00Z")

</div>

I completely agree. In Word, you can reveal some of the stuff that is going on by Ctrl-Shift-8 which shows some things (like page-breaks and section breaks), but things like the start and end of bold (italics, etc) are sadly still hidden. It makes me miss Word-Perfect and Reveal Codes.

David

---

<div class="post-metadata">

**Author:** ![codinghorror](https://discourse-cdn.codinghorror.com/user_avatar/discourse.codinghorror.com/codinghorror/32/36371_2.png) [@codinghorror](https://discourse.codinghorror.com/u/codinghorror)\
**Post date:** [May 8, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/3 "2006-05-08T00:00:00Z")

</div>

It makes me miss Word-Perfect and Reveal Codes.

I was just saying the same exact thing in a conversation! Eerie.

Evidently it is possible to have too much WYSIWYG.

---

<div class="post-metadata">

**Author:** ![David](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/d/aeb1de/32.png) [@David](https://discourse.codinghorror.com/u/David)\
**Post date:** [May 8, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/4 "2006-05-08T00:00:00Z")

</div>

Sorry to have multiple posting in rapid succession, but I just did some searching and found this:  
[http://www.levitjames.com/crosseyes/reveal-the-codes.htm](http://www.levitjames.com/crosseyes/reveal-the-codes.htm)  
It looks like they managed to get the WP Reveal Codes functionality into Word.

I haven’t tried the product (no copy of word on my office computer), and I’m not affiliated with the product in any way. Has anyone tried this product?

David

---

<div class="post-metadata">

**Author:** ![Ian\_Johns](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/i/47e85d/32.png) [@Ian\_Johns](https://discourse.codinghorror.com/u/Ian_Johns)\
**Post date:** [May 8, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/5 "2006-05-08T00:00:00Z")

</div>

I posted a similar rant last September on a documentation topic at [http://discuss.joelonsoftware.com/?joel](http://discuss.joelonsoftware.com/?joel) :

“And regarding formatting, almost all our documentation is developed in Microsoft Word. Word is one of the few programs that can get me cussing cursing in no time flat. Auto-formatting (whether it’s disabled or not) hidden formatting are two of the worst features ever developed. Once Word starts “taking over” your documentation, you’re pretty much screwed. Saving often restoring to previous saved versions helps, but one shouldn’t have to go to such lengths to use a word processor.”

– [http://discuss.joelonsoftware.com/default.asp?joel.3.200081.12#discussTopic200193](http://discuss.joelonsoftware.com/default.asp?joel.3.200081.12#discussTopic200193)

---

<div class="post-metadata">

**Author:** ![PaulC](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/p/e9a140/32.png) [@PaulC](https://discourse.codinghorror.com/u/PaulC)\
**Post date:** [May 8, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/6 "2006-05-08T00:00:00Z")

</div>

I am also plagued by the opposite problem:

So many programs default to ‘paste with formatting’ and because the markers are invisible it is almost impossible to reformat the text to match the target document (some of it sticks even though you try to override it, such as mysterious double-spaced lines, etc).

For some programs that do not have a ‘plain text’ paste option, I find myself having to drop my cut and pastes into Notepad between the source and destination, which quite frankly is absurd.

Does anyone ever want the current default of paste with formatting? Has anyone ever had it produce a workable result?

---

<div class="post-metadata">

**Author:** ![Haacked](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/h/0ea827/32.png) [@Haacked](https://discourse.codinghorror.com/u/Haacked)\
**Post date:** [May 8, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/7 "2006-05-08T00:00:00Z")

</div>

Jeff, the problem is not WYSIWYG. The problem is WYDSIWYG.

(What you don’t see is what you get).

---

<div class="post-metadata">

**Author:** ![CarlM](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/c/e9a140/32.png) [@CarlM](https://discourse.codinghorror.com/u/CarlM)\
**Post date:** [May 8, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/8 "2006-05-08T00:00:00Z")

</div>

The problem isn’t that the tags are invisible. The problem is that the tags are invisible and can be affected by your editing actions. If the only way to format text were through explicit formatting commands, this would never be an issue. How the formatting is represented internally should never be exposed to the user.

---

<div class="post-metadata">

**Author:** ![mike171](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/m/f4b2a3/32.png) [@mike171](https://discourse.codinghorror.com/u/mike171)\
**Post date:** [May 8, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/9 "2006-05-08T00:00:00Z")

</div>

I hate, hate, hate WYSIWYG HTML editors, because all of them seem to do this – that, and you never quite know what tags you’re _inserting_ and what their scope is when you format or hit ENTER. It isn’t just Word by any means – VS does it, the HTMLEdit control behind OWA does it, the flippin’ Google/Blogspot editor does it. They all do it, grrr.

---

<div class="post-metadata">

**Author:** ![Alastair](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/a/74df32/32.png) [@Alastair](https://discourse.codinghorror.com/u/Alastair)\
**Post date:** [May 8, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/10 "2006-05-08T00:00:00Z")

</div>

Jeff, it sounds like you actually _are_ against WYSIWYG editors. The problem is that the invisible formatting tags are, well, invisible, and hence not what you see. WYSIWYG editors can, by definition, only edit visible elements.

I tried to make this point a while back: [http://girtby.net/archives/2005/06/13/this-is-what-you-see-this-is-what-you-get/](http://girtby.net/archives/2005/06/13/this-is-what-you-see-this-is-what-you-get/)

---

<div class="post-metadata">

**Author:** ![Laurent\_B](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/l/919ad9/32.png) [@Laurent\_B](https://discourse.codinghorror.com/u/Laurent_B)\
**Post date:** [May 9, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/11 "2006-05-09T00:00:00Z")

</div>

Please, tell what tool you did use to make that kind of gif-based animated demo ?

---

<div class="post-metadata">

**Author:** ![Alastair](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/a/74df32/32.png) [@Alastair](https://discourse.codinghorror.com/u/Alastair)\
**Post date:** [May 9, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/12 "2006-05-09T00:00:00Z")

</div>

If you really think about it, what’s the only difference between HTML and Word’s internal format? The difference is that Word is a closed-source markup language. Or it was, until MS decided to implement Office Open XML Formats…

As far as formats go, documented != open. (even for suitably cynical values of “open”)

---

<div class="post-metadata">

**Author:** ![Chris\_M](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/c/958977/32.png) [@Chris\_M](https://discourse.codinghorror.com/u/Chris_M)\
**Post date:** [May 9, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/13 "2006-05-09T00:00:00Z")

</div>

Whilst I have nothing against WYSIWYG editors, I’ve never personally got on with them and still prefer to use things like TeX/LaTeX for all my documentation needs. Once learnt, and with a few useful template documents you can put together a really nice looking document just as quickly as you can in word (quicker if you have to do any maths stuff).

---

<div class="post-metadata">

**Author:** ![Chris\_Nahr](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/c/48db29/32.png) [@Chris\_Nahr](https://discourse.codinghorror.com/u/Chris_Nahr)\
**Post date:** [May 9, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/14 "2006-05-09T00:00:00Z")

</div>

This has come up time and again in the Word blogs. The problem is, Word does not use such a thing as “formatting tags”, ergo it can’t show them. Word documents are internally represented as an impossibly complicated, impossibly error-prone, and totally counter-intuitive tree of nested C structures. It’s a miracle that Word even manages to display the correct formatting most of the time.

This incomprehensible internal structure has been inherited from Word for DOS and rewriting it would mean rewriting Word from scratch, which is why it doesn’t happen – even though this internal structure is responsible not only for randomly dropping formatting while editing, but also for frequently destroying documents wholesale once they exceed a certain length.

---

<div class="post-metadata">

**Author:** ![Ian\_Johns](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/i/47e85d/32.png) [@Ian\_Johns](https://discourse.codinghorror.com/u/Ian_Johns)\
**Post date:** [May 9, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/15 "2006-05-09T00:00:00Z")

</div>

Although this topic concerns WYSIWYG products (or lack thereof), I agree with Mozilla regarding  
"writing emails in plain … unformatted text".

However, it’s not entirely correct that “it’s clean, platform independent and you can be sure that the recepient will see exactly what you type”. Depending on the recepient’s email client settings, it can convert the plain text back to HTML text although it will be very SIMILAR to the original plain text email, the recepient’s version might be in another font, font size, add/subtract line breaks, etc.

---

<div class="post-metadata">

**Author:** ![Ian\_Johns](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/i/47e85d/32.png) [@Ian\_Johns](https://discourse.codinghorror.com/u/Ian_Johns)\
**Post date:** [May 9, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/16 "2006-05-09T00:00:00Z")

</div>

And ironically, as others have pointed out previously, this simple text-box-and-post-but-no-preview-button is certainly NOT WYSIWYG! 🙂

---

<div class="post-metadata">

**Author:** ![hgs](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/h/e5b9ba/32.png) [@hgs](https://discourse.codinghorror.com/u/hgs)\
**Post date:** [May 9, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/17 "2006-05-09T00:00:00Z")

</div>

I tried to point out to Sun ages ago that Star Office being WYSIWIG is no good if you need large fonts on screen to edit a document intended to be in small fonts when it goes to paper. It is no good if glare from white screens causes pain (which, funnily enough, you don’t get from paper (except under bad lighting), so it’s _not_ what you get, is it?) The whole point of this newfangled wordprocessing stuff [:-)] is that the computer should allow more flexibility than you had with a quill. Maybe disability lawsuits might wake people up…

---

<div class="post-metadata">

**Author:** ![Chris\_Nahr](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/c/48db29/32.png) [@Chris\_Nahr](https://discourse.codinghorror.com/u/Chris_Nahr)\
**Post date:** [May 9, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/18 "2006-05-09T00:00:00Z")

</div>

I guess “ages ago” people didn’t have LCD monitors. Glare from a white background isn’t really an issue anymore, unless your monitor brightness is turned up too high.

---

<div class="post-metadata">

**Author:** ![Pete106](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/p/ce7236/32.png) [@Pete106](https://discourse.codinghorror.com/u/Pete106)\
**Post date:** [May 9, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/19 "2006-05-09T00:00:00Z")

</div>

Please, tell what tool you did use to  
make that kind of gif-based animated demo ?

I second that.

---

<div class="post-metadata">

**Author:** ![Mat\_Hall](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/m/91b2a8/32.png) [@Mat\_Hall](https://discourse.codinghorror.com/u/Mat_Hall)\
**Post date:** [May 9, 2006, 12:00am UTC](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826/20 "2006-05-09T00:00:00Z")

</div>

I’ve learned the hard way that when you’re using Word it’s best to write the text first, and only _after_ the content is 100% correct do you start on the layout and formatting. It’s also best to do as much of the formatting as possible using Word’s Styles feature; although it suffers from some strangeness of its own it cuts down on the number of “invisible” formatting codes your document contains, and thus alleviates the pain induced if you need to make changes later.

The pasting problem is also tedious; in any application that supports it I always remap Ctrl-V to run a macro that performs a “Paste unformatted”, and then map the regular paste to Ctrl-Shift-V…

[Next page](https://discourse.codinghorror.com/t/invisible-formatting-tags-are-evil/826.md?page=2)
