Embark: dynamic documents for making plans
Some news: I've officially completed my PhD at MIT, and in September I started a new job: leading the Malleable Software research track at the independent research lab Ink & Switch! While I was in grad school I spent several summers collaborating with Ink & Switch on data schema transformers, rich text CRDTs, and dynamic documents. I found it to be a very productive environment with excellent collaborators, a good mix of rigor and pragmatism, and an eye towards real-world impact, so I'm very excited to deepen my involvement with the lab.
At some point soon I hope to write some more reflections on the PhD experience and also share more about future plans at the lab, but for now, I have more pressing news: a new Ink & Switch essay!
Embark: dynamic documents for making plans
Paul Sonnentag, Alexander Obenauer and I just published a research essay about Embark: a dynamic document for travel planning where you can just loosely jot down a plan, then gradually bring tools like maps, routes, and weather directly into your notes.
This work originated from frustrations with how annoying it is to plan travel using software. There are all sorts of apps for various parts of the process, but they don't work well together and there's a lot of messy tedium. Could we find a new approach that addresses these problems?
A key breakthrough for us was realizing that a note is a great starting point. I love planning in Apple Notes or Notion because it's flexible and frictionless—I don't need to learn some new app or enter formal calendar events just to lightly sketch out a trip. The only problem is that those note-taking apps don't have computational features, so I often have to switch out to other apps, copy-paste screenshots, etc.
To bridge the gap between static notes and interactive apps, we designed a text outliner with a few dynamic features:
- mentions of structured data: places, dates, ...
- views: maps, calendars, ...
- formulas to compute weather forecasts, routes, ...
The result is a travel planner tool called Embark where you can mostly write down a travel plan as a loosely structured text outline, but you can also enrich it inline with tools like weather forecasts, routing, map views, simple math computations, and more. When you use Embark, there's no prescriptive structure; you simply write a plan for your trip with whatever level of fidelity and categories you want, and then pull in dynamic tools as needed.
One thing that particularly excites me about this project is that we were able to use Embark a lot ourselves to plan various trips. That serious context of use led us to deeper insights than we could have gotten from theorizing or shallow demos. In fact, Embark started out going an entirely different direction around GUI widget composition, which seemed awesome in demos, but real usage showed us that the dynamic document approach was ultimately more useful. Although Embark is research prototype quality software with many papercuts, I still reach for it frequently because it gives me a fluid travel planning experience I can't get in any other tool.
Another reflection on process: I think this also shows the value of picking a particular domain to try out ideas. Embark isn't really a project about travel planning; that's just an example we picked to explore some abstract ideas around how software could be structured differently. But by specializing in that domain, we were able to go deep on a particular context and let that context drive our design.
To see a demo of Embark in action and learn more about the ideas behind it:
If you have a chance to read / watch, I'd love to hear what you think as a reply to this email. No comment/question is too small! Until next time...
Links
- I'm excited about Bluefish, a new diagramming library by my former labmate at MIT Josh Pollock
- Some rough notes on cool work I saw at UIST, one of the major academic HCI conferences
- I've had a lot of fun browsing this guide to OpenDoc, a compound document system from the early 90s
- A few AI papers I've enjoyed lately: