<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-ietf-mediaman-haptics-05" number="9695" submissionType="IETF" category="std" xml:lang="en" consensus="true" tocInclude="true" obsoletes="" updates="" symRefs="true" sortRefs="true" prepTime="2025-03-17T21:07:14" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-mediaman-haptics-05" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9695" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="The 'haptics' Top-Level Media Type">The 'haptics' Top-Level Media Type</title>
    <seriesInfo name="RFC" value="9695" stream="IETF"/>
    <author initials="Y. K." surname="Muthusamy" fullname="Yeshwant K. Muthusamy">
      <address>
        <postal>
          <street>600 Longwood Drive</street>
          <city>Allen</city>
          <region>TX</region>
          <code>75013</code>
          <country>United States of America</country>
        </postal>
        <phone>+1 469-854-9836</phone>
        <email>yeshwant@yeshvik.com</email>
      </address>
    </author>
    <author initials="C." surname="Ullrich" fullname="Chris Ullrich">
      <address>
        <postal>
          <street>311 Court Ave</street>
          <city>Ventura</city>
          <region>CA</region>
          <code>93003</code>
          <country>United States of America</country>
        </postal>
        <phone>+1 805-320-0774</phone>
        <email>chrisullrich@gmail.com</email>
      </address>
    </author>
    <date month="03" year="2025"/>
    <area>ART</area>
    <workgroup>mediaman</workgroup>
    <keyword>touch</keyword>
    <keyword>tactile</keyword>
    <keyword>vibrotactile</keyword>
    <keyword>kinesthetic</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This memo registers and documents the 'haptics' top-level 
media type, under which subtypes for representation formats for haptics
may be registered. This document also serves as a registration for a set of subtypes, which are representative of 
some existing subtypes already in use.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9695" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2025 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-background-and-justificatio">Background and Justification</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mpeg-isobmff">MPEG ISOBMFF</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-haptic-sub-modalities">Haptic Sub-Modalities
</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.3">
                <t indent="0" pn="section-toc.1-1.2.2.3.1"><xref derivedContent="2.3" format="counter" sectionFormat="of" target="section-2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-another-human-sense">Another Human Sense
</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.4">
                <t indent="0" pn="section-toc.1-1.2.2.4.1"><xref derivedContent="2.4" format="counter" sectionFormat="of" target="section-2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-commercial-uptake">Commercial Uptake</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.5">
                <t indent="0" pn="section-toc.1-1.2.2.5.1"><xref derivedContent="2.5" format="counter" sectionFormat="of" target="section-2.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-haptic-data-formats-in-use">Haptic Data Formats in Use 
</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.6">
                <t indent="0" pn="section-toc.1-1.2.2.6.1"><xref derivedContent="2.6" format="counter" sectionFormat="of" target="section-2.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-haptic-subtypes-envisioned-">Haptic Subtypes (Envisioned Standards)</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.7">
                <t indent="0" pn="section-toc.1-1.2.2.7.1"><xref derivedContent="2.7" format="counter" sectionFormat="of" target="section-2.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-application-top-level-type-">'application' Top-Level Type Not Suitable</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-definition-and-encoding">Definition and Encoding</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-registration-procedure">Registration Procedure</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-subtype-registrations">Subtype Registrations</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.3.2">
                  <li pn="section-toc.1-1.4.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.3.2.1.1"><xref derivedContent="4.3.1" format="counter" sectionFormat="of" target="section-4.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ivs-haptics-type">IVS Haptics Type</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.3.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.3.2.2.1"><xref derivedContent="4.3.2" format="counter" sectionFormat="of" target="section-4.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hjif-haptics-type">HJIF Haptics Type</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.3.2.3">
                    <t indent="0" pn="section-toc.1-1.4.2.3.2.3.1"><xref derivedContent="4.3.3" format="counter" sectionFormat="of" target="section-4.3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hmpg-haptics-type">HMPG Haptics Type</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">The term 'haptics' refers to the generation of touch-related sensations 
in a device or interface. Haptics is widely used in consumer devices in 
order to provide touch-based feedback to users. The most common use of 
haptics is in mobile devices, where it is used to provide feedback to 
users interacting with the touchscreen, e.g., typing on a virtual
keyboard. Haptic technologies are unlike audio and visual enabling 
technologies in the sense that they require some form of actuation in 
order to create a tactile sensation. For mobile phones and game 
controllers, these actuators are typically small vibrating motors. 
For large touchscreens in vehicles, these actuators can be specialized 
piezoelectric materials. Haptic capabilities are found in nearly every 
modern smartphone, game, and virtual reality controller, making these 
devices an ideal target for enhanced media experiences.</t>
      <t indent="0" pn="section-1-2">
Internet Media Types <xref target="RFC6838" format="default" sectionFormat="of" derivedContent="RFC6838"/> are used to label content carried over 
Internet protocols.  This document defines a new top-level type, 'haptics',
according to <xref target="RFC9694" format="default" sectionFormat="of" derivedContent="RFC9694"/>.  This top-level type indicates 
that the content specifies haptic data.  Under this top-level type, 
different representation formats of haptics may be registered.</t>
    </section>
    <section anchor="background-and-justification" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-background-and-justificatio">Background and Justification</name>
      <t indent="0" pn="section-2-1">Haptic signals provide an additional layer of entertainment and sensory 
