My Authors
Read all threads
How It Works
HIW01

This is the first in a series of Twitter threads on the workings of that part of the platform that I have validated with a proof-of-concept prototype:

1/18
This HIW01 sets up a background of lessons and principles. Theory-of-operation threads will follow.
2/18
This series is part of a personal experiment to make my “laboratory notebook” an open document on Twitter. The threads are fragments; I might bind them together later with some sort of concept map. In the meantime you are free to ask for clarification.
3/18
Underlying Documents

UD01.The Humane Dozen. This is a set of design principles for building digital tools that minimize dependency on user skills other than those common to all humans: hand-eye-brain coordination:
melconway.com/Home/pdf/human…
4/18
UD02.The DOer-SHOWer Pattern. I will be using this notation soon.

5/18
Democratization of digital technology and simplified understanding of technology have been central themes of my career. They acquired a new focus in 1992 when I chose to pursue them almost exclusively.
6/18
In that period I pursued multiple conceptual threads, not particularly realizing until only in the last few years that they are bound together as an existence proof for the Humane Dozen.

Earlier, I wrote some of the lessons at
melconway.com/Home/pdf/simpl…
7/18
So far the best current statement of the underlying rationale is at

8/18
Conceptual thread 1: The Declarative Connection Model of a use-case session. This is stated in the box at

and on page 3 of
melconway.com/Working/WP_20.…
9/18
Interestingly, this is an old idea from the mainframe era. If you look at the alphanumeric screen of an IBM 3270 (green-screen in 1971) it consists of data items that are directly from some database or derived by algorithm from some database item(s). That’s it.
10/18
Conceptual thread 2: No distinction between “source” and “object” representations of an application. This is the “Unified” design principle in the Humane Dozen. I got to work this out in the runup to Mac Pascal.

11/18
What that means is that whatever form the executable takes, it must be strictly isometric to the form the developers sees and edits.

“Strictly” means:
No debugger
No clever compiler
12/18
If you take that seriously, as I do (and I believe that’s necessary), it means that there is only one program representation, the executable one, and the development tool is merely a viewer/editor of that. I’ll call it the “Unitary” app.
13/18
A direct consequence is the “Immediate” Humane design principle:

Make a change to the program and its behavior is immediately reflected in its user interface.
14/18
Is this feasible without the developer possibly making changes that can break the program at some point? That’s the “Robust” design principle. It’s hard with a procedural conceptual model but less hard with the static Connection Model.
15/18
The wiring model satisfies these constraints. That’s the main case for adopting the wiring model.

Does that mean that the execution model is dataflow? It might seem that way but execution is actually a pub-sub messaging model. I’ll be explaining that.
16/18
Here the DOer-SHOWer pattern gives us an illuminating visual representation of the tool/application structure.
17/18
The wiring model is easy with trivial programs. It breaks down with real business applications. That’s where the two-sided platform as a collaboration interface between developers and non-developers comes in. We’ll be covering that.
18/18
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with Mel Conway

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!