From 78e8391f66ab0f4fa14b28bdd8a2e9f5d5d6c5d6 Mon Sep 17 00:00:00 2001 From: Fabrice Rochette Date: Mon, 2 Sep 2024 14:24:53 -0500 Subject: [PATCH] updated draft Signed-off-by: Fabrice Rochette --- index.html | 91 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 64 insertions(+), 27 deletions(-) diff --git a/index.html b/index.html index 3e4b23d..d3c23ea 100644 --- a/index.html +++ b/index.html @@ -87,12 +87,13 @@

§ Conforman

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative. The key words MAY, MUST, MUST NOT, OPTIONAL, RECOMMENDED, REQUIRED, SHOULD, and SHOULD NOT in this document are to be interpreted as described in BCP 14 RFC2119 RFC8174 when, and only when, they appear in all capitals, as shown here.

§ Logic

+

This section is non-normative.

Look at these 2 use cases:

-

In both case we are talking about the same URL. This URL MUST always be formatted as follows:

+

In both case we are talking about the same URL. This URL is always be formatted as follows:

https://hologram.zone/?oob=QIUiudggiUQ..&tp=ABC
 
 or
@@ -106,7 +107,7 @@ 

§ Logic

§ Hologram app is already installed on user’s handset

Operating system SHOULD detect that the URL starts with https://hologram.zone/ (we definitely rely on it), and because the Hologram App registered this URL in the OS, OS SHOULD automatically open the Hologram App, and app MUST automatically process the URL content (oob and tp params).

-
NOTE

Hologram.zone website is even not reached in this case.

+
NOTE

Hologram.zone website is even not reached in this case.

uml diagram

§ Hologram app is not installed on user’s handset

@@ -114,39 +115,58 @@

hologram.zone website MUST show a content to the user so that the following flow can be performed by the user:

uml diagram

§ Pages

-

The website MUST be a single-page website.

-

Website MUST show, in this order:

-

§ User arrive spontaneously in website (no DTS invitation in URL)

+

The website MUST be a single-page website. +We have 4 notable cases.

+

§ Case #1: when user arrive spontaneously in website (no DTS invitation in URL), mobile phone

User was directed to https://hologram.zone/.

+

User MUST NOT be redirected to hologram app if app is already installed.

The website MUST show:

+

Mobile direct

+

§ Case #2: when user arrive spontaneously in website (no DTS invitation in URL), desktop or tablet

+

User was directed to https://hologram.zone/.

+

The website MUST show:

+ -

noservice

-

§ User arrives with a DTS invitation in URL

+

desktopnoservice

+

§ Case #3: User arrives with a DTS invitation in URL, from a mobile phone

User was directed to https://hologram.zone/?oob=QIUiudggiUQ..&tp=ABC

