Grasia / dao-analyzer

DAO visualization tool
GNU General Public License v3.0
38 stars 7 forks source link

Use punchcard instead of series with activity graphs #60

Closed daviddavo closed 2 years ago

daviddavo commented 2 years ago

Current display

image

Desired display

image

Or something like GitHub

image

Subtasks:

javiag commented 2 years ago

If we are going to use this kind of display, we could use the number of actions peformed during each month (according to our definition of action).

Since we already have a time series that shows the number of active users, we should move it under the heading "Activity".

daviddavo commented 2 years ago

These kinds of graphs are also called "calendar heatmap".

I found a recently created library that creates a custom dash component

https://github.com/brunorosilva/plotly-calplot

image

In our case, instead of having 52 weeks of 7 days to make a year, we would have 12 months on the horizontal axis, and then the years on the vertical.

javiag commented 2 years ago

It makes sense!

The color dependent on the number of actions, right?

Is the plot interactive? I mean, does it show the number associated to each cell "on hover" or "on mouse over"? If so, it would be great?

daviddavo commented 2 years ago

@javiag Should we keep the calendar plot also on All DAOs view? Or only when a DAO is selected?

image

image

Here's a DAO with one (dark) or zero (gray) activity. Months before creation or after today appear transparent (white)

image

javiag commented 2 years ago

If we show the plot in the "All DAOs" view, we should change the plot title: "Number of DAOs active", because I assume that the color "saturation" is related to the number of DAOs.

Regarding the "DAO view" I like more the "three colors". If possible, I'd like to play again with the saturation to denote the number of actions in the DAO (the more actions, the more saturated the color).

daviddavo commented 2 years ago

the more actions, the more saturated the color

Currently, it displays just the "Months which the DAO has registered activity". If you select just one DAO, the "heatmap" will be either 1 or 0, that's why there is no saturation change.


To display the general activity of the DAO, we would have to create a new plot, perhaps called "activity of the DAOs" which, on all DAOs view, displays the sum of activities of all DAOs, but with a DAO selected displays the quantity of activities of that DAO per month.

To avoid having two plots with kind of similar information, we could display the "Number of DAOs active" plot only on "All DAOs view", and display the "activity of the DAO" if a DAO is selected. Or we could ditch the "Number of DAOs active" graph and keep only the activity of the DAOs plot (but one DAO with a lot of activity could skew the graph). What do you think, @javiag ?

javiag commented 2 years ago

Well, I like the "two plots" being the "Number of DAOs active" plot only on "All DAOs, because it is interesting to show the popularity of an ecosystem...

The other plot should show "Activity of the DAO" as the summation of DAO actions each month.

daviddavo commented 2 years ago

image

The new plot provides useful insights

javiag commented 2 years ago

You show the left plot for comparison purposes, right? In the "DAO view" there is no need for such a plot.

Other than that, it looks great! :)

daviddavo commented 2 years ago

Yes, I'm currently modifying the backend to be able to hide it when only a DAO is selected

javiag commented 2 years ago

Ah, you are right, the plots shown in both "modes" were exactly the same.

I hope it does not take you much time to solve it.

daviddavo commented 2 years ago

image

image

I also added a small disclaimer explaining what is activity: new proposals, votes and stakes (according to An overview of decentralized autonomous organizations on the blockchain).

javiag commented 2 years ago

Great, but take into account that stakes only take place in DAOstack...

daviddavo commented 2 years ago

Yes, every platform has its own definition of Activity