RFC 8589

The 'leaptofrogans' URI Scheme

πŸ“… published May 2019, from ietf

RFC 8589: The 'leaptofrogans' URI Scheme πŸ¦‹

okay so bestie, RFC 8589 is an Informational doc (not a Standards Track spec, so it's published just to share info πŸ’…). It was written by A. Tamas, B. Phister (Ed.), and J-E. Rodriguez, all from OP3FT, and it came out in May 2019. Its ISSN is 2070-1721. There are no "Obsoletes" or "Updates" lines in its header, so it doesn't replace or change any older RFC 🌸

Abstract

This doc describes the 'leaptofrogans' Uniform Resource Identifier (URI) scheme, which lets apps launch Frogans Player on a specific Frogans site ✨ Frogans is a medium for publishing content and services on the Internet, and it's defined as a generic software layer on the Internet. Frogans Player is the software end users use to browse Frogans sites πŸŽ€

Status of This Memo

This document is not an Internet Standards Track specification. It's published for informational purposes πŸ’–

It's a product of the Internet Engineering Task Force (IETF) and was approved for publication by the Internet Engineering Steering Group (IESG). Not every doc the IESG approves is up for any level of Internet Standard, so check Section 2 of RFC 7841 if you're curious 🧚

For the latest status, any errata, and how to give feedback, go to https://www.rfc-editor.org/info/rfc8589. πŸ”—

Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. 🌈

This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they stood on the publication date. Read these carefully, because they explain your rights and restrictions for this doc πŸ“œ Any Code Components pulled out of this doc must include the Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as the Simplified BSD License describes πŸ’œ

Table of Contents

   1.  Background Information  . . . . . . . . . . . . . . . . . . .   2
     1.1.  About Frogans . . . . . . . . . . . . . . . . . . . . . .   2
     1.2.  About the OP3FT . . . . . . . . . . . . . . . . . . . . .   3
   2.  The Need for a New URI Scheme and Its Purpose . . . . . . . .   3
   3.  Choice of the Scheme Name . . . . . . . . . . . . . . . . . .   4
   4.  Scheme Syntax . . . . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  URI Scheme  . . . . . . . . . . . . . . . . . . . . . . .   5
     4.2.  IRI Usage and Encoding  . . . . . . . . . . . . . . . . .   6
   5.  Trademarks  . . . . . . . . . . . . . . . . . . . . . . . . .   6
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1. Background Information ✨

1.1. About Frogans

okay so Frogans is a medium for publishing content and services on the Internet πŸ’… It started in 1999 and was designed as a generic software layer that runs on top of the original Internet infrastructure (that's TCP, IP, and the Domain Name System (DNS)), right alongside other layers like E-mail or the World Wide Web 🌐

As a medium, Frogans isn't meant for publishing Web sites. It's for Frogans sites, which are built on a different format and allow a different kind of communication between end users and publishers of content and services πŸ¦‹

Frogans is meant to complement the World Wide Web, not replace it 🫢 It's kind of like instant messaging, which was never meant to replace E-mail and didn't πŸ’€

Compared to the Web, Frogans is all about content and services that use visual rather than text-based communication, focused content instead of long pages, and natural interaction instead of complex user interfaces πŸŽ€ If you want the reasons behind bringing Frogans to the Internet, plus a deep dive on how Frogans sites differ from Web sites, check [FSDL], Section 1.4 ("Frogans sites and Web sites") πŸ“–

The Frogans technology (the stuff that makes up the medium) has several components:

  • An XML-based language, called Frogans Slide Description Language [FSDL], used to develop Frogans sites. πŸ“
  • International identifiers, called Frogans addresses [IFAP], used to access Frogans sites. Each Frogans site has its own Frogans address. 🌸
  • Browsing software, called Frogans Player, enabling end users to browse Frogans sites. An end user opens a Frogans site by entering its Frogans address in Frogans Player. πŸ‘‘
  • A registry, called the Frogans Core Registry (FCR), that contains all Frogans addresses registered by Frogans site publishers. The registry operator, called the FCR Operator, ensures the resolution of Frogans addresses when end users enter them in Frogans Player. 🧚

1.2. About the OP3FT

Created in 2012, the Organization for the Promotion, Protection, and Progress of Frogans Technology [OP3FT] is a dedicated, non-profit org πŸ’œ Its whole purpose is to hold, promote, protect, and ensure the progress of Frogans technology as an open standard that's available to everyone, free of charge 🌈

As part of its mission, the OP3FT develops and releases technical specifications, reference implementations (including Frogans Player), and various policies. Those policies define the rights and responsibilities of all stakeholders involved in the technology worldwide ⭐

2. The Need for a New URI Scheme and Its Purpose

Generic software layers running on top of the original Internet infrastructure give end users mechanisms to easily hop from one layer to another, in both directions πŸ¦‹ For example, you can launch your usual Web browser on a given Web page straight from a message in your usual E-mail client. Going the other way, you can launch your usual E-mail client with a given E-mail address from a Web page in your usual browser πŸ’… This is usually done with URIs [RFC3986] ✨

For Frogans as a medium, going outward, FSDL lets Frogans site publishers add way-out buttons to their Frogans sites πŸ”₯ These buttons let end users launch their usual Web browser on a given Web page, or launch their usual E-mail client with a given E-mail address. This works by linking a URI to each way-out button, and the URI's scheme can be 'http', 'https', or 'mailto' πŸŽ€

Coming back in, Web-site publishers should have a way to put links on their Web pages that let end users launch Frogans Player on a given Frogans site 🫢 Same vibe for people writing E-mail messages, who should have a way to include links that let recipients launch Frogans Player on a given Frogans site πŸ’Œ More generally, any end-user application should be able to launch Frogans Player on a given Frogans site πŸš€

To make that happen, we need a new URI scheme that contains a Frogans address πŸ”‘

Since Frogans as a medium doesn't support deep linking for Frogans sites, the new URI scheme doesn't need any extra info beyond the Frogans address πŸ™ˆ

Here's the tea 🍡 In 2006, they tested using a media type as a way to put a link on a Web page that launches Frogans Player on a given Frogans site, by registering the 'vnd.frogans.ltf' media type with IANA [LTF]. But media types turned out to be unsatisfactory, for several reasons. First, for any such link on a Web page, the page's author had to create and host a .ltf file on the Web server hosting that page, which was super cumbersome 😭 On top of that, before making those links, the author had to ask the server admin to associate the .ltf files with the 'vnd.frogans.ltf' media type on the server. The author could instead use a redirection service that generates a .ltf file on the fly and associates it with the 'vnd.frogans.ltf' media type, but that option raised privacy concerns and could add latency for end users πŸ™ƒ Lastly, on the Web browser side, using a media type from a Web page to launch another app didn't always work, especially on mobile devices πŸ“±

3. Choice of the Scheme Name 🏷️

The name picked for the new URI scheme is 'leaptofrogans' πŸ’–

This scheme name was chosen in compliance with [RFC7595], Section 3.8 ("Scheme Name Considerations") βœ…

These shorter names were discussed, but they didn't make the cut:

  • 'ltf': this name, an acronym for "leap to Frogans", was considered insufficiently descriptive, especially for typical end users who have little technical knowledge. πŸ™…β€β™€οΈ
  • 'leapto': this name was considered overly general, and it isn't specifically associated with Frogans. 😬
  • 'frogans': this name was rejected because it could create confusion between URIs based on this scheme and those Frogans addresses that start with "frogans". πŸ₯΄

4. Scheme Syntax πŸŽ€

Frogans addresses [IFAP] are international identifiers made up of Unicode characters 🌏 So we need a way to encode non-US-ASCII characters whenever the new scheme is used as a URI. The new scheme can also be useful as an IRI [RFC3987] in contexts where IRIs are allowed πŸ’…

4.1. URI Scheme

The syntax for the 'leaptofrogans' URI scheme is:

   leaptofrogans-uri = "leaptofrogans:" pct-encoded-frogans-address

where pct-encoded-frogans-address is a Frogans address compliant with [IFAP], and each of its Unicode characters is encoded like this:

  • If the character is a US-ASCII character, don't replace it and skip to the next character. Note that according to [IFAP], the US-ASCII character cannot be the U+0025 PERCENT SIGN character. 🚫
  • Otherwise, apply steps 1 through 3 below:
    1. Convert the character to a sequence of one or more octets using UTF-8 [UTF-8]
    2. Convert each octet to %HH, where HH is the hexadecimal notation of the octet value. Note that this is identical to the percent-encoding mechanism in Section 2.1 of [RFC3986]. 🧠
    3. Replace the original character with the resulting character sequence (i.e., a sequence of %HH triplets). ✨

Examples of 'leaptofrogans' URIs, bestie πŸ¦‹:

  • If the Frogans address is the string of US-ASCII characters "Network-Name*Site-Name", the URI is as follows:
   leaptofrogans:Network-Name*Site-Name
  • If the Frogans address is the string of Unicode characters U+7F51, U+7EDC, U+540D, U+002A, U+7AD9, U+540D (which is a Chinese translation of the Frogans address in the previous example), the URI is as follows:
   leaptofrogans:%E7%BD%91%E7%BB%9C%E5%90%8D*%E7%AB%99%E5%90%8D

4.2. IRI Usage and Encoding ✨

okay so here's the recipe for an IRI using the 'leaptofrogans' scheme πŸŽ€

leaptofrogans-iri = "leaptofrogans:" frogans-address

where frogans-address is a Frogans address compliant with [IFAP] and encoded in UTF-8 [UTF-8]. πŸ’–

in places where both URIs and IRIs are allowed, end-user apps can use either one based on the 'leaptofrogans' scheme when they launch Frogans Player on a Frogans site πŸ¦‹ this works because Frogans Player must handle both URIs and IRIs based on that scheme. the rule is super simple: if the string has the U+0025 PERCENT SIGN character in it, Frogans Player treats it as a URI. if not, it treats it as an IRI. ✨


5. Trademarks 🌈

the whole point here is to let everyone around the world use Frogans tech in a clearly defined, secure, and perpetual environment 🫢 so the OP3FT Bylaws [BYLAWS] set up an intellectual property policy to make that happen.

so basically, the OP3FT holds the "Frogans" trademark, which is registered in France, the United States, and a bunch of other countries πŸ‘‘ if you want to use the "Frogans" trademark in references or as part of anything connected to Frogans tech, you get that permission through the OP3FT Trademark Usage Policy [OTUP]. πŸ’…

6. IANA Considerations 🧚

following the guidelines and registration procedures for new URI schemes [RFC7595], IANA registered the 'leaptofrogans' URI scheme like this πŸ“

Scheme name: 'leaptofrogans'

Status: Permanent

Scheme syntax: See Section 4 of RFC 8589.

Scheme semantics: See Section 2 of RFC 8589.

Encoding considerations: See Section 4 of RFC 8589.

Applications/protocols that use this scheme name:  Frogans Player as
   well as any end-user application (such as a Web browser or an
   E-mail client) wishing to launch Frogans Player on a given Frogans
   site.

Interoperability considerations:  There are no known interoperability
   concerns related to use of the 'leaptofrogans' URI scheme.

Security considerations: See Section 7 of RFC 8589.

Contact: Alexis Tamas <mailto:alexis.tamas@op3ft.org>

Change controller: OP3FT <mailto:contact-standards@op3ft.org>

References: RFC 8589

7. Security Considerations πŸ”₯

okay this section is seriously important, bestie 😭 an author of a Web page can make a link where the real nature of the URI is hidden behind the link text that users actually see. the same thing can happen with an E-mail message or any other end-user app πŸ’€

for URIs based on the 'leaptofrogans' scheme, that confusion risk is mitigated πŸ›‘οΈ Frogans Player must always display the real Frogans address inside the URI, and it must always require the end user to confirm before it opens the matching Frogans site. no sneaky stuff allowed πŸ™…β€β™€οΈ

also, an end-user app might hand over a URI with a Frogans address that isn't valid. this isn't a risk, though, because before it asks the end user for confirmation, Frogans Player must always check that the Frogans address in the URI is compliant with [IFAP]. if the address isn't compliant, Frogans Player must always raise an error πŸ™ˆ

8. References πŸ¦‹

8.1. Normative References

8.2. Informative References

Authors' Addresses πŸ’œ

Alexis Tamas
OP3FT
6, Square Mozart
75016 Paris
France

Phone: +33 1 53 92 00 40
Email: alexis.tamas@op3ft.org


Benjamin Phister (editor)
OP3FT
6, Square Mozart
75016 Paris
France

Phone: +33 1 53 92 00 40
Email: benjamin.phister@op3ft.org


Jean-Emmanuel Rodriguez
OP3FT
6, Square Mozart
75016 Paris
France

Phone: +33 1 53 92 00 40
Email: jean-emmanuel.rodriguez@contrib.op3ft.org
πŸ“¦ where this page comes from