The tragedy of modern computing: too often we conform to the software, rather than molding it to our needs.

How can we empower everyone to edit their tools? Here are 3 ideas I think can help us get there:

(1/n)
1) Customization by Direct Manipulation.

Back in the stone age of CLIs, you had to fumble around in the dark, with no visibility.

GUIs were a huge step forward, letting us directly see and act on the objects we care about.
But then, what happens when you want to go beyond the existing features of your GUI software?

Time to do some programming.. which means right back to the stone age, where you can't see your objects.

Even "user-friendly" customization tools like AppleScript have this problem.
We need more in-between techniques, where the user can still see their familiar objects, but can *also* act on them in new ways.

As Engelbart says, an open system should accommodate people adding to the vocabulary.
So how can we keep the hackability, while giving more people access?

Add more layers to the onion. Wrap low-level APIs in simpler interfaces that more people can use.

Eg, show the user a spreadsheet representing the webspage, rather than the whole DOM:
No need to wait around for the original software creators to add these layers themselves. We can start by doing it from the outside.

Maintenance is a challenge, but not impossible. Eventually, maybe the websites themselves will pitch in.
3) Decoupling Data from Applications.

Lots of talk these days about getting our data out of cloud silos, for good reasons (see https://www.inkandswitch.com/local-first.html)

However, getting to a decentralized world is going to be a long and messy journey...
What if as a starting point, we can mix in little bits of private local data into our existing cloud services?

eg, annotate search results and store the annotations on my computer, rather than uploading to the website:

https://www.geoffreylitt.com/wildcard/salon2020/#augmenting-search-results
For more details on these ideas, check out my new talk / paper about the Wildcard project, which I will be presenting tomorrow at Onward! / SPLASH! https://www.geoffreylitt.com/wildcard/#onward-2020-talk
Also, if you want a very deep dive into this topic, I highly recommend @PTchernavskij 's PhD thesis, Designing and Programming Malleable Software:

https://tcher.tech/publications/ 
You can follow @geoffreylitt.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.