Still, there's a big problem w/ extensions: how damn hard it is to make them. Requires web dev skills, and tricky integration work. Programmer Elite territory.
In 2019, I wrote about this problem and started thinking about it a lot:
I had hoped to ship a nice usable beta this year, but alas didn't achieve that goal. Making a research prototype "real" is hard work, not incentivized by academia.
But, still working w/ some other students to add some exciting new features to Wildcard, so stay tuned...
And by the way, there is still so room to apply the spreadsheet model in many other contexts.
This has many potential meanings depending on what parts of spreadsheets you choose to keep/discard. Airtable & cousins are just one model to follow...
3) 🔃 Interop is everything
I'm increasingly convinced that interoperability is one of the great unsolved problems in software customization.
So much software today is networked. Agency and choice is great, but my app still needs to talk to your app somehow.
Open standards are great. We shouldn't take for granted our ability to choose our preferred email clients--who knows how long that will last.
But open standards move slowly and often lose to closed competitors. Also, sometimes hard to flexibly extend with new features.
So I wonder: can we find ways to create looser standards? Something halfway between a formal open standard, and islands of isolated functionality.
That would allow us to mod our software but still collaborate with each other.
Over the summer I explored this question w/ collaborators at Ink and Switch on the Cambria project.
We built a prototype system based on declarative bidirectional lenses. Still early, but I think we found some promising directions...
One fascinating thing we noticed is that "evolving datatypes" is a monster problem. Doesn't just show up in cross-app compatibility, but also database migrations, API versioning...
I'm now convinced this is a whole category where devs need much better tools.
Alright that's it for the reflection!
Looking forward to going deeper on these themes in 2021 and continuing to pursue the elusive end-user programming dream.
I have some new ideas for a deeply customizable software toolkit which I'm excited to share more about soon... 🎄
• • •
Missing some Tweet in this thread? You can try to
force a refresh
I'm building an extension that makes Twitter a better memex:
⭐️ Highlights: see someone's best tweets, not just most recent
📆 On This Day: revisit past tweets for inspiration
🔍 Search: find tweets to quote, w/ shortcuts for useful filters
DM me if you want to try the beta!
Early reviews are in 🤓
DM me if you want to give it a spin
Also, recommend this thread on why/how to weave together thoughts on Twitter. Totally changed the way I use this thing.
Goal of this extension is to better align the product with this style of use. Less news, more ideas
I'm skeptical that anyone can design truly great software tools if they haven't personally experienced the problem firsthand.
Here's a short story about my encounters with the limits of empathy... (with an optimistic conclusion!)
While in college, I joined an early stage ed-tech startup founded by some classmates. My first project was to design and implement a reporting interface for teachers and principals to view results from student feedback surveys.
I was totally new to the problem space so I knew I had a ton to learn. The company had a few customers already, so I tried talking to educators in those districts. After a bunch of conversations I started feeling like I understood the rough landscape.