immersion for the user, when combined with audio and video signals. Haptic tracks, in separate files, can be combined 
with audio/video files and played back in sync to provide an overall 
immersive media experience (audio, visual, tactile) for the user. More 
recently, haptic tracks embedded in standard file formats, such as ISOBMFF 
(ISO Base Media File Format), enable playback of the haptic signals 
over one or more actuators, simultaneously with audio and video playback <xref target="ISOBMFF-IS" format="default" sectionFormat="of" derivedContent="ISOBMFF-IS"/>. Haptic signals are also part of 
media streams that use RTP, such as those for streaming games, XR, and wearables.</t>
      <section anchor="mpeg-isobmff" numbered="true" removeInRFC="false" toc="include" pn="section-2.1">
        <name slugifiedName="name-mpeg-isobmff">MPEG ISOBMFF</name>
        <t indent="0" pn="section-2.1-1">Historically, there has not been a registration of formats for haptics.
However, haptics was proposed as a first-order media type (at the 
same level as audio and video) in ISOBMFF in April 2020. The proposal has since progressed to International Standard, and was published in 
January 2022 <xref target="ISOBMFF-IS" format="default" sectionFormat="of" derivedContent="ISOBMFF-IS"/>. Haptics is 
officially part of the ISO/IEC 14496-12 (ISOBMFF) standard, 7th Edition. Given this development, 
a strong case can be made for haptics to be added to the list of top-level 
media types recognized by the IETF.</t>
        <t indent="0" pn="section-2.1-2">   
We envision the following designations for haptics in mp4 files, once
the top-level type 'haptics' is registered:</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-2.1-3">
          <li pn="section-2.1-3.1">'haptics/mp4' - mp4 files with just haptic tracks and no audio or video in them (e.g., 
streaming games, haptics files for haptic vests, belts, gloves, etc.)</li>
          <li pn="section-2.1-3.2">'video/mp4' - mp4 files with video, audio, and haptics (to ensure 
consistency with existing mp4 files with video content)</li>
          <li pn="section-2.1-3.3">'audio/mp4' - mp4 files with audio and haptics (to ensure 
consistency with existing mp4 files with audio content without any video)</li>
        </ul>
      </section>
      <section anchor="haptic-sub-modalities" numbered="true" removeInRFC="false" toc="include" pn="section-2.2">
        <name slugifiedName="name-haptic-sub-modalities">Haptic Sub-Modalities
</name>
        <t indent="0" pn="section-2.2-1">There are multiple sub-modalities of haptics:</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-2.2-2">
          <li pn="section-2.2-2.1">Vibrotactile (touch, vibration)</li>
          <li pn="section-2.2-2.2">Kinesthetic (force feedback)</li>
          <li pn="section-2.2-2.3">Surface (surface friction)</li>
          <li pn="section-2.2-2.4">Spatial, non-contact (ultrasound)</li>
          <li pn="section-2.2-2.5">Thermal (temperature)</li>
        </ul>
        <t indent="0" pn="section-2.2-3">Therefore, designating 'haptics' as a top-level media type enables the definition of data formats pertaining to these sub-modalities
 in a more streamlined manner. This would not be possible if 'haptics'
were to be placed under other top-level types like 'audio', 'video', 
or 'application'.</t>
      </section>
      <section anchor="another-human-sense" numbered="true" removeInRFC="false" toc="include" pn="section-2.3">
        <name slugifiedName="name-another-human-sense">Another Human Sense
</name>
        <t indent="0" pn="section-2.3-1">
The top-level media type 'audio' pertains to the human sense of hearing; 
the top-level media type 'video' pertains to the human sense of seeing; 
so it only makes sense for the (equally important) human sense of touch 
to be represented by another top-level media type 'haptics'. Placing 
'haptics' under 'audio' or 'video' is not reflective of the kinds
of files or use cases that would need haptics but have nothing 
whatsoever to do with audio or video.</t>
      </section>
      <section anchor="commercial-uptake" numbered="true" removeInRFC="false" toc="include" pn="section-2.4">
        <name slugifiedName="name-commercial-uptake">Commercial Uptake</name>
        <t indent="0" pn="section-2.4-1">Haptics is rapidly becoming a standard feature of consumer electronic 
devices. For example:</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-2.4-2">
          <li pn="section-2.4-2.1">iPhone (231+ million units sold in 2023 <xref target="iPhone-Sales" format="default" sectionFormat="of" derivedContent="iPhone-Sales"/>): built-in support for haptic-encoded data</li>
          <li pn="section-2.4-2.2">Android (1.27+ billion units sold in 2023 <xref target="Android-Sales" format="default" sectionFormat="of" derivedContent="Android-Sales"/> <xref target="GlobalSmartPhone-Sales" format="default" sectionFormat="of" derivedContent="GlobalSmartPhone-Sales"/>): API support of haptic
buffers</li>
          <li pn="section-2.4-2.3">W3C (HTML vibration API <xref target="W3C-Vibration" format="default" sectionFormat="of" derivedContent="W3C-Vibration"/>): Optionally supported in mobile web 
browsers. W3C has also defined vibration extensions for gamepads <xref target="W3C-Gamepad" format="default" sectionFormat="of" derivedContent="W3C-Gamepad"/></li>
          <li pn="section-2.4-2.4">Game consoles (45+ million units sold in 2023 <xref target="GameConsole-Sales" format="default" sectionFormat="of" derivedContent="GameConsole-Sales"/>): MS Xbox, Sony 
