138

In my application, there's a long list of user-created objects in a master-detail setup. All we show in the master list is the name of the object, and the list is alphabetized. I've noticed that my users have been naming their objects starting with special characters, to get those objects to rise to the top of the list.

What feature(s) should I add so that they won't need to do that anymore?

  • 17
    Why do you think that's bad? – simbabque Mar 13 '17 at 13:56
  • 85
    @simbabque It's not that it's bad necessarily, but it does seem like the design isn't serving them as well as it could. – Nate Green Mar 13 '17 at 14:14
  • 6
    @Alvaro In this case it's a shared list. – Nate Green Mar 13 '17 at 14:14
  • 14
    Full disclosure: I posed this question mostly because it seemed like a good one for this community and nobody'd asked it yet. (Didn't have time to write an answer myself, but some of the answers already posted are probably better than I could've written anyway.) – Nate Green Mar 13 '17 at 14:21
  • 96
    Ah, the good old days of taxi companies and auto repair places all throwing extra A's on the front of their name so they'd be first in the phone book... – T.E.D. Mar 13 '17 at 18:46

10 Answers 10

227

This user behaviour indicates a great opportunity to improve the usability of your application. Ask a few users why they rename items and try to understand the underlying need or problem that they are facing.

Depending on what answers you get, possible solutions might include:

  • Allow sorting the list in different ways; by date/user/...
  • Allow users to add a list of favourites items that is always shown in the top
  • Only show top 5 items and make the rest searchable/filterable
  • Allow them to reorder the items in the list by dragging and dropping
  • Give them an autocomplete search box to select an item in the list

In either case, don't limit the users by forbidding special characters. Until the underlying problem gets fixed, the current solution might be a life saver for them.

  • 8
    Great answer! +1 for user research and acknowledging the designer's responsibility to solve the problem. – Nate Green Mar 13 '17 at 15:04
  • 44
    +1, but I'd say don't just ask them, have them sit down with you and the tool and show you what's problem this behavior solves for them. For the app to really solve user problems, the designer must become a user. (Yes, that was me from 9 years ago) – T.E.D. Mar 13 '17 at 18:52
  • 6
    In German phone books (yes, they still exist) there are quite many locksmiths listed with names like "AAAAA Schlüsseldienst". - As long as the list is alphabetically sorted for users other than the person creating the entry at least once, this is still a viable "attack" to get one's own entries listed first. - If there is any chance of this kind of uncooperative behaviour, this should be addressed, too! – Alexander Kosubek Mar 14 '17 at 7:48
  • 17
    @AlexanderKosubek really, everyone should begin their names with AAAAA, then they would all be at the top. Why are people so obtuse? It is obvious. Just put everything at the top, then it is easy to see and get to. – user67695 Mar 14 '17 at 14:09
  • 6
    By far the most important feature I've found on any list that's going to have more than ~20 or so items: Give them an autocomplete search box – AaronLS Mar 16 '17 at 14:06
65

When it comes to optimising the design, users happen to be the best designers.

I would suggest that – instead of guessing - you should get in touch with these Users, who hacked the sorting mechanism to ask what they wanted to achieve.

Maybe they wanted just to pin some items to the top of the list, for which starring would probably be enough.

But maybe this is just a symptom of a deeper need, maybe it needs to be somehow ordered or structured. Without asking them it will be hard to implement the right mechanism in this case.


EDIT (after some discussion in comments below):

Thank you everyone for your valuable comments. I think this answer needs some clarification.

There are cases, when Users want to try to escape the boundaries planned by the designer. From their actions, some conclusions may arise, but quick conclusions about the solutions are not always the right ones.

A little digression first, you can skip it if you want. There is a meme about user experience, showing a gate and a path around it, made by Users. While it is easy to criticise, answering what the solution is, just based on this behaviour, is risky. Should it be removing the gate, it would be easy. However, maybe it has its purpose, actually? It may prevent animals from getting inside, it may be a legal requirement to have it and if one thinks more of it, probably they will find some more possible answers to the questions: "Why it is here?" and "Why people try to go around it?".

Asking Users should be a core part of creating a solution if we are not sure about the nature of the problem. And in this case – we may guess, but in my eyes, implementing any solution based on a conclusion would trigger a risk of the "solution" being inaccurate, not answering the actual need of the User.

