[DAO:7363dad] Update #4 for proposal "Atlas Analytics - Open Sourcing the Platform for the Community"

Author: 0xe400a85a6169bd8be439bb0dc9eac81f19f26843
Update Status: On Time
Project Health: :green_circle: On Track

Introduction

How we doin Decentraland Community? Howie Doin here with our monthly update on the Atlas Analytics grant project! This month we are happy to announce the launch of Analytics for Decentraland Worlds! It’s live in staging and will be pushed to production in the next month, but it points at production data so please check out your world’s analytics here at https://data-dapp-dev.atlascorp.io

Highlights

This month we were able to build out both the back-end and front-end to support Worlds integration. This marks a change, but a long planned expression of the architecture and how we plan to differentiate Analytics when hosted in various forms of the Decentraland protocol. We’ve implemented the following way:

Data in Genesis city goes in its own collection. Genesis city data can be ring-fenced by source to a fixed number of catalyst servers whose identity can be observed on a smart contract. This data can safely be ring fenced as it has an authoritative source on allowed origins (an “origin” is the url information comes from when being sent to the analytics platform). “Everything Else” which gets dumped into a “private” collection. We dump this data into a separate database collection and write specific methods to extract information that aligns with other methods of deployment of the Decentraland protocol.

Worlds is an implementation of Decentraland that hosts scenes based on Decentraland Names, which again has ownership governed by a smart contract. Multiple servers exist to facilitate this protocol, such as the foundation’s free worlds server, or the Atlas Corporation commercial one. We decided to filter for worlds based on the domain the request came from and hard-coding a set of known world servers. Access via worlds scene is gated the same way as Genesis city - defining access in the scene.json file. Access to the analytics is granted to the scene owner (based on name ownership), and those explicitly defined in the scene.json file, including the “*” tag for everybody thereby making it public.

Users can now select a “realm” - the server they host their world on, and then a world, to understand how many users were attending a scene hosted on a particular server. While all widgets and graphs on the Worlds analytics report are identical to their Genesis city counterparts, the realm graph does show user breakdown if the same scene owned by the same name is deployed across multiple providers.

Please give us feedback on this - especially if you own or frequent one of these worlds. We’d love to hear from you.

Blockers

No blockers at this time.

Next steps

We’ll be continuing to work on the following over the next few months:

  1. Migrating all of the changes into prod now that staging has proven stable over the last three months.
  2. Continuing development work on enhancements to support both Genesis City and Worlds enhancements including
    • User History graphs
    • User replays
    • User Profile data
  3. Polishing the current changes in preparation for open sourcing
  4. Releasing a packaged installation as well as sdk7 support formally.
  5. Preparing for our presentation in Buenos Aires - we hope if you’re reading this that you will attend!

Additional notes and links

See you all in Buenos Aires!

View this update on the Governance dApp