Real personal computing, that benefits end-users on their terms. In the Future of Coding community, we often use the analogy of "home cooking". As in, we have restaurants & professional chefs but not enough home cooks in computing. Tools & processes are super different when you're cooking for yourself / family vs for a restaurant!
There are a few trends that are tiptoeing on the edges here:
- tools for thought / creative tools (Muse, Nodes.io, Mem, etc)
- end-user programming (people trying everything from visual PL's to simpler / more constrained programming interfaces)
- web3 - I'm biased here and a bit skeptical of the fervor here, but matches some of the ethos / philosophy
- more customizable / hackable personal computing hardware (https://frame.work/)
- spatial + tactile computing so the body can participate in the thinking process (instead of only the 'head'): https://dynamicland.org/
- explorables, games / interactive viz to quickly transfer rich context: https://explorabl.es/
- video games, often indie ones, are exploring deep ideas: see Zachtronics games, Jonathan Blow's games, some of Annapurna Interactive funded games, etc. So many!
- open data: better end-user data tools so anyone can understand the systems around them
If we are to make computing personal, as any medium of thought needs to be, we'll need a new framework, a new way to think about computing, We'll need to shed the ingrained assumptions. We'll need a new language: no more "users" and "programmers." I've never heard a good definition of either but these terms are too loaded and too corrosive today.*
I am not claiming this is the next big thing, but if we are to move to the sort of goals described in a number of the projects in the list, something like this will have to happen.
* Best one I know is of programming: blindly manipulating symbols in hope of an outcome.
This! I believe while we have this powerful machines at our fingertips, we still haven't scratched the surface of them being useful. And now, people think more about how to get customers then how to make useful stuff that people would love to use and it would make their life better.
I adore the banner idea here. The various trends are interesting, but I still don't see anything that really sings deeply to me. They all have hints of the real, of a coming harmony & bridging of the gulf between development & user, but they fall short too.
End-user programming comes close, but I don't think it's the real notion. It makes primary the programmability, which is, imo, an unncessary ego-centrism. Software simply making what it does visible, making it observable, and inviting in the potential for interaction, for manipulation, change, alteration: that, to me, is where we must go. I'm delighted and quite surprised to see this comment having risen mightily in the rankings, to the #2 spot, but permit me to cite the #1 comment in reflection here:
> "We’ve known for a long time that software will eat the world — the comings and going’s of everyday life, once they are expressed as code, become infinitely easier to patch and improve using only a keyboard and display."
To me, it's less about home-cooked & home-grown & indie, and more about software that has a basic fair shake. Software is either societal in nature: it participates in, shapes/can be shaped, discusses itself, engages in the democratic processes of the world. Or it is a closed, dark entity. I see little ways to regard most software as anything other than alien and hostile, as invasive & anti-communicative: a blackbox, with us trapped inside.
The way through though is incremental. Finding new ways to let the software we have expose itself, to make itself visible & explicit & introspectable & orchestrateable & controllable & malleable. I believe software high & low will better serve the world, be better able to do it's job, when there is a general systems fabric & when it can keep us in the loop.
> > "We’ve known for a long time that software will eat the world — the comings and going’s of everyday life, once they are expressed as code, become infinitely easier to patch and improve using only a keyboard and display."
Yeah, I kinda see this as the exact opposite. The fact that symbolic code, keyboards, and displays are all tied together is no accident. It's a limitation that prevents computation / simulation from being used in situations that aren't oriented around text-input.
There's so many situations like this! We're a bit blind to it, because we're used to pulling out our phone, and it's hard to predict what we'd all use computers for if we escaped the trappings of mouse-keyboard-text-code. It's just like how cheap paper / the push for literacy helped make paper receipts at coffee shops a thing, but nobody could have predicted cheap-paper-receipts in the 1600's when books were so insanely laborious to create (forget even read!).
It's insanely laborious to pull in information from datasets on systems, quickly transform them to approximate the answer to a question you're trying to answer, and have a discussion around it. Some examples:
- Have restaurants in my local town started to close earlier because of worker shortages, COVID, and the chaos of the last 2 years?
- Which nearby public parks are both free, open right now, and not too busy? And also will it rain soon?
The state of the art for this is probably CSV's & Excel / spreadsheet, with lots of limitations. Most datasets are hidden behind obscure API's, available only to programmers.
And then let's say you want to have this type of computational conversation while sitting around the dinner table? Forget about it
There are a few trends that are tiptoeing on the edges here:
- tools for thought / creative tools (Muse, Nodes.io, Mem, etc)
- end-user programming (people trying everything from visual PL's to simpler / more constrained programming interfaces)
- local-first software (https://www.inkandswitch.com/local-first/)
- web3 - I'm biased here and a bit skeptical of the fervor here, but matches some of the ethos / philosophy
- more customizable / hackable personal computing hardware (https://frame.work/)
- spatial + tactile computing so the body can participate in the thinking process (instead of only the 'head'): https://dynamicland.org/
- explorables, games / interactive viz to quickly transfer rich context: https://explorabl.es/
- video games, often indie ones, are exploring deep ideas: see Zachtronics games, Jonathan Blow's games, some of Annapurna Interactive funded games, etc. So many!
- open data: better end-user data tools so anyone can understand the systems around them