开发者

Sort on last name, first name, or both?

开发者 https://www.devze.com 2022-12-21 10:22 出处:网络
I have a dilemma that I\'ve encountered before. What\'s the best in terms of usability when one displays personal names in a table? Should there be a single column for the name? If so, is \"firstname

I have a dilemma that I've encountered before. What's the best in terms of usability when one displays personal names in a table? Should there be a single column for the name? If so, is "firstname lastname" or "lastname, firstname" preferable? Or would a column for "first开发者_Python百科name" and a column for "lastname" be best? I'm thinking in terms of the user's desire to sort the columns. I like having a column for each name component because I can imagine that in some cases the first name will be more important to the user whereas in other cases the last name would be more important.

I would assume that many out there have had this dilemma and am looking for pearls of wisdom based on past experience.


Definitely have a column for each part. That gives you much more flexibility. So you could sort by surname, but print "firstname surname", for example.


If you don't have the screen real estate to have a column for each part, you can combine them into a single string whose format represents the sorting order. Each click on the column header cycles to the next sort order. For example:

Default: sort by last, first (ASC)

Bimbleman, Wally P.
Zonkenstein, Arnold Q.

1st click: sort by last, first (DESC)

Zonkenstein, Arnold Q.
Bimbleman, Wally P.

2nd click: sort by first, middle, last (ASC)

Arnold Q. Zonkenstein
Wally P. Bimbleman

3rd click: sort by first, middle, last (DESC)

Wally P. Bimbleman
Arnold Q. Zonkenstein

etc...

Easier to read an entire name this way (vs. having it span across columns), takes up less screen real estate, and frees you from having to decide upon a single format & sort.


As far as I know, each country has Its own rules to Sort the names, some countries have the uses of do it By First name, and some by Last Name, I believe that the right answer here is, what is about your app? how many users will appear on those columns? And which users (age/nationality/context) are going to use your app?


Really, I agree with Skilldrick - a good UI has at least separate columns for first and last names...

But don't forget that CONSISTENCY in a UI is actually more important and makes things usable: giving the end user an implied expectation of how things are done.


You might consider calling the fields "Given Name" and "Family Name" to account for people who put their family name first. Of course this doesn't cover everyone (some people only have a given name) but it might reduce potential confusion with Chinese and Japanese names, for example.


In most cases you will find that these fields will cover for most scenarios: Title, Firstname, Middlename, Lastname

Most systems that I have worked with here in Australia, data are sorted by their lastname on default display. Also on the screen if you are providing search, usually Lastname field comes before firstname. Sorting by firstname is just as common too, so your systems should always allow the view to switch to sorting by Firstname


Here is a solution for a single column, I don't think separate columns can be scanned and read as quickly, although I don't have any data to back that up.

The primary focus of a user-oriented solution should be to display names as they would be read aloud, i.e. Title Firstname Middlename Lastname.

For most domains where the names are known to the user, sorting by firstname is acceptable. Here is an example where a persons title is ignored in the sorting, and the sort field is clear as it is highlighted:

Arnold Q. Zonkenstein

Mr. David Cliff

Marty P. Bimbleman

For formal business oriented applications, the default sorting could be by surname. You can preserve reading order, while still sorting by last name, again using highlighting:

Marty P. Bimbleman

Mr. David Cliff

Arnold Q. Zonkenstein

If you want the sorting field to be configurable, use an explicit checkbox, the solution of clicking multiple times on the column heading to cycle between sort fields will be jarring to the user (toggling sort direction by clicking on the heading is more acceptable).

IMO this is the simplest solution without any compromises.

0

精彩评论

暂无评论...
验证码 换一张
取 消