In this particular case, this behaviour may mean that people want to have some items pinned to the top, but also here there are some more possible answers:

  • They may need to have some most recently edited items pinned to the top. Again, this could be resolved by pinning, but in longer run this owuld require from them a lot of effort to maintain, as they will need to "unpin" the ones that are not relevant any more,
  • They may need to flag the items with different flags, where pinning would be not enough,
  • They may need categories/folders, especially if they use different file naming conventions (namely: _thingname.ext and __thingname.ext or [thingname].ext etc.) which would suggest a need of a more structured set, which also cannot be solved just by pinning,
  • Sub-ordering these items - sorting by something first, then something,
  • Finally, there may be some needs that go beyond these assumptions.

So, there is a lot to analyse here.

Now to the users happen to be the best designers line. When they use something - be it a computer or a desk or a cup or whatever else – people often change the way these things work in a tiny little bit. They place that sticker on the camera of the laptop, tie the teabag to the handle of a cup, organise their things on their desk so that it is comfortable for them. They invent solutions to their needs and implement them - so they are designers. This very design, if observed, can be a source of further evolution of the things (camera blocker, a cup with a teabag holder, a desk with a holder for pens built it).

Therefore, if they hack the naming of things within this solution, it is good to observe what they come up with. This may lead to a deeper knowledge of what they want to achieve. Having all this input, it is easy to ask them one crucial question: "Why do you do it like this? What do you want to achieve?"

And after gaining this knowledge, to conclude, ask them again if this is what they wanted, maybe suggest something better than they would come up with, of course. But only having this confirmation - to come up with the solutions and implement them.

In other words, the behaviour of Users in this case my be a direct indication of their need (and in this case, pinning might be a good choice), but it can be just a symptom (in which case, asking before implementing or even suggesting any solution is the best choice).

  • 33
    "ask what they wanted to achieve" THIS – TripeHound Mar 13 '17 at 14:12
  • Not necessarily, sometimes we want to achieve something more, but only do what can be done. The reason may be "right focus on these elements". But what would work fine as a quick fix might be very far from being optimal in long run. – Dominik Oslizlo Mar 13 '17 at 16:55
  • 4
    I would agree with one caveat: Sometimes what the user THINKS they want... isn't what the user REALLY wants. And sometimes what a vocal minority of the users want isn't good for the entire population. Plenty of popular online games, for example, put out what vocal users want and then the game sours and loses population. – WernerCD Mar 13 '17 at 17:57
  • 4
    @WernerCD “If I had asked people what they wanted, they would have said faster horses.” - Henry Ford. Regardless of if he actually said that quote or not, the point still stands. Users do not necessarily know what is best. – Ryan Mar 13 '17 at 19:05
  • 2
    @TripeHound Surely at some point we have to agree that 'Go ask your users' is a given. I mean I'd give an answer a good nod of the head for mentioning it, but it's not really deserving of an up vote for a well thought out answer. You have to offer something more (as Dominik's answer does). I'd say it's well worth a highly upvoted comment on the question, or some moderator attention. Perhaps we need a website let-me-ask-your-users-for-you.com :) – icc97 Mar 14 '17 at 19:56
14

As well as pinning items to the top of the list, fake-alphabetical entries can be used to pin them to the bottom (a trivial example: I use a contact called ZZ spam with a silent ringtone on my phone). In other words it's quite a flexible system.

Consider how sorting by a range of parameters is built in so widely: All file managers allow you to get the recently-used items to the top as well as sorting by name, type, etc. Your users may also be familiar with sorting in spreadsheets, including the use of a column purely for priority.

With no priority/frequently used sorting this is actually a good workaround. In your users' position (with a shared list) I could be tempted to go for a naming convention like _<priority-level>_<item-name>.

  • 15
    how about ZZ stop ;) – Midas Mar 13 '17 at 16:04
  • @Midas or even ZZFOAD, being closer to what I'm thinking as I add yet another number to that contact. – Chris H Mar 13 '17 at 16:08
  • @ChrisH: It's a pun: en.wikipedia.org/wiki/ZZ_Top – MSalters Mar 15 '17 at 12:51
  • 5
    @MSalters, that's quite good, but I didn't spot it because I read ZZ as 'zed zed' (UK English) – Chris H Mar 15 '17 at 13:05
  • 3
    @ChrisH maybe that explains the lesser popularity of that band in the UK? How many names have caused the downfall of people, organizations, causes... For want of a wisecrack, the horst was lost. – user67695 Mar 15 '17 at 13:40
9

When users add special characters to the beginning of the names they create two or more kind of objects, or categories, in the sort. These categories can be specific, as the ones in this example, or more general ones like favorite / not_favorite or objects_I_am_working_on / others.

You could provide the feature to make this distinction, to categorize objects, and sort them per category and then alphabetically. The idea is to take the "feature" your users have created themselves, out of the system features, and provide it within the system in a (hopefully) more convenient way.

