This is about engaging almost everybody in the process of building real-world applications. It develops the rationale for, and will end with, a product concept.
0:1/2
1:Thesis
2:Historical Perspective
3:The Model of Progress
4:Humane Tool Design
5:On Platforms
6:Where the Work Stands
0:2/2
If non-programmers are going to build real-world solutions
a simpler programming language isn’t enough.
We must put non-programmers in a
collaborative situation
where we meet them where they are
and the environment empowers them by leveraging developers’ skills.
1:1/2
platform-based two-sided software market
in which almost everybody can participate with the skills they already have.
1:2/2
The software industry is in the middle of a monumental historic transformation. What we might not realize is that this transformation has been going on for 4000 years:
Democratization of culture-critical information technologies.
2:1/16
calendar, writing, and arithmetic
started off as the property of an elite priest class and, over approximately 4000 years, are now being taught in elementary schools around the world.
2:2/16
2:3/16
2:5/16
Something big happened around 1950.
2:6/16
2:7/16
1.Their conceptual models became simpler and more accessible to more people, and
2.Their media became more lightweight, portable, and easily reproducible.
2:8/16
2:10/16
Another important change was in the weight of the embodiment of a program. (The Mayan calendar vs your phone.)
2:12/16
2:13/16
Also, communication, training, and other delays were greatly reduced due to the lightweight medium, which is easily copied and transmitted.
2:14/16
2:15/16
2:16/16
3:2/16
What skills do all humans have in common that we can exploit in order to design a fully accessible model of how to build software?
3:3/16
plasticity.
The first few years of the life of each human child are massively invested in this project:
Build My Brain.
ted.com/talks/michael_…
3:4/16
3:5/16
Therefore:
Universal Human Skills
means
hand-eye-brain coordination.
3:6/16
They were almost all women, by the way, because the men were in the military fighting World War 2.
Women were leaders in the early days of software.
3:8/16
3:9/16
3:10/16
3:11/16
That the construction model must be accessible to almost everybody. It must be a high match to Universal Human Skills, that is, hand-eye-brain coordination.
3:12/16
The term suggests that the thing we’re building evolves as a valid thing from the very beginning of its life. The bowl starts out as a lump of clay and has a continuous existence as the potter forms it.
3:15/16
I’ve addressed these questions and have come up with a list of a dozen tool design principles, which I call the
Humane Dozen.
3:16/16
melconway.com/Home/pdf/human…
4:2/14
4:3/14
4:4/14
4:5/14
4:7/14
lowering the barrier to entry greatly increased the population of users.
That’s where we have to go.
4:8/14
active object
that answers this one question:
Show me what you can do.
So, even with this simple example, we’ve changed the tool concept.
We’ve replaced external API documentation by tools that interact with active APIs.
4:9/14
The API responds with a list of services that the tool lists, including help provided by each service if requested. Once the builder chooses a service
the service takes control
and presents whatever WIMP dialogs it needs.
4:11/14
Because doing so can greatly enlarge the number of candidates for building applications. Empowering new classes of builders means
creating new markets and building new businesses.
4:12/14
It’s about a holistic market-based construction concept that is addressed to the total population.
4:13/14
So what does a software market based on this design concept look like?
4:14/14
Excel is a platform
that enables non-programmers to reuse a portfolio of professionally-built functions and presentations in a humane development environment.
5:2/20
Excel itself, the red and blue boundary, is a
collaboration interface
between these two populations.
5:3/20
5:4/20
The builders and users of Excel have very different skill sets. Some platforms with more matched populations, like telephones, don’t have this property, but asymmetry of skills is a key idea to leveraging the skills of the builders in order to empower the users
5:6/20
Some platforms, railroads, for example, don’t build new things as the result of their use. Some, like the potter’s wheel and software development tools, do.
5:7/20
5:11/20
are key to market growth. The more people on one side of the platform, the more valuable the platform is to the people on the other side. In the early days of the telephone you wanted a phone service that connects you to the people you want to talk to.
5:12/20
5:13/20
standardization of interfaces
which further enhances network effects.
5:14/20
“First-mover advantage” is good-news/bad-news. The first mover has a lot to learn, and will make mistakes. It's often the second mover that captures the market
5:15/20
5:18/20
Since that time the volume of international shipping has exploded.
5:19/20
Notice software being framed here in a systems model that has parallels to other businesses, such as shipping.
5:20/20
Now the pieces are in place to describe the goal: a
Humane
Asynchronous
Asymmetric
Construction Platform
for Stateful Business Applications.
6:1/17
What does it really look like?
I can answer by dividing the application model into two parts:
1.each use-case session, and
2.stateful coupling between these sessions.
6:3/17
declarative text-free pictorial model. A composite screenshot is below. I’ve been showing videos of building this restaurant menu ordering session for several years at developer conferences.
6:4/17
(DMs are open.)
6:5/17
based on a database, and
based on an immutable event log.
Their designs have not been expressed in Humane form and have not been integrated with the session model.
I believe that both are possible.
6:6/17
static connection language.
6:8/17
This is the digital equivalent of the potter’s wheel:
It encourages discovery and correction at every stage.
6:9/17
1.Seamless evolution of the naive user from toy to tool.
2.Entry for others at any point along this path of evolution.
6:10/17
The communication protocol is self-revealing APIs.
6:11/17
6:12/17
6:13/17
6:14/17
Is this a settled question or must it be part of the research?
6:15/17
melconway.com/talks/2018_got…
through
melconway.com/talks/2018_got….
The rectangle in the middle of the figure shows just one way to build the UI. You could also use wireframes or forms, for example.
6:16/17
6:17/17