If anyone has ideas about milestones that I could add to that would make the timeline more interesting/informative, or any other feedback, please let me know.
After a user clicks on the streamgraph, the bottom-left displays information about commits by the corresponding contributor in the corresponding quarter; the contributor name is already a link to their GitHub profiles, but the "changes" count could also be made a link to the actual commits.
This is really cool. I started a project in a similar vein a few years back that I loosely called "What Did I Do" that would allow you to track blame / "ownership" over time. I could write out content to the command line, but once it got to the point of starting to put visualizations into the browser (in fact, I also went the D3 route), I started to lose drive. Finding a way to make it visually appealing escaped me - but you've captured it well here, I think. With the work you've done, can you also represent other repositories, or is this heavily focused on the Git repo specifically?
I love such visualizations, nice work! Does this work for any git repository?
Btw. for a visualization of all the git line endings settings, you might find this tool helpful:
https://hediet.github.io/git-line-endings/
(just finished this tool this week)
Wow, from the data viz perspective this is super impressive. The amount of data you managed to display and how you organized it is very impressive.
Maybe it's the amount of information, but I don't really know what to make of all that data. What conclusions did you arrive to? Where would you point someone like me who feels overwhelmed with all the information on screen?
And finally, do you see yourself turning this into a more generic visualization tool for git repos in general?
I had two goals (at least) in mind while making this:
1) Experiment with some visualization approaches that I hadn't tried before. The annotated streamgraph, etc.
2) Tell the story of the history of git as a way to demonstrate just how many contributions go into complex open source software.
I definitely got what I wanted out of the experience for the first goal - a large project like this (for me) taught me a lot about how to approach and structure this type of effort, and the limits of some of the technologies that I used.
Regarding the second goal, I had wanted to layer on more of a narrative (using some type of scrollytelling or something similar), but I ended up realizing that that was going to be too difficult with the structure that I had created, so I ended up adding the annotations and leaving some of the narrative reconstruction up to the viewer. If I were to go back to this work, that's what I would try to refine.
In terms of open source, I will do that but haven't yet because things are a bit of a mess and I was honestly tired of looking at it. I'll probably go back to that in a bit.
Applying this to another repository in its current state would require a decent amount of manual data extraction/cleaning, but it's possible. I'm not convinced the results would be that interesting, however. I tried it myself as an experiment and was surprised how linear/regular some of the other repos were.
OP here again. I forgot to mention that, because of my background in software development, I often create visualizations that are based on data from the development process. I find it to be a fascinating source of raw data that is underrepresented in the broader visualization space.
I know there was a warning in the beginning, but with my laptop the text was so small that it rendered the whole thing useless. Zooming didn't help either.
I am sure this is great work but I just cannot access it.
Sorry about that! Getting this into a really amazing responsive state was beyond my abilities. Plus I developed it on 4K display, so I probably accidentally made things challenging on smaller displays. I’m definitely going to take mobile into consideration from the beginning on my next project.
This is awesome! Would it be possible to make this for other repos as well, such as Go language, or Kubernetes? Do you have a plan to extract a reusable foundation out of this project?
Anyone have any details on the 'Most line changes in a single month' event last October? Some sort of mass refactoring? Pretty cool way to display this info, thank you.
jwpalmer6|4 years ago
I wrote up some additional details on how this was created on my blog: https://jpalmer.dev/2021/05/interactive-git-history/.
If anyone has ideas about milestones that I could add to that would make the timeline more interesting/informative, or any other feedback, please let me know.
Happy to answer any questions here.
jamessb|4 years ago
These links would have the format:
https://github.com/git/git/commits?author=gitster&since=2005...
or
https://github.com/git/git/commits?author=gitster@pobox.com&...
shortstuffsushi|4 years ago
uhoh-itsmaciek|4 years ago
>Note: This visualization was designed for screens larger than 1024 x 1024 and for desktop-style interactions.
Why am I getting this warning on my 4K UHD display? Both Firefox 89 and Chrome 91 on Ubuntu.
Gehinnn|4 years ago
Btw. for a visualization of all the git line endings settings, you might find this tool helpful: https://hediet.github.io/git-line-endings/ (just finished this tool this week)
omarhaneef|4 years ago
sdesol|4 years ago
https://public-001.gitsense.com/insights/github/repos?p=comm...
Disclaimer: I'm the creator of the tool that is linked.
lifefeed|4 years ago
tuxie_|4 years ago
Maybe it's the amount of information, but I don't really know what to make of all that data. What conclusions did you arrive to? Where would you point someone like me who feels overwhelmed with all the information on screen?
And finally, do you see yourself turning this into a more generic visualization tool for git repos in general?
jwpalmer6|4 years ago
I had two goals (at least) in mind while making this:
1) Experiment with some visualization approaches that I hadn't tried before. The annotated streamgraph, etc. 2) Tell the story of the history of git as a way to demonstrate just how many contributions go into complex open source software.
I definitely got what I wanted out of the experience for the first goal - a large project like this (for me) taught me a lot about how to approach and structure this type of effort, and the limits of some of the technologies that I used.
Regarding the second goal, I had wanted to layer on more of a narrative (using some type of scrollytelling or something similar), but I ended up realizing that that was going to be too difficult with the structure that I had created, so I ended up adding the annotations and leaving some of the narrative reconstruction up to the viewer. If I were to go back to this work, that's what I would try to refine.
In terms of open source, I will do that but haven't yet because things are a bit of a mess and I was honestly tired of looking at it. I'll probably go back to that in a bit.
Applying this to another repository in its current state would require a decent amount of manual data extraction/cleaning, but it's possible. I'm not convinced the results would be that interesting, however. I tried it myself as an experiment and was surprised how linear/regular some of the other repos were.
jwpalmer6|4 years ago
I don't have any type of newsletter, but I do announce new projects on twitter: https://twitter.com/jeffpalmer
ximm|4 years ago
I am sure this is great work but I just cannot access it.
jwpalmer6|4 years ago
alpb|4 years ago
concernedctzn|4 years ago
jwpalmer6|4 years ago
Those milestone callouts are based on aggregate statistics for that month, so that's a combination of a number of changes.
Most of the large changes that you see in the latter years of the project are the result of translation efforts. For example, this is from October: https://github.com/git/git/commit/c8774d0670b62447ae344d89a3...
jheriko|4 years ago
[deleted]