Very interesting!
Wasn’t sure how I felt about the chart at first glance, but the more I looked at it the more it made sense. The time-varying amplitudes convey the general amount of work done each week. Zooming in I can get a rough sense of the relative amounts each person contributed.
I didn’t have an aha! moment however until I ran this on the main repo I’ve been contributing to for ~10 months, Decred’s documentation repo. This repo is almost entirely markdown files containing documentation. Very little coding. I don’t yet have a good reference point to compare this to projects I’ve contributed code to, but the initial results seem promising. The chart already reflects my understanding of the evolution of the repo pretty well.
Here’s a screenshot of the chart for last year.
I’ve also used @decentralion’ s github pages hack to host a live version if anyone wants to explore (NOTE: cred to @decentralion for script).
Looking at this graph is a lot more meaningful, as I can immediately start seeing events I recognize, telling myself stories (‘oh, there’s where I started contributing!’, ‘there’s the maintainer I work with that has lots of cred…’, ‘there’s a period of inactivity for a couple months before I started, wonder what was happening then’, ‘who is that early contributor i’ve never met that did tons of work ?’, and so on.
As for the UI, a couple impressions:
- I’m finding myself wanting to ‘drill down’ and explore. For instance, I see this big spike, I click on it and get a list of contributors, but I can’t click on the names to see what the contributions are.
- Lines are a little “noisy”. This may just be an artifact of people working in bursts. However, when looking at the chart, I wonder if a more averaged/smoothed line would make more sense, from an aesthetic but also maybe accuracy perspective?
- Related to above, you say “older edges have their weight decayed exponentially”. I have an urge to have a slider/knob that allows me to change the weight (power?) of the exponential, adding more or less weight to past contributions (presumably). This could produce the “smoothing” I want to try, and possibly surface new patterns/insights.
- If there are more than 2-3 contributors, the lines become hard to read. Perhaps have a way to toggle on/off certain contributors so you can see lines clearly, make comparisons that are more meaningful (e.g. let’s look at the top 3, or these certain people I’m interested in). Coinmetrics does this well with their charts.
Personally, I think it would be cool to have a few parameters exposed in the UI that I can tweak (e.g. the exponential weighting to smooth/weight older contributions more or less; maybe a select number of weights in the weight configurations). Then have the chart react in real-time (or close enough). This could allow me to explore the very large “solution space”, perhaps quite efficiently, with the goal of nudging the graph until it reflects some reality or pattern I’m trying to analyze.
There could also be some value in ‘content discovery’. E.g. being able to click on a spike in activity, and see what contributions created that spike.
This is also making me realize that in addition to this view, it would be interesting to view total cred evolving over time. But that is perhaps for another issue.