PlayStation, Nintendo Switch, etc.</li>
          <li pn="section-2.4-2.5">XR devices (30+ million units sold in 2023 <xref target="XRDevice-Sales" format="default" sectionFormat="of" derivedContent="XRDevice-Sales"/>): OpenXR haptic API</li>
        </ul>
        <t indent="0" pn="section-2.4-3">Haptic media is expected to be commonly exchanged between these devices. 
Since they represent the majority of consumer electronics (CE) devices, a strong case can be made 
for 'haptics' as a top-level media type.</t>
      </section>
      <section anchor="haptic-sub-type-in-use" numbered="true" removeInRFC="false" toc="include" pn="section-2.5">
        <name slugifiedName="name-haptic-data-formats-in-use">Haptic Data Formats in Use 
</name>
        <t indent="0" pn="section-2.5-1">
There are multiple instances of existing haptic data formats
that will live as sub-types under the proposed 'haptics' top-level media type. 
While these subtypes have *not* been standardized 
(yet), the prevalence of these haptic data formats in a large number of 
devices around the world, pre-dating the standardization of haptic tracks 
in ISOBMFF, provides a compelling argument for 'haptics' to be 
designated as a top-level media type:</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-2.5-2">
          <li pn="section-2.5-2.1">'ahap': The AHAP haptic data format <xref target="AHAP" format="default" sectionFormat="of" derivedContent="AHAP"/> is currently the standard  
encoding on all iOS devices + iOS connected game peripherals. The format has 
seen usage and adoption beyond Apple devices as well, with decoders available 
for Android and other XR systems.</li>
          <li pn="section-2.5-2.2">'ogg': Google has introduced a proprietary extension to the OGG format 
in the latest version of Android 11. This encoding enables haptic media to be 
stored in OGG files.</li>
          <li pn="section-2.5-2.3">
            <t indent="0" pn="section-2.5-2.3.1">'ivs': The IVS haptic data format <xref target="MPEG-Haptics-Encoder" format="default" sectionFormat="of" derivedContent="MPEG-Haptics-Encoder"/> is in use:</t>
            <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-2.5-2.3.2">
              <li pn="section-2.5-2.3.2.1">In mobile phones from LG Electronics (specifically, the models V30, 
V40, and the newest V50) that are sold worldwide</li>
              <li pn="section-2.5-2.3.2.2">In gaming phones from ASUS (specifically, models ROG, ROG Phone II, 
ROG Phone 3) that are sold worldwide</li>
            </ul>
          </li>
          <li pn="section-2.5-2.4">
            <t indent="0" pn="section-2.5-2.4.1">'hapt': The HAPT haptic data format is currently a vendor-specific format that is in use:</t>
            <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-2.5-2.4.2">
              <li pn="section-2.5-2.4.2.1">In mobile haptic advertising (for W3C devices)</li>
              <li pn="section-2.5-2.4.2.2">
                <t indent="0" pn="section-2.5-2.4.2.2.1">The following Japanese game developers use the HAPT format as part 
of Immersion's TouchSense SDK:</t>
                <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-2.5-2.4.2.2.2">
                  <li pn="section-2.5-2.4.2.2.2.1">KLAB: <eref target="https://www.klab.com/en/" brackets="none"/></li>
                  <li pn="section-2.5-2.4.2.2.2.2">Craft&amp;Meister: <eref target="https://www.crafts-meister.co.jp/pc/company_en.html" brackets="none"/></li>
                </ul>
              </li>
              <li pn="section-2.5-2.4.2.3">Tencent is using the TouchSense SDK for their popular social media 
application QQ and live streaming application NOW: "Immersion Announces Tencent Licenses TouchSense Technology to Deliver Next-Generation Interactive Experiences"
(<eref target="https://web.archive.org/web/20241201160955/https://www.businesswire.com/news/home/20171026006443/en/Immersion-Announces-Tencent-Licenses-TouchSense%C2%AE-Technology-Deliver" brackets="none"/>)</li>
            </ul>
          </li>
        </ul>
        <t indent="0" pn="section-2.5-3">Given the widespread use of these subtypes, it makes sense for 'haptics' 
to be a top-level media type.</t>
      </section>
      <section anchor="haptic-sub-types-envisioned-standards" numbered="true" removeInRFC="false" toc="include" pn="section-2.6">
        <name slugifiedName="name-haptic-subtypes-envisioned-">Haptic Subtypes (Envisioned Standards)</name>
        <t indent="0" pn="section-2.6-1">
The MPEG ISOBMFF proposal included an informative annex of known haptic 
coding formats with proposed FourCCs (four-character codes) for them. The first two, hmpg and hjif, have been registered per this document and have already been standardized in ISO-IEC 23090-31: Haptics coding <xref target="MPEG-Haptics-Coding" format="default" sectionFormat="of" derivedContent="MPEG-Haptics-Coding"/>. As for the remaining codes, once the format names have been finalized and standardized, these types should also be registered as subtypes of the 'haptics' top-level media type:</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-2.6-2">
          <li pn="section-2.6-2.1">'hmpg': the MPEG-I haptics streamable binary coding format described in ISO/IEC 23090-31: Haptics coding <xref target="MPEG-Haptics-Coding" format="default" sectionFormat="of" derivedContent="MPEG-Haptics-Coding"/> </li>
          <li pn="section-2.6-2.2">'hjif': the MPEG-I haptics JSON-based interchange format described in ISO/IEC 23090-31: Haptics coding <xref target="MPEG-Haptics-Coding" format="default" sectionFormat="of" derivedContent="MPEG-Haptics-Coding"/> </li>
          <li pn="section-2.6-2.3">IEEE 1918.1.1 vibrotactile coding standard <xref target="IEEE-191811" format="default" sectionFormat="of" derivedContent="IEEE-191811"/> being developed under the IEEE Tactile 
