﻿<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc SYSTEM "RFC2629.dtd"[]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="no"?>
<?rfc toc="yes"?>
<?rfc tocdepth="2"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc inline="yes"?>
<?rfc topblock="yes" ?>
<?rfc autobreaks="yes" ?>

<rfc category="exp" docName="draft-crocker-inreply-react-04" ipr="trust200902" submissionType="IETF">

    <front>
        <title abbrev="react">React: Indicating Summary Reaction to a Message</title>

        <author fullname="Dave Crocker" initials="D." surname="Crocker">
            <organization>Brandenburg InternetWorking</organization>
            <address>
                <email>dcrocker@bbiw.net</email>
            </address>
        </author>

        <author fullname="Ricardo Signes" initials="R." surname="Signes">
            <organization>Fastmail</organization>
            <address>
                <email>rjbs@semiotic.systems</email>
            </address>
        </author>

        <author fullname="Ned Freed" initials="N." surname="Freed">
            <organization>Oracle</organization>
            <address>
                <email>ned.freed@mrochek.com</email>
            </address>
        </author>

        <date year="2021"/>
        <area>Applications and Real-Time</area>
        <workgroup/>

        <keyword>reaction</keyword>
        <keyword>emoji</keyword>
        <keyword>social networking</keyword>
        <keyword>email</keyword>
        <keyword>affect</keyword>
        <keyword>messaging</keyword>
        <keyword>emoticon</keyword>
        <keyword>smileys</keyword>
        <keyword>like</keyword>
        <keyword>mime</keyword>
        <keyword>reply</keyword>

        <abstract>
            <t>The popularity of social media has led to user comfort with easily signaling basic
                reactions to an author's posting, such as with a 'thumbs up' or 'smiley' graphic.
                This specification permits a similar facility for Internet Mail.</t>
        </abstract>
    </front>

    <middle>
        <section title="Introduction">
            <t>The popularity of social media has led to user comfort with easily signaling summary
                reactions to an author's posting, by marking basic emoji graphics, such as with a
                'thumbs up', 'heart', or 'smiley' indication. Sometimes the permitted repertoire is
                constrained to a small set and sometimes a more extensive range of indicators is
                supported. </t>

            <t> This specification defines a similar facility for Internet Mail.</t>

            <t>While it is already possible to include symbols and graphics as part of an email
                reply's content, there has not been an established means of signalling the semantic
                substance that such data are to be taken as a summary 'reaction' to the original
                message. That is, a mechanism to identify symbols as specifically providing a
                summary reaction to the cited message, rather than merely being part of the free
                text in the body of a response. Such a structured use of the symbol(s) allows
                recipient MUAs to correlate this reaction to the original message and possibly to
                display the information distinctively.</t>

            <t>This facility defines a new MIME Content-Disposition, to be used in conjunction with
                the In-Reply-To header field, to specify that a part of a message containing one or
                more emojis be treated as a summary reaction to a previous message.</t>

            <t>Unless provided here, terminology, architecture and specification used in this
                document are incorporated from <xref target="Mail-Arch"/>, <xref target="Mail-Fmt"
                />, <xref target="MIME"/>, and <xref target="ABNF"/>. The ABNF rule Emoji-Seq is
                inherited from <xref target="Emoji-Seq"/>.</t>

            <t>Discussion of this specification should take place on the ietf-822@ietf.org mailing
                list.</t>

            <t>Normative language: <list>
                    <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
                        "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to
                        be interpreted as described in <xref target="RFC2119"/>.</t>
                </list></t>


        </section>

        <section title="Reaction Content-Disposition" anchor="contentreact">
            <t>A message sent as a reply MAY include a part containing: <figure>
                    <artwork type="ABNF">Content-Disposition: Reaction </artwork>
                </figure> If such a field is specified the content-type of the part MUST be: <figure>
                    <artwork>Content-Type: text/plain; charset=utf-8</artwork>
                </figure>
                <figure>
                    <preamble>The content of this part is restricted to single line of emoji. The
                            <xref target="ABNF"/> is: </preamble>
                    <artwork type="ABNF">part-content =  emoji *(lwsp emoji) CRLF
                                
emoji = emoji_sequence
emoji_sequence = { defined in [Emoji-Seq] }

base-emojis = thumbs-up / thumbs-down / grinning-face / frowning-face / crying-face 

