Export or edit this event...

Creating Interactive Software Objects with Clojurescript w/ Dan Lidral-Porter

308 SW 2nd Ave Fifth Floor
Portland, OR 97204, US (map)
Public WiFi



For a few years, I've been trying to create UIs that have a consistency, tangibility, and predictability akin to that of physical objects. I think this results in software that is easy for the average person to use and understand.

The only way I know how to describe the kinds of behaviors that result in the physicality I seek is with state machines. I've built a library called Plastic that lets me define state machines composed of pure functions triggered by DOM events. This allows me to express the behaviors making up the UI in almost exactly the same way I design them with pen and paper, all the while hiding mutation in the implementation in fine Clojurian fashion.

In this talk I'll describe my philosophy of UI design in more detail, provide some examples of the physicality I'm aiming for, and show how one is implemented using Plastic. If time and enthusiasm allows, we can collaboratively define another simple software object using Plastic on the fly, to get a bottom-up perspective in addition to the top-down perspective of the scripted talk.

I hope to see you there.


P.S. I am amused to be delivering a talk in defense of objects, but these are strange times we live in.