<https://www.youtube.com/watch?v=blLhklI625s> Very...
# linking-together
k

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

Very insightful talk from Prof Daniel Jackson of MIT. I really loved how he blended design, design thinking and software engineering towards the end of the talk.
Abstract
How does design thinking apply to software? Until now, most work on software design has focused on the design of the internal structure -- not on the design that the user experiences. We’ve made a lot of progress in making software more usable with better design processes and heuristic guidelines, but we still lack a fundamental theory that could provide a more focused and constructive way to design software.
In this talk, I’ll explain the elements of a candidate theory that I’ve been working on. The behavior of a software app is structured as a collection of “concepts”, each of which is a state machine with its own motivating purpose. By examining the mapping between concepts and purposes, subtle design flaws are exposed that can have major impacts on usability.
❤️ 7
c
37:24 "The fundamental principle: in a well-designed system, each concept is motivated by one purpose" (at least one purpose, at most one purpose)
❤️ 1
message has been deleted
"git is actually a great resource for unmotivated concepts – I sometimes think that every concept in git is unmotivated" 😆
message has been deleted
50:26
51:00 One of the benefits is that it helps us select the increment of work to design/build/test next
k
Yeah, this talk was really intriguing on multiple levels. I’d like to take his framework and breakdown the design of other existing apps that we use. And also try to apply it to the process of building software 🙂
❤️ 1
h
Such an eye-opener! — I’m still pondering if, and in that case how, this concept purpose mapping can be explicitly modeled in the software. I mean, if statecharts can explicitly model state (thus facilitating making the control state design clear, finding defects etc), then some concept-purpose-chart should be able to make explicit the concept-purpose mapping? After all, he is already drawing some charts in the talk and also identifying concepts as “state machines”…?
a
i went on to watch a later 2018 talk from him (kind of skimmed thru because it was largely same material) and he mentions that he has a book coming out (“Software Abstractions”) and looking it up i see he’s just published last month another “The Essence of Software”
It’s fascinating to me that this is the same guy who wrote Alloy, so it’s interesting to read this in the intro to the latter book:
k
I have a theory that every HCI researcher eventually either lands up in design philosophy or design ethics 😄