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.
2) Semantic Wrappers.

Browser extensions give us a wonderful taste of malleable software (more on that: geoffreylitt.com/2019/07/29/bro…)

Problem is: browser hacking is hard. Normal people w/o programming skills just can't do it.
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 inkandswitch.com/local-first.ht…)

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:

geoffreylitt.com/wildcard/salon…
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!

geoffreylitt.com/wildcard/#onwa…
Also, if you want a very deep dive into this topic, I highly recommend @PTchernavskij 's PhD thesis, Designing and Programming Malleable Software:

tcher.tech/publications/

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Geoffrey Litt

Geoffrey Litt Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @geoffreylitt

13 Nov
Just assembled a new bookshelf to hold some of my favorite books about computing ☺️
Two of these I see mentioned less often:

- A People's History of Computing in the US: great counterweight to hero narratives in computing history

- Changing Minds, by diSessa : incredibly deep insight into designing empowering computing environments for kids
Also, The New Media Reader is incredible. Felt like someone had perfectly curated a collection for my interests
Read 5 tweets
11 Nov
1/ Interesting discussion today around the idea of Apple adding realtime collaboration to AppKit...

But I wonder if a focus on realtime collab misses the more fundamental issue of the web vs native battle: zero-install apps.

stratechery.com/2020/apples-sh…
2/ As pointed out by @kevinakwok, Figma vs Sketch isn't just about designers collaborating in realtime.

It's about the CEO being able to give feedback with one click of a link! No fiddling with installation first.

kwokchain.com/2020/06/19/why…
3/ Same point comes up in this great paper by @MidasNouwens and @cklokmose analyzing the "app" metaphor

They find that web vs native is more about the mental model shift from "files and apps" to "URLs", than the realtime collab per se

pure.au.dk/ws/files/12160…
Read 8 tweets
22 Oct
Engelbart, on the danger of building "natural" systems
He references this point in this 1986 talk looking back at The Demo and his work on NLS / augmentation. Strongly recommend

I think I would be very sad if I time traveled forward to 2070 and found their version of computing immediately familiar, "natural" and "easy to use"
Read 6 tweets
22 Oct
Hypothesis: the next big end user programming environment won’t be a “programming environment”.

It will be “just an app” where you put your data. But then sneakily becomes super powerful
I’d argue spreadsheets basically work like this.

This also isn’t a very hot take, I think Airtable, Notion and Coda all see this as their path to varying degrees
Read 4 tweets
22 Oct
Showing spreadsheet dependencies by subtle blending back and forth, rather than a separate "dependencies mode"

from 1998 work at PARC: www-ui.is.s.u-tokyo.ac.jp/~takeo/researc…
This feels loosely related to Observable’s dependency view... giving ambient glimpses of the dataflow structure underneath

I no longer agree with my prior take on this

It’s true the most naive approach doesn’t scale well, but the design space is vast

Read 4 tweets
20 Oct
I wrote a data vis article with @s3ththompson for the @ParametricPress!

It's about the role of fossil fuel companies in climate change, and how we can pressure them to be part of the solution.

Make sure to scroll all the way to the bottom... 🤓

parametric.press/issue-02/corpo…
100% of the credit for this interactive 3D scene goes to @s3ththompson. It's amazing how adding 3D into the mix totally explodes the space of design possibilities...
Was fun learning this stack for the emissions visualization:

- @idyll_lang as base article framework, with scrollytelling module powered by the scrollama library
- react + react-spring for DOM rendering and animations
- d3 for math and data processing
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!