Internet initiative as part of the 5G Ultra-Reliable Low-Latency Communication (URLLC) profile. Format name is yet to be finalized. </li>
          <li pn="section-2.6-2.4">Enumerated effects haptic coding format (based on MIDI). Format name is yet to be finalized.</li>
          <li pn="section-2.6-2.5">Audio-to-vibe haptic coding format (automatic audio-to-vibration conversion algorithms). Format name is yet to be finalized.</li>
        </ul>
      </section>
      <section anchor="application-top-level-type-not-suitable" numbered="true" removeInRFC="false" toc="include" pn="section-2.7">
        <name slugifiedName="name-application-top-level-type-">'application' Top-Level Type Not Suitable</name>
        <t indent="0" pn="section-2.7-1">From the above arguments, it is clear that haptics does not really 
belong under any other media type. To reiterate, there are three main reasons 
why the 'haptics' media type does not fit under the 'application' top-level 
type:</t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-2.7-2">
          <li pn="section-2.7-2.1">haptics connects to a sensory system, touch/motion, directly, and is 
more specific than the abstract 'application' type, and</li>
          <li pn="section-2.7-2.2">'application' has historically been used for applications, i.e., code, 
which means it is viewed and treated with great care for security. 
'haptics' is not code, just as 'audio' and 'video' are not code 
either.</li>
          <li pn="section-2.7-2.3">haptics is a property of a media stream, it is not an application under 
any normal definition. As such, it should be its own type.</li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-3-1">
Haptics are interpreted data structures that represent collections of 
different media rendering instructions intended to be decoded and rendered
on target device hardware. Haptic data can be represented as collections 
of signal data and/or descriptive text in XML/JSON or a similar format. Signal data 
is typically not executed by endpoint processors and represents minimal 
security risk. Descriptive text is typically parsed and represented 
in memory using standard XML data structures. This data is utilized 
to construct one or more signals that are sent to the endpoint device 
hardware.</t>
      <t indent="0" pn="section-3-2">
Because of the media/rendering nature of the data path for haptic-coded 
data, the security profile of haptic data is expected to be largely 
consistent with the security profile of visual and audio media data.</t>
      <t indent="0" pn="section-3-3">
As with any synthesized media data (audio, video, and haptics), there 
is a security risk associated with execution of commands based on the 
descriptive encoding either through its inherent extensibility or 
through the insertion of arbitrary executable data in the descriptive 
format itself. Indeed, media rendering systems are normally implemented 
with a mix of user and kernel space execution since these media must 
ultimately make their way to a hardware system. In theory, malicious 
instructions present in descriptive haptic media have the potential 
to execute arbitrary code in kernel space, effectively bypassing 
system permissions structures and/or execution sandboxes.</t>
      <t indent="0" pn="section-3-4">
Haptics, audio, and video media have widespread use and careful attention 
should be paid by operating system and device driver implementors to 
ensure that synthesis and rendering signal paths do not provide attack 
surfaces for malicious payloads.</t>
      <t indent="0" pn="section-3-5">
Thermal haptic devices (that provide a sensation of heat) and kinesthetic haptic devices (that provide force feedback) could potentially injure users if the heat or force, respectively, are not properly controlled or inadvertently exceed safety levels. Implementors need to ensure that adequate measures are taken to prevent such scenarios.</t>
      <t indent="0" pn="section-3-6">
These security considerations apply to the subtype registrations described in this document as well as all future haptics registrations.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-4-1">IANA has registered 'haptics' in the "Top-Level Media Types" registry 
defined in <xref target="RFC9694" format="default" sectionFormat="of" derivedContent="RFC9694"/> and registered several subtypes.  IANA has also added 'haptics' as an alternative value of 
"Type Name" in the media types registration form <xref target="Media-Type-Reg" format="default" sectionFormat="of" derivedContent="Media-Type-Reg"/>. 
</t>
      <section anchor="definition-and-encoding" numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-definition-and-encoding">Definition and Encoding</name>
        <t indent="0" pn="section-4.1-1">'haptics' is the primary media content type that indicates the
content identified by it requires a certain haptics subsystem such 
as low-level haptics APIs, which in turn will require hardware 
capabilities such as one or more actuators to render the haptics media.  
The 'haptics' media type does not provide any specific information 
about the underlying data format and how the haptics information should 
be interpreted -- the subtypes defined within a 'haptics' tree name 
the specific haptic formats. Unrecognized subtypes of 'haptics' 
should be treated as 'application/octet-stream'.  Implementations 
may still pass unrecognized subtypes to the haptics subsystem and 
associated rendering hardware.</t>
      </section>
      <section anchor="registration-procedure" numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-registration-procedure">Registration Procedure</name>
        <t indent="0" pn="section-4.2-1">New haptics formats should be requested using the Application for a Media Type online form
