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…
I’m conjunction with @andyga0 / @dvargas92495’s Tweet from Roam extensions, I might never need to open Twitter unless I explicitly wanted to scroll through the newsfeed! Create, reply, and integrate only
I want Roam to be my Twitter client because then I would be able to have all of my backlinks to [[can you elaborate]] lol
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?
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."
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
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.
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.
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?"
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