This composability was also a defining feature of Launchbar.
I loved it, but eventually found that Raycasts approach of having predefined plugins for each use case is more performant , discoverable and usable.
Kinda like how the unix philosophy was beaten by integrated full-stack applications.
* since anything can be composed, everything must be in the same search index. This slows down the index, and means you need to sift through more irrelevant results.
I felt so vindicated when Halide finally released Process Zero, years after the iPhone 13.
I still remember that 50-page community thread of people complaining about the ugly camera, and one guy swearing up and down that “it's fine, it's fine you're all wrong”.
> It's your *expectations* that are wrong, not the phone. If you go out and buy a "professional" $6000 DSLR and $6000 lens… you will have many of these same issues.
Then Process Zero comes and solves all of my issues...
The biggest immediate win that we can achieve for our users is to remove all (!) technical jargon from our landing pages and product ui.
This is a problem throughout all FOSS. For example in KDE:
> Do x when Plasma starts.
Wtf do I care what Plasma is. Oh, you mean my computer? Yeah makes sense.
Raycast: You can search files, have a calculator, a translator…
KRunner: You can run terminal commands and convert characters to hexadecimal.
It is so obvious that these products are designed by developers for developers. From my experience, this friction is everything. You cannot expect people to intuitively figure it out.
We also had a bunch of problems. The DNS resolution didn't work, and support was unable to figure out the reason.
A coworker reported domain access breaking when he went to office 1, but fixed itself when he went to office 2.
For a while, when you logged in with the wrong account, it was near impossible to replace it. This on is fixed now, but the entire thing still feels very much like paying for beta software.
The no-unsafe-* type-aware eslint rules are important.
Even with strict mode and noImplicitAny, secret any's can sneak into the codebase for the weirdest reasons (for example, poorly typed libraries. looking at you, Knex).
reply