<xref target="Media-Type-Reg" format="default" sectionFormat="of" derivedContent="Media-Type-Reg"/>.  <xref target="RFC6838" format="default" sectionFormat="of" derivedContent="RFC6838"/> should be consulted on
registration procedures.  In particular, the haptics specification
should preferably be freely available.</t>
        <t indent="0" pn="section-4.2-2">
Note that new subtypes may define parameters.  If
an implementation does not recognize a parameter sub-value in the comma-separated list, it should ignore the sub-value and continue
processing the other sub-values in the list.</t>
      </section>
      <section anchor="subtype-registrations" numbered="true" removeInRFC="false" toc="include" pn="section-4.3">
        <name slugifiedName="name-subtype-registrations">Subtype Registrations</name>
        <t indent="0" pn="section-4.3-1">
In this section, the initial entries under the top-level 'haptics'
media type are specified.  They also serve as examples for future
registrations.</t>
        <section anchor="ivs-haptics-type" numbered="true" removeInRFC="false" toc="include" pn="section-4.3.1">
          <name slugifiedName="name-ivs-haptics-type">IVS Haptics Type</name>
          <dl newline="false" indent="3" spacing="normal" pn="section-4.3.1-1">
            <dt pn="section-4.3.1-1.1">Type name:</dt>
            <dd pn="section-4.3.1-1.2">haptics</dd>
            <dt pn="section-4.3.1-1.3">Subtype name:</dt>
            <dd pn="section-4.3.1-1.4">ivs</dd>
            <dt pn="section-4.3.1-1.5">Required parameters:</dt>
            <dd pn="section-4.3.1-1.6">N/A</dd>
            <dt pn="section-4.3.1-1.7">Optional parameters:</dt>
            <dd pn="section-4.3.1-1.8">N/A</dd>
            <dt pn="section-4.3.1-1.9">Encoding considerations:</dt>
            <dd pn="section-4.3.1-1.10">8bit if UTF-8; binary if UTF-16 or UTF-32</dd>
            <dt pn="section-4.3.1-1.11">Interoperability considerations:</dt>
            <dd pn="section-4.3.1-1.12">The IVS format is a device-independent haptic effect coding based on the XML format. It is designed to enable interoperability between distinct physical endpoints. Not all devices may be able to render all effects present in an IVS file.</dd>
            <dt pn="section-4.3.1-1.13">Security considerations:</dt>
            <dd pn="section-4.3.1-1.14">See <xref target="security-considerations" format="default" sectionFormat="of" derivedContent="Section 3"/> of RFC 9695.</dd>
            <dt pn="section-4.3.1-1.15">Published specification:</dt>
            <dd pn="section-4.3.1-1.16"> ISO/IEC JTC 1/SC 29/WG 2 N0072 "Encoder Input Format for MPEG Haptics" <xref target="MPEG-Haptics-Encoder" format="default" sectionFormat="of" derivedContent="MPEG-Haptics-Encoder"/>.</dd>
            <dt pn="section-4.3.1-1.17">Applications that use this media type:</dt>
            <dd pn="section-4.3.1-1.18">All applications that are able to create, edit, or display haptic media content.</dd>
          </dl>
          <dl newline="true" indent="3" spacing="normal" pn="section-4.3.1-2">
            <dt pn="section-4.3.1-2.1">Additional information:</dt>
            <dd pn="section-4.3.1-2.2">
              <dl newline="false" spacing="compact" indent="3" pn="section-4.3.1-2.2.1">
                <dt pn="section-4.3.1-2.2.1.1">File extension(s):</dt>
                <dd pn="section-4.3.1-2.2.1.2">Haptic file extensions used for IVS files: .ivs</dd>
                <dt pn="section-4.3.1-2.2.1.3">Macintosh file type code(s):</dt>
                <dd pn="section-4.3.1-2.2.1.4">(no code specified)</dd>
                <dt pn="section-4.3.1-2.2.1.5">Macintosh Universal Type Identifier code:</dt>
                <dd pn="section-4.3.1-2.2.1.6">N/A</dd>
                <dt pn="section-4.3.1-2.2.1.7">Fragment Identifier:</dt>
                <dd pn="section-4.3.1-2.2.1.8">N/A</dd>
                <dt pn="section-4.3.1-2.2.1.9">Deprecated Alias:</dt>
                <dd pn="section-4.3.1-2.2.1.10">N/A</dd>
              </dl>
            </dd>
          </dl>
          <dl newline="false" indent="3" spacing="normal" pn="section-4.3.1-3">
            <dt pn="section-4.3.1-3.1">Person &amp; email address to contact for further information:</dt>
            <dd pn="section-4.3.1-3.2">
              <br/>Yeshwant Muthusamy (yeshwant@yeshvik.com)</dd>
            <dt pn="section-4.3.1-3.3">Change controller:</dt>
            <dd pn="section-4.3.1-3.4">ISO/IEC JTC1/SC 29/WG 7 (MPEG 3D Graphics and Haptic Coding)</dd>
          </dl>
        </section>
        <section anchor="hjif-haptics-type" numbered="true" removeInRFC="false" toc="include" pn="section-4.3.2">
          <name slugifiedName="name-hjif-haptics-type">HJIF Haptics Type</name>
          <dl newline="false" indent="3" spacing="normal" pn="section-4.3.2-1">
            <dt pn="section-4.3.2-1.1">Type name:</dt>
            <dd pn="section-4.3.2-1.2">haptics</dd>
            <dt pn="section-4.3.2-1.3">Subtype name:</dt>
            <dd pn="section-4.3.2-1.4">hjif</dd>
            <dt pn="section-4.3.2-1.5">Required parameters:</dt>
            <dd pn="section-4.3.2-1.6">N/A</dd>
            <dt pn="section-4.3.2-1.7">Optional parameters:</dt>
            <dd pn="section-4.3.2-1.8">N/A</dd>
            <dt pn="section-4.3.2-1.9">Encoding considerations:</dt>
            <dd pn="section-4.3.2-1.10">8bit if UTF-8; binary if UTF-16 or UTF-32</dd>
            <dt pn="section-4.3.2-1.11">Interoperability considerations:</dt>
            <dd pn="section-4.3.2-1.12">The HJIF format is a human-readable haptic effect coding based on the JSON format. It is designed as an interchange format for temporal and spatial haptic effects. The haptic effects may target specific parts of the human body and may be associated with a reference device description allowing haptic rendering software to adapt the effects to available hardware.</dd>
            <dt pn="section-4.3.2-1.13">Security considerations:</dt>
            <dd pn="section-4.3.2-1.14">See <xref target="security-considerations" format="default" sectionFormat="of" derivedContent="Section 3"/> of RFC 9695.</dd>
            <dt pn="section-4.3.2-1.15">Published specification:</dt>
            <dd pn="section-4.3.2-1.16">ISO/IEC 23090-31: Haptics coding <xref target="MPEG-Haptics-Coding" format="default" sectionFormat="of" derivedContent="MPEG-Haptics-Coding"/>.</dd>
            <dt pn="section-4.3.2-1.17">Applications that use this media type:</dt>
            <dd pn="section-4.3.2-1.18">All applications that are able to create, edit, or display haptic media content.</dd>
          </dl>
          <dl newline="true" spacing="normal" indent="3" pn="section-4.3.2-2">
            <dt pn="section-4.3.2-2.1">Additional information:</dt>
            <dd pn="section-4.3.2-2.2">
              <dl newline="false" spacing="compact" indent="3" pn="section-4.3.2-2.2.1">
                <dt pn="section-4.3.2-2.2.1.1">File extension(s):</dt>
                <dd pn="section-4.3.2-2.2.1.2">Haptic file extensions used for HJIF files: .hjif</dd>
                <dt pn="section-4.3.2-2.2.1.3">Macintosh file type code(s):</dt>
                <dd pn="section-4.3.2-2.2.1.4">(no code specified)</dd>
                <dt pn="section-4.3.2-2.2.1.5">Macintosh Universal Type Identifier code:</dt>
                <dd pn="section-4.3.2-2.2.1.6">N/A</dd>
                <dt pn="section-4.3.2-2.2.1.7">Fragment Identifier:</dt>
                <dd pn="section-4.3.2-2.2.1.8">N/A</dd>
                <dt pn="section-4.3.2-2.2.1.9">Deprecated Alias:</dt>
                <dd pn="section-4.3.2-2.2.1.10">N/A</dd>
              </dl>
            </dd>
          </dl>
          <dl newline="false" spacing="normal" indent="3" pn="section-4.3.2-3">
            <dt pn="section-4.3.2-3.1">Person &amp; email address to contact for further information:</dt>
            <dd pn="section-4.3.2-3.2">
              <br/>Yeshwant Muthusamy (yeshwant@yeshvik.com)</dd>
            <dt pn="section-4.3.2-3.3">Change controller:</dt>
            <dd pn="section-4.3.2-3.4">ISO/IEC JTC1/SC 29/WG 7 (MPEG 3D Graphics and Haptic Coding)</dd>
          </dl>
        </section>
        <section anchor="hmpg-haptics-type" numbered="true" removeInRFC="false" toc="include" pn="section-4.3.3">
          <name slugifiedName="name-hmpg-haptics-type">HMPG Haptics Type</name>
          <dl newline="false" spacing="normal" indent="3" pn="section-4.3.3-1">
            <dt pn="section-4.3.3-1.1">Type name:</dt>
            <dd pn="section-4.3.3-1.2">haptics</dd>
            <dt pn="section-4.3.3-1.3">Subtype name:</dt>
            <dd pn="section-4.3.3-1.4">hmpg</dd>
            <dt pn="section-4.3.3-1.5">Required parameters:</dt>
            <dd pn="section-4.3.3-1.6">N/A</dd>
            <dt pn="section-4.3.3-1.7">Optional parameters:</dt>
            <dd pn="section-4.3.3-1.8">N/A</dd>
            <dt pn="section-4.3.3-1.9">Encoding considerations:</dt>
            <dd pn="section-4.3.3-1.10">binary</dd>
            <dt pn="section-4.3.3-1.11">Interoperability considerations:</dt>
            <dd pn="section-4.3.3-1.12">The HMPG format is a streamable binary haptic effect coding. It is designed to enable efficient coding of temporal and spatial haptic effects. The haptic effects may target specific parts of the human body and may be associated with a reference device description allowing haptic rendering software to adapt the effects to available hardware. </dd>
            <dt pn="section-4.3.3-1.13">Security considerations:</dt>
            <dd pn="section-4.3.3-1.14">See <xref target="security-considerations" format="default" sectionFormat="of" derivedContent="Section 3"/>
