Thread Closed 
Week 11: A small place to discover languages in GitHub
11-06-2014, 11:07 PM
Post: #1
Week 11: A small place to discover languages in GitHub
A small place to discover languages in GitHub

Link to the visualization:

Goal of this visualization: This visualization aims to show how different languages have trended in the last two years in the popular code repository, GitHub. The different parameters used to gauge a language's popularity are its active repositories, frequency of pushes, frequency of issues, frequency of forks and watchers. All these parameters are actually a measure of repository activities.

The visualization is mainly split into three views.
The first view consists of an area chart that shows how total active repository count has increased in the past two years.
The second view compares the languages with each other, using a technique known as Parallel Coordinates.
The third view is a small multiple view of how individual languages have trended in the code repository. This is represented using area charts.

1. Hovering on any quarter in the first area chart will show the exact no. of total active repositories in that quarter. Clicking on that quarter will further change the parallel coordinate view and show data for the particular quarter which is selected. This allows the user to see the language trends for a particular year quarter.

2. For every quarter view of the parallel coordinates, the different language paramters are arranged in the decreasing order of their value. This allows the user to see the highest and lowest performing languages based on a certain parameter, in the chosen quarter.

3. Hovering over the lines, bars, language name or year it appeared, will highlight the entire data line corresponding to that particular language and the values of different parameter corresponding to that language is also shown. This is a very improtant aspect of parallel cordinate system since it allows the user to figure out exact parameter values and how a particular language fares in different parameters by just tracing the fall/rise of the data lines along different parameter axes.

4. Clicking on the particular year at the right end of the parallel coordinate system will highlight the languages that appeared in that year and along with their data lines. This is again a very useful feature.

5. The small multiple view is useful when a user wants to focus on the trend of any individual language. The individual language's active repo count is compared with average github active repo count with a blue line.

6. The small multiple view also allows the user to switch between absolute count view to percentage(active repo to total repo) view. This view is also necessary because, even if the total no. of active repositories might increase, the ratio to the active to toral repositories might decrease. This observed in case of JavaScript.


1. Although the parameter bars are arranged in decreasing order, a filter along each parameter and highlighting the languages and their data lines lying within the filter range would have made the visualization more effective.

2. Encoding the data bars of the parallel coordinate axis with gradient hues would have made the visualization more interesting to look at.

3. Rather than using separate area charts for different languages, a single polar chart view representing all active repo count of different languages would have made the view more concise.

All in all, this is a very interesting piece of visualization, that gives us a comprehensive overview of different language trends in Github.
Find all posts by this user
11-07-2014, 10:38 AM
Post: #2
RE: Week 11: A small place to discover languages in GitHub
I agree with you that having both parallel coordinates view and small multiple view is helpful for the user. Parallel coordinates are good for comparing the different trends between element, but might be confusing if you just want to focus on one element. I also agree with you that using gradient hue along the axis would have made this visualization more interesting to look at. I liked click and highlight axis functionality, so that I can easily compare particular languages of interest. It might have been great to have interactive color legend so that the user can assign wanted color for each axis.
Find all posts by this user
11-07-2014, 12:24 PM
Post: #3
RE: Week 11: A small place to discover languages in GitHub
Parallel coordinates!

I like this visualization a lot more than the one I wrote, and also most of the parallel coordinates visualizations I've seen. For one, the overview bars on each axis makes the trends a little more obvious by obfuscating the mess of lines that meet at the axes. I also like that you can click on multiple languages to highlight them in black, as well as still being able to hover over other languages to highlight them in brown. The small multiples are useful for comparing the popularity of languages.

The only things I would suggest for improvement are (1) making the years labels (like the repo languages), instead of dots that you have to hover over to see the actual year, and (2) making the axes movable, to make it easier to see trends between different pairs of axes.
Find all posts by this user
11-07-2014, 07:09 PM (This post was last modified: 11-07-2014 07:10 PM by Abhishek.)
Post: #4
RE: Week 11: A small place to discover languages in GitHub
The "GitHut" visualization is quite interesting and informative about the trend of the different programming languages in GitHub. it uses Parallel coordinate system to represent many attributes of a programming languages. We can easily compare programming languages attributes by mouse hovering on the individual languages. There is also one filter for the timeline.

