Case-sensitive sorting makes it harder to find patterns once you have more than a screen-full:
What you’re saying is totally valid, but I’ve always viewed it as a feature, not bug.
Since I capitalize the patterns I write from scratch, I like how they’re always up top, but I can easily keep all the default patterns around for reference.
This sorting also allowed us on v3 to be very intentional about the code you see listed first: We capitalized the tutorials (“An intro to…” and “Example:…”).
I can see your point from your screenshot though, which is that when importing from other people’s EPEs, if you don’t rename them with the capitalization you want, they do become harder to find.
I see both your points. Can’t please everyone, and I suspect if @wizard added case insensitivity, people would complain about missing the current state of affairs. Making it a setting might appease both sides.
I do agree: renaming a pattern is super trivial, so if you really want a single list, just rename as desired
Good product design puts the needs of the end user ahead of the preferences of the developer.
Obliging all users who don’t share your personal casing strategy to rename/resave all the pre-existing patterns and rename every pattern they import is not my idea of a user-friendly design; it adds friction to every interaction.
The PB on my desktop has 183 patterns loaded at the moment; if I want to use a snippet from someone else’s pattern I have to remember not only its name, but also who wrote it and what their casing style is (if they are even consistent in their naming). If I guess wrong, I have to scroll through the other half of the list looking for something familiar. More friction.
Want to get someone else to change the display? The conversation goes like this:
- “Put on the one called ‘xorcery’.”
- “I can’t find it?!?”
- “Try it with a lowercase ‘x’.”
- “What do you mean?”
- “Just keep scrolling; there’s more patterns after ‘Z’.”
- “Don’t ask, just scroll.”
Where it’s desirable to sort important items to the top of the list, there are plenty of widely-used naming schemes, like using digits or punctuation characters (
!ReadMe.txt), that don’t rely on something as personal and ephemeral as capitalization.
I wouldn’t advocate for making case (in)sensitivity configurable; settings are not a substitute for thoughtful design.
And as for resistance to change, there didn’t seem to be any uproar when the sort order in Firestorm was changed; one request and it was done.
I agree with you in principle. But changing it without offering the old behavior (especially given the current usage by Jeff/Ben for ensuring the top slots are newbie intros) seems asking for trouble.
Firestorm is used by very few and all are more advanced users.
Newbies will be receiving a new PB with a fresh copy of the default patterns; the two(?) example patterns can be renamed so they sort to the top. As soon as they download a Capitalized pattern from the pattern library, the ‘top slots’ order is disturbed anyway.
I suspect that people who’ve had their PB for a while, advanced or not, would be able to cope with those two patterns not being at the top after a firmware update.
I agree with this ideal. I do go to great lengths to add features for end users that I don’t personally use. I don’t always get it right though, and I have to balance a lot of competing priorities.
Case sensitive sorting wasn’t intentional at first, I just
sort()'ed it and at the time very early in the product’s evolution, it seemed to work OK. After a while it evolved from an oversight to a legacy quirk/feature (which drops the priority of addressing it further) and never made it to the top of the list.
Anyway, all this is to say I hear you, and will change that the next time I get a chance.
I think Pixelblaze is fantastic, and evangelize it every chance I get.
It is clearly a labor of love for you, and I think it’s great that you’re sharing the end product of years of development and expertise with the world for the price of a large pizza with extra toppings.
So when I complain about things like this, it’s not because I expect perfection for $35; it’s because I want PB to be the best it can be, so it will continue to evolve its capabilities and expand its user base – and part of that means tidying up fit-and-finish issues that frustrate users, both new and experienced.
I’ve been around the block more than a few times, but the first few times I used Pixelblaze I found some things confusing – code in the editor runs on the board but it isn’t saved anywhere (not even in local storage on the browser) so an accidental
ctrl-w loses everything; you can’t save the pattern until the preview finishes ‘generating’ (sometimes it hangs, sometimes the wifi hiccups, sometimes the websocket stalls), or if you’ve clicked on the preview bar to disable it; there’s no way to look at the code of another pattern to copy snippets into the editor – but I took notes, experimented, and eventually figured out how the system worked and how to accomplish what I wanted. But with a bit of effort those things could be fixed, and for each fix there would be one less pain point to drive away new users before they figure it out.
The best technology is invisible because it behaves the way you intuitively expect.
Anyway, thanks for listening.
Hey I totally appreciate the feedback, and the reminders of the little things that “have always been that way,” especially ones that don’t have to be, helps.
How does this look? With a bit of research I found a good bit of support built in to browsers for not only doing case and numeric sorts, but also handles accents, diacritic marks, and should work for other localizations as well.
Yes, that will be much easier on the brain.
Awesome. I like it!
Beta with this in it