How Domain Experts Create Conceptual Diagrams and ...
# thinking-together
m
How Domain Experts Create Conceptual Diagrams and Implications for Tool Design

https://www.youtube.com/watch?v=O60RuV2gBMk

👍 2
4
s
@Nikolas check this out at 8:30 minute
n
Thanks that's exactly what I was talking about. Very inspiring
w
So glad to see people doing the interviews.
"Prodirect Manipulation"?
r
Wow, what a great video, thanks for sharing! One hypothesis I'm mulling over that contradicts the video: I actually think direct manipulation tools have a higher learning curve than programming languages. For example, once you know one programming language, it's fairly easy to jump into another. Whereas I'm expert level in Photoshop (worked as a designer primarily using Photoshop for almost a decade), but I still find Illustrator extraordinarily difficult. I'd have a far easier time leveraging a programming language I barely know like Python, than trying to accomplish something in Illustrator.
w
@robenkleene could it be that Photoshop and Illustrator are more different than they appear? Perhaps on the order of imperative programming vs functional programming?
r
@wtaysom Yeah, good point. You're right I don't think that they're very similar. But that doesn't refute the larger point (and arguably is in favor of it?): That direct manipulation tools aren't easier to learn than programming languages. I.e., once you've learned one programming language, it's much easier to pick up a second one, that's not so with picking up a second direct manipulation tool. I'd also say that learning a first direct manipulation tool (of the complexity of a Photoshop or Illustrator), is probably fairly close to getting an initial working knowledge of a first programming language (for a non-programmer). Overall I'd say learning the first programming language is still harder, but the difference is close enough that you wouldn't choose a direct manipulation tool over a programming language just because it's easier to use.
Personally, I think the reason people use direct manipulation tools instead of programming languages is usually speed, not ease of use. E.g., see these vector speed runs and think about how long it would take to write out an SVG by hand. https://bjango.com/articles/iconspeedruns/ I'm just guessing, but it wouldn't surprise me if a fast user of the direct manipulation tool were 100x faster than someone fast at writing out SVG by hand.
w
I can't imagine doing anything non-trivial with SVG by hand. There's an interesting question of use and compositionality. I mean awareness of the set of tools in your pallet is like awareness of a programming language's core constructs. Just because you have all the pieces, doesn't mean you know how to use them. How to use a loop with brakes to _ vs how to use, I don't know, selection feathering, and blending to _. Certainly programming languages have a preference toward abstraction that is not so characteristic of design tools. (Though here are some of the more CADy ones where you do generally build new tool or presets or whatever they call them to abstract.)
👍 1
d
There are multiple layers of language on the programming side: The programming language, the language of abstractions and mechanisms that the application is built upon, and the language of the application itself (e.g. what operations can be done / composed) The reason it's easier to transition programming languages is that that layer of language is small and insignificant. Beyond that, you can use the "same language" (say the same thing) in another programming language. Whereas each different application is speaking it's own language internally (its program model) and externally (operations and UI).