The website MUST show:

    +
  • A header (if supported by OS the detection of the App) with GET or INSTALL action
  • A short explanation of what is Hologram
  • -
  • Instructions to 1. download the App from one of the 3 major stores, Apple, Google, Huawei, or by downloading the apk.
  • -
  • Instructions to 2. click to connect to DTS service he was willing to connect to. (same https://hologram.zone/?oob=QIUiudggiUQ..&tp=ABC), but because app will now be installed, link will be opened by app.
  • -
  • Terms and conditions (anchor link, https://hologram.zone/#terms)
  • -
  • Privacy policy (anchor link, https://hologram.zone/#privacy)
  • +
  • download link to the 3 major stores, Apple, Google, Huawei. If possible: Show only the links compatible with cellphone. IE for iOS, only show apple link. For android, if huawei os, show huawei app gallery, else play store.
  • +
  • user must click “refresh” in service to connect when downloaded. (same https://hologram.zone/?oob=QIUiudggiUQ..&tp=ABC), but because app will now be installed, link will be opened by app.
  • +
  • Terms and conditions (anchor link, https://hologram.zone/user#terms)
  • +
  • Privacy policy (anchor link, https://hologram.zone/user#privacy)
  • A footer with copyright, etc
-

Example:

-

withservice

-

§ Rendering of the invitation for connecting to service

-

In the case of Instructions to 2, the website:

+

mobile service

+

§ Case #4: User arrives with a DTS invitation in URL, desktop or tablet

+

User was directed to https://hologram.zone/?oob=QIUiudggiUQ..&tp=ABC

+

The website MUST show:

    -
  • MUST render the DTS icon and name with an explicit message such as “after downloading the App, click here to connect to ABC” if invitation is for a DIDComm v1.X service,
  • -
  • or just show a “after downloading the App, click here to connect to service” with no name/icon if DIDComm v2.X service.
  • +
  • A short explanation of what is Hologram
  • +
  • A QR code of this URL, with a text “Continue on your Mobile Phone”
  • +
  • Terms and conditions (anchor link, https://hologram.zone/user#terms)
  • +
  • Privacy policy (anchor link, https://hologram.zone/user#privacy)
  • +
  • A footer with copyright, etc
-

To know if it is a v1.X or v2.X DIDComm service, get the DTS icon and name, the website MUST decode the base64 oob or _oob message and, if possible, get the label and imageUrl attributes.

+

desktopandservice

+

§ Getting service name and icon

+

To be able to render the service name and icon, we MUST try to get the label and imageUrl attributes in the oob or _oob parameter. First, we need to decode its base64.

Example:

eyJAdHlwZSI6Imh0dHBzOi8vZGlkY29tbS5vcmcvb3V0LW9mLWJhbmQvMS4xL2ludml0YXRpb24iLCJAaWQiOiJkOWRlMTU5Yy0zNTk5LTQ5ZDAtOGQ0Zi0zZjY5NTAzYzc3MjMiLCJsYWJlbCI6IkRlbW8gQ2hhdGJvdCBBZ2VudCIsImFjY2VwdCI6WyJkaWRjb21tL2FpcDEiLCJkaWRjb21tL2FpcDI7ZW52PXJmYzE5Il0sImhhbmRzaGFrZV9wcm90b2NvbHMiOlsiaHR0cHM6Ly9kaWRjb21tLm9yZy9kaWRleGNoYW5nZS8xLjEiLCJodHRwczovL2RpZGNvbW0ub3JnL2Nvbm5lY3Rpb25zLzEuMCJdLCJzZXJ2aWNlcyI6WyJkaWQ6d2ViOmNoYXRib3QtZGVtby5kZXYuMjA2MC5pbyJdLCJpbWFnZVVybCI6Imh0dHBzOi8vZC5jaGF0Ym90LWRlbW8uZGV2LjIwNjAuaW8vYXZhdGFyLnBuZyJ9
 
@@ -176,17 +196,21 @@

imageUrl: “https://d.chatbot-demo.dev.2060.io/avatar.png”.

§ If oob message has “type”: “https://didcomm.org/out-of-band/2.0/invitation” attribute

-

At the moment, the page MUST just show the link to connect, saying “continue to service”.

+

At the moment, the page MUST just show the link to connect, saying “continue to service”, as name and imageUrl cannot be extracted.

§ Show found information on screen

Based on the information it was possible to get, the maximum possible info MUST be shown.

+

§ Terms & conditions, Privacy Policy

+

All in the same page. MUST be compatible with internationalization below. +Content (in english) here.

§ Internationalization

Website MUST detect browser’s language and render the website in the language of the browser if possible, else MUST fallback to english.

Texts and other internationalizable elements MUST be in a directory/files organized by language so that anyone can fork the project or create a branch and add a new language.

§ Design

The design MUST be delivered in figma.

+

Screen captures available in the assets directory of the repo.

§ Repo, packaging and deployment

Development lifecycle must adhere to the organization rules.

-

When a tag is created from the main branch, it MUST create a deployable container published to dockerhub.

+

When a tag is created from the main branch, it MUST deploy to github pages.

Repo for website MUST be named hologram.zone-website.

§ References

§ Normative References

@@ -200,6 +224,15 @@

+
+ @@ -240,9 +273,11 @@

  • Pages