Strange Loop

Cursors Illustrated: Collaborative sketching for better understanding of functional programming and the web

Sketches have a unique power to convey complicated ideas quickly between people. This talk will explore the functional programming concept of cursors, through the lens of sketchnoting. Cursors, immutability and React.js will provide the backdrop for an illustration of how collaborative drawing can illuminate and bring shared understanding to deep technical topics.

The mainstreaming of functional programming is happening with the adoption of React.js, a framework that encourages the use of immutable data. Cursors, a concept from the Clojure framework OM, are a way to work with immutable data in javascript. React.js encourages a one way data flow pattern for building web applications called Flux. Cursors provide a mechanism for this.

The audience will be given an intro to sketching with basic shapes before the deep dive commences with a review of the concept of immutable data and why React.js encourages immutable data for building web applications. Cursors will be introduced as a way to work with immutable data in javascript followed by an example of how to use them in React.js.

Takeaways will be an understanding of why immutability and cursors are important for building web apps with React.js and an understanding of how sketching can make advanced ideas and concepts more approachable for team discussion.

Ryan Dy

Ryan Dy

Pivotal Labs

Ryan Dy is javascript developer living in San Francisco. A TDD enthusiast, Ryan enjoys building single page apps and exploring the bounds of functional programming. When he is not pairing on javascript at Cloud Foundry, he works on his side project, Reddizen, a single page reddit client built with React.js and Express.js.

Marlena Compton

Marlena Compton

IBM BlueMix Garage

Marlena Compton, creator of Relax Ipsum, is a javascript developer, writer and artist in San Francisco. She began creating sketchnotes at conferences as a way to listen more carefully for each speaker's message but found that sketching quickly became a way to get a better understanding of dense technical topics. She blogs about software and writing at