30 Days of D3- 4 mins
I started learning D3 and kept going for 30 days. Each day, I tried tinkering and building something from what I learned. Below is my progression from day 1 to 30 in the form of 15 completed projects, where each one took a day or two to complete. This project is part of a personal challenge to help me achieve two goals: (1) learning and practicing more data visualization techniques and (2) working out my willpower muscles based on how consistently I stayed the course for a month.
Why 30 Days?
30 days is arbitrary. A month is not so long where boredom will cause me to give up the project. Yet it is not too short where the effort feels inconsequential.
Why Data Visualization?
As a product manager in the Experimentation Platform team at Microsoft, I’ve experienced first-hand the importance of being data-driven. Using data to make optimal product decisions is critical! At the same time, my passion lies in the realm of human-computer interaction (HCI); I love obsessing over design details and enjoy spending hours talking about user interactions. Data visualization is a happy intersection between these two interests.
Where HCI focuses on the interfaces between humans and technology, data visualization is analogously about the interface between people and data. Good data visualization relies on the same principles for good product design, namely: coherency, simplicity, ease of human interpretation, and minimal cognitive leakage.
- Constructing visualizations ends up being more about the art than science of presenting content well.
- Visualization is only a means to tell a story. The (usually messy) dataset is the ground-truth. Slice/dice/pivot to gather insights.
- A 30-day sprint is a good time period to experiment with a new goal.
- I underestimated the difficulty in committing to making daily progress. My output was only 15 projects. It was demoralizing to have stretches of days where I did not commit code.
- It’s OK to spend time exploring other ideas and to try out new things, but I could have done a better job balancing output and experimenting.
- I’ll admit I’m sometimes shy about sharing my personal projects. Figuring out ways to overcome that weakness is a continual learning process. For this project, I experimented with tweeting my progress. It turns out that social pressure and accountability are great motivators!
Though I developed a backlog of questions that would require explorations into data to discover insights, I found it more tempting to just create fun animations, such as an animated clock and another variation. Up next, I’d focus more on digging deeper into data exploration and analysis.
If you’re interested in learning more about D3, there are lots of great resources. Here are the ones I found useful