Programming with Maps

One of my core guiding principles while designing data-centered toolkits based on Scratch has been to connect to interests and passions of the learners (this comes from the design principles of Scratch, and can be traced back to the principle of “personal resonance”, outlined by Papert in Mindstorms). One of the most promising and richest areas to connect to personal interests through data seems to be maps and geo-data. Maps make it possible to engage in a vast range of creative expression, starting from story-telling to science experiments, from map/geo-data based games (Geoguessr!) to interactive virtual tours of one’s neighborhood.

Over the last year, I have been developing a research prototype for what I call MapScratch - a visual programming toolkit on top of Scratch that makes it possible to program with maps and geographical data. As with my other projects, this toolkit also tries to be closely coupled with the larger Scratch ecosystem, with the end goal of having entry-points for as many interests as possible. If this goal is met, a map enthusiast (who is a novice programmer) will be able dive into programming with maps with equal ease as an experienced Scratch game maker, who wants to add maps to her latest game. Here’s a video from an early prototype (you may need to watch it in fullscreen HD to read the text on the programming blocks):

Map Scratch is still in development, and there are still a couple of thorny design and technical problems to sort out, but I hope to have it out for everyone by the end of this year. From the early feedback that I’ve gotten from users, this promises to be a lot of fun.