Author: 0xe400a85a6169bd8be439bb0dc9eac81f19f26843
Update Status: On Time
Project Health: On Track
Introduction
How we doin Decentraland Community? Howie Doin here with our monthly update on the Atlas Analytics grant project! This month we were able to get to work and began adding new content based on early feedback from the focus group we pulled together. We are also now set up to rapidly iterate and add new content given a refreshed architectural design.
Highlights
One of the key achievements of this month was the refactor of our code base. Atlas Analytics was built as a set of microservices such that we could rapidly innovate based on user or client requests. As you might imagine, there was quite a bit of code sprawl after a few years of such rapid innovation. We took some time up front to clean up some of the redundancies and vestigial components of the stack and now have a clean, target “staging” environment. This staging environment is available at https://data-dapp-dev.atlascorp.io if you want to see a sneak preview of some of the features yet to come. Note that as this is not the formal production environment, we can’t guarantee its uptime, performance, or availability as we may be testing new widgets or calculations. We do this so we don’t break the main environment that the community depends on and it’s there when you need it.
For those interested, here is the new architecture of the application
The above represents the different code repositories and microservices that make up the platform; we’ll be open sourcing this code as part of this initiative so this work was key to determine how we organize it and make it available. Some key decisions made this month were to:
- Create a completely independent staging environment (“data-dapp” substituted for “analytics” in the naming convention) so that all components can be tested apart from production. howieDoin’s land at [37,-5], [37, -6], [36, -6] is currently recording data to staging to test
- Consolidate the “analytics-ingress” components into one repo, put it on its own hardware, and reconfigure it to better withstand unnecessary load (we were inadvertently DDOS’ed at the end of last year so we applied some lessons learned)
- Created a stand-alone repo for all functions used in caching - some data takes far too long to query on the fly when accessing reports so the “analytics-update” and “analytics-update-cron” repos work together to run the calculations in advance.
- Integrated the DAO Data and DAO Catalyst data services formally. These two repos are already open source as part of previous DAO grant initiatives, so this reduces redundancy and therefore server and DB costs.
We also began packaging up the code needed to deploy to your scenes as an NPM package instead of a manual code insertion. We feel that this will make the analytics platform more accessible and less time consuming to implement. It should also allow for better version control as changes will be automatically updated if configured in a package.json file in lieu of convincing the entire community to update their code manually.
[See next steps section for analytics additions as I ran out of room here]
The above updates were necessary to make a better, more intuitive product, but we also added the stuff we know you really care about. Now that a development pipeline exists we were able to add several new types of analytics which should be available in the staging environment (see above) later this week.
We’d love feedback on what we’ve built. If anyone has any suggestions or requests, please feel free to reach out - we want to hear from you!
Blockers
No blockers at this time. We expect velocity to increase in the next month and be able to deliver even more new content to the application.
Next steps
Since I ran out of room in the update, I wanted to enumerate the feature additions that will soon make their way into the production application here (technically our next step):
The following new analytics were integrated into the platform:
Given there is a growing number of widgets on the platform, we’re beginning to organize them better by type. We’ve broken things out by Users, Geography, Events, Logs, Platform, and Emotes
- For Users…
- One of the most requested features has been for retention data, so we are finally introducing scene retention analytics. We measure retention as the number of users in a time period (e.g. a day) that had visited a scene N-days prior.
- We’re adding both 7 and 30-day retention graphs to the platform so users can see weekly and monthly retention analytics.
- We added a sessions graph, which shows the number of unique sessions per day. Sessions are distinct from number of users (or wallets) as it’s measured as someone who joins and later leaves the scene as one session.
- We added a histogram for scene load times. We thought it was important for scene developers to understand how long on average its taking their users to load the scene. The histogram is broken out by platform to help understand differences in load time (mac, PC, mobile).
- For the Geography section, we added a table for geographic data - countries and regions, so you can see where your users are coming from a bit more granularly than before.
- We added an emoji section, complete with an emoji usage pie chart. We also added an emote trend analysis,
- We also provided a jump link to enter the scene from the platform. Seems like an oversight to not have added that sooner.
If anyone is interested in testing these features against their scene to provide some additional quality assurance we would be grateful.
Over the course of the next month or two we’ll continue to add content. We have a full backlog of types of analytics we can add and will prioritize based on community feedback. We’ll also continue to clean up and document the code such that we can make it available to the community later this year.
Additional notes and links
If anyone in the community is going to be at the Decentraland Summit later this year and wants to talk analytics let us know! If you would like to pre-register for the Atlas Event which will take place during the summit in Buenos Aires, email howie@atlascorp.io and make sure to include “FREE CANDY” in the subject.