Consider these points: extra characters alter the position in the list,make those elements stand out and group elements. Users might be altering the names for one or more of these reasons.

enter image description here

  • 3
    On my old phone I put spaces at the start of contact names to bubble them to the top. (2 spaces for most important, including "I_C_E" and my fiancee.) As far as I knew, there was no other way to accomplish that, and it was invisible. When I got a new phone, the names came over that way. I don't know if the new phone has a feature for Favorites, but because I started doing it this way, I am likely to continue. If you want something to be adopted as a practice, it has to be in Version 1.0.0.000. (And everyone else in the world has to do it that way also.) – user67695 Mar 13 '17 at 20:23
  • 1
    @nocomprende What is "I_C_E"? – Dmitry Kudriavtsev Mar 14 '17 at 1:54
  • 3
    @DmitryKudriavtsev it's In Case of Emergency. If a emergency occurs and a paramedic/emergency services person comes across your phone, they know which number to call. – user56701 Mar 14 '17 at 5:31
  • @stanri Of course, it would be cool if the phone provided such an ICE entry by default... Fiancee's phone shows an emergency contact number on the lock screen, but I would not know that was what it was unless she has told me. (My phone has nothing vital on it so I don't use a lock code at all.) It should not be necessary for everyone to learn about every type of phone. Standardize important things worldwide! – user67695 Mar 14 '17 at 13:59
  • @nocomprende I have a roadid: roadid.com because I often run without my phone and I find less ambiguous than using a phone in the first place. Nonetheless, I agree a standardised ICE contact would be useful. – user56701 Mar 14 '17 at 15:02
5

It's possible that no matter what feature you implement, users may still continue to do this (unless you forcibly disallow it).

Consider another system where this happens all the time: computer filesystems. Most file browsers sort names alphabetically, and you'll see users do all sorts of things to work around (or, I would say, with) that, like putting spaces, numbers, or AAAA in front of filenames. Even though modern file browsers typically have dozens of features that permit other types of sorting and labeling of files, you'll find in practice that many people still find it simplest to just give their files certain names to cause them to sort near the top. Another place where this is often seen, as commenters have pointed out, is address books.

The question is, does it break things? Are the names used in other parts of the system where the special characters or leading AAAs cause issues? If not, then maybe it's not a big deal. If so, then perhaps a solution is to sort by different field (like, for instance, a "display name" that isn't relevant anywhere else).

Sorting is a simple system. Anyone who knows the alphabet already understands how it works, and they can figure out unknown details (like how certain characters sort relative to the alphabet) with simple trial and error. This "something that you already know how to use" is a powerful UX property, and I think it would be a mistake to ignore.

  • 1
    If people can name things any old way they like, then the name is not an important characteristic of the object, and should not be shown, or at least not used when selecting it. Are arbitrary names causing some other problem as well? Are they becoming unhelpful? – user67695 Mar 17 '17 at 13:48
3

Implement auto complete like filtering

Include a filter textbox they can enter A and only items stating with A are shown.

Enter AB then only items with AB are shown.

On a thick client this is can be very very fast. On a web client it may be a slower as may require a round trip back to the web server.

Also if the list can have objects from them and others give them a check box option to only see their objects.

  • Allow searching by a substring anywhere in the name. So I could find "Charlotte" by typing "rlo", which is probably rare. Mmm... perusing linuxwords file I see Barlowe, Carlo, Marlo, Sherlock, Waterloo... But anyway, my point stands. – user67695 Mar 15 '17 at 13:35
  • @nocomprende Maybe they really just want words that start with "rlo". – paparazzo Mar 15 '17 at 13:47
  • 1
    So order the proposed list by position: the earlier in the resulting string, the higher up the list? Doesn't it often work that way, I seem to recall seeing that. – user67695 Mar 15 '17 at 13:52
  • @nocomprende It could work a lot of ways. Some people may want a simple (super fast) starts with filter and that is my answer. Yes there are other possible answers. – paparazzo Mar 15 '17 at 14:06
  • @Paparazzi then they type rlo, rlo%, ^rlo, ^rlo.*, ctrl-A, shift-click, c:\utils\sys exporter.exe -> copy list contents -> paste into a half decent program -> filter words beginning with rlo – TessellatingHeckler Mar 16 '17 at 23:44
2

What feature(s) should I add so that they won't need to do that anymore?

At minimum, add a "starred item" feature where the starred items float to the top in the sorting order. The next level up is to have a separate priority field that defaults to normal but has a few settings above normal and a few below.

2

