Groundskeeping an electronic garden

Ian Johnson
6 min readOct 12, 2015

--

An electric garden brings forth the image of curated organic growth. Many forces interact to make a thriving garden, and those who are curating the garden can only attempt to direct or facilitate these forces. I would like to discuss a particular electronic garden blooming with d3.js examples. Plants in this garden take the form of bl.ocks.

http://bl.ocks.org/mbostock

Mostly short and colorful, the d3.js fauna makes for an impressive display. The garden is made up of many patches, each one is generally tended by an individual gardener. The original patch was established by Mike Bostock.
When I first wandered into his garden my eyes were opened to a new beauty. They beheld a medium which blended data & aesthetics, the opportunity to blur the lines between science and art.

I saw the seeds being planted by others growing into beautiful displays before my eyes. I knew I had to learn how to garden and tend a plot of my own.

The beauty of the garden is not limited to the aesthetic pleasure of its flowering visualizations. There are many uses for the wide variety of plants in the fauna. Mike Bostock outlines some of the most valuable uses in For Example. These include getting feedback early and often, evolving ideas and finding solutions to problems that have you stumped.

http://bl.ocks.org/enjalot

From my years of wandering the grounds, I’ve noticed some patterns as the garden grew.

  • Digital gardens have no spatial constraints, the garden can grow without bound. The more plants the richer the garden, the more chances for cross-pollination and the evolution of new forms.
  • There are no such things as weeds in a digital garden, as the only resources a plant needs to grow is its gardener’s attention. More examples in one patch cannot suffocate examples in another.
  • The health of the garden can be measured by looking at the amount of growth as well as the biodiversity of that growth.

An important factor in supporting biodiversity is pollination.

An important factor in supporting biodiversity is pollination. In our garden pollination is mostly limited to twitter birds and stack overflow bugs. Tweets spread new and newly discovered blocks among the gardeners, but only to those who can stand to pay attention to the incessant noise of the flock.

@d3visualization

In our garden pollination is mostly limited to twitter birds and stack overflow bugs. Tweets spread new and newly discovered blocks among the gardeners, but only to those who can stand to pay attention to the incessant noise of the flock. The highest signal accounts to follow are @d3visualization @dashingd3js and @d3noob

There are some attempts at filtering the noise such as the venerable dashingd3js newsletter, yet there are limits to the bandwidth of manual aggregation.

StackOverflow questions allow new gardeners to apprentice under the more experienced, and allows the more experienced to exercise their skills. Blocks and bugs have a symbiotic relationship, blocks allow the bugs to be seen and worked on much quicker than using plain-text. The bugs provide opportunities for practitioners to exchange knowledge and create working artifacts as a result of their exchange.

Supporting growth

http://enjalot.github.io/1024/

One way I see myself as a groundskeeper is through my role as an organizer of the Bay Area d3 meetup. We encourage gardeners of all sorts to gather together and exchange ideas. This helps newer practitioners

We also like to stir the environment with a breeze, sometimes suggesting datasets or existing visualizations to build from. Some fruits are harvested as youtube videos.

2014 d3.unconf

We also have an annual mass migration we call the d3.unconf. We bring together 100 d3.js practitioners, beginners and experts for a full day of intense discussions, demos and development. The 2014 event was a huge success, and we are excited for the November 21st, 2015 event.

http://blockbuilder.org

Another way to support growth is to build tools that help gardeners grow more blocks. I’ve been working on one such tool which strives to make it easier to plant new ideas or graft onto old ones. This tool is called Block Builder. It is an in-browser code editor which allows you to save or edit blocks. I’d like to think of it like a hydroponic greenhouse for nurturing seedling d3-related ideas.

By making it easier to tend to their gardens my hope is that more people will embrace the habit of gardening. realizing that they can take the seeds of ideas they have in the course of their work and plant them in a block.

There are other groundskeepers working hard at supporting growth. Christophe operates a sprinkler system via his community-sourced gallery.

community gallery

This gallery is compiled via manual labor, and over time has accumulated thousands of visualizations. A more automated approach to exploring visualizations is bl.ocksplorer.org which allows you to search for examples by which API functions they contain.

http://bl.ocksplorer.org

I want to build on these infrastructural efforts to pave pathways that will encourage more visiting and increase the rate of cross-pollination. I want to help blocks get more sun light so they can grow faster. I’ve started by compiling as many blocks as I could find into one visualization. This uses the data collecting infrastructure of blocksplorer combined with some process I’ve done in block-similarity.

a visualization of most blocks

This is just the start of what I hope to contribute. I want to inspire people to start their own patch and tend to their garden.

Let 10,000 blocks bloom!

P.S.

There will always be those seeking miracle grow, hoping to obtain a rich garden with little work. There are “nurseries” where you can just add data and get a garden or plants to put in your office. I am less interested in the commercial aspect of gardening because it shuts down a lot of the avenues for creative expression in the preconceived notions consumers have.

P.P.S.

In this metaphor one might notice that almost all discussion is of small plants like flowers, so what about larger projects like trees? I like focusing on flowers because they grow fast and are attractive, and they fit in small pots. Bigger concepts require longer form material like blogs, videos and libraries. Most people are interested in using or building something bigger, but every large plant still starts as a seed. Nurturing ideas and seeing what they are like when they are small can help move large projects forward. If something cannot grow in the safe confines of a block, how would you expect it to grow in the chaos of your codebase?

--

--

Ian Johnson

pixel flipper. Data Vis Developer @ObservableHQ. formerly @Google @lever