Request to sort the libraries' Titles alphabetically in the "Import library" menu

The libraries' names are not sorted alphabetically now. It would be easier to find them if they were.


maybe this shouldn't be in bug reports because it's not a bug, rather this should be in feature requests

Yes, and even better would be to alphabetize on the library's name (e.g., BIGNUM) rather than on its descriptive phrase ("Infinite precision integers, exact rationals..."). Then the JSON library would be under J where it belongs rather than under D ("Deal with JSON data"). I keep asking for that.

They were intended to be sorted by frequency of use - but now there’s so many we should re sort them. I think manually sorting them works OK for now.

But also, I don’t think we should use the file name — it doesn’t really help in the list. “Deal With” doesn’t even make sense for a library name! For one thing, it’s a colloquialism. And it doesn’t help you understand what the library does any more than the phrase “JSON data” or JSON Blocks.

JSON is a bad example because the filename matches the description (or would, with a better description). I'm thinking of examples such as BIGNUMS or CRAYONS or EISENBERGIFICATION or SAFELY or MULTILINE, in which the filename, even though not explanatory, is memorable. I'm not suggesting to eliminate the descriptive phrase; they should be displayed, too. But I shouldn't have to remember exactly how the descriptive phrase was worded to find the library. The filename should be the first column, and the one we sort on.

P.S. Nobody ever told me, or I think Jens, to sort by usage! We've just been adding new ones at the end.

P.P.S. Some of the libraries could be combined.

I assumed the sorting was somewhat certainly was with the smaller libraries dropdown. (Though with 4 or 5 items, there's not a huge impact).

I don't get this. Why do we need 3 different descriptive properties for a library?

The LIBRARIES definition has 4 things:

  • a file name
  • a human name
  • a description.

If the word "BIGNUMS" or "eisenberigification" isn't going to make sense to users, then there's little value in displaying it. I don't think we should expect users to remember odd names like that. Consider that it's also potentially confusing and distracting info for new users as well. If we want something memorable why not just number or letter the list items? Still, I don't think expect most people to remember library blocks. The reason it seems like people want to remember this is because the current values for "human name" are most like half-length descriptions.

I think nearly every library can have a same 2-4 descriptor of which the first word likes to a logical alphabetical sorting. "GUI", maybe "Integer" or "Numbers"should be the first word of those libraries for example. If we keep that text short it's easy to skim.

So, you want everyone to call you "CS Lecturer interested in Snap!" instead of "Michael"?

Back when we displayed the libraries' names, I could tell someone "load the BIGNUMS library" without having to look it up. Now, every single time, I have to look up which word in its description comes first. And, after the first time, users of the library would know its name too (even though in fact that library includes a lot more than bignums!).

EISENBERGIFICATION may be a bad example, although there are people from places like Thailand who have names that long. Maybe we should rename that one MIKE-E.

A name is a name. A description is a description. They're both useful, although in this context the name is by far the more useful of the two, since the description is useful only the first time a user uses a particular library. After the first time they'll look for the name just like non-newbies.

But if you think we are paying for screen real estate by the pixel, then by all means flush the description and bring back the name, as it was in the good days.

While "BIGNUM" I can remember as being a "big numbers, etc" related library's name, on the other hand, I can not help myself not to keep forgetting that EIS... which reminds me of icebergs, is in fact about the "GUI settings, programmatically set (and get)". Maybe this could be its name: "GUI settings" library, and its description: "Enables you to programmatically set (and get)..." and, at the description's end, saying also: "a.k.a. EisENbergification".

Where are you reading this? I don't think I changed my name in Discourse.

This is what I don't understand. We do display library names. (Well, what I called a "human name" before, do distinguish from the file name.) When we added the library dialog it used the exact same info that was in the dropdown. It just added the section for blocks.

There's 3 segments to the libraries viewer: A name / selector list (the large left part), the blocks viewer (main upper right), and the description (lower right).

We have the room for the 3 pieces of info. Every library already has that. I wouldn't mind tweaking the proportions, but the widths we intentionally designed so that the name section was no more than a few words. It isn't so much that we can't make it bigger, but that we really have no need.

And to be honest, most of the library names are not that bad. Look at the current menu, it's the few that overflow that are particularly confusing. It's because they haven't been given good human friendly names. Maybe we can call them what we want, and just expand the already existing descriptions?

Would it help if the current description field were on top of the blocks?

But you keep wanting to use the word "name" for something that's nothing like a name! "Michael" is useless as a description; it doesn't tell us anything about you, probably not even your gender these days, certainly not your age or interests or talents. But it's perfect as a name, whereas "CS Lecturer interested in Snap!," a great concise description, is useless as a name. You're never going to persuade anyone that it would improve communication in Soda Hall if people started saying "Hey, have you seen CS Lecturer interested in Snap! this morning?"

I am begging for the restoration of names, not descriptions, in the library dialog. Names. One word, like "Michael." Not necessarily descriptive at all. Even "Michael" would be a better name for a library than "the infinite precision integers, exact rationals, and complex arithmetic library." (Three syllables is about the limit for a name.) And "Bignums" is a way better name for it.

The fact that the human-usable name also serves as the filename is irrelevant. You could turn the filenames into complete gibberish, and "Bignums" would still be that library's name.

If it makes you happy, we could also keep those one-sentence descriptions in the dialog. That would be fine with me. But having a description in the dialog does not obviate the need for a name!!!!

Thank you.

I am so confused. The giant left column IS the name field. We already have it. What makes you say there isn’t a name field? It was there from day 1.


"Iteration, composition" isn't a name; it's a description. The name of that library is ITERATION.

"List utilities" isn't a name; it's a description. The name of that library is LISTS.

"Streams (lazy lists)" isn't a name; it's a description. The name of that library is STREAMS.

"Variadic reporters" isn't a name; it's a description. The name of that library is VARIADIC.

"Web services access (https)" isn't a name; it's a description. The name of that library is HTTPS.

"Words, sentences" isn't a name; it's a description. The name of that library is WORDS.

"Multi-branched conditionals (switch)" sure isn't a name; it's a description. The name of that library is SWITCH.

"LEAP Motion controller" isn't a name; it's a description. The name of that library is LEAP.

"Text costumes" isn't a name. What the name should be is BUTTONS.

"Set RGB or HSV pen color" definitely isn't a name; it's a description. The name of that library is RGB.

"Catch errors in a script" isn't a name; it's a description. The name of that library is ERRORS (because CATCH is a different block.)

"Allow multi-line text input to a block" isn't a name; it's a description. The name of that library is MULTILINE.

"Provide getters and setters for all GUI-controlled global settings" for sure isn't a name; it's a description. The name of that library is EISENBERGIFICATION, but maybe it should be SETTINGS.

"Infinite precision integers, exact rationals, complex" definitely isn't a name; it's a description. The name of that library is BIGNUMS.

"Provide 100 selected colors" isn't a name; it's a description. The name of that library is CRAYONS.

... Is that enough, or do I have to go on? I'm banging my head against the wall trying to figure out if you really don't know what a name is.

P.S. If you really insist on a Humpty Dumpty approach to language, then fine, call the description a "name," let's agree to call the actual name a "higgle-miggle-garply," and can we please add the higgle-miggle-garply column to the dialog? And then can we sort the rows of the dialog by their higgle-miggle-garplies?

Seriously? There's no need to be condescending!

I don't disagree many of the current descriptions/names/etc are not good. I didn't write them, but maybe I should have said something a while ago. It's my bad for not being clear when the library dialog was built what that field should be.

I don't see why a name must be one word. Because, most people have 3 or words to their actual name. Does it change if we call the field a "Title"? Honestly, this feels more like a pedantic argument.

Some of those names are actually more descriptive than the description.

What I'm trying to say is that, we already have a real description -- so we should expand upon that.
The first section should really be a name and I honestly don't see why it ever seemed like it was for something else, but that's my bad! I do think simply adding another column or adding more words makes everything hard to use.

What I am saying is this:
(name, short description, long description) is more complex for users to actually pick a library. It means more reading; it means 2 ways of referring to libraries. Is it really that hard to refer to something as "the Iteration, composition library"? I have never heard anyone refer to "Words and Sentences" as anything other than "Words and Sentences" - that...phrase (?)...was used literally hundreds of times in Heidelberg we all knew what it meant. If someone just started saying "Words" as an abbreviation, things would be far more confusing. "Leap" is a generic word, but "LEAP Motion" is a product / company - that second word is incredibly important to communicating what that thing is about.

But, I do think the name needs to make sense without needing a longer description. Fine, let's call it "title", but the insistence on a "one word" thing is an odd restriction. Also, what's the deal with this all caps stuff? It makes things harder to read.

That's me yelling. :~) No, actually, it's me being old enough to remember filenames being in sixbit.

Nobody ever uses more than one of your names unless there's an ambiguity. If Bernat changes his name to Michael for some reason, then we'll have to work out a way to disambiguate, but it's more likely to be by convincing one of you to go by "Mike" than by using your first and last names all the time! (Especially not Bernat's last name: four syllables!)