This used to be the case at my company, where a shared scanned had an addressbook used to e-mail scanned documents. This list was sorted by name associated with the e-mail. Since the UI was quite difficult to manipulate (tiny touchscreen, laggy), being on the top of the list was quite a perk, so people started being imaginative in the way you describe.

This was promptly solved by setting the addressbook to be sorted by creation date by default. This made the service self-regulating: everyone could re-create their entry to get to the top of the list, but only people who used the scanner a lot (like the secretary) would really benefit form the speedup. Most employees who only use the scanner once a month eventually realized that spending 1 minute browsing the addressbook alphabetically was faster than playing king of the hill every time they needed the scanner. And those who still wanted to play didn't have to mangle their name and ruin the alphabetical order for everyone else.

  • Great story. But people who only use it once a month should not get their entry updated at all, so that they don't mess up the people who use it often. This is the difference between "Most Recently Used" and "Most Frequently Used" that we learned about in college. – user67695 Mar 14 '17 at 19:03
  • 1
    @nocomprende: By my reading of the description, the mere act of using the service wouldn't bump an entry. Instead, bumping names to the top was essentially a manual process which anyone could do but the only people who would benefit from bumping their name would be those who expected to use the service significantly before many other people bumped their names. – supercat Mar 14 '17 at 22:23
  • @supercat I see, the idea was that I could move my entry up by deleting and recreating it. Sure. No way to prevent that except to make entries permanent. I thought that entries were permanent (your entry in the addressbook, which I thought was universal, but is only on this machine) but they can be removed by users. So don't let users remove them? Why would they ever need to? Who thought that was a good feature? I guess that few people would bother to replace their entry which would have drifted way down by the time they used it again anyway. Self-regulating limitation. OK. – user67695 Mar 15 '17 at 13:24
  • Maybe they should have gone with Most Frequently Used instead? "Make incorrect actions impossible" - I thought that was a basic principle of UX. Maybe we should use MFU everywhere? To answer your question about the permanence of entries: make them fall off if they are not used for a long time. This keeps the list uncluttered by rarely used entries. Or, allow searching by substrings that appear anywhere in the name instead of just at the beginning. Wow, I am on a roll now. Let me at that system! – user67695 Mar 15 '17 at 13:29
  • @nocomprende I believe the scanner didn't offer the Most Frequently Used sorting. Who could've guessed HP engineers skip college. – Dmitry Grigoryev Mar 15 '17 at 13:36
1

When you sort something by alphabet, you are, quite literally, prioritising words which have a lower value in ASCII encoding.

...why? What is the significance of this ordering?

Now you know and I know that it's to help find a thing in the list - that's the real goal. It's just that alphabetisation doesn't address that goal directly.

Bottom line, yes your user's might be considered naughty for exploiting your mistake, but let's be clear, you made the mistake. Not them.

Don't list out objects. Display a few random ones, perhaps group by function, perhaps implement a live-search for objects that partially match a phrase. That way you are designing a system where users aren't rewarded for having the lowest value is ASCII sorted order, but are rewarded for doing what you really want them to do - name their objects properly to describe their function.

  • 1
    Right, alphabetizing is a relic from paper. Can't we do better now? Isn't some characteristic more important than just the name? Is Alicia more important than Brenda? No. – user67695 Mar 17 '17 at 13:45
-1

I would say that since this is permitted by the system, then the user can do as they like.

  • I would firstly design the system in the way that does not permit special characters are beginning letter of each item
  • Then I would give them a notification while typing the beginning character of the item, that the first letter of the item is not permitted to be a special character, with a small concise message.
  • 6
    That wouldn't really help, though. They'd just do something like A___My first item, yay! or 0___My first item, yay! instead. You'd need to ignore the special characters in ordering entirely, which is a whole another can of worms. – Luaan Mar 13 '17 at 14:13
  • 14
    I think this would be treating the symptom rather than the underlying issue. The users are doing this because it is apparently the only way for them to achieve what they want. The application is missing a feature that they deem useful, so this feature should instead be added to the application. You should not simply take away the means by which the users are bypassing a limitation of the application without providing a solution to the issue. – maxathousand Mar 13 '17 at 14:51
  • 1
    @maxathousand good comments both – Dimitra Miha Mar 13 '17 at 15:17
  • 3
    @Luaan Aand you would have to prevent repeated letters at the start. Bbut, that would just make them use the next letter. Ccatching on? Maybe we should just go to one-letter names for things. "26 items ought to be enough for anyone." – user67695 Mar 13 '17 at 20:20
  • 1
    @nocomprende Save the aardvarks! – Chris H Mar 14 '17 at 10:03

protected by Benny Skogberg Mar 16 '17 at 20:49

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.