RunFaps
Andy Matuschak
Andy Matuschak patreon

Doing-centric explanatory mediums: board game instruction manuals and an unusual Figma document

🕑 Added 2021-11-01 04:28:15 +0000 UTC

Comments

Andy Matuschak

I think you're right that creating this sort of medium inside a city-building game would be a lot of work. It's illustrative to compare to the Figma example. I suspect it was a lot of work for the Figma folks… but a different order of magnitude than would be required for your city building game. I claim that a key difference is that Figma already contains the necessary primitives: spatially-arrangeable text, sequenceable artboards, the hierarchical frame/layer outline, etc. The Figma folks had to figure out how to combine those things, but they didn't need to change the software environment. So I'd expect these kinds of documents to be more likely in mediums which are close to already supporting the format. It still takes some ingenuity, of course, and I expect there are still local problems to be solved for any authors. But it all seems doable in the medium-already-supported case—it just has to be desirable enough, I think. If I wanted to promote this type of medium and see it proliferate, I think my next step would be to try to make some canonical example. I'd really like to see someone try to make a interface design "standard text" in this style!

Andrew Sutherland

Great read, as always. Awhile back, I had the idea to build a "Housing Primer" to explain housing policy in California to an interested person. I had the same basic idea you grumble about: write an article, with, if we're gettin' fancy, a few interactive widgets. This essay has me thinking about the most fun fantasy way to build it: a SimCity-ish model of California, or of San Francisco, where you started with a snapshot of the city that stands today, and could wave a magic wand to pass zoning reforms, or allocate spending on affordable housing, or eliminate discretionary review, or whatever it is. A scoreboard on the side would give you the percentage of rent-burdened households or whatever other metrics you'd want. The fun part is, you could use the same tool to build whatever fantasy charter city you wanted, or run Monte Carlo simulations of different future outcomes. From a cursory search, it looks like the city-building games that exist are close to making this possible, but not quite there. ... As I wrote this, I thought of how much work creating a proper housing primer inside of a city-building game would be! First you need to create the world, make it accurate, and then you need the scaffolds and constrained knobs to show different policies or have people make their own policies. It's so much easier to just write a blog post with some slidey widgets! Even this Figma document, which is awesome, probably required A Lot of Work. Worth it, almost certainly, but I'd guess it's quite a bit more work than a few Loom videos in a tweet stream. ... Is the reason for the relative non-existence of this kind of medium therefore simply that making this kind of thing is too difficult and time-consuming? If that's true, what's the work that needs to be done to lower the effort or increase the desirability of such a medium? Is some of the work just giving this kind of medium a name, a brand, and making it a gold standard among interface designers? What else might need to happen?

Andy Matuschak

Thanks for this thoughtful comment. Yes, as you suggest, I think it could make a lot of sense to offer multiple "levels" of application UI to handle the novice problem you describe. The more general design principle is called "progressive disclosure", and several of those techniques could apply here, I think. Worth noting also that How to Design Programs (a textbook for computer scientists) has a purpose-built programming environment designed to accompany it; it has multiple 'levels' of complexity as well.

Andy Matuschak

Ah, great—I look forward to reading! :)

