Use case: From a time based list of announcements, reorder them so that the most important are at the top.
Scenario: Midterms are in 2 weeks. The instructor has created several announcements related to the midterm throughout the semester. He wants to make sure students see them and would like them all to be at the top of the list for the next 2 weeks until after the midterm.
The instructor goes to the announcements tool and turns on Reordering in Options.
Once reordering is turned on, the Reorder link appears in the intra-tool navigation. He selected Reorder.
The Informational message disappears after drag and drop has been used OR if the instructor clicks the "Don't show me..." link. Paging and view filter are disabled and greyed out. The number input boxes appear in front of the announcements and the remove column is removed. Page title changes.
Instructor moves mouse over the first announcement related to the midterm. She sees the mouse change to a hand and the rollover text displays after 1 second.
The instructor begins to drag the announcement toward the top of the list. She notices the arrow and red line indicating the drop target at any moment. The announcement she picked up has a slight outline and highlight as she moves it. The number in front of the announcement changes respectively as she moves up the list. No other numbers changes while she is dragging since the order hasn't really changed until she drops it.
She drops the announcement at the top of the list. The number becomes 1 and all others update appropriately. She notices the highlight persists for 2 seconds after she dropped it in the new location. She also notices she is able to undo the last move or all moves.
The next one she wants to move up was created at the beginning of the semester so he decides to use the number controls. It's much easier than dragging all that distance. She clicks in the number field and the number is highlighted to show her she can immediately start editing.
She changed the number to 2 so it falls in under the previous announcement she moved. The announcement moves to the 2nd position and all other numbers change appropriately. The screen focus moves with the announcement. The row is highlighted for 2 seconds to let her easily see where it moved to.
She's made all the changes she wants to for now so she she goes back the list view to see what it looks like.
All controls (view dropdown, paging, sorting) are enabled. And she sees a note at the top letting her know she is viewing her custom order. This message continues to display until she removes the custom order. [fluid:Need to add a button to allow her to turn it off]
Later, she needs to find a particular announcement and she knows when she created it. So she sorts by modified date. Once she's done that, she notices the note changes. She now has the choice to go back to custom order or cancel the custom order.
Scenario: Student goes to announcement tool to see if there's anything new.
At first she doesn't see any new announcements so is confused. Then she notices "midterm" in the subject line of the first announcement and then that the first several are related to the midterm. They sound familiar to her but she reads them all again.
She notices the dates are old and then the message at the top of the page.
She wants to make sure she hasn't missed a new announcement so decides to sort by date so she can see the most recent. She's please to see she can easily get back to her instructors custom order.
Announcement Tool Design Changes
- Change "Date" to "Modified Date" to more specific. It might be important for users to know the difference. If they want to find the announcement in email for instance.
- Add an "always keep at the top" setting to the announcement creation process. [fluid:Solves use case for always keeping important announcement at top]
- Add a setting while editing an announcement to "not change the modification date" [fluid:Solves use case that announcement gets edited but instructor doesn't want it getting moved to the top of the list]
- Add a New icon to announcements that are new since the user last logged in. This is not as critical to the reordering since new messages will be displayed at the top of the the list. Still a good thing of course to tell users what they haven't seen yet.
- Implementing this to make workarounds for a few easier will add complication for all.
- Students may be quite confused as they move between announcements in various course sites and they work differently.
- Could be difficult for students to find announcements after they recieve email notification since they won't be in a meaningful order to them.
- Reordering can only be done when user is looking at all announcements - no paging and no filter. We handle this by forcing them into "reorder" mode.
- Reordering can only be done in a single site - not from the My Workspace version that merges all announcements from your sites.
- Once the user decides to use reordering it changes the nature of this collection from time-based announcements to a manually organized group of things. We need to let student know this so they have some idea of why things are sorted the way they are. Perhaps some message like: "This list cannot be sorted, the instructor has put announcements in a custom order"
Working Design Ideas
- Require a 'reorder' mode to allow users to reorder via numbers along with drag & drop.
- Only allow reordering when looking at all announcements, no paging, no filtering (by group, by public). Would alleviate issue with how to deal with changes made when viewing a subset.
- Only allow reordering within a site (not my workspace) and the custom order is not reflected in other places that announcements are viewed like MyWorkspace summary and MyWorkspace aggregate.
- Add a control to take users back to custom order. Could be a button or link or something of the sort.
- After reordering, when new announcements get added they go to the top of the list.
- User has to go into reorder mode to force all the constraints above.
- Need to add a "new" indication to announcements since they can't count on reviewing the top few to see what's new.
- Add some sort of highlight to item that was dropped to make sure user sees is happened. This has the potential to be confusing since highlight is indicating the item is being dragged.
- Add note to the top of the page letting users know they can drag and drop.
- Need to be able to remove custom ordering at any time.
- Is this a temporary setting? What about when announcements get created and modified which automatically changes the order? [fluid:See above Design ideas, new messages will appear at the top]
- Perhaps a sort dropdown: Custom, date,
- What about students? If an instructor changes the order of the announcements it may not make sense to students. They will have no way of understanding this. Can students control their own order? If so, then what happens if an instructor changes the order assuming that's how students will see it and a student misses the announcement. On the other hand, if the student is forced to view the instructors presentation choice and then a new announcement comes in but it comes in 5 messages down (because the instructor ordered them that way) the student may inadvertantly miss the announcement. This is a pretty big challenge! Is it worth implementing reorderer here if we cause confusion for many users in order to please a few users work around?
- All the competetive analysis shows users being able to determine their own order of things. Announcements is different since instructors are pushing information to students. Yet, the announcements are also information for students and we want to allow users to view information in meaningful ways for them -- particularly in this day and age of information overload.