Want to receive my work as I publish it?

LAB NOTES
LAB NOTES
LN 027
05•07•2022

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

Personal Computing Network & Devices

In LN 026, we saw how we might publish modules made of items, views, services, and automations on the internet to allow others to interact with specific services we wish to make available, such as a meeting scheduler.

But what if we could also make modules for our own personal computing network?

And what if we could add various hardware devices to our personal computing network to gain additional functionality for these software modules?


Imagine your personal computing network as your own personal, internet-connected network of your private devices and data, along with some things occasionally published or shared with others.

This network is host to all of your devices: the standard ones, like your laptop, phone, and tablet. And potentially some other ones, like your printer, speakers, doorbell camera, and more.

Your needed data can automatically duplicate itself among the devices in your network, giving you local-first on each of your devices, plus some additional redundancy.

In the last lab note, we explored how itemized “modules” could be built using items, views, actions, automations, and the other fundamental pieces of the itemized system, to publish items with behavior that others can interact with online. But what if you wanted to create such a module for use within your own, personal computing network?

For example, you could describe the “notification center” (LN 019) feature of your itemized OS as such a module. And with this thinking, we can construct one and place it within our network, allowing it to float between our devices, always in sync: when we review a notification on one device, it would not also need to be reviewed on another; as part of the same module, its status will stay up-to-date no matter how you access it.


And what if you could simply add devices to your network? For example, you could add a doorbell camera to it, which would also introduce its module that allows for interacting with the device’s features and viewing its camera feed. As a low-power device, it can rely on the other devices in your network for video processing and storage. Notably, this arrangement keeps your data and processing all within your own devices and network. Plus, you can see its camera feed and notifications on any device, with the module running on your personal computing network (rather than the manufacturer needing to “ship” an “app” for each of your preferred devices).

Or imagine if you could buy a device that plugs into your wall, and gives your network access to its high-power processors, high-volume storage, and always-on and always-connected status. It could host the things that you share over the internet, run key services for your personal computing network (such as ML-based spam filtering for inbound items), handle intensive tasks from your other devices (like video rendering or compiling software for many kinds of devices at once), run scheduled actions (such as sending an email later), and keep a complete backup of all your items, as well as sync your backup to another, remote location if desired. With an uninterruptible power supply and a 5G modem, it might even be your lifeline to your data and the rest of the internet when the terrestrial power or internet at your location is unavailable.

A personal computing network should be home to the things within your life and work. Being able to add various hardware components seamlessly to it lets you evolve your system over time. Each device could maintain a local copy of your item graph, and whenever you get a new device, you can trust it to become part of your personal computing network — it’ll pick up your item graph as well as your software modules.

Once you have some module running within your personal computing domain, it can float between your devices, so you can replace a computer without even pausing your modules — they keep running elsewhere.

This system becomes a cross-device platform, giving you one, uniform personal computing experience across your entire domain of any number of devices.


You’d be able to add devices to your personal computing network, seamlessly gaining new functionality for it.

Today, there are some examples of this that give us glimpses at what could be: AirPrint is one of them. You can just throw a printer on your network and all of your devices then get a new feature: the ability to print.

Another example is Sonos: you can easily add various devices to your speaker network, including different kinds of speakers, controllers, and other useful hardware. You can customize and evolve this network over time as you see fit. Teenage Engineering has a similar glimpse: if you have one of their speakers, you can also add their controller to your network, which lets you remotely control your music.

Device manufacturers could play with wild ideas. For example, like Andrew Schmelyun’s GitHub issues receipt printer: you could add a thermal receipt printer to your network that automatically prints out items that you take a specific action on, allowing you to – from any device – print out specific things you need easy, physical reference to: scratch notes that you’ll review, a grocery list, some to-dos, notes to other household members, etc.

Personal computing hardware presents a mesmerizing prompt: hardware for making music, for example, is possible because we understand the fundamentals with which we create today’s music. Once we understand the core fundamentals of today’s personal computing, what hardware becomes possible? How might that hardware allow us to interact with our personal computing systems? And how do those new, physical interactions allow us to be more creative, focused, productive, inventive, and so forth?


P.S. One thing Alan Kay likes to say is “if I could buy a $30,000 computer, I would!” likening the purchase to that of a car (which is often in that ballpark).

Coincidentally enough, since initially drafting this lab note, Blackmagic came out with a $29,995 computer, the Blackmagic Cloud Store that does for film and television production what the always-on personal “super” computer I’ve described above does for personal computing. It’s a rare and delightful extension on the vision for what computing could be.

P.P.S. User-configurable devices could present wonderful ways to integrate into the itemized world: in LN 026, we explored how a store’s shopping module would naturally expose actions for purchasing their products, so you could set up a “refill” button, like Amazon’s Dash buttons, to automatically place one order when clicked (limited to one active order at a time, of course, to prevent button-loving toddlers from scoring the family a mother lode of coffee or paper towels).

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


« Previous: LN 026

TOC

Next: LN 028 »


Want to receive my work as I publish it?