AFAICT the fact that open source builds on open source is one of its greatest strengths (the practice is cumulative) and its greatest weakness (there’s a ton of baggage that gets kept, especially on projects that value backwards compatibility)
Before working in learnable programming, I had no prior coding background. I’m approaching this with no coding related tacit knowledge, just applying my own design sensibilities.
Emacs is a great example. The core concept is strong, and 40+ years of dev means there’s an amazing ecosystem of prebuilt extensions around it. Backwards compatibility is a value though, so there’s 40+ years of baggage. But what if you could start fresh with lessons vs code?
My general thesis isn’t that programmers made bad decisions along the way. Just that some may be outdated and based on assumptions that others share the same tacit knowledge as those making decisions. Learnability seemingly wasn’t highly valued. Fresh eyes are good

• • •

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

Keep Current with Robert Haisfield

Robert Haisfield 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 @RobertHaisfield

11 Mar
IMO, Roam is a better interface for Twitter than Twitter. A lot of my knowledge management is in my tweets and their replies. @ollybot_redux and I were were working on Twitter import... who wants to pick up where we left off? Olly put it on GitHub github.com/oliverb123/roa…
Here I have some notes on what a good Twitter import would look like. We were working on import from tweets.js - ideally I'd import all from there, and then set up something more continuous. roamresearch.com/#/app/Rob-Hais… cc @dvargas92495 @houshuang @andyga0 @adam_krivka
Some possibilities for fetching replies to tweets, shared from discussion with Andy:
Read 7 tweets
8 Mar
The light pen was immediately intuitive, while the mouse wasn't. Engelbart put two people against each other on the same task, and mouse users were initially slower, but quickly they outpace those with the light pen. We live in a world of light pens.

"That's the reason why people are bragging that infants can use iPads as if this was a point of pride rather than something horrifying." We infantilize people with apps that are built to be intuitive from the start but can't do anything serious.
"This is why we live in a world where most things are easy to learn, but hard to use. By hard to use, I don't mean that we feel they are difficult, but that we never reach our capacity to meld with these systems because we've chosen this path."
Read 4 tweets
6 Mar
I wonder if DSLs are just the next logical step for apps built for power usage. Let people directly input data and manipulate it, following your apps data model.
That’s not to say that GUIs shouldn’t exist. This thread on designing for power usage makes the argument that there should be a smooth learning curve from beginner to power user. Ultimately, no GUI is gonna be faster or more powerful than a well-designed domain-specific language
If onboarding is the perceived problem... then whatever, they can absolutely be designed to be learnable. Clear feedback loops, affordances for different stages of the learning curve, and minimalist language design. That’s basically been my work w/ GuidedTrack for the last year
Read 4 tweets
5 Mar
Okay now imagine you have a keyboard where you have low height twin control sticks on your space bar that could move independently of each other. What would that do for you?

Maybe holding a modifier key changes the output of your stick movements. Image
Slow vs. fast movement based on how far you push each stick? With adjustable stick sensitivity? Image
Fighting game like gestures? Force quit an app by inputting a Shoryuken? Image
Read 4 tweets
5 Mar
What if, instead of a food journal app, I just had a domain-specific language and the ability to create templates for myself?
I'd love to just write, "I ate a burrito, which in this instance means beans, pork, onions, and sour cream, and guac." I already set a variable for guac, which means ingredients include avocado, onions, tomato, and it assumes the general ingredients unless otherwise specified
Templates would allow me to enter other forms of data as I wish in a consistent way. For example, my template for meals might also include how I felt before and afterwards.
Read 6 tweets
5 Mar
This is an interesting point. Some apps are designed for power usage and some aren't, which raises the question of "How can you design for power usage?"
One thought is that a high skill ceiling is necessary for it. Take my example of Whimsical vs. Figma here:
An app built for power usage should also reward investing in that high skill ceiling. There's a trend (will be writing more about it soon) where power user applications go from more GUI to less over time. This really lets users get into the flow of things
Read 5 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!