Want to receive my work as I publish it?

LAB NOTES
LAB NOTES
LN 009
03•20•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

User-created item views

In an operating system of the future that allows you to use any items such as emails, notes, tasks, and so on (LN 002) anywhere you want (LN 003, LN 004), and that renders those items in views you can swap out (LN 006), an important opportunity arises:

What if users could modify, or even create, their item views, within the system?


This is certainly not an unprecedented idea — HyperCard is effectively a cult classic, and plenty of other examples spring up as well.

Consider: Should you decide you don’t quite like how something is displayed, you could simply change it. In this case, the user decides to increase the size of the title in their notes view and separate it from the date.

Video showing a user modifying the view component for notes by moving the title to its own line, and making its font size bigger.

But let’s take it even further:

What if you could define new kinds of items, and views for those types?

Let’s say you want to create a new item type for some data that you’d like displayed in some particular way. We’re going to lose the generic nature of these examples, so extrapolate to some kind of item you’d like to have around your own system in your own work.

Consider: You have a handful of clients, and you want to represent them within your system as client items, with a view that renders those items in a specific way: with links to different lists for you to track different resources, and a field to represent the current status of the client or their project.

Just like your system is home to the standard items like emails, notes, events, and more, it is now home to your client items as well. You can freely do with those what you can do with everything else: reference them in a note or in a todo list, add a note or todo list to them, and so on.

Being able to create, and at any point in the future, modify, custom items alongside standard items, means you can be always in control of your own tooling.

Consider: You’re learning guitar and want to keep all of your sheet music and guitar tabs in one place. Some are PDFs and some are links to various websites. You could create a new item for this type.

Video showing a user assemble a view component for sheet music, including a text field for the song name, a text field for the artist name, and a collection for adding URLs and PDFs.

Now that you have this “sheet music” item type, you can use it anywhere in your system.

As shown here, you could create a collection of these items. Further, you could reference these items from anywhere else in your system: within a todo list, a date, a note, etc.

Video showing a user navigate their collection of sheet music, selecting Bob Dylan's "Mr. Tambourine Man", which opens that item's card. The user then sees, and opens, the link to the song's guitar tabs.

Further consider: Say you start learning the piano, too, and you want to keep your sheet music in this same collection, since you’re learning some of the songs on both guitar and piano.

You could add a way to distinguish which items apply to guitar, which to piano, and which to both. This could make it possible for you to look at just the items that apply to one instrument when you’re practicing.

Even if you had already been using this system of your own creation for years with just guitar tabs, you can easily modify it now to also support sheet music for piano.

Video showing a user add a "tag field" component to the sheet music item view for identifying instruments, then previewing the component to test adding the instruments "Guitar" and "Piano" to the field.

Adding a new field like this is easy to do even for standard types, too. Say you want to track emails not by the read or unread state, but by an incomplete or complete state to indicate to yourself whether you completed any actions involved.

You could add such an element to the view for emails, and use it freely across your system. The OS automatically stores this metadata and keeps it around when you need to see it.

The implications and further directions from this functionality run quite far, and will be explored in future lab notes. Sign up to receive them when they are published.

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


« Previous: LN 008

TOC

Next: LN 010 »


Want to receive my work as I publish it?