Closed Bug 38433 Opened 25 years ago Closed 24 years ago

Recommend plaintext, if reasonable

Categories

(MailNews Core :: Composition, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: BenB, Assigned: BenB)

References

Details

(Whiteboard: [nsbeta2-] Fixed.)

Attachments

(12 files)

Description: We can convert several HTML tags to plain text without data loss: ul, ol, li, blockquote (without cite), b, i, u, strong, em, code, a We should suggest plain text in the askSendFormatDialog, if the msg contains only those (and <html> etc.) tags. In other cases, we should force a decision by giving no default like we did in the past im Mozilla Mailnews. Importance: This is important interop. nsbeta2 nomination. Newbies have no idea, if it will loose data and take the "save" choice to HTML (or HTML+plain text), if not necessary, which causes hostile reaction on the other end. Power users like myself know, that Mailnews can convert it and use those tags in the HTML composer, even if they intend to send plain text. They would save one click. Implementation: If I get the checkin permission then, I could do some of this, namely the checks, for M18. However, somebody else would have to give the askSentFormatDialog the ability to take a default.
I'll wait with the nsbeta2 keyword for Phil's answer. Phil, can we move this bug to M18 or is it considered a "feature"? I really want this to be in the shipping product.
It's a feature to have a list of HTML tags which force the "ask me" dialog. Assuming we have that code (in 4.x, the list was <html>, <p>, <br>, etc.) I'm willing to consider the optimization of that list as a bug.
I like the idea of automatically sending simple messages as plain text, and also of forcing a decision when the message can't be easily converted to plain text (as long as there's a "[don't] ask me again" checkbox on the dialog). I don't think that list should include <b>, etc, though, because it doesn't always look good to surround text with ** or __, and if a user makes the text bold, he or she probably expects it to come out emphasized.
Phil, bug 28420 is about Intelligent Send. This (38433) bug is not as easy as adding some tags to a list, since we don't yet have the ability to set the default of the ask dialog. In other words, this bug is about enhancing the intelligence of Intelligent Send. Would this be a "feature"? I'm asking, because I propbaly won't have time to implement it before M18. Jesse, - It does come out as emphasized in Mozilla (in most cases). - I don't know, what your concern is. Those tags (for structured phrases) *will* trigger the ask dialog, just the default choice will be plain text. You can easily override it. (It will not trigger, if there is only <body>, <p> etc., see bug 28420.)
Ben, now I see you're proposing a change to the algorithm for "intelligent send", and I guess that is a feature. We have, in the past, discussed setting the radio buttons in the Ask Me dialog differently based on contextual information (message contents, recipients, etc). Personally, I'm not in favor of doing that because I think it would be confusing to have the dialog settings and output content-type (!) change based on unpredictable (to the user) context. Just my opinion though...
Ah, so the dialog would contain something like "Mozilla can convert your message to plain text. This will make it easier for older mail programs to read your message, but your text formatting will be converted to ASCII hints (for example, <b>bold text</b> will be changed to *bold text*)." I don't buy your argument that "[i]t does come out as emphasized in Mozilla (in most cases)." It won't come out as emphasized in most HTML-readers, just Mozilla. And URLs could get screwed up by the extra _fake formatting_. By the way, should <a href="$1">$1</a> and <a href="mailto:$1">$1</a> be added to the list of things that get converted without asking? This should only be done if it is safe to assume that most mail clients that handle HTML mail also add links automatically in text/plain e-mails.
> I guess that is a feature. OK, nsbeta2 nomination. Without this "feature", my structured phrases feature (conversion of <strong>bold</strong> -> *bold* -> <strong>*bold*</strong>) is kind-of pointless, because it was my intention to reduce the number of "misguided" HTML msgs with it. > it would be confusing to have the dialog settings and output content-type (!) > change based on unpredictable (to the user) context. What, if we display altered text saying, that we only found "convertable" tags?
> so the dialog would contain something like Didn't read that. Yes, that was, what I had in mind. > And URLs could get screwed up by the extra _fake formatting_. Please explain. "<a href="foo://url">an<b>bold</b>url</a>" -> "an*bold*url <foo://url>" > By the way, should <a href="$1">$1</a> [...] This is bug 28420.
Keywords: nsbeta2
<a href="$1">$1</a> is already in the list of tag that doesn't ask user for convertion.
> "<a href="foo://url">an<b>bold</b>url</a>" -> "an*bold*url<foo://url>" ok, so you're saying that if the href doesn't match the anchor, we include both the plain-texted anchor plus the url in brackets? sounds good to me. > that we only found "convertable" tags? it's hard to be newbie-friendly if you use the word "tags"...
Putting on [nsbeta2-] radar. Not critical to beta2.
Whiteboard: [nsbeta2-]
Does this mean, if I won't fix it for M16, it won't be in final? Or will I have a chance for M18? I think, this is really important, but I *really* have next to no time currently.
If JF has to do any work, it can only be done before M16. If you do the work, it can be done after M16 if (1) you can convince mozilla.org (mitchell and whomever she designates) to take it and (2) you can convince the module owner (probably putterman) to take it.
Phil, tnx for clarification. REASSIGNing to myself. P1. M18 in optimism, that I'll get the permission :-). Putterman, what do you think?
Assignee: ducarroz → mozilla
Priority: P3 → P1
Target Milestone: --- → M18
Status: NEW → ASSIGNED
As long as this is just setting defaults it sounds reasonable. I'd take it if it gets code reviewed by the right people and we're confident it works. I wish I could do this for my code :)
Also, it depends on when. It's more likely to be taken at the beginning of M18 than on the last day.
putterman, tnx. /me relaxes :).
Target Milestone: M18 → M17
FIXED! Yeah! My P1 bug is done. I will attach patches as soon as I finished testing. ducarroz, can you then review, please?
Whiteboard: [nsbeta2-] → [nsbeta2-] Fixed.
Spent 1,5 full days finding XUL-engine bugs. *sigh* :(. At least, I found workarounds. ducarroz, thanks for using consts instead of numerical literals. Otherwise, one of the workarounds would have hurted much more. The changes to nsMsgCompose.cpp look more scary (at least to me) than they are: I just copied the tree-walking.
Keywords: review
Maybe I should not use C++-style comments in XUL files? BTW: Filed bug 44552 about finetuning the list of tags we ignore/recognize.
Attached patch Fix, version 2Splinter Review
Attached patch Fix, version 4Splinter Review
The old patch conflicted with ducarroz' latest changes. Attached new one. ducarroz, can you review, please?
Ben, I want be able to review it until next week.
Attached patch Fix, version 5Splinter Review
No, WONTFIX, WONTFIX! You should *never* vary a default setting in a dialog unless your reason for doing so is *extremely* obvious -- and the exact assortment of HTML tags which a particular message happens to contain, is not obvious at all. If you vary a default option like this, you make it very easy for a user who has learnt the contents of the dialog (and who is expecting one particular option to be the default) to accidentally select the wrong option -- e.g. pressing Down,Down,Enter to select another option, without even looking at the dialog thoroughly. Suggestions: * Make the text of the recommended option bold. * Say `(Recommended)' next to the best one for the given message. But *please* don't change the default selected option; if you do, undesirable messages will result, and the (sender) victims might never work out why it happened.
Matthew, the length of the text in the middle is different, making the two versions of the dialog visually obvious. So, only if you just hit Send, wait a second and then hit enter *blindly*, you will possibly have a problem. But that's your problem, as there might be a completely different dialog as well, e.g. "no subject". <example content="dialog_convertable"> recipients balbala can be converted blavbla pwrtu pwzrtpzwtr wzrpowrpüt. however, the look woiezr otwe r we opwrt öopt äoutwoärt oärati do you want iwetrut ? </example> <example content="dialog_convertable"> recipients balbala cannot be converted blavbla pwrtu pwzrtpzwtr do you want iwetrut ? </example>
(Note that the whitespace in the examples was significant, i.e. in the dialog is really some free space between the last 2 paragraphs in the second case.)
Not relevant. Intermediate to advanced users will be smart enough to fill out sender, subject etc, and they will be expecting the conversion dialog to appear. They know what the default will be, and they will have memorized the sequence of key-presses required to change from the default to the particular conversion setting they want for this message. So they don't need to read the dialog at all. But oops! they get it wrong, because you've shifted the default on them. Bad Mozilla! Bad!
(BTW: the second example was really |content="dialog_notconvertable"|.) If internediate to advanced users always want the same setting, they can (and most likely will) set the pref. See also bug 44494. Not even *looking* at the dialog is operator-error. All sorts of nasty things can happen then, and they know that.
That's assuming that intermediate to advanced users always want the same setting, in which case the dialog wouldn't be appearing in the first place. But this bug is about when it *does* appear, which means that the user has a good reason for altering their choice between messages. If I know what a dialog is going to say, not looking at it is *not* operator error. When Mac OS draws a native dialog, it draws the Ok and Cancel buttons before it draws any of the other controls, for precisely this reason: if you hit Enter or Escape fast enough, the rest of the dialog never needs to be drawn, because the system knows that you know what the dialog was going to say.
> That's assuming that intermediate to advanced users always want the same > setting, in which case the dialog wouldn't be appearing in the first place. So, you imaginary user uses even altering settings (and propably formatting), and never came across the second type of dialog before? > If I know what a dialog is going to say, not looking at it is *not* operator > error. Yes, and then we won't have a problem.
> So, you imaginary user uses even altering settings (and propably formatting), > and never came across the second type of dialog before? What's `the second type of dialog'? > > If I know what a dialog is going to say, not looking at it is *not* operator > > error. > > Yes, and then we won't have a problem. But we will, because the user will be assuming a default option which you have changed from under them.
> What's `the second type of dialog'? If we found elements not convertable to plaintext, say so and set no default at all. This dialog gives the user an additional guidiance, that he really needs. A newbie doesn't know what is the right thing to do. The right thing to do depends on the situation. We help him by reflecting this inthe software. Additionally, we offer a reasonable default for all users. If you just hit OK, you say "I don't know/care, I let the software choose the right option.". That's what we do. If a user acts blindly without knowing the app, that's his problem, not mine.
In case my comments are lost in the upper reaches of this bug report that no one ever reads anymore, I agree with Matthew -- it would be confusing to change the default values in the Ask Me dialog. > If a user acts blindly without knowing the app, that's his problem, not mine. I completely disagree with that. If a user acts on muscle memory about where controls are, or what their policy-based values are, and we change that, invalidating their reasonable expectations, that's our problem.
> In case my comments are lost in the upper reaches of this bug report that no > one ever reads anymore, I agree with Matthew -- it would be confusing to > change the default values in the Ask Me dialog. No, they were not at all lost. They were the reason why I added changing text in the dialog. And this text and its visibility (it is really hard to miss it, unless you don't look at all on the screen) are the reason why I reject Matthews objections. There are so many dialogs which can pop up during the send option. If a user really thinks he knows them all, he most likely already saw both versions of the askSendFormat dialog. If that is not convincing: Let's go through the keystokes the user could have remembered and see it there can actually be a problem in practice. In one case, we set a default, in the other one we don't, so I guess, the keystrokes have to be different to actually trigger accidently a wrong option.
bummer. No keystrokes at all currently (other than ENTER). Re ENTER: It doesn't work in the not-convertable case, so, either the user won't even try to hit just ENTER blindly, or it won't work.
> There are so many dialogs which can pop up during the send option. Yes, but the content of each of those dialogs is always the same, and it's reasonable for the user to expect them to be the same.
> If we found elements not convertable to plaintext, say so and set no default at > all. Setting no default at all is very bad UI. If this is even possible in XPToolkit, it is a bug. The only time when none of a set of radio buttons should be selected, is with Windows native radio buttons when two or more of them are selected simultaneously <http://msdn.microsoft.com/library/books/winguide/ch08c.htm>. (E.g. for a paragraph formatting dialog, when part of the selected text is aligned left, and part is centered.) That is obviously not the case here. If the Enter key doesn't work in a dialog, that is also a bug. > There are so many dialogs which can pop up during the send option. If a user > really thinks he knows them all, he most likely already saw both versions of > the askSendFormat dialog. No, because (as I already said) if you vary the default, she has no reasonable way of knowing which default is going to apply for any given message, so she doesn't know which `version' is going to appear. If you vary the default, assuming the user even realizes you are doing so (instead of repeatedly choosing the wrong option by mistake), you are wasting the user's time by forcing her to read the dialog every single time. Please just make the recommended option bold, and/or include the text `(recommended)' next to it. Don't change the default.
> Setting no default at all is very bad UI [...] > Please just make the recommended option bold, and/or include the text > `(recommended)' next to it. Don't change the default. Do you propose to have a default different from the recommended option, or what? (*This* would be *really* bad UI, certainly the worst option of all IMO.) There *are* two cases, we have to reflect them *anyhow*.
> Do you propose to have a default different from the recommended option, or > what? If the default happens to be different from the recommended option for that particular message, then yes. Imposing `intelligence' which changes the default option depending on the message will firstly cause user errors, and secondly interfere with the user's ability to deal with the dialog quickly.
I think the point that's been missed in all this is that we're assuming we know what's best for the user better than they do. There's the assumption that if a message *can* be converted to text, then it *should* be, regardless of what *they* know about the addressee's mail client. They may not have specified that the addressee can receive HTML e-mail, but that doesn't mean they can't. A better default, I think, would be to send plain text and HTML both, preserving the content as entered and allowing the mail client to process it normally. Generally speaking, faux machine intelligence is *good.* If we can do simple things to predict the users needs or focus of attention, that makes the product look and feel better. But that assumes that we can reliably predict their desire. If we *can't* and we predict incorrectly, then it quickly moves from good to downright annoying. This is a very simple case, but one in which we can't reliably predict how a user, beginner or advanced, is going to treat each e-mail. Better to simplify and give them a single solution which better matches their needs than a more complex one that might just confuse them. I would recommend a single dialog, always defaulting to "plaintext & HTML" where the plaintext automatically gets as much faux formatting as possible and which explains that some formatting may be discarded if "plaintext only" is selected. For example: Mozilla can convert your message to plain text. This will make it easier for older mail programs to read your message, but some text formatting may be lost. (O) Send plain text and HTML. ( ) Send HTML only. ( ) Send plain text only.
> I think the point that's been missed in all this is that we're assuming we > know what's best for the user better than they do. In many cases, we actually *do* know it better. I think, most, or at least many, users don't understand the problem fully. So, we give them a good recommondation. I argue that the fix for this bug *considerably* increases the quality of the recommondation. *But* I do not assume that we know it better in all cases. That's why the dialog still pops up. The user stilll has the same choices as before, just that we make a better recommondation now. > A better default, I think, would be to send > plain text and HTML both, preserving the content as entered and allowing > the mail client to process it normally. NO. Please refer to the discussion "Assuming "plain text" or "html mail".." on .mail-news <news://news.mozilla.org/37FA67D5.C902C699@netscape.com>. This is what 4.x did, and it caused *a lot* of complaints and problems. Many people consider sending HTML rude, even if it's a multipart msg. Plaintext Only is the safest choice. 4.x even says so in the help (but fails to implement this in the software). -- I suggest to review and checkin the patch. I argue taht it is a large improvement over the previous state. The extend of formatting is one factor in the calculation what format to send, and this fix reflects this in software. What Matthew is discussion about is IMO UI polish. If we always set the same default choice and just change the recommondation or the text, or if we change the default choice based on the recommondation, or what the default choice should be, is IMO important, but, from the coding perspective, just minor tweaks to fix I submitted. I think, setting the default based on the recommondationis the most obvious solution for now, and we have a working patch for that. So, please let us check this stuff in and file a new bug about the polish. But please be sure to have consensus or at least a majority for the solution you propose in the bug.
> just minor tweaks to fix I submitted. just minor tweaks to *the* fix I submitted. I.e. my patch contains teh bulk of teh work, and it has to be done anyway. The rest are just tweaks.
Ben, you completely skipped over the point of my argument, choosing to focus instead on a suggested example dialog. Thank you for pointing me to that particular thread in the newsgroup, however, because I now see that this is entirely a personal issue for you and has little to do with "* a lot* of complaints and problems." Back to the original point, *MOST* users don't care *what* format they're sending. MOST users just want to send their mail and be done with it. It's generally engineers thinking they know what's best for everyone that get in the way and force all these different formats on people who couldn't care less about HTML, plain text, multi-part messages, or any other under-the-hood detail. When the case arises that the user must be presented with a choice, for whatever reason, that choice should be clear, simple, and predictable. Whether or not they *should,* users do not always process every dialog that comes on screen. Indeed, many users will not even *see* them, depending on where the dialog pops up and where their attention is focused at the time. Even more important than the dialog itself, the *result* needs to be consistent and predictable. If a user sends two messages and one message gets through fine and the next does not, either because the recipient can't receive HTML *OR* because formatting was auto-magically stripped away in an effort to meet the lowest common denominator, that user will be confused, irritated, even angry. If the interface does not make clear what all the options are and why one would be chosen over the other and present that same choice every time and in the same manner, then the interface has failed. It will not help them understand what went wrong or what variables might have changed. It will not help them understand what the right choice is and why. It will not help them make a better choice next time. Creating a special case that says, in essence, "you have created a special-case e-mail which can be somewhat safely converted to a more-widely accepted format, though it may not come out looking exactly like you sent it and it may not be necessary to convert it at all" is not helpful. It complicates the matter unnecessarily and does not help the user understand why this particular special-case e-mail can be converted nor what the converted e-mail will actually look like. Therefore, I am recommending that, as Matthew and Phil have both said already, we have a single dialog, with the same default which is tuned for the best success for the majority of users. The lowest common denominator, must support every last client in the default setting approach is not useful or practical (users will rarely switch ON a feature they're not already using, but they will turn OFF features that cause conflicts). (Oh, and these recommendations are far more than just polish; they pretty much directly contradict the behavior you're advocating. UI is rarely just a surface-level issue; it involves behavior, workflow, and structure. If this is not the forum to suggest solutions to issues posted here, where exactly do you recommend I go to reach a consensus before I am permitted to suggest alternatives to your demands?)
> I now see that this is entirely a personal issue for you and has little to do > with "* a lot* of complaints and problems." NO. I fight for plaintext *only* because it caused "*a lot* of complaints and problems". Personally, structural HTML in email is fine with me. > Back to the original point, *MOST* users don't care *what* format they're > sending. MOST users just want to send their mail and be done with it. But user *do* care in which format they *recieve* msgs. The result of that is that the software of the recipient has to care. That's what I implemented (partly). > If the interface does not make > clear what all the options are and why one would be chosen over the other The interface implemented with this fix does this. > present that same choice every time that would be wrong, becauseu the right choice chanegs depending on certain variables (which we check *and* explain to the user). > I am recommending that [...] we have a single dialog, with the same default > which is tuned for the best success for the majority of users ... and thus "Plaintext Only". > where exactly do you recommend I go to reach a consensus The newsgroup n.p.m.mail-news.
Corrections: > I fight for plaintext *only* because The reason why I fight for "Plaintext Only" is that ... > the software of the recipient s/recipient/sender
>NO. I fight for plaintext *only* because it caused "*a lot* of complaints >and problems". Personally, structural HTML in email is fine with me. If you would be so kind as to provide some evidence of such. The mail-news messages contained only your opinion and no supporting evidence. >But user *do* care in which format they *recieve* msgs. >The result of that is that the software of the recipient has to care. That's >what I implemented (partly). No, it only matters that it *works.* What format it's in is irrelevant. >> If the interface does not make clear what all the options are and why >> one would be chosen over the other > The interface implemented with this fix does this. To you, perhaps, but then you have the advantage of having written it and already understanding what it does and why. You've already leapt over the part where the user has to understand what all these formats are and why they need to care. The truth is, they shouldn't need to understand or care. >> present that same choice every time >that would be wrong, becauseu the right choice chanegs depending on >certain variables (which we check *and* explain to the user). NO. That's what I've been trying to tell you: the "right" choice does NOT change because there is NO RIGHT CHOICE. You're making the assumption that because YOU want the lowest common denominator option that everyone SHOULD want the same option. That's simply not true. In fact, the large majority of users would rather not ever see this dialog or ever have to concern themselves that there are several formats of e-mail and that they are not entirely compatible (which is OUR problem, not theirs). >> I am recommending that [...] we have a single dialog, with the same >> default which is tuned for the best success for the majority of users >... and thus "Plaintext Only". Perhaps I should rephrase: the most full-featured, richest, most successful experience for the majority of users; the 90% that use mail clients that can handle HTML and/or multi-part mime. >> where exactly do you recommend I go to reach a consensus >The newsgroup n.p.m.mail-news. Ah, right. No discussion allowed here. Heaven forbid I should suggest something in a bug that I haven't first discussed thoroughly in the newsgroups. Good thinking. Better get rid of this "Additional Comments" feature, too.
> If you would be so kind as to provide some evidence of such. John? > No, it only matters that it *works.* What format it's in is irrelevant. The format is relevant for the question if it works. Some keywords: Palm, blind, preference of a mail client != big 5 (Mozilla, 2xMS, Eudora, Lotus). > the 90% that use mail > clients that can handle HTML and/or multi-part mime. And want about the rest? 10% are at least 30 millions. Shouldn't they be able to read their mail? Is there any point to send a mail the recipient cannot read? > >The newsgroup n.p.m.mail-news. > Ah, right. No discussion allowed here. Exactly, not in my bugs, not in this extend. Bugzilla is supposed to track work. I will not discuss about HTML vs. plaintext mail in this 5-line textarea. (And especially because we had this discussion already.)
[Ben said that HTML causes problems, Brendan asked for cites, Ben referred it to me] The reason that the GNKSA has a requirement that HTML not be the default, and that the program can not SET it to the default in all cases, is because when Netscape did this in an earlier version there was a rash of such post, followed immediately by a rash of objections (flames for those less polite). This goes on to this day, although most of the people "complaining" are no longer flaming, and instead are just "informing". I did a DN search for "please post html plain*" (order doesn't count) and the first 2 different subjects were request to post in plain text (to be a be a bit more precise, the first 2 non-faq subjects. The FAQ, which was for alt.html, included instructions saying that you should only post in plain text). OK, on to my own suggestion -- I'm not familiar with what is possible for prefs, but if possible I would suggest (a) setting the default to "send plain text, intelligently converted" (however that should be worded) and (b) if that is not possible, leave it set as the default radio button, BUT *disable it* so that the user has to pick one of the other options before the "OK" button is enabled. I have seen this in other programs, although I can't give you any examples off hand.
This bug won't help us pass the GNKSA, because the dialog in question only applies if the user already has `Ask Me' set in their prefs anyway. (We can pass the GNKSA if we *always* ask the user when they post a richly formatted message to a Usenet group; asking them would be eliciting `explicit user demand'.) What this bug would be doing is turning two situations into three. Before, we had: * message contains no rich formatting --> it gets converted to plain text (bug 28420) * message contains rich formatting --> ask the user, with the default as `both'. Not perfect, but relatively simple. But under the regime proposed in this bug, we would have three different possibilities: * message contains no rich formatting --> it gets converted to plain text * message contains rich formatting which is, in the opinion of Ben Bucksch, convertible to plain text without `data loss' --> ask the user, with the default as `text only' * message contains rich formatting which is, in the opinion of Ben Bucksch, not convertible to plain text without `data loss' --> ask the user, with the default as `both text and HTML'. To make things worse, the second and third situations would be presented in similar but not identical ways to the user (through a dialog which had the same options, but different defaults). The second situation should not exist. If you know what to do with the message, then just send it. If you don't know what to do, ask the user. Halfway measures like changing the default will confuse users, cause errors, and irritate people as they wonder whether the program is asking questions when it really knows the answers all along. > I did a DN search for "please post html plain*" (order doesn't count) and the > first 2 different subjects were request to post in plain text Well of course. Firstly, the search you did was of Usenet, and not of e-mail. And secondly, groups where HTML is not objected to are hardly going to feature messages saying `please post in HTML', are they. This bug needs a WONTFIX from someone. And that someone obviously isn't going to be the reporter/assignee; because one hand the one hand he is demanding that those of us who disapprove (Phil, Brendan, and myself) form a `consensus or at least a majority', while on the other hand he is recommending `to review and checkin the patch' when he doesn't have either a consensus *or* a majority.
> This bug won't help us pass the GNKSA Please note that John *made* the GNKSA evaluations in the past. > This bug needs a WONTFIX from someone. This bug was here a long time, and several people saw it, and we discussed about it *before* I implemented it. Phil expressed a concern, which I, from my POV, addressed in the implementation. After a bug is implemented is certainly a bad time to mark it WONTFIX. Is there any reason to object to change the *text* of the dialog, telling the user that we *can* convert to plaintext? The reason why we pop up the dialog might be something as easy to convert as a list or an indention, and, I think, we should tell the user so. I don't see any valid objection to change at least the text. If we should change the text, we should check this patch in and discuss the details (as listed in an earlier comment of mine) on a newsgroup.
Well, Ben Bucksch says we're not allowed to discuss this any more since it's his bug, and that since he's already fixed it, we're not allowed to do anything but throw out our own opinions and let him check in his fix. However, since it seems there is large disagreement with the fix, I'm marking this WONTFIX. From a UI perspective, it's just not a good idea.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → WONTFIX
Again: I don't see a valid objection to change the text of the dialog. REOPENing. If you want to discuss this, then - be sure to *read* the thread about plaintext vs. HTML mail (not just the headers) - discuss the details on .mailnews. Until then, please let's review it and check in the patch. It already starts bitrooting.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Status: REOPENED → ASSIGNED
I *did* read the messages. All of them. But since you're apparently unwilling to read what *I'm* saying, I'm withdrawing from this rather one-sided discussion. You just go ahead and do whatever you want.
I have to apologize to Ben. I ok'd doing this when I clearly hadn't thought through this as much as everyone else who has commented on both sides of the issue. My opinion is that we shouldn't change the default. Memory of the default is very important and if we decide that we want to make a recommendation I'd rather see it some other way such as mpt suggested. I also think the default should be plaintext and html. I'll prepare to be flamed when I write this, but although I have sympathy for those who can't receive html, if we're only alienating 10% of possible users then I don't think that's such a bad thing. (plus we are sending it in both in this situation). I don't think we should be defaulting anyone to plain text. The user made the choice to use html compose (and even if they didn't because it's the default, they made the choice to use html). This dialog is their warning that some may not be able to receive in html. So, although I don't expect my comments to necessarily stop this debate I would like to see the following things happen: 1. No changing of the default 2. Default to html and plain text 3. If we believe that users might be sending out html blindly, come up with better wording to make users understand why they are being presented with the ask me dialog.
<rant> *sigh* The old debate does start up again. And I though, we had a solution that is acceptable for all. Now, the plain text users are the loosers again. You'd think, an open source project showed a but more common sense. </rant> Reiterating: I don't see any objections to change the text and possibly add a "recommended" behind one option, without changing the default. So, if somebody has objections to that, tell them now, or I will change the patch that way, so the stuff can be checked in. The bulk of the patch is the recognition of non-convertable tags, so we should really get this in. Everything else can be discussed on .mail-news, and it requires only small changes to the code.
Not sure exactly what you're proposing Ben -- could you cite comments in the bug or newsgroup which describe your current proposal? Bdonohoe proposed this, which seems painless enough, modulo some wordsmithing: > Mozilla can convert your message to plain text. This will make it easier for > older mail programs to read your message, but some text formatting may > be lost. > > (O) Send plain text and HTML. > ( ) Send HTML only. > ( ) Send plain text only.
Phil, the current implementation recognizes that the msg only contains "convertable" (see at the very beginning for definition) elements and reflects that in the UI. It does so by 1. Adding some informational text to the dialog, which is either 1. "Your message can be converted to plaintext without loosing important information. However, the plaintext version might look different from what you saw in the composer." or 2. "However, you used formatting that cannot be converted to plaintext.", depending on the case. (We should finetune the wording later.) 2. Setting the default selection to plaintext in the first case and not setting any in the second. I will attach screenshots. My proposal is to 1. let the text part (1.) as-is, 2. add a " (recommended)" to the label of the plaintext option in case the msg is "convertable", and 3. set no default at all until we resolved this. I refuse to set the option to HTML+plaintext. I will modify the infrastructure to easily allow any of the suggestions (other than WONTFIX, of course) to be implemented. I hope we can reach consensus.
I think the current implementation is good enough, but if you think it's important to add "recommended" on text/plain in the convertable case, I don't have a strong objection to that. I do have a strong objection to having a radiogroup without a selected choice -- that's really bad UI.
> if you think it's > important to add "recommended" on text/plain in the convertable case Yes, I do think that this is important, this was the whole point of this bug. > I do have a strong objection to having a > radiogroup without a selected choice -- that's really bad UI. I agree that this is bad UI, but it is even worse to misguide the user (while it depends on the POV, what the "misguiding" option is). I don't know what to do about that. I cannot alter the default, I must set a default, we (Netscape + Matthew vs. the rest of the open source world) cannot agree on the default. I don't think, we can resolve this question here. The only question is what to do *for now* until we resolved it.
*** Bug 28735 has been marked as a duplicate of this bug. ***
I have the changes mostly ready, but are blocked by an XUL bug. I change the text using JS, and the object indeed picks up the change, but the dialog doesn't reflect it. If somebody knows a workaroung, let me know. Changing SUMMARY from "" to "" in order to reflect discussion. Will file a new bug about setting the default, if we (the Mozilla community, including Netscape) decided that that's a good idea.
Summary: Set default for askSendFormatDialog to plaintext, if reasonable → Recommend plaintext, if reasonable
*** Bug 46747 has been marked as a duplicate of this bug. ***
I have a workaround for the problem. Not pretty code, but works. I'll try to add an icon with green/yellow/red background, depending on the case. Would that change the problem of changing the default?
Attached patch Fix, version 8Splinter Review
The default doesn't change anymore (it still can, if you change one constant in the source), but a "recommended" is added behind the recommended option, if one exists. I sat the default to plaintext, but it is easily changeable. Added a new mode: Convertable without changing the look (much), e.g. only indention, <ol> etc.. If we decide so, we can skip the dialog completely in this case with only a minor code change. I had to rework most of the code to make that possible. It should be fairly flexible now. Images didn't work :-(. I'm tried of debugging XUL, so I just commented it out for now. I'll attach the images themselves later. ducarroz, please review the latest version. I want to get this in now.
good job. r=ducarroz
Keywords: reviewapproval
A big patch, which I can only scan for misspellings, style glitches, etc. Here they are: - Convertible is misspelled throughout. - IDL style should be interCaps, not InterCaps, for attributes and methods, and ALL_CAPS_WITH_UNDERSCORES for constants (XPIDL style matches Java style, and JS style too). The C++ bindings get capitalized to InterCaps, so there's no change required to .cpp files. - Indentation looks wrong in the patch in function Startup -- are hard tabs being used? Please expand them per the Emacs modeline comment on the first line of the file (fix that modeline if its c-basic-offset is wrong, should be 4 rather than 2 for this code, from the looks of it). - If you're not too tired, could you find out why the images don't work, or at least file a bug and cite its number in this bug? Thanks. - In the convertableAltering.label (sic), "loosing" should be "losing" -- check for other such wrong-word errors throughout. - Do I understand correctly: class="txt..." or class='"txt...' on an HTML tag is enough to identify it as coming from Mozilla compose? /be
> - Convertible is misspelled throughout. Corrected. > - IDL style should be interCaps, not InterCaps, for attributes and methods, > and ALL_CAPS_WITH_UNDERSCORES for constants (XPIDL style matches Java style, > and JS style too). The C++ bindings get capitalized to InterCaps, so there's > no change required to .cpp files. Corrected for the method I added. However, *all* methods in that interface were capitalized, I'm not going to change that. > - Indentation looks wrong in the patch in function Startup -- are hard tabs > being used? Please expand them per the Emacs modeline comment on the first > line of the file (fix that modeline if its c-basic-offset is wrong, should > be 4 rather than 2 for this code, from the looks of it). The modeline has "4". This bugged me as well, but I was unable to find out what's wrong. IIRC, I tried both spaces and tabs, but it was messed it up in both cases. > - If you're not too tired, could you find out why the images don't work, or > at least file a bug and cite its number in this bug? Thanks. Bug 49584. > - In the convertableAltering.label (sic), "loosing" should be "losing" -- Corrected. > check for other such wrong-word errors throughout. I can't, I'm not a native english speaker. > - Do I understand correctly: class="txt..." or class='"txt...' on an HTML tag > is enough to identify it as coming from Mozilla compose? d/compose I don't think, many HTML mail authors/generators will use a class (attribute) starting with "txt". (BTW: This is in an #ifdef 0)
cc brendan to a= new patch.
Attached patch Fix, version 9Splinter Review
I read the latest patch and have these suggestions: * <!ENTITY windowTitle.label "Message Format"> * <!ENTITY recipient.label "One or more of the recipients of this message are not recorded in your address book as being able to read richly formatted (HTML) mail."> * <!ENTITY convertibleYes.label "The message can be converted to plain text without any loss of information."> * <!ENTITY convertibleAltering.label "The message can be converted to plain text with only minor alterations."> * <!ENTITY convertibleNo.label "In the message you used formatting which Mozilla cannot convert to plain text."> * <!ENTITY question.label "How do you want to send the message?"> * <!ENTITY plainTextAndHtml.label "As both plain text and HTML"> * <!ENTITY plainTextOnly.label "As plain text only"> * <!ENTITY htmlOnly.label "As HTML only"> * <!ENTITY plainTextAndHtmlRecommended.label "As both plain text and HTML (recommended)"> * <!ENTITY plainTextOnlyRecommended.label "As plain text only (recommended)"> * <!ENTITY htmlOnlyRecommended.label "As HTML only (recommended)"> * <!ENTITY recommended.label "(recommended)"> (Why do you need all of those last three? Why not just the first two, or just the last one?) <!ENTITY dontSend.label "Cancel"> (Not `Don't Send', because it returns you to the message and you *can* send it later) Non-UI text corrections (meaning that you don't have to worry about them:-) ... * `Will loose data:' --> `Will lose data:' * `visual formating' --> `visual formatting' * `really affect the formatting' --> `really affects the formatting' * `recommondation' --> `recommendation' (twice) * `<!--<deck' ... Are XML comments allowed to contain < and > characters? * `<!-- Hack: box and html are workarounds for bug -->' (which bug?) * `that ask the user' --> `that asks the user' * `an anchore tag if the link is the same than the text' --> `a link if the linked text is just the link URL' * `recognite' --> `recognize' Hope this helps ...
Re images: I found another, much better way to add an image: via CSS. Works! Will attach images and patch for themes separately. (BTW: I have to change 15 (!) files to add 1 image!) Matthew, > (Why do you need all of those last three? Why not just the first two, or just > the last one?) This is part of the workaround for what seems to be an XUL bug (label doesn't switch). The first three are the real version and the last one is the workaround. > <!ENTITY dontSend.label "Cancel"> Changed. > `<!--<deck' ... Are XML comments allowed to contain < and > characters? Yes. <http://www.w3.org/TR/REC-xml#sec-comments> In comments: > * `really affect the formatting' --> `really affects the formatting' In "unified" or "context" diffs, lines starting with "-" are *removed* from the source. > * `<!-- Hack: box and html are workarounds for bug -->' (which bug?) Bug 49623. :) [other comments] Corrected or Changed
Attached file Fix, version 10, Icons
ducarroz, can you please r= the new changes (mostly the images), please? Do I have to add new skin files to Mac project files or are the MANIFEST files enough? I can't find "macbuild" dirs in mozilla/themes.
R=ducarroz MANIFEST files are enought. Sorry for the delay, I was (and still) sick...
> R=ducarroz a=brendan? > Sorry for the delay, I was (and still) sick... np, thanks for reviewing while you're sick!
> Corrected for the method I added. However, *all* methods in that interface > were capitalized, I'm not going to change that. So if no JS yet calls any of these methods, you can safely uncapitalize all of them, because xpidl will capitalize the C++ bindings. If you're in a generous mood, go for it. You mentioned #if 0'd code -- how long do you intend any such to live? a=brendan@mozilla.org, but don't be shy about cleaning up the above. /be
Checked in! > So if no JS yet calls any of these methods Most of them are called from JS. > You mentioned #if 0'd code -- how long do you intend any such to live? I have no idea, but I have a bug about it: bug 44552. > - Indentation looks wrong in the patch I have still no idea why it looks so odd in the patch, but bonsai <http://bonsai.mozilla.org/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=mozilla/mailnews/compose/resources/content&command=DIFF_FRAMESET&file=askSendFormat.js&rev1=1.6&rev2=1.7&root=/cvsroot> likes my indention.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → FIXED
If Netscape really wants to default to multiüart/alternative (although I don't hope it will), it just has to change |defaultElement| <http://lxr.mozilla.org/seamonkey/source/mailnews/compose/resources/content/askSendFormat.js#13>.
Target Milestone: M17 → M18
I'm posting here because my original bug report was marked as a duplicate of a duplicate of this bug. I notice that the HTML Mail Question dialog has improved to the extent that it is now completely visible. However unlike your screenshot (which was probably not Windows, in case that is relavent) it has expanded to the width of the screen, which is strange as the right half of the dialog has not content!
Neil, please grab a nightly from taday (should be online at ~10-12am PDT) and retest. Also see bug 50217. If bug still appears, please attach a screenshot.
changing qa
QA Contact: lchiang → esther
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: