Mail 3.x: Text editor still lacking polish

Posted by Pierre Igot in: Mail
August 12th, 2008 • 10:27 am

I have already had several opportunities to discuss the frustrating lack of polish of Mac OS X’s Mail application. One area in particular that has been really frustrating since Mac OS X 10.4 (Tiger) came out a couple of years ago is the text engine used by Mail for composing e-mail messages.

Sadly, for the most part things are just as bad in the latest version of Mail (3.x) in Leopard as they were in previous versions. Here is another example.

In the eyes of Apple’s engineers, I am probably a bit old-fashioned, but I still insist on using plain text when composing e-mails. Of course, the e-mail messages I receive are often in “rich text” or HTML rather than plain text, but most of the time they are in rich text for no valid reason (i.e. no rich text features, such as bold, italics, etc. are actually used—it just happens to be the default setting in people’s e-mail applications), so I have no qualms about replying to such “rich text” messages in plain text.

In other words, in Mail’s preferences window, I use the “Plain Text” option for “Message Format” in the “Composing” tab.

Since sometimes I do get e-mail messages for which I need to use rich text in my reply as well (either because the original message does actually use rich text features or because converting it to plain text just makes too much of a mess), I also keep the “Use the same message format as the original message” option on.

This means that, when I receive a message in rich text and hit the “Reply” button, initially my reply is in rich text as well, including the quoted text from the original message. Most of the time (after making sure that I won’t lose anything vital), I then click on the “Plain Text” button in the toolbar to force Mail to switch the entire reply to plain text:

Plain Text button

This all sound pretty straightforward. Unfortunately, even for such a simple process, Mail suffers from a serious lack of polish that can make the experience of composing plain text messages quite frustrating. Consider the following situation.

I got a message that was obviously in rich text format, even though, typically, it did not make use of any rich text features. Here’s what a section of it looked like:

Rich text message

It might look like plain text, but it’s actually rich text, because my default message body font in Mail is Optima 14 pt, and this is Arial 12 pt. Please note the selection highlighting, which shows that extra return characters were used in the original message to create space between paragraphs.

Now here is what I got as soon as I hit “Reply” in Mail with this message:

Quoted rich text

Already we have a problem: Somehow, the simply act of quoting the text has caused Mail to triple the space between the paragraphs of the original message. (The same problem applies throughout the message.)

It’s hard to tell exactly how it happened, but with the selection highlighting in the image above you can see that there is still an extra return character after the “We had discussed…” paragraph. Did Mail add a second and a third extra return character after this first extra one?

No. If I try to extend the selection further down, here’s what I get:

Quoted rich text

The empty line immediately above the first line (“Please let me know…”) in the following paragraph does not actually exist as an independent blank line. It behaves as if it was some “space before” formatting above the paragraph. Yet the first screen shot above clearly shows that there never was any “space before” formatting above the paragraphs in the original rich text message before I started composing a reply to it.

Now look at what happens when I convert this reply to plain text:

Message converted to plain text

The extra space between the paragraphs is still there, even though I am now in plain text. Does this mean that, when I converted the message to plain text, Mail converted this “space before” formatting to an extra return character above the paragraph? (By definition, in plain text messages, extra return characters are the only way to add extra vertical space between paragraphs.)

Sadly, Mail is actually messing things up even more here. When I try to adjust the selection highlighting to reveal what the extra space above the paragraph is made of now that I am in plain text, I am still unable to select the line immediately above the paragraph:

Message converted to plain text

There is no intermediate state between this selection and the selection in the previous picture. This means that the empty line immediately above “Please let me know…” does not exist in the plain text message, even though Mail’s text composing engine is clearly showing an extra space above the paragraph!

In other words, the situation that we have here is that Mail is still displaying a rich text formatting feature (automatic space before a paragraph) even though I am now composing the message in plain text format.

And, lest we forget, this automatic space before formatting was not even there in the original message before I quoted it! Mail added it, and now it’s incapable to get rid of it!

Somewhat predictably, once I send my reply (in plain text), if I reopen the sent reply from my “Sent” mailbox and look at the same section, things have changed yet again. Now I can actually select that extra empty line above the “Please let me know…” paragraph!

Here’s the body of the sent reply with a selection that excludes the space above the paragraph:

Sent plain text message

And here’s the same section with a selection that also includes the space above the paragraph:

Sent plain text message

As you can see, there is now an intermediate stage when extending the selection, which proves that Mail has added an extra line here in the plain text message. But it only did that when I sent the message, not while I was composing it!

This is all very disappointing and frustrating, because it effectively means that even simple things such as the spacing between paragraphs can be beyond the user’s control when composing plain text messages in Mail.

To me, it is very important to provide my e-mail correspondents with plain text messages that are easy on the eye and easy to read. So spacing between paragraphs of quoted or unquoted text is particularly important. But with Mail’s flaky text editing engine, there are frequently situations where even a fundamental thing such as this is beyond my control.

Of course, if I dig a little deeper, by looking at the original message’s raw source, I can see very clearly that the problem starts with the very nature of the HTML code used to compose the rich text version of the e-mail. It is horrible code, full of atrocious CSS style definitions and additional font face tags and what not.

Do I need to mention what software was used to compose the original rich text message? I don’t think I do, and really there is no point, because when it comes to bad HTML code, Microsoft is not the only bad offender. It might be the worst, but it’s hardly alone. And the fundamental problem is with the fact that this e-mail is in rich text in the first place, when it clearly does not need to be. The actual nature of the rich text code is a secondary issue.

The key point here, however, is that, once the message reply that I am composing is switched to plain text, there is simply no excuse for having rich text features (such as automatic space before paragraphs) still interfering with the composing of the message. How can my paragraph have automatic space before when I am writing in plain text? In plain text, automatic space before simply does not exist!

This is just one example. There is a myriad of similar issues with Mail’s text editor, especially when editing in plain text. Of course, I realize that, since rich text is the default format in Mail, Apple’s engineers do not bother to test the plain text editor engine as thoroughly as they do the rich text editor.

But still: plain text editing is a fully supported feature in Mail. It is an option in Mail’s preferences. So Apple should support it and test it properly. There is really no excuse for this utter lack of polish in Mail’s text editor. It’s not like plain text editing is very complex, after all! It is much more straightforward than rich text editing, and software developers have decades of experience with plain text editors.


4 Responses to “Mail 3.x: Text editor still lacking polish”

  1. jasonian says:

    The easy, though surprising answer is that “plain text” is not really “plain text” but HTML with a “plain text” style:


    a<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class="ApplePlainTextBody">This is a test.
    <div><br></div></body></html>

  2. Pierre Igot says:

    Eek.

    Where do you see this, though? When I look at the raw source of a plain text message that I have composed and sent, there really is only plain text.

    I am assuming that your code might correspond to the state of the “plain text” message while it is being composed, but I don’t know how to see the raw code of a message while it is being composed. (The “Raw Source” option is not available.)

  3. jasonian says:

    1. Compose a message

    2. Convert to plain text and save

    3. Open the Drafts folder

    4. Select the draft and view source.

    You may end up with plain text once sent, but since you’re editing in HTML mode, you’ll see the “rich text features” you describe. It appears a “real” “plain text mode” for editing doesn’t exist.

  4. Pierre Igot says:

    I don’t have the option to view the raw source for drafts. It’s greyed out.

Leave a Reply

Comments are closed.