The D3 community is an inspiration to all of us at Observable. It’s been 12 years since our co-founder, Mike Bostock, created D3, the JavaScript library loved by many for its ability to produce dynamic, interactive, and stunning works of data visualization.
So while D3 (or D3.js) is a staple among practitioners, it’s not always known how closely connected it is with Observable’s platform. In fact, Mike built Observable with D3 in mind.
Our platform supports the creation of visualizations with D3, offering developers and data teams a robust ecosystem to create expressive, interactive data visualizations. By bringing developers and data teams together, the Observable platform streamlines collaboration so they can spend more time creating expressive data visualizations, and automate basic data prep and data app maintenance.
By building on Observable, developers can work more quickly with useful starting points, such as reusable D3 examples from a large community of D3 practitioners. In the below post, we walk through Observable’s commitment to supporting D3, our mission to build a platform for developing and hosting interactive data visualizations with the library.
Observable’s aim is to make developers’ lives easier with product features and functionality that accelerate insights and exploration of what can be done with data. In addition to maintaining and supporting D3, Observable also actively maintains Observable Plot, a concise open-source JavaScript library for expressive data visualization, and Observable Framework, our open-source static-site generator for data apps and dashboards.
Here’s how Observable supports the D3 community:
We want to show you how to use D3 on Observable. When you build with D3 in Observable, you can instantly connect to your data, code faster than ever, and accelerate your team’s analysis.
We want to make it easier to learn D3. Observable’s coursework is intended to support the developer community to share and learn from each other.
We recognize we’re not the only source for D3 use. And we’re OK with that. The D3 community uses its tools for building, and we recognize and appreciate those preferences. If anything, we want the D3 community to see what’s possible on Observable, so you can decide on what’s best for your needs.
When D3 celebrated its 10th anniversary, Mike put down some lasting thoughts that highlight the best ways to get value from D3. The “lessons learned,” as he called them, helped community members take inventory of what’s possible and how to maximize their time building.
One of the most striking observations a few years later is how he articulated the cost of being too enamored with technical “whizbangery,” a nicely worded description from the creator on the visual impact that can be achieved through D3.
Mike always felt that interaction and animation had a huge impact on what was built with D3, especially for audiences who were familiar with the output. But Mike was quick to point out that the true spark for the building was the findings from the effort.
“Knowing this, you may be tempted to add these features to visualizations without fully appreciating the downsides, such as added complexity and hiding valuable information behind interactive controls,” he wrote. “And worse, because these features are often challenging to implement, they may distract from the far more important yet ‘boring’ task of finding and communicating insight!”
“This is not a moral judgment,” he added. “I’m not saying you’re bad for doing this. I’m guilty of this myself. But the pitfall is real. Focus on the static form first and foremost. This may be the only thing some readers see. Don’t allow technical matters (i.e., web development) to eat too much of your attention. And don’t fear plain visualizations: it’s the insight that matters, not whether it’s gussied up.”
So if plain visualizations are not to be feared, let’s continue to explore the possibilities of D3, with or without Observable, being the platform that enables the exploration and data visualization. Observable remains committed to the D3 community.
To get started with building data visualizations with Observable, sign up today.