Ooh, interesting — totally see that. AKA the learning you currently only get through practice and dissecting other peoples' files. It's a balancing act of theory and practice that seems to prove difficult for books to strike (and points to your argument for alternative learning mediums). I'll check out Designed for Use by Mathis and Designing Interfaces though and report back if they're any good (in part because I'm writing a piece on this right now lol — working thesis is that we need a new "vocabulary" for interface design :)

Really awesome write-up. My head is spinning, so please excuse the brain dump. I love the idea of doing-centric approaches overall. I wonder though, if there was a large-scale push across the board to implement doing-centric, contextual educational systems and it did take hold as a concept, what would happen as a result to the skills required of a craft that take place outside of that medium? When I was learning web development 15 or so years ago, I taught myself HTML and CSS. I had a business designing and marketing Myspace pages. I could do a lot from within that interface. Then I graduated to Wordpress, slogging my way through the famous Wordpress.org instructions as an absolute luddite, and editing theme code in their UI theme editor. But I had to find an online university and take out student loans so I could figure out how to actually put a webpage on the internet. In all the educational content I consumed, I never saw it written that you need to name an HTML file index.html. (To be fair, I have ADHD and don't read instructions well at all.) I didn't even know at the time that this was called front-end development and that this was a job people had. There are just so many assumptions made in most technical documentation or learning resources, that the reader has the same level of foundational knowledge as the writer. I feel like parts of that would be addressed with a doing-centric approach, while in other ways it could exacerbate those gaps. I'd be interested in learning what type of user doing-centric learning worked well for. Expanding upon the Figma example, whats the best use case for doing-centric learning? Would it be: * An absolute beginner: first time using design software * Experienced potential user: experienced in design, trying out Figma as an alternative to Sketch * Existing Figma user: teach new features and concepts to existing Figma users I think it would work well for the latter two scenarios, but less so for the former. There's a possibility that new designers might be too intimidated by Figma to be comfortable enough to learn new concepts in it. Little simulated petri dishes might work better for them, so they can stay in their comfort zone - the browser. Getting dumped into a UI with a bunch of unknown controls could serve as a more of a hurdle than an on-ramp. Unless... Many RPG game tutorials build the UI as they go. You start out a half-naked character in the woods, with no UI. A tutorial hint overlay appears with instructions on how to move forward, backward, side to side. You move forward. Learn how to run. You see a log, you learn how to jump. You encounter a signpost, the map UI appears in the corner of the screen. You find a backpack, you learn you can open the backpack with the menu key and place items in it. You encounter a pack of deer and learn how to shoot arrows, as the weapon and health UI appears and is explained. What if app UIs (especially complicated ones) were constructed one button/feature at a time? Imagine Microsoft Word stripped down to its most essential functions. The UI stripped bare except for font and font size. Instead of a tutorial layer on top of the already crowded interface trying to dump all the knowledge in your face at one time and hope you remember everything, you get an option to advance to the next phase, where you get a new set of buttons, and a new interactive learning document about them. And if you don't advance, you just keep the slimmed down UI. You can live in a WordArt-free version of the Microsoft Word toolbar for eternity. Just some thoughts. This was a fun ride. I'm going to be redesigning some game tutorials soon, so this will now be top of mind. Thank you!

Andy Matuschak

Thanks for this, Ozzie! iMovie presents a couple interesting challenges. One is that there's only one "playhead"… so without some new affordance it may be difficult to "see" the instruction while simultaneously "doing". Regarding STEM work: as you suggest, I think we'll probably make progress best by focusing on a specific use case. Even "cell biology" is likely too broad. What skill are we trying to learn? If it's running gel electrophoresis, can we integrate explanation into tools like [Gelbox](https://douglaslab.org/gelbox/) which a scientist might use to plan an experiment? As far as SwiftUI, if you haven't already seen it, you might find Natto's tutorial inspiring: https://natto.dev/tutorial/tip-calculator

Andy Matuschak

Thank you, Molly—and thank you for helping to bring this medium to life so that I could write about it! I think what's missing is mostly practical, rather than philosophical or historic. The latter are important, but covered fairly well. The books which do intend to impart the process of selecting elements and arranging them into an interface on the screen tend to be either too shallow (Refactoring Design) or too narrow (Web Form Design). More importantly, though, I think they're missing the emphasis on "doing." I think we need something more like "Drawing on the Right Side of the Brain" or, for that matter, "Learn Python the Hard Way". That said, there were a couple recommendations from the Twitter thread (Designed for Use by Mathis, Designing Interfaces by Tidwell et al) which look promising (though not on the "doing" front) and which I haven't evaluated yet.

Love the idea of an authentic exploratory medium! Another example I can envision, is an imovie lesson delivered as imove project itself. The lesson could first explain how to trim a video and then immediately provide some clips to practice on. It seems like the key property for enabling this type of medium today is either the ability to “rewind state” (iMovie) or embed “divergent representation of the state” (Figma). I would imagine the latter is likely more powerful, but it might lack the guard rails the former provides… I am excited to checkout the links you mention since they might help shine light on this question, but how does an authentic medium in the context STEM look? Some rambles from my notes: Right now, the authenticity in the examples mentioned stem (sorry) from the fact that the learning environment and the production environment are one. However, the production environment (the place where you can use this information) is not always clear (or at least very disconnected) with STEM. So achieving authenticity in the same way that learning design in figma is authentic is harder to achieve. I would imagine these types of materials would benefit greatly from some sort of simulated medium in which prose is integrated. Say you are learning about prokaryotic cell structure, I could imagine some 3d bacteria sitting in the centre of the screen, and moving around exposes prose which explain the different components of the structure. Or maybe its more linear like Apple’s tutorials for SwiftUI (https://developer.apple.com/tutorials/swiftui/drawing-paths-and-shapes), where as you scroll, the rendering on the right emphasizes different portions of the cell structure. Either way, for reasons I can’t fully articulate right now, these still don’t feel very authentic? The student is not in the driver seat, and at least in my examples, there is no room for playful exploration… Perhaps, STEM is too broad of a category and achieving authenticity requires specific one-off integration on a per subject basis. But there must at least be some similarities / common properties between all of them. Maybe, authenticity is shifting the driver seat away from the authors prose and towards the student through QA. In the biology example, we might show a eukaryotic and prokaryotic cell side by side and ask the student to compare the two identifying similarity and differences. Once this is finished, we might introduce the labels of the cell structure…

:) This was excellent! Really loved learning more about the full potential and details of this “meta-document” medium. Still so much we can do with this idea... I actually have a question on your point about there being no "standard text" for user interface design (I agree with you, I'm just still trying to understand why this is myself): What _specifically_ do you think is currently missing from the landscape of software design books? Is it tactical pointers? History on where the metaphors originated? Trying to figure out where this gap is located...

Andy Matuschak

Yes, this resonates. I should qualify—and I don't discuss this enough in the text—that "authentically doing X" may mean "doing X, but with many scaffolds which make X more accessible". Playing a board game, but with lots of guidance from an experienced friend; working in Figma, but with supports from surrounding text (and perhaps even from the environment more directly). But I think your point still stands. There's a body of literature around the "expertise reversal effect" which suggests a mechanism in cognitive load: https://en.wikipedia.org/wiki/Expertise_reversal_effect.

Alex is Learning

Super insightful post btw, have never conceptualised these different types of learning / receiving instruction before :)

Andy Matuschak

I feel the same way! Interface Builder contained such magic.

Andy Matuschak

Oof, how embarrassing. Thank you—fixed!

Great read, thank you!

Alex is Learning

Just a heads up that there's a "cut" left in at around 07:30 and 9:30 of the audio file 🤓

An Engelmannistic reaction, after a superficial read: I have reservations about "authentically doing X" as a way of learning X. It works great for the top tier of people who want to learn X. They try it out by "actually doing it," get the hang of it fast while also finding out that they have a knack for it. A pleasant (sometimes) side effect is that people who are already experts at X are often very interested in identifying novices with natural aptitudes for X. But the natural at skill X might be clumsy at skill Y, and still wish to become proficient at it. He and others would be very lucky to find an expert on Y who had analyzed the skill, and noticed that it has component skills Y1, Y2, Y3, ... . These subskills might be minuscule and hardly seem like authentic parts of Y to a less thoughtful expert. And it might seem bizarre to a natural that you could learn to do Y by learning the tiny skills Y1, Y2, Y3 ... in order. But that might be a very efficient way to learn Y. It might have a been a very efficient way to learn X.

Ian Stewart

I’ve been thinking about this quite a bit lately… Looking back, I can’t help but think that I might have gained more programming skill at a younger age if I had first encountered the NeXTSTEP/early Mac OS X Interface Builder, rather than being put off by the somewhat confusing classic Macintosh Programmer’s Workshop/ResEdit combination. It makes intuitive sense that, as users gain more agency over their personal systems, they will have a smoother time if they’re manipulating the same elements they’ve already been using. I don’t know if there’s a lot of support in the literature, it just seems like a meaningful design goal. This line of thinking was inspired by a minor argument I had with someone about the takeover of programmatic vs. graphical user interface frameworks, which seems to have happened in large part because you can’t be sure what sort of screen your final product is going to be used on.


More Creators