The cases in which the descriptions are just two words are edge cases. You're right, I don't really find it that onerous to talk about "the words and sentences library" but a one-word name would be better, especially once people got used to it. On reflection I think "sentences" would be better than "words" because it's the former that doesn't exist as a primitive data type.

But I claim people are already used to "Bignums" and that's going to be that library's name forever, regardless of whether you think it's a name or not.

If you think three fields (four counting the picture) are too complex, feel free to leave out one of the two descriptions, your choice. Or don't. I don't care about any of that; all that counts is the name! We can alphabetize those, and you don't have to remember if there's a "the" at the beginning of the short description or not. You just think "Bignums, B, early in the alphabet." If we'd called it Numbers that would have been almost as good.

It seems you two agree on sorting it by Title, so here is a table that does just that. I made it in Google Sheets; the spreadsheet contains two sheets; the old (existing), and the new one titled '{proposal}'.

Click here to add your comments by clicking with the right mouse button into a cell (anyone - no need to be signed in).

Also to see a '{visual preview}' sheet, based on the '{proposal}' sheet (made with an image, containing a transparent rectangle, so the relevant part of the sheet can be seen through it), click here .


Errors: Gotta catch 'em all.
Looks good so far, however could Bigger (data) be written just as Bigger Data?

: -)

Yeah, but then you need to come up with something else to put in the brackets - if the first word is like a person's name, then what is within brackets is like a 'surname', so to speak.

So, what could be Bigger Data's 'surname'?

Could it be 'crunch them'? "Bigger Data (crunch them)"?

No one else has replied (despite both @cycomachead and @bh did reply in other topics in the meantime).

So, maybe I need to make a poll to get more feedback.

[poll type=regular results=always chartType=pie]

  • a) I like the above kinestheticlearning's proposal (spreadsheet)
  • b) I have comments to add to it (add them)

Sorry for not responding sooner. I'm not 100% sure what's part of your proposal. For example, if we follow the format of the rest of the dialog (and others) there will be a thicker gray pillar between the name and description, rather than the thin spreadsheet-looking one. Otherwise, yeah, that's what I want, except the name on the left, because that's what we'd alphabetize on.

P.S. And I don't really think the names should be in all caps.