blockstack-packages / blockstack-desktop-specs

Specifications for the Blockstack desktop app - a local node with a rest API and a web dashboard
MIT License
4 stars 5 forks source link

Encoding, parsing, and install flow for entities of the object type WebApplication #7

Open csuwildcat opened 7 years ago

csuwildcat commented 7 years ago

Regardless of what entity type an identity is, it should have a semantic object describing it located at its identity/foo.id/profile Hub path. In the case of apps, I feel the structure/flow should look like this:

I am a developer who acquires the decentralized identifier frogger.app, the data for which lives at a number of Hub instances specified in my Blockstack ID’s DNS Zone file.

The profile object located at identity/frogger.app/profile shall be of the Schema.org type WebApplication . This object shall contain the key w3cManifest , the value of which will be a standard W3C Web App Manifest. Any User Agent that wants to install an app can do so by conforming to the parsing, caching, and installation flow described in the existing W3C standard.

Example WebApplication object with embedded W3C App Manifest:

    {
      "name": "Frogger",
      "description": "You’re a frog crossing a street, hopping for your life.",
      "w3cManifest": {
        "name": "Frogger",
        "icons": [{
          "src": "../assets/sf132mnd223csdsf/icon-64.png",
          "sizes": "64x64"
        }]
      }
    }

^ Perhaps we need an asset directory in Hubs? If so, maybe files should be added with unguessable GUIDs in their paths to prevent scanning?