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â.â
- âWhy?â
- â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 (00README.TXT
or !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.
Thanks, @wizard!
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.
<soapbox>
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 F5
or 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.
</soapbox>
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.
Hi @pixie,
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!
Twilight
Beta with this in it