Description

Allow users to break up long lists of items into separate pages.  They should be able to decide if they want paging and how many per page.

Sakai has page navigation now -- "List Navigator UI Component" in the Sakai style guide.  The default for how many items to show on a page varies.  How many makes sense depends on context, how many total items, what type of items, etc.  The idea here is to make this navigator remember the users last setting (across sessions).  That way they set if for what makes sense given the current situation and it is persistent.  As things change for them they simply change the setting to meet current needs and again it's persistent until they need to change it again.  Currently this is a "one size fits all" default and many users have to change it every time they visit a particular page.

Problems with current Sakai widget 

Use Cases / Requirements for new component

Wireframes 


References / Competitive Analysis

NOTE:   Many of the below are for search navigation so should used strictly as a reference for more robust web application pages where users need to actually do something with the items in a list (other than just choose one).

Item Navigation (long list of items users may need to do something with) 

Search Navigation

Where Page Navigation is Used/Needed within Sakai

My Workspace
1.    Membership
a.    My Current Sites
i.    Sort by: Worksite (default: ascending)
b.    Joinable Sites
i.    Sort by: Worksite (default: ascending)
ii.    Default # of items per page: 20
iii.    Total # of items in my instance: 1540
"Viewing 1 - 20 of 1540 sites"
iv.    Search

*107 Plant Morphology*
1.    Schedule
a.    Calendar by: Day/Week/Month/Year
i.    Option to view:
\[Previous Day/Week/Month/Year\] \[Today\] \[Next Day/Week/Month/Year\]
Suggestion: \[Previous Week\] \[This week\] \[Next Week\] and so forth, instead of "Today" always being the middle button even when user is viewing by Week, Month, or Year.
b.    List of Events
i.    Sort by: Date (default: ascending), Time, For, Description
ii.    No page navigation available
2.    Resources
a.    Sort by: Title (default: ascending), Created By, Modified, Size
b.    No page navigation available
3.    Announcements
a.    Sort by: Subject, From, Site, Date (default: descending), Beginning Date, Ending Date
b.    Default # per page: 10
c.    Total # of items: 18
"Viewing 1 - 10 of 18 items"
d.    View: All/Public
4.    Worksite Setup
a.    Sort by: Worksite Title (default: ascending), Type, Creator, Term, Status, Creation Date
b.    Default # per page: 20
c.    Total # of items: 2
5.    Site Info
a.    Sort by: Name (default: ascending), Role, Status, Remove
b.    Default # per page: 20
c.    Total # of items: 2

*EDUC 207D*
1.    Membership
a.    My Current Sites
i.    Sort by: Worksite (default: ascending)
b.    Joinable Sites
i.    Sort by: Worksite (default: ascending)
ii.    Default # per page: 20
iii.    Total # of items: 1540
"Viewing 1 - 20 of 1540 sites"
iv.    Search available
2.    Schedule
a.    Calendar by: Day/Week/Month/Year
i.    Option to view:
\[Previous Day/Week/Month/Year\] \[Today\] \[Next Day/Week/Month/Year\]
Change to: \[Previous Week\] \[This week\] \[Next Week\] and so forth, instead of "Today" always being the middle button even when user is viewing by Week/Month/Year
b.    List of Events
i.    Sort by: Date
ii.    No page navigation available
3.    Announcements
a.    Sort by: Subject, From, Site, Date (default: descending), Beginning Date, Ending Date
b.    Default # per page: 10
c.    Total # of items: 3
d.    "Viewing 1 - 3 of 3 items"
e.    View: All/Public
4.    Assignments
a.    Sort by: Assignment title, Status, Open, Due, In / New
b.    Default # per page: 200
c.    View: Assignment List, Assignment List by Student
5.    Quiz & Survey
a.    Core Assessments
i.    Sort by: Title (default: ascending), Last Modified
b.    Published Assessments
i.    Active (testing in progress)
1.    Sort by: Title (default: ascending), Release to, Release Date, Due Date
ii.    Inactive (no student access)
2.    Sort by: Title (default: ascending), Release to, Release Date, Due Date
6.    Gradebook
a.    Overview
i.    Sort by: Title, Due Date (default: ascending), Released to Students, Avg, Points
b.    Roster
i.    Sort by: Student Name, Student ID, Assignment 1 - Services for Exceptional Students, Assignment 4A - Group Presentations, Assignment 4B - Group Write-up, Assignment 2 - Lesson Plan & Reflection or Parent Interview, Attendance, Participation, Cumulative
ii.    Default # per page:
iii.    Total # of items:
7.    Email Archive
a.    Sort by: From, Subject, Date Received (default: descending)
b.    Default # per page: 20
c.    Total # items: 26
8.    Roster
a.    Overview
i.    Sort by: Name (default: ascending), User ID, Email Address, Role
ii.    No page navigation available
b.    Enrolment status
i.    Sort by: Name, User ID, Email Address, Status, Credits
ii.    No page navigation available
iii.    Dropdown: All, Concurrent Enrollment, Enrolled, Waitlisted
9.    Resources
a.    Sort by: Title (default: ascending), Created By, Modified, Size
10.    Worksite Setup
a.    Sort by: Worksite Title (default: ascending), Type, Creator, Term, Status, Creation Date
b.    Default # per page: 20
c.    Total # of items: 2
11.    Forums
a.    Sort by: Name (default: ascending), Authored, Read, Unread, Percent Read

Informal User Survey

In summary, many users finds it bothersome to click through multiple pages to view a list of items. Users will often set the number of items per page to the maximum to see more items at once. In a list where newer items gets added to the top of the list (email inbox, announcement pages, etc.) users tend to care less about the number if items displayed per page, because they are typically only concerned with the new items, which are all shown in one page. In a list such as the search results, where users are looking for particular items, more items per page is preferred. In an alphabetically ordered list (roster, address book, etc.), allow filtering (narrowing down the list as user types in more characters), unless paging by alphabet can be provided (problematic when the user re-sorts with a different column).

•    \[Referring to their email inbox\] "I think by default it was 25 or something.... and I think that's too little."
•    "I don't like having to scroll thru multiple pages ever...I like seeing everything at once"
•    "I set it to whatever's the maximum."
•    "I leave it at the default."
•    "Have u used the Google Reader? RSS. I like that. Loads more dynamically as you scroll down."
•    "I put eBay to the max of 200. It is by default 50 and I hated it. GMail I do not care about the size of 50 because I do not get more then 50 emails a day and they are sorted by most recent first. On eBay there are more then 50 new listings each day."
•    "I personally prefer long list on one page to multiple pages."
 

Design Suggestions

•    If all pages available are shown as links (e.g. 1   2   3), there is no need for "first page" ( |< ) or "last page" ( >| ) options.
•    Allow users to readily change the number of items per page as the preferred number varies per user per list
•    When alphabets are listed as page numbers and the items corresponding to a particular alphabet is displayed on the page (e.g. students with names starting with "A" are displayed on page A), there is little need for the user to set the number of items to be displayed per page. i.e. It should display all items with the alphabet on one page.
•    If the total number of items is under 50, it is reasonable to display all items in one page, and not display the paging widget at all.
•    If the total number of items is between 50 - 200, display paging widget with "Display all" option
•    If the page updates periodically (e.g. daily, bi-weekly), only one or two items are added each time, and users are generally concerned with the new items only, then it is okay to set a reasonable default