A new take on concept design

It’s been just over two years since the publication of The Essence of Software (EOS). In that time, engaging with readers, consulting and teaching to students and practitioners has given me a new perspective on concept design. In a series of notes (of which this is the first), I hope to share some of the respects in which my understanding has evolved. In addition to having a better sense of what matters most, I think I have a greater appreciation of the obstacles that make concept design seem (at the same time!...

1 min · Daniel Jackson

What is software design?

As I explain in EOS, I’ve coopted the term “software design” to mean something different from what most people in the software world expect. To me, it means designing function: how the software will behave and interact with its users and the world. So the design of the software is what determines whether or not it fulfills the user’s needs, because if the function is wrong (or confusing), the user won’t be happy....

2 min · Daniel Jackson

Building on good ideas

Concept design builds on many familiar ideas. To mention a few: From use cases and user stories, concept design takes the idea that software interacts with the world through scenarios that deliver value. From user-centered design (as taught by Don Norman in The Design of Everyday Things), concept design takes the idea that the user interface is a kind of apparition (a “system image” in Norman’s phrasing) that stands between the user and the system, revealing only indirectly the underlying reality....

2 min · Daniel Jackson

Notes on design of a GPT-powered tutor

Notes on design of a GPT-powered tutor

May 11, 2023 · 6 min · Daniel Jackson

Notes on design of a GPT-powered tutor

Notes on design of a GPT-powered tutor

May 11, 2023 · 11 min · Daniel Jackson

Noosphere concepts

A Concept Exploration of Noosphere

May 9, 2023 · 14 min · Daniel Jackson

Strong concepts. Having one or a few core concepts that are embodied in scenarios that deliver what the user needs, overcoming points of pain and friction. For Zoom, that’s the meeting concept. Conceptual clarity. The core concepts of an app have to be conveyed, through the UI and all explanatory material, with clarity and simplicity. It’s probably not possible to do this for a “dual use” app (like Hangouts) that offers multiple concepts (eg, video call and meeting) for the same function....

2 min · Daniel Jackson

The operational principle Using a term coined by Michael Polanyi (and brought to software engineering by Michael Jackson), I call a scenario that explains how a product “just works” its operational principle (OP). The operational principle is just a sample scenario, but it includes enough richness to convey typical usages. The example I gave above for Zoom could be written in a more textual way like this <create, start, join+, end> where join+ means one or more join actions....

4 min · Daniel Jackson

deemph: data model and action definitions for coding. extending: modularity, but probably needs data. essence: OPs. relevance: LLMs

1 min · Daniel Jackson

Design is necessary but not sufficient One final response to another possible skepticism. Some might say that none of this design stuff matters if the software isn’t reliable, scalable, performant, etc. The answer to this objection is easy: yes. Design is necessary but not sufficient. Just as great architecture won’t make a building successful if the civil engineers fail to ensure that it can withstand the wind, so a well-designed software product can’t succeed without good software engineering....

1 min · Daniel Jackson

A Concept Model of Noosphere Warning Heavy-duty concept design ahead! This note exploring the concept design of Noosphere is not for the faint-hearted. For those who aren’t very familiar with the concepts of decentralized storage (which includes me!) or who are learning concept design for the first time, this is likely not the best introduction to concepts. Why conceptualize Noosphere? This note applies my theory of concept design to Gordon Brander’s Noosphere....

19 min · Daniel Jackson