[JDEV] formatting in messages

Rob Brown rob at hypermatch.com
Sun Sep 3 01:40:06 CDT 2000


At 11:28 PM 9/2/00 -0500, you wrote:
>On Sat, Sep 02, 2000 at 02:49:09PM -0700, Rob Brown wrote:
> > At 04:18 PM 9/2/00 -0500, you wrote:
> > Sending a plain text message in addition to a formatted one seems to be an
> > awkward compromise to keep legacy systems still working, which isn't 
> nearly
> > as necessary in Jabber as it was with email.
>
>Just a quick note here.. clients that don't support XHTML Basic are not 
>"legacy" systems. No client should be forced to support anything more than 
>they don't want to. Think of a CLI client that really has no use for XHTML 
>(perhaps some, but not much).

I agree, and didn't mean to imply that they are, I was talking about what I 
see as the reason html email was done the way it was.

I absolutely agree that the client should not have to support or even know 
about rich text formats.  Instead, a more sophisticated client should have 
to do take the extra step of publishing its extended capabilities.

> > I think it would be better to
> > only send the plain text one *unless* we know the client supports rich
> > text, and then send only the rich text one.
>
>This presents problems. What if I'm offline and you can't "grep" my client 
>to see if I support XHTML Basic? Or probably more likely, what if I'm 
>online with two clients, one that does support XHTML Basic and one that 
>doesn't. Now if I have the XHTML Basic client's resource as a top 
>priority, your client would just send messages to me in XHTML Basic and 
>not have plain text messages. The problem comes in when my XHTML Basic 
>client suddenly goes offline. Now my plain text client is stuck with a 
>blank message that it can't read.

I don't think this is difficult to solve.  You can always have yours set to 
say "always send the plain text no matter what" or at least "if I'm offline 
and you don't know which of my clients you are talking to, always send the 
plain text".

Regardless, plain text should always be the default, and if the sender 
doesn't know for sure that the receiver supports rich text, it should make 
sure it sends the plain text (alone or in addition to other things).

>The point is that we're trying for maximum flexibility.

I guess, in my natural tendency to think of "what kind of cool thing can I 
do", I am seeing the exact opposite.  The assumption that appears to be 
getting made is that there are two and only two types of messages, plain 
text, and semi-rich text (XHTML Basic).  Instead, I see an infinite number 
of "degrees of richness".

As a simple example, lets say I want make an enhanced client that not only 
supports basic XHTML, but also supports a few special tags, like <emoticon 
type="laughing" />.  If I happen to be communicating with someone who uses 
the same client (or another one that supports it), I can easily drop in a 
smiley, or any of a several dozen different variations.  Maybe it would 
even support <emoticon type="custom" src="http://whatever.gif" />

Or, the client may support basic things like bold and italic, but not 
support font faces and background colors.  Maybe it supports embedded 
images (whether the image is sent as an embedded mime type thing, or as 
simply a reference to a url: <img src="http://whatever.gif" />)

Now I suppose you could say, well, if its XHTML it just won't display the 
tags it doesn't understand.  But this means that in composing a message, I 
have no idea how what the receiver is going to see.  I want to know if they 
are going to send my emoticon, or the bold text, or whatever.  If not, I 
can communicate them another way.

I guess my feeling is that maximum flexibility is exactly what client 
developers should have, as they are always thinking of cool new features to 
add.  So I would suggest that in the long term, feature negotiation, rather 
than "duplicate the message in every variation the client could possibly 
support", is a better means toward that end.

Regards,
-rob

>--
>Eliot Landrum
>eliot at landrum.cx
>GnuPG ID: 8F5B499E
>
>-Soli Deo Gloria-





More information about the JDev mailing list