of RFC 9695.</dd>
            <dt pn="section-4.3.3-1.15">Published specification:</dt>
            <dd pn="section-4.3.3-1.16">ISO/IEC 23090-31: Haptics coding <xref target="MPEG-Haptics-Coding" format="default" sectionFormat="of" derivedContent="MPEG-Haptics-Coding"/>.</dd>
            <dt pn="section-4.3.3-1.17">Applications that use this media type:</dt>
            <dd pn="section-4.3.3-1.18">All applications that are able to create, edit, or display haptic media content.</dd>
          </dl>
          <dl newline="true" spacing="normal" indent="3" pn="section-4.3.3-2">
            <dt pn="section-4.3.3-2.1">Additional information:</dt>
            <dd pn="section-4.3.3-2.2">
              <dl newline="false" spacing="compact" indent="3" pn="section-4.3.3-2.2.1">
                <dt pn="section-4.3.3-2.2.1.1">File extension(s):</dt>
                <dd pn="section-4.3.3-2.2.1.2">Haptic file extensions used for HMPG files: .hmpg</dd>
                <dt pn="section-4.3.3-2.2.1.3">Macintosh file type code(s):</dt>
                <dd pn="section-4.3.3-2.2.1.4">(no code specified)</dd>
                <dt pn="section-4.3.3-2.2.1.5">Macintosh Universal Type Identifier code:</dt>
                <dd pn="section-4.3.3-2.2.1.6">N/A</dd>
                <dt pn="section-4.3.3-2.2.1.7">Fragment Identifier:</dt>
                <dd pn="section-4.3.3-2.2.1.8">N/A</dd>
                <dt pn="section-4.3.3-2.2.1.9">Deprecated Alias:</dt>
                <dd pn="section-4.3.3-2.2.1.10">N/A</dd>
              </dl>
            </dd>
          </dl>
          <dl newline="false" spacing="normal" indent="3" pn="section-4.3.3-3">
            <dt pn="section-4.3.3-3.1">Person &amp; email address to contact for further information:</dt>
            <dd pn="section-4.3.3-3.2">
              <br/>Yeshwant Muthusamy (yeshwant@yeshvik.com)</dd>
            <dt pn="section-4.3.3-3.3">Change controller:</dt>
            <dd pn="section-4.3.3-3.4">ISO/IEC JTC1/SC 29/WG 7 (MPEG 3D Graphics and Haptic Coding)</dd>
          </dl>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references pn="section-5">
      <name slugifiedName="name-normative-references">Normative References</name>
      <reference anchor="RFC6838" target="https://www.rfc-editor.org/info/rfc6838" quoteTitle="true" derivedAnchor="RFC6838">
        <front>
          <title>Media Type Specifications and Registration Procedures</title>
          <author fullname="N. Freed" initials="N." surname="Freed"/>
          <author fullname="J. Klensin" initials="J." surname="Klensin"/>
          <author fullname="T. Hansen" initials="T." surname="Hansen"/>
          <date month="January" year="2013"/>
          <abstract>
            <t indent="0">This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="13"/>
        <seriesInfo name="RFC" value="6838"/>
        <seriesInfo name="DOI" value="10.17487/RFC6838"/>
      </reference>
      <reference anchor="RFC9694" target="https://www.rfc-editor.org/info/rfc9694" quoteTitle="true" derivedAnchor="RFC9694">
        <front>
          <title>Guidelines for the Definition of New Top-Level Media Types</title>
          <author initials="M.J." surname="Dürst" fullname="Martin J. Dürst">
            <organization showOnFrontPage="true">Aoyama Gakuin University</organization>
          </author>
          <date month="March" year="2025"/>
        </front>
        <seriesInfo name="BCP" value="13"/>
        <seriesInfo name="RFC" value="9694"/>
        <seriesInfo name="DOI" value="10.17487/RFC9694"/>
      </reference>
    </references>
    <references pn="section-6">
      <name slugifiedName="name-informative-references">Informative References</name>
      <reference anchor="AHAP" target="https://developer.apple.com/documentation/corehaptics/representing_haptic_patterns_in_ahap_files" quoteTitle="true" derivedAnchor="AHAP">
        <front>
          <title>Representing haptic patterns in AHAP files</title>
          <author>
            <organization showOnFrontPage="true">Apple Inc.</organization>
          </author>
        </front>
        <refcontent>Apple Developer Documentation</refcontent>
      </reference>
      <reference anchor="Android-Sales" target="https://www.counterpointresearch.com/insights/global-smartphone-os-market-share/" quoteTitle="true" derivedAnchor="Android-Sales">
        <front>
          <title>Global Smartphone Sales Share by Operating System</title>
          <author>
            <organization showOnFrontPage="true">Counterpoint</organization>
          </author>
        </front>
      </reference>
      <reference anchor="GameConsole-Sales" target="https://www.vgchartz.com/article/459672/ps5-vs-xbox-series-xs-vs-switch-2023-worldwide-sales-comparison-charts-through-december/" quoteTitle="true" derivedAnchor="GameConsole-Sales">
        <front>
          <title>PS5 vs Xbox Series X|S vs Switch 2023 Worldwide Sales Comparison Charts Through December - Sales</title>
          <author initials="W." surname="D'Angelo" fullname="William D'Angelo">
            <organization showOnFrontPage="true">VGChartz</organization>
          </author>
        </front>
        <refcontent>VGChartz.com </refcontent>
      </reference>
      <reference anchor="GlobalSmartPhone-Sales" target="https://www.sellcell.com/how-many-mobile-phones-are-sold-each-year/" quoteTitle="true" derivedAnchor="GlobalSmartPhone-Sales">
        <front>
          <title>How many mobile phones are sold each year?</title>
          <author>
            <organization showOnFrontPage="true">sellcell</organization>
          </author>
        </front>
      </reference>
      <reference anchor="IEEE-191811" target="https://ieeexplore.ieee.org/document/10555007" quoteTitle="true" derivedAnchor="IEEE-191811">
        <front>
          <title>IEEE Standard for Haptic Codecs for the Tactile Internet</title>
          <author>
            <organization showOnFrontPage="true">IEEE</organization>
          </author>
          <date month="June" year="2024"/>
        </front>
        <seriesInfo name="IEEE Std" value="1918.1.1-2024"/>
        <seriesInfo name="DOI" value="10.1109/IEEESTD.2024.10555007"/>
      </reference>
      <reference anchor="iPhone-Sales" target="https://backlinko.com/iphone-users" quoteTitle="true" derivedAnchor="iPhone-Sales">
        <front>
          <title>iPhone Users and Sales Stats</title>
          <author>
            <organization showOnFrontPage="true">Backlinko</organization>
          </author>
        </front>
      </reference>
      <reference anchor="ISOBMFF-IS" target="https://www.iso.org/standard/83102.html" quoteTitle="true" derivedAnchor="ISOBMFF-IS">
        <front>
          <title>Information technology - Coding of audio-visual objects - Part 12: ISO base media file format</title>
          <author>
            <organization showOnFrontPage="true">ISO/IEC</organization>
          </author>
          <date month="January" year="2022"/>
        </front>
        <seriesInfo name="ISO/IEC" value="14496-12:2022"/>
        <refcontent>7th Edition</refcontent>
      </reference>
      <reference anchor="Media-Type-Reg" target="https://www.iana.org/form/media-types" quoteTitle="true" derivedAnchor="Media-Type-Reg">
        <front>
          <title>Application for a Media Type</title>
          <author>
            <organization showOnFrontPage="true">IANA</organization>
          </author>
        </front>
      </reference>
      <reference anchor="MPEG-Haptics-Coding" target="https://www.iso.org/standard/86122.html" quoteTitle="true" derivedAnchor="MPEG-Haptics-Coding">
        <front>
          <title>Information Technology -- Coded representation of immersive media -- Part 31: Haptics coding</title>
          <author>
            <organization showOnFrontPage="true">ISO/IEC</organization>
          </author>
          <date month="January" year="2025"/>
        </front>
        <seriesInfo name="ISO/IEC" value="23090-31:2025"/>
      </reference>
      <reference anchor="MPEG-Haptics-Encoder" target="https://www.mpegstandards.org/standards/Explorations/40/" quoteTitle="true" derivedAnchor="MPEG-Haptics-Encoder">
        <front>
          <title>Encoder Input Format for Haptics</title>
          <author>
            <organization showOnFrontPage="true">MPEG</organization>
          </author>
          <date day="15" month="May" year="2021"/>
        </front>
        <refcontent>MPEG 134 Meeting Document</refcontent>
      </reference>
      <reference anchor="W3C-Gamepad" target="https://w3c.github.io/gamepad/extensions.html" quoteTitle="true" derivedAnchor="W3C-Gamepad">
        <front>
          <title>Gamepad Extensions</title>
          <author>
            <organization showOnFrontPage="true">W3C</organization>
          </author>
        </front>
        <refcontent>W3C Editor's Draft</refcontent>
      </reference>
      <reference anchor="W3C-Vibration" target="https://www.w3.org/TR/2016/REC-vibration-20161018/" quoteTitle="true" derivedAnchor="W3C-Vibration">
        <front>
          <title>Vibration API (Second Edition)</title>
          <author>
            <organization showOnFrontPage="true">W3C</organization>
          </author>
          <date day="18" month="October" year="2016"/>
        </front>
        <refcontent>W3C Recommendation</refcontent>
        <annotation>Latest version available at <eref target="https://www.w3.org/TR/vibration/" brackets="angle"/></annotation>
      </reference>
      <reference anchor="XRDevice-Sales" target="https://www.linkedin.com/pulse/virtual-reality-market-size-2023-binarybox-studios-dfbif/" quoteTitle="true" derivedAnchor="XRDevice-Sales">
        <front>
          <title>Virtual reality market size 2023</title>
          <author>
            <organization showOnFrontPage="true">Binarybox Studios</organization>
          </author>
        </front>
        <refcontent>LinkedIn</refcontent>
      </reference>
    </references>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="Y. K." surname="Muthusamy" fullname="Yeshwant K. Muthusamy">
        <address>
          <postal>
            <street>600 Longwood Drive</street>
            <city>Allen</city>
            <region>TX</region>
            <code>75013</code>
            <country>United States of America</country>
          </postal>
          <phone>+1 469-854-9836</phone>
          <email>yeshwant@yeshvik.com</email>
        </address>
      </author>
      <author initials="C." surname="Ullrich" fullname="Chris Ullrich">
        <address>
          <postal>
            <street>311 Court Ave</street>
            <city>Ventura</city>
            <region>CA</region>
            <code>93003</code>
            <country>United States of America</country>
          </postal>
          <phone>+1 805-320-0774</phone>
          <email>chrisullrich@gmail.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
