Collaboration Exists

Why hammocks? Simply because they’re my personal favorite way to explore a city. They make you view your surroundings from a fresh perspective. “Where can I hang my hammock?” “Will passersby see me?” “Is there a sunny spot where I can relax for a bit?”

Do you find yourself asking the same questions? Then discover Ghent from a whole new vantage point with Bring Your Own Hammock.

Wintercircus

The application ‘Bring Your Own Hammock’ on ‘Bring Your Own Beamer’, organized by Nerdlab.be

I realize the number of hammock enthusiasts in Flanders is quite small, and this app probably won’t attract hordes of users. But that’s exactly what makes it charming: even though the user base is tiny, many people—consciously or not—have played a part in bringing this application to life. In this article, I’ll show you how something seemingly trivial can involve an unexpectedly large group of contributors. There’s a lot more to building an “absurd” application than you might think at first glance.

We Made Something

Let’s start on a small scale. Pieter-Jan and I did some coding together. Our time was limited, so in just a few hours we pulled together various components to build the application.

Here was our to-do list:

  • Find all the trees recorded by the City of Ghent (see “The City of Ghent Made Something”)
  • From the tree dataset, figure out which trees stand close enough to each other for a hammock (between 3 and 5 meters apart).
  • Create a new dataset containing the locations suitable for hammocks.
  • Build a webpage that visualizes this dataset on a map.
  • Show the webpage at BYOB, an event hosted by Nerdlab.

We did all this with a modest amount of time, relying on many building blocks that already existed. The end product only exists because others have invested their own time and money in developing these tools.

Without leveraging existing systems, creating something like “Bring Your Own Hammock” would have been extremely difficult.

The City of Ghent Made Something

Ghent isn’t resting on its laurels. As a municipal government, it provides a portal for its public datasets: the Open Data Portal. In total, there are about 260 datasets that can be freely reused. They cover everything from mobility and heritage to environmental data.

“Bring Your Own Hammock” uses the Ghent tree dataset, which contains over 60,000 trees in the city. Each tree’s location (GPS coordinates) is recorded, and for about half of them, the trunk circumference is also listed. Created in 2014, this dataset has been continuously updated by the Ghent Parks Department since then.

Without the policy decision to make this data publicly available—and without the Parks Department’s hard work—the “Bring Your Own Hammock” application wouldn’t have seen the light of day.

A Telephone Book Was Created

You can load this webpage on any device with a web browser. There are all sorts of devices out there.

The link lauwers.gent/byoh actually points to a specific computer (see A Computer Did Something). Just like a smartphone has a phone number, this computer has an IP address. The IP address 104.21.17.127 might be easy enough for a computer to handle, but it’s not as user-friendly for people. So, the world agreed on a solution: a global “phone book” for all public computers, known as the Domain Name System (DNS). For a small yearly fee, you get your own listing in this DNS. When you type lauwers.gent/byoh in your browser, your device first checks this global “phone book” for the computer’s address. Once it gets that, it knows precisely where to retrieve the hammock map.

This system has been around for a while. It was invented in 1983 at the University of Southern California by Paul Mockapetris and is now indispensable. Without DNS, there’s no internet: your device wouldn’t know how to reach Google or where to send your emails.

Without DNS, building an application like “Bring Your Own Hammock” would have been nearly impossible.

A Computer Did Something

As soon as you visit the application, several computers start working together to deliver all the necessary data to your device.

First, as explained, your device uses DNS to locate the correct computer (see A Telephone Book Was Created). The DNS server (another computer) tells your device which address to contact.

My web server (my computer) stores everything needed: the dataset, the webpage, the tiny hammock icons on the map—you name it. As long as my server is running, your device can access that information. If my server goes offline, you’ll only get an error (Error 404).

Of course, your device isn’t hooked up to my server with a direct cable. Both are connected to the internet. Thanks to miles of cables and a network of switches, firewalls, and routers (each a computer in its own right), data flows back and forth seamlessly.

Without a physical computer running around the clock, there would be no “Bring Your Own Hammock” application.

Smart People Worked Together

The webpage is built using programming languages and development tools. While I won’t dive deeply into what each one does, here’s a quick overview:

Technology Description Started in
Python A programming language 1991
HTTPS A secure communication protocol for the web 1994
CSS Stylesheets for web pages 1994
HTML A markup language for structuring web content 1997
OpenStreetMap An open-source geographic database 2004
OpenLayers A JavaScript library for displaying interactive maps 2006
GeoJSON A file format for geographic data 2007
TypeScript A higher-level programming language built on JavaScript 2012
Parquet A file format for tabular data 2013
NPM A package manager for JavaScript libraries and dependencies 2014

If you’re not a coder, don’t worry. You don’t really need to know what each of these tools does; they’re doing their job behind the scenes. Together, they power the map of hammock locations in Ghent.

That’s the crazy part of this story: millions of people have written billions of lines of code. All of it somehow works together to enable new ideas—like this one—to come to life.

Without the dedication and passion of countless developers, programmers, and engineers, building “Bring Your Own Hammock” would have been tremendously difficult.

Summary

By now, you might be feeling a bit overwhelmed by how much complexity lies behind a seemingly simple application. Collaboration is at the heart of it all: concepts, ideas, code, and standards are created and reused by a massive community of people.

  • Without the dedication and passion of many developers, programmers, and engineers, “Bring Your Own Hammock” would have been very tough to make.
  • Without a physical computer that’s always running, “Bring Your Own Hammock” would have been very tough to make.
  • Without DNS to locate the right computer, “Bring Your Own Hammock” would have been very tough to make.
  • Without the city’s decision to open its data—and without the Parks Department’s tree inventory—“Bring Your Own Hammock” would have been very tough to make.
  • Without our familiarity with existing systems, “Bring Your Own Hammock” would have been very tough to make.

The best part is that, as a user, you don’t have to worry about any of that. All the pieces slot together so you can simply enjoy the full picture. True, a map of hammock locations in Ghent won’t solve the world’s biggest problems. But it’s a wonderful example of how countless people—mostly strangers to each other—can pool their efforts to make something new.

Credits