(2021-04-10) Obenauer Ln011 General Purpose Personal Computing Software
Alexander Obenauer on LN 011: General purpose personal computing software. Today’s lab note is a bit of a departure from the previous ten. Rather than exploring demos, I want to explore some ideas and implications from the previous two.
The immediate predecessors to the kinds of computers we have today were analog computers.
The most well-known was probably Vannevar Bush’s differential analyzer in the early 1930s
But these analog computers were inherently built to perform one kind of calculation
The key to unlocking the future of computing was general purpose hardware
The final keystone was when the program that a computer runs was moved to where the data is stored, rather than being represented or input physically
The instructions that the hardware would run could be kept in the computer’s storage, just like any other data. But it was special data
In LN 009, we explored how a user might swap out or even redesign view components for any items in their system (where items are all of the “things” we work with — emails, todos, events, lists, list items, and so on). (itemized)
In LN 010, we explored how a user might do the same for application or system views, designing new such views in a simple composer interface.
Within the system, the result of using the composer interface is a view definition item. It is an item just like everything else in your system — just another digital “thing.”
As I’ve been rebuilding my demo OS with this architecture, it strikes me how simple the convention has become: the entire system is simple items, all the way down.
As an example of the implications that result from this arrangement: This means you could freely duplicate some app, should you decide you want to use two separate instances of it, with separate data inside.
In this way, the entire operating system is largely an item hierarchy. And the system renders items using view definition items stored within that hierarchy
Just as hardware eventually became general purpose, now could the software become general purpose personal computing software so that each user might be free to co-evolve, discern, and arrange their best personal computing environment?
What would general purpose personal computing software meaningfully afford us — if anything?
Edited: | Tweet this! | Search Twitter for discussion