Want to receive my work as I publish it?

LAB NOTES
LAB NOTES
LN 001
01•10•2021

These Lab Notes document my research in progress. My research area is in the future of personal computing.

TOC Previous Next Latest


LN 040

The venerable hyperlink

LN 039

Notes on time

LN 038

Semantic zoom

LN 037

Gestural view construction

LN 036

Free and easy organizations and associations

LN 035

The Messy Desktop

LN 034

Live items & Contextual notifications

LN 033

Swappable reference views

LN 032

System injections

LN 031

Fluid workspaces

LN 030

Foldable views

LN 029

Experimenting with the item as the core primitive

LN 028

Designing systems for computer literacy and evolvability

LN 027

Personal Computing Network & Devices

LN 026

Internet Modules

LN 025

Publishing items

LN 024

Mutations & Item change logs

LN 023

Higher-level primitives

LN 022

Undo Actions

LN 021

Automations

LN 020

Item Actions

LN 019

Notifications

LN 018

Services & Item Drives

LN 017

Today & Daily summary

LN 016

Calendar views

EXPERIMENT 001

Cross-reference Navigation in Obsidian

LN 015

Cross-references & References cloud

LN 014

The Graph OS

LN 013

Why is our thinking on computers so restrained?

LN 012

References box & Topics

LN 011

General purpose personal computing software

LN 010

User-created application and system views

LN 009

User-created item views

LN 008

Unified views

LN 007

Atomized apps

LN 006

Swappable views

LN 005

Associated items

LN 004

Browsing contexts & recent paths

LN 003

Universal reference containers

LN 002

Universal data portability

LN 001

Composing application interfaces

LN 000

The Lab Notes

Composing application interfaces

In order to build the many experiments for my research on the future of personal computing, and the subsequent demos for these Lab Notes, I needed a way to build much faster than was presently possible (the work simply won’t work if it takes weeks or months to scale up each experiment; the learning has to be faster than that).

Here’s what I’ve been building:

Conductor framework - first demo

(YouTube)

How it works

The framework explores a new way of writing apps through composition in place of data piping.

It is made up of interface components built in React that you use very much like you’d use HTML to construct a website.

But the real magic is when you give a component an itemId attribute: the framework automatically handles syncing its value to the server, and reloading it later, wherever that itemId appears.

You don’t have to worry about piping data around your app, syncing, binding state to interface components, etc. You just construct your app.

You can combine the fundamental building blocks provided by the framework to create increasingly sophisticated interfaces. And as you combine the pieces, the framework automatically handles everything else — you just give out the itemIds and you’re set.


The hope is to create a pit of success by making it possible to write entire apps in the same way you’d write a simple webpage in HTML, using an expressive set of fundamentals to build complete applications.

That’s not to say you can’t go beyond composition — it does expose the hooks for you to do custom things with the framework if you’d like to, while still handling all of the rote complexity.


This framwork allows me to build and rebuild, a critical process for making software great, since quantity is the journey to quality.

I’ll dive more into it in the coming weeks, because it exposes some pretty interesting possibilities and consequences.

Something spark a thought? Email me, or come chat on Mastodon or on Twitter.


« Previous: LN 000

TOC

Next: LN 002 »


Want to receive my work as I publish it?