All the charts on https://stateofdev.com/ are build using the files in this repository. We welcome and encourage proposals to changes to these files.
See this video guide on how to propose changes using
If you have little to no experience with Github or git, contributing might look a bit daunting. Luckily you can make changes completely from within the browser as shown in the video above.
Next to "Edit Mode" for advanced usage you can also edit the chart files themselves, but this is a bit more complicated unfortunately.
We welcome and encourage:
- adding or updating descriptions
- updates to the data after significant events (e.g. releases)
- addition of items (new entities)
- removing of irrelevant items
- creating an up to date snapshot, by repositioning items
We are open to:
- adding new data (topics and categories)
- changing the chart type
Edit Mode which is available in the chart menu. You can move items and add items directly in the chart.
You download your chart changes, and propose your changes within Github as a pull request.
The structure to the charts is setup as follows: categories represent a broader subject, each referencing to multiple relevant topics. A topic contains data to visualize the current state of that topic in a chart.
A list of all topics is available here: topics/.
A good example of a topic is topics/programming-language.json which creates this chart:
It's best to just browse a bit through the repository to get a quick understanding.
We support three type of charts, of which
bubble is the default.
bubbleplots a graph with items places on the x and y axis, without any curve
bellcontains several states and each item sits on a bell curve
hypefollows the hype cycle curve for each hype cycle phase.
Attributes of the chart.
- title - A reference title
- subtitle - A promotional title. Usually in the form of a question of which the chart is the answer.
- description - A long form description of what the chart answers. Markdown only.
- chart_type - Type of chart to render, either
- permanent_id = A permanent slug ID.
List of the items usually as entities and their attributes to plot.
- x [0.0, 1.0]
- y [0.0, 1.0]
Naming of the axis, and its directional meaning.
The states the chart has. Label and width.
Determines the size of the bubble.
The position is determined by:
bubblea float number [0.0 - 1.0] for X and Y
bella float number [0.0 - 1.0] for X
A commit should be followed up by a merge requests which starts a discussion thread. Make clear why you propose a change. Most changes are merged, letting the community eventually settle on a consensus variation.
- Don't commit changes that have a sole commercial or promotional intent. General rule is to not add any items to which you are affiliated. Updating inaccuracies or descriptions are allowed and encouraged.
- Don't be an ass by forcing your personal opinion.
- Looking for a way to make snapshots of the data to allow moving forward/backward into time.
- Support (news) events, to understand better why things are were they are.
- Easy tool to create and edit a great chart, and easily propose a change.
- Optionally looking at changing .json to a .js format.