There could be few improvements,
1. Adding color legend to change color of selected items.
2. Invert/Sort the axes in any order.
3. Re-position the axes to get a better view of correlation between non adjacent items..
Find all posts by this user
11-07-2014, 09:44 PM
Post: #5
RE: Week 11: A small place to discover languages in GitHub
Nice write-up & find, zinnia. Another thing to note as far as a pro is the animation. It's subtle but does help with drilling down into the information presented. The small multiples along with the features of being able to select between total or percentage is definitely as nice touch. I am not sure I agree with the exact suggestion under cons #1. There does seem to be the need to be able to do more with the parameters then what is there, at least being able to change the order, but I am not sure if the suggestion as far as being able to filter per parameter would have really helped to better portray the information. I think this might actually confuse the end-user more, & it would be difficult to include the functionality in such a way that it would be intuitive. Also, I do not think that gradient hues would also help to better portray the information. All in all it is an interesting & fun visualization for the trending languages on GitHub.
Find all posts by this user
11-08-2014, 05:34 PM
Post: #6
RE: Week 11: A small place to discover languages in GitHub
This is a interesting visualization especially for computer science students which gives a overview of programming language trend according to Github dataset. For we just finished a assignment of parallel coordinates, the visual is very heuristic. Change the coordinate lines into a decreasing order set bars which is simply to fix the position of a specific language. The year label is somewhat like clustering that we could classify languages according to their appears year and easy to compare them. We also could compare different languages that we interest just by click their names in the first column.
The shortages of the visual in my view is 1) we can't change orders of different features. But sometimes, we should change the order to get a better show of the trend. All decreasing order isn't always appropriate. 2) If we select more languages, maybe color hue is a good way to help us to compare them more clearly.
Find all posts by this user
11-08-2014, 09:34 PM
Post: #7
RE: Week 11: A small place to discover languages in GitHub
Very well done with the visualization critique. When dealing with a lot of data I have found that "generally" parallel coordinates lag in terms of the animation speed. However for the majority of the interactive events I thought this visualization performed very well. I especially like the context + focus that was provided by hovering over the small multiple views. The visualization has a hint of a box and whisker plot as well which is quite interesting in my opinion.
Find all posts by this user
11-08-2014, 11:06 PM
Post: #8
RE: Week 11: A small place to discover languages in GitHub
This is an interesting visualization, however the main draw back in it is that the viewer cannot reorder the parallel coordinates, therefore we cannot experiment and discover much about the relationships among the different attributes used.

Also as zinnia suggested adding filters along each parameter will significantly help viewers find more useful information in an easy fast way.
Find all posts by this user
11-09-2014, 01:46 AM
Post: #9
RE: Week 11: A small place to discover languages in GitHub
Interesting visualization and nice critique Zinnia.

I would say this is an apt utilization of parallel co-ordinates technique to visualize data.

I liked that there is a way to control the timeline at the top left corner of parallel co-ordinates visualization apart from the control in the 1st view. This is helpful in case we just want to switch back and forth between consecutive quarters without having to select the appropriate quarter in the first view.
We can also select a particular polyline of a programming language [data line turns to black] and then hover over to select some other lines. Now we have a bunch of lines conveying information about multiple programming languages which makes it very easy to compare between these programming languages. Although the values disappear when the mouse hovers away from the line. I would've liked the values to stay put which would've helped me make a very accurate comparision.

The small views are also very informative. The regression line in each of the small views helps us analyze the visualization better.

A very concise & informative piece of visualization.
Find all posts by this user
11-09-2014, 12:53 PM
Post: #10
RE: Week 11: A small place to discover languages in GitHub
The critique given by zinnia is through and accurate.

As mentioned by zinnia, this visualization contains three views. The most eye-catching view is the parallel coordinates.

The application of parallel coordinates in this example is quite innovative. In fact, I would say this is a variation of parallel coordinates.

Like traditional parallel coordinates, it illustrates the relationship between multiple attributes. Instead of using vertical axes to represent the attributes, the author uses columns. As a result, there are no ticks but stacked horizontal bars. Although we can interpret the horizontal bars in each column as ticks, they are nonuniform and are actual values of the programming languages. All column except the first (REPOSITORY LANGUAGE) is in ascending order from bottom to top, and the order of the first column is determined by the second column (ACTIVE REPOSITORIES) in such a way that the first column can be regarded as a labeling for the second column.

The advantages and disadvantages for such a variation of parallel coordinates are through discussed by zinnia.

I just want to comment that the usage of stacked horizontal bars in each column makes the line connection between columns harder to trace. Although this is partially remedied by the highlighting functionality, it is still hard to get an overall picture of the polylines in the parallel coordinates.
Find all posts by this user
Thread Closed 

Forum Jump:

User(s) browsing this thread: 1 Guest(s)