thumbs-up = {U+1F44D}
thumbs-down = {U+1F44E}
grinning-face = {U+1F600}
frowning-face = {U+2639}
crying-face = {U+1F622}</artwork>
                </figure>
            </t>

            <t>The rule emoji_sequence is inherited from <xref target="Emoji-Seq"/>. It permits one
                or more bytes to form a single presentation image.</t>

            <t>The emoji(s) express a recipient's summary reaction to the specific message
                referenced by the accompanying In-Reply-To header field. <xref target="Mail-Fmt"
                />.</t>

            <t>Reference to unallocated code points SHOULD NOT be treated as an error; associated
                bytes SHOULD be processed using the system default method for denoting an
                unallocated or undisplayable code point.</t>

            <t>The presentation aspects of reaction processing are necessarily MUA-specific and
                beyond the scope of this specification. In terms of the message itself, recipient
                MUAs that support this mechanism operate as follows: <list style="numbers">
                    <t>If an In-Reply-To field is present check to see if it references a previous
                        message the MUA has received. </t>

                    <t>If a reference to an existing message is found check for a part with a
                        "reaction" content-disposition at either the outermost level or as part of a
                        multipart at the outermost level.</t>

                    <t>If such a part is found, and the content of the part conforms to the
                        restrictions outlined above, remove the part from the message and process it
                        as a reaction. </t>

                    <t>Processing terminates if no parts remain in the message. If parts remain
                        process the remaining message content as a reply.</t>
                </list>Again, the handling of a message that has been successfully processed is
                MUA-specific and beyond the scope of this specification.</t>

        </section>

        <section title="Usability Considerations">
            <t>This specification defines a mechanism for the structuring and carriage of
                information. It does not define any user-level details of use. However the design of
                the user-level mechanisms associated with this facility is paramount. This section
                discusses some issues to consider.</t>

            <t><list style="hanging">

                    <t hangText="Creation: ">Because an email environment is different from a
                        typical social media platform, there are significant -- and potentially
                        challenging -- choices in the design of the user interface, to support
                        indication of a reaction. Is the reaction to be sent only to the original
                        author, or should it be sent to all recipients? Should the reaction always
                        be sent in a discrete message containing only the reaction, or should the
                        user also be able to include other message content? (Note that carriage of
                        the reaction in a normal email message enables inclusion of this other
                        content.)</t>

                    <t hangText="Display:">Reaction indications might be more useful when displayed
                        in close visual proximity to the original message, rather than merely as
                        part of an email response thread. </t>
                </list></t>

            <t/>
        </section>

        <section title="Security Considerations">
            <t>This specification employs message content that is a strict subset of existing
                content, and thus introduces no new content-specific security considerations.</t>

            <t>This specification defines a distinct label for specialized message content.
                Processing that handles the content differently from other content in the message
                body might introduce vulnerabilities.</t>

        </section>

        <section title="IANA Considerations">

            <t>The React MIME Content-Disposition parameter is registered, per <xref
                    target="RFC2183"/><list style="hanging">
                    <t hangText=" Content-Disposition parameter name:  ">Reaction</t>

                    <t hangText="Allowable values for this parameter:  ">(none)</t>

                    <t hangText=" Description: ">Permit a recipient to respond by signaling basic
                        reactions to an author's posting, such as with a 'thumbs up' or 'smiley'
                        graphic</t>
                </list>
            </t>
        </section>

        <section title="Experimental Goals">
            <t>The email mechanics for this capability use the long-standing
                are well understood. Points of concern, therefore, are with
                market interest and with usability. So the questions to answer, while the header
                field has experimental status are:<list style="symbols">
                    <t>Is there demonstrated interest by MUA developers?</t>
                    <t>If MUA developers add this capability, is it used by
                        authors?</t>
                    <t>Does the presence of the Reaction capability create any operational problems
                        for recipients?</t>
                    <t>Does the presence of the Reaction capability demonstrate
                        additional security issues?</t>
                </list></t>
        </section>

    </middle>

    <back>
        <references title="Normative References">

            <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
                <front>
                    <title> Key words for use in RFCs to Indicate Requirement Levels </title>
                    <author initials="S." surname="Bradner" fullname="S. Bradner">
                        <organization/>
                    </author>
                    <date year="1997" month="March"/>
                    <abstract>
                        <t> In many standards track documents several words are used to signify the
                            requirements in the specification. These words are often capitalized.
                            This document defines these words as they should be interpreted in IETF
                            documents. This document specifies an Internet Best Current Practices
                            for the Internet Community, and requests discussion and suggestions for
                            improvements. </t>
                    </abstract>
                </front>
                <seriesInfo name="BCP" value="14"/>
                <seriesInfo name="RFC" value="2119"/>
                <seriesInfo name="DOI" value="10.17487/RFC2119"/>
            </reference>

            <reference anchor="RFC2183" target="https://www.rfc-editor.org/info/rfc2183">
                <front>
                    <title> Communicating Presentation Information in Internet Messages: The
                        Content-Disposition Header Field </title>
                    <author initials="R." surname="Troost" fullname="R. Troost">
                        <organization/>
                    </author>
                    <author initials="S." surname="Dorner" fullname="S. Dorner">
                        <organization/>
                    </author>
                    <author initials="K." surname="Moore" fullname="K. Moore" role="editor">
                        <organization/>
                    </author>
                    <date year="1997" month="August"/>
                    <abstract>
                        <t> This memo provides a mechanism whereby messages conforming to the MIME
                            specifications [RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2049] can
                            convey presentational information. It specifies the "Content-
                            Disposition" header field, which is optional and valid for any MIME
                            entity ("message" or "body part"). [STANDARDS-TRACK] </t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="2183"/>
                <seriesInfo name="DOI" value="10.17487/RFC2183"/>
            </reference>

            <reference anchor="ABNF">
                <front>
                    <title>Augmented BNF for Syntax Specifications: ABNF</title>
                    <author fullname="D. Crocker" initials="D." surname="Crocker">
                        <organization>Brandenburg InternetWorking</organization>
                    </author>
                    <author surname="Overell" initials="P." fullname="P. Overell">
                        <organization>THUS plc</organization>
                    </author>
                    <date year="2008" month="January"/>
                </front>
                <seriesInfo name="RFC" value="5234"/>
            </reference>

            <!--            <reference anchor="Emoji-List">
                <front>
                    <title>Full Emoji List, v13.0</title>
                    <author>
                        <organization>Unicode Consortium</organization>
                        <address>
                            <phone>+1-408-401-8915</phone>
                            <uri>https://home.unicode.org/</uri>
                        </address>

                    </author>
                    <date/>
                </front>
                <seriesInfo name="WEB" value="https://unicode.org/emoji/charts/full-emoji-list.html"
                />
            </reference>-->

            <reference anchor="Emoji-Seq">
                <front>
                    <title> Unicode® Technical Standard #51: Unicode Emoji</title>
                    <author fullname="M. Davis" initials="M." role="editor" surname="Davis">
                        <organization>Google, Inc.</organization>
                    </author>
                    <author fullname="P. Edberg" initials="P." role="editor" surname="Edberg.">
                        <organization>Apple, Inc</organization>
                    </author>
                    <date day="18" month="September" year="2020"/>
                </front>
                <seriesInfo name="WEB"
                    value="http://www.unicode.org/reports/tr51/#def_emoji_sequence"/>
            </reference>

            <reference anchor="Mail-Fmt">
                <front>
                    <title>Internet Message Format</title>

                    <author fullname="Peter W.  Resnick" initials="P." role="editor"
                        surname="Resnick">
                        <organization> Qualcomm Incorporated </organization>
                    </author>

                    <date month="October" year="2008"/>
                </front>

                <seriesInfo name="RFC" value="5322"/>
            </reference>

            <reference anchor="Mail-Arch">
                <front>
                    <title>Internet Mail Architecture</title>
                    <author fullname="D. Crocker" initials="D." surname="Crocker">
                        <organization>Brandenburg InternetWorking</organization>
                    </author>
                    <date year="2009" month="July"/>
                </front>
                <seriesInfo name="RFC" value="5598"/>
            </reference>

            <!--           <reference anchor="Mail-Hdrs">
                <front>
                    <title>Common Internet Message Headers</title>
                    <author fullname="J. Palme" initials="J." surname="Palme">
                        <organization>Stockholm University/KTH</organization>
                    </author>
                    <date month="February" year="1997"/>
                </front>
                <seriesInfo name="RFC" value="2076"/>
            </reference>-->

            <reference anchor="MIME">
                <front>
                    <title>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet
                        Message Bodies</title>
                    <author fullname="N. Freed" initials="N." surname="Freed">
                        <organization>Innosoft</organization>
                    </author>
                    <author fullname="N. Borenstein" initials="N." surname="Borenstein">
                        <organization>First Virtual</organization>
                    </author>
                    <date month="November" year="1996"/>
                </front>
                <seriesInfo name="RFC" value="2045"/>
            </reference>

            <!--<reference anchor="MIME-Enc">
                <front>
                    <title>MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header
                        Extensions for Non-ASCII Text</title>
                    <author fullname="K. Moore" initials="K." surname="Moore">
                        <organization>University of Tennessee</organization>
                    </author>
                    <date month="November" year="1996"/>
                </front>
                <seriesInfo name="RFC" value="2047"/>
            </reference>-->

            <!--            <reference anchor="IANA">
                <front>
                    <title>Guidelines for Writing an IANA Considerations Section
                        in RFCs</title>
                    <author fullname="M. Cotton" initials="" surname="M. Cotton"/>
                    <author fullname="B. Leiba" initials="" surname="B. Leiba"/>
                    <author fullname="T. Narten" initials="" surname="T. Narten"/>
                    <date year="2017"/>
                </front>
                <seriesInfo name="I-D"
                    value="draft-leiba-cotton-iana-5226bis-11"/>
            </reference>-->

        </references>

        <!--<references title="Informative References">

            

        </references>-->

        <section title="Acknowledgements">
            <t>This specification has been discussed in the ietf-822 mailing list. Active commentary
                and suggestions were offered by: Nathaniel Borenstein, Richard Clayton, Ned Freed,
                Bron Gondwana, Valdis Klētnieks, John Levine, Brandon Long, Keith Moore, Pete
                Resnick, Michael Richardson, Alessandro Vesely</t>
        </section>

    </back>

</rfc>
