-
Notifications
You must be signed in to change notification settings - Fork 4
/
index.html
executable file
·63 lines (63 loc) · 7.09 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE html>
<html lang="en-US">
<html>
<head>
<meta charset="UTF-8">
<title>Peaks</title>
<script src="libraries/p5.min.js"></script>
<script src="libraries/p5.dom.min.js"></script>
<script src="libraries/topojson.min.js"></script>
<script src="libraries/grid.js"></script>
<script defer src="libraries/jquery-3.1.1.min.js"></script>
<script defer src="libraries/bootstrap.min.js"></script>
<!-- DEBUG stuff -->
<!-- <script src="libraries/stats.min.js"></script> -->
<script src="sketch.js"></script>
<link rel="stylesheet" href="styles/bootstrap.min.css">
<link rel="stylesheet" href="styles/style.css">
</head>
<body>
<!-- p5 canvas -->
<div id="centerContainer"></div>
<!-- "about modal" using http://getbootstrap.com/javascript/#modals -->
<div id="peaks-about-modal" class="modal fade" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span>×</span></button>
<h1 class="modal-title">Map of Swiss mountain names</h1>
</div>
<div class="modal-body">
<p><i>Peaks</i> is a visualization that explores the origin of mountain names in Switzerland. Visitors can explore the map and interact with the data through the filters on the right. At the bottom, there are three guided narratives. The piece is best experienced in a modern desktop browser (<a href="images/peaks-screenshot.png" target="_blank">screenshot</a>). If it doesn’t display properly, <a href="https://vimeo.com/raphaelschaad/peaks" target="_blank">here’s a 2min walk-through</a>.</p>
<h2>Exploring the data and finding the story</h2>
<p>The underlying data is an amazing set of numerous georeferenced names of built infrastructure and topographical features in Switzerland. To make sense of this big dataset (a 50MB text file with 224,369 lines of data), I built custom Node.js tools to filter, analyze, and convert the data into more understandable and manageable forms. </p>
<img src="images/peaks-code.jpg" class="inset">
<p>During this data exploration phase, I came across countless interesting threads of stories that could potentially be told, and eventually settled on the rich intersection of mountains and languages.</p>
<h2>Visual representation and rapid iteration</h2>
<p>To get first basic visual representations, I rendered the data with p5.js, the emerging web version of the Processing programming language. This might be a bit more involved than using standard tools like Excel, but quickly moving into the medium that the final piece will be in offers a greater depth in the discovery phase. Sketching ideas on paper and rapidly iterating on them in code with the real data is my favorite part of the process.</p>
<img src="images/peaks-sketches1.jpg">
<p>While building these visual tools to experience the data, it became clear that I wanted to provide the same tools to visitors for self-guided exploration. In addition, I discovered interesting sub-stories that I wanted to pull out as narratives and make them accessible to an audience that isn’t familiar yet with the data.</p>
<h2>Turning interesting into insightful</h2>
<p>The first narrative explores the impact language has on naming (e.g. Romansh’ names have much wider reach than the region this language is spoken in), the second story shows common names (similar to almost every U.S. state having a Springfield), and the third one highlights three colors as common origins for names. Each of these narratives is also interactive and tied to the central map.</p>
<img src="images/peaks-sketches2.jpg">
<p>The step from an interesting data visualization to meaningful information design often requires enriching the core dataset with additional datasets (e.g. census data) to put it in context.</p>
<h2>Polish, polish, polish</h2>
<p>All user interface elements started out as standard web-components and then turned into custom forms to work in harmony with the rest of the piece. The mountain-themed language checkboxes, for example, double as map color key and language toggles. All interface and layout design iterations were done in Sketch before coding them up.</p>
<p>To give a sense of orientation, I rendered a matching and subtle geographic outline as base map. To extract that data from a geographic database, I used GDAL and transformed it with TopoJSON.</p>
<p>Growing up, I appreciated the aesthetic maps in the <a href="http://www.codex99.com/cartography/71.html" target="_blank">Swiss School Atlas</a> by geographer Eduard Imhof. He’s the inventor of the Swiss style shaded relief map, and his 1938 map painting “Karte der Gegend um den Walensee” served me as visual inspiration.</p>
<img src="images/imhof-relief-wohlensee.jpg" class="inset">
<p>I turned the color palate into four distinct single-hue sequences that also depict altitude (from darker and more saturated colors to lighter tints for snowy high-altitude peaks).</p>
<h2>Beyond Peaks</h2>
<p>It would be interesting to explore representations of the names other than a map, such as putting them side by side ordered by altitude, or clustered non-geographically by language. I would also be interested in designing a non-interactive print version. Another idea was to move from points of interest to line segments and do <i>Streams</i> – an interesting dataset I put aside to focus on <i>Peaks</i> instead.</p>
<p><i>Peaks</i> was a project I made in the final few weeks of a class at MIT called <a href="https://fathom.info/4s50/student-work.html" target="_blank">Information Design – Exploration, Navigation, and Understanding</a>. The class was co-taught by Ben Fry, co-inventor of the creative coding environment Processing. In his Eyeo 2016 talk <a href="https://vimeo.com/175846596#t=495s" target="_blank">Ben mentions <i>Peaks</i></a> (<a href="https://vimeo.com/175846596#t=551s" target="_blank">demo at 9min 11s</a>), and gives more background on the class, tools, and the trade of information design.</p>
<p>The code is <a href="https://github.com/raphaelschaad/peaks">available on GitHub</a>. Other works can be found in <a href="https://raphaelschaad.github.io/portfolio/">my archival 2014 portfolio</a>. If you’d like to get or stay in touch, I send out an <a href="http://www.raphaelschaad.com/mailinglist" target="_blank">occasional email update for the curious</a> on what’s new in life and what excites me.</p>
</div>
<div class="modal-footer">
<p class="footer-text">Made with ♥︎ by <a href="https://twitter.com/raphaelschaad" target="_blank">Raphael Schaad</a> at MIT in May 2016</p>
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</body>
</html>