Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Promoting user agency in computing

Promoting user agency in computing

Siva Swaminathan

November 07, 2020
Tweet

More Decks by Siva Swaminathan

Other Decks in Education

Transcript

  1. Metaphors we compute by
    Siva Swaminathan
    7 November 2020
    http://sivark.me

    View Slide

  2. Promoting end-user control of
    the computing experience
    Interesting ideas are in the air; more people are starting to grok an expansive
    vision of computing. These incredibly subversive ideas are, however, fighting
    against the inertia of dominant attitudes, so it's worth contextualizing the
    contrasting vision before digging deeper into it.

    View Slide

  3. The civil war on
    General Purpose Computing

    View Slide

  4. Drowning in devices
    ~10 networked devices per person
    (~2020 US; exponential increases anticipated)

    View Slide

  5. Computers you put in your body &
    computers you put your body in
    "Electric" cars, and "smart" homes are practically the latter
    (subsuming everything from a bulb to a coffee-maker)
    Phones, tablets, watches, AR goggles, etc. are practically the former
    (all the way to cochlear implants, prosthetic limbs, etc.)

    View Slide

  6. Locked-down devices
    "Right to repair"

    View Slide

  7. Walled gardens
    "There's an app for that"
    A vision of almost-passive consumption
    Only mode of expression is through choice among given options
    (Think: Sheena Iyengar, The art of choosing)

    View Slide

  8. -as-a-service
    Trade-off user control for convenience

    View Slide

  9. Conway's law, with a vengeance
    Breaking the universality of computation, both incidentally and deliberately
    Products & services solve well-defined needs,
    but typically compose horribly.

    View Slide

  10. The software freedom movement
    Stallman has repeatedly proven to be a visionary genius
    The right to read
    Free Software, Free Society

    View Slide

  11. Big-tech sees like a state
    Are we serfs on a feudal estate?

    View Slide

  12. Thirst for scale
    The only way to scale is to impose legibility
    through Procrustean simplifications
    Calvin Broadus on Facebook (real-names policy)

    View Slide

  13. Ministry of (algorithmic) truth
    In a medium drowned in content, curation becomes exceedingly important.
    Centralizing curation is a means of consolidating power.
    Why not decentralize, instead of ceding control?

    View Slide

  14. Always licensees, never "owners"
    Remote-wiping content from devices (DRM/etc)
    Surveillance capitalism
    Could be de-platformed on a whim!
    (email, social media, payments, shopping, etc)
    Forced arbitration agreements

    View Slide

  15. We shape our tools; our tools shape us
    "Pull-to-refresh"
    Why promote outrage-porn?
    Why only 6 kinds of emoji responses on a FB post?
    Why does YouTube censor content disagreeing with the WHO?
    Passive consumption is too easy; deliberate use is not.

    View Slide

  16. Why maximize engagement?
    Because on their deathbed, our users won't be thinking,
    "If only I'd spent more time engaging with brands."
    Your app makes me fat

    View Slide

  17. Rethinking the computing
    experience
    Why Emacs rocks, and the potential for Notion as the desktop
    "I can be whatever you want me to be."

    View Slide

  18. {files, apps, desktop} metaphor sucks
    Screenful of file/app icons… ugh! (>.<)
    Forced taxonomy of fierarchical directory structure is unergonomic!
    Email as a pseudo-todo-list!
    No natural place for liminal data!
    (Power-users might use an all-purpose notebook/wiki,
    but very difficult to tie things together.)
    The popularity of this gateway (go-to-market strategy) is not coincidental!

    View Slide

  19. Crystallizing workflows & processes
    The hardest part of using an app is actually enforcing enough legibility on
    one's workflow, with the hope that it matches the assumptions of the app.
    Why not allow users to app-ify their own flows?
    (IFTTT, Zapier, Huginn, etc.)

    View Slide

  20. B2B no-code products
    The black hole of Enterprise Software (TM) is
    largely about encoding & automating processes
    (Think Infosys…)

    View Slide

  21. It's all CRUD clerical work
    Hardly any of our computer usage is actually computing in the sense of
    transforming data in motion; it's mostly storing and fetching data, with some
    trivial decision-making sprinkled on top.

    View Slide

  22. "Software eating the world"
    Most of the hard thinking/transforming/decision-making
    is actually done by a human brain before feeding it in.
    All it takes to break the system is for a human to respond "fuck off"

    View Slide

  23. It's databases all the way down!
    The most primitive computing concept is not an algorithm but a database –
    be it an array, a tree, a file, a filesystem, a website, the web/network, etc.
    The cloud is more a persistent database than a source of compute.

    View Slide

  24. This is why SQL and Spreadsheets are among
    the most successful "no-code" tools,
    historically

    View Slide

  25. Most apps are just walled DB interfaces!
    A browser: Viewing/updating webpages
    Office software: Viewing/updating documents, slides, spreadsheets
    Viewing audiovisual data
    (actually, not much else…)

    View Slide

  26. Each app is a straightjacket
    Planning a trip, and booking travel & stay
    Financial planning
    Why can't I user Photoshop filters on Instagram, and vice versa?
    Researching a topic
    Analyze correlations between my exercise & sleep/weather
    Widget with real-time bus/train timings

    View Slide

  27. How to expose data to the user?
    Should each tweet/email/post/comment be in a file, or whole corpus in a
    single file?
    What about likes or viewing metadata?
    Financial transaction data?
    Playlists?
    etc.

    View Slide

  28. What might a usable solution look like?
    General database of blobs
    (backed by whatever physical media: RAM, HDD, network, etc)
    Each blob has custom viewers, depending on its type/format
    User can assemble blob/views as desired

    View Slide

  29. All-purpose command palette
    Discord "bots", Superhuman email, modern editors
    Actually an ancient idea…
    In the beginning was the command line, by Neal Stephenson

    View Slide

  30. Is all this reminiscent of something?
    OOP, MVC, "the Unix way", HyperCard…
    Decouple storage (backend) from access (frontend)
    Keep the backend stable, and allow innovation on the frontend
    (tags, search, AI-assisted, etc.)

    View Slide

  31. A great model for practical computing, much
    better than procedural programming
    Better organizing principle for the school CS curriculum
    (Bootcamp graduates "coders" who can design apps & websites)

    View Slide

  32. How much of this applies to hip tools like
    Notion, Roam, etc?

    View Slide

  33. Examples of malleable software
    (Personal favorites)
    Emacs, Mathematica, Smalltalk (Pharo, Squeak, etc)
    Notmuch
    (Next gen.) Perkeep, Urbit, Nyxt browser, Glamorous Toolkit

    View Slide

  34. We need personal clouds
    Devices that can persistently serve our connected clients,
    as the database backing our applications.
    (Nextcloud, Urbit, …)

    View Slide

  35. How to rethink apps?

    View Slide

  36. Customizable dashboards
    Why is the starting point for a student the same as a researcher is the same
    as a manager is the same as an artist is the same as…?
    Warm starts help inspiration-driven workflows
    Fight context-collapse, defending against the ubiquitous assault on
    attention

    View Slide

  37. Reify intent
    A todo-list is very similar to long-division/multiplication scheme.
    Just like we help kids with math, why can't we help adults reify what they
    need to do, and then help them execute that?

    View Slide

  38. Computing, for humans

    View Slide

  39. Tools as an essence of being human
    Culturally, we are active problem-solvers & innovators, with a phenomenal
    capacity for social learning. Not just tool users, but tool makers.
    (the heart of convivial technology)

    View Slide

  40. Situated software
    "designed for use by a specific social group, rather than for a generic set of
    'users' […] doesn't need to be personalized – it is personal from its
    inception."
    Clay Shirky, on Situated Software
    An app can be a home-cooked meal

    View Slide

  41. The IKEA effect
    "Labor leads to love."
    Then why alienate and disempower humans?

    View Slide

  42. The feeling of home
    Home is where you are in control, envisioning a multitude of possibilities.
    Anything else is implicitly tying knots & imposing blinders. Will inevitably
    lead to feelings of frustration & alienation.

    View Slide

  43. The learned helplessness of
    low expectations

    View Slide

  44. Is computing any harder than cooking?
    Almost everybody learns cooking by adulthood

    View Slide

  45. It's all about the onboarding experience
    A gentle learning curve from novices to power-users
    Humans are fantastic social learners.
    Immersed in the right environment, they will absorb ideas quickly.

    View Slide