Content pfp
Content
@
0 reply
0 recast
2 reactions

Timur Badretdinov pfp
Timur Badretdinov
@destiner
Slowly realising that making a decent command palette is both challenging and rewarding.
2 replies
0 recast
2 reactions

Timur Badretdinov pfp
Timur Badretdinov
@destiner
The first intuition is to define some rigid structure: commands, nested commands, maybe a param system, async item fetching, flexible/fuzzy search.
1 reply
0 recast
0 reaction

Timur Badretdinov pfp
Timur Badretdinov
@destiner
But when you actually try to use it, you quickly yearn for more freedom. Choosing a proper command surprisingly creates a large friction. Understanding the user's intent and providing the best option based on that doesn't really fit well into that system of nested menus, but works much, much better.
1 reply
0 recast
0 reaction

Timur Badretdinov pfp
Timur Badretdinov
@destiner
I made a command palette with a "go to address" option. Reasonably, typing "address" and pressing enter doesn't look like it's that hard. In practice, even after using it for a while, my first intuition when opening the palette is to type the address directly, without choosing a specific option.
1 reply
0 recast
0 reaction

Timur Badretdinov pfp
Timur Badretdinov
@destiner
I started with a rigid system, but over time I realized that it should be much more flexible. Implementing it that way takes more time and effort, but the delight is more than worth it.
1 reply
0 recast
1 reaction

Timur Badretdinov pfp
Timur Badretdinov
@destiner
And that tiny insight just barely scratches the surface. Here's another one. Despite the urge, strongly consider not adding a nice and cute animation for the palette. It looks good but feels clunky after repeated use. https://rauno.me/craft/interaction-design
1 reply
0 recast
0 reaction