Home Help About Profile Search Home
Guest: login

H2O Meta > 0.5 Feature Priorities

Rotisserie Question

Now that we have a list of potential features, the next step is to prioritize
which features should be implemented in the 0.5 release and in what order.  Each feature has a guestimated number of days associated with it.  We have about 120 developer days before a release in mid-February.  Your job is to pick out which features should be included in the next release (all of your features should only take 120 days to complete) and then, *very importantly*, to prioritize when those features should be implemented.  Once we set a concrete release date in February, the release date will be firm, while the number of features we complete will not, so the priority of the features will determine which features will definitely get into the release and which may not.

As our esteemed leader, Jonathan Zittrain will be ultimately responsible for putting together the final list of priorities for the release, but the feedback we get from this discussion will play a very important role in his decision.

For the list of features, see:

http://h2odev.law.harvard.edu/viewcvs/*checkout*/h2o/docs/plan/feature-priorities.csv?rev=1.6

Status ?

Done. Started on
12/2/02 5:00 PM
Schedule
Start: 12/2/02 5:00 PM
Round 1 Due: 12/3/02 4:00 PM
Round 2 Due: 12/4/02 4:00 PM
Round 3 Due: 12/5/02 4:00 PM
Final Due: 12/6/02 5:00 PM
Projects
Statistics
Active Users6
Posts13
Scheduled Rounds3
Search ?
Rotisserie Posts  (Refresh) ?
Sort By: Thread / Author View: Rotisserie Posts and Comments / Rotisserie Posts Only
Expand Rounds: All / 1 / 2 / 3 / None

In terms of a functional tool that will be used by professors, teachers, and other distance and face-to-face educators, it seems that there are a few major priorities. A reliable system is at the top of that list, with good management tools shortly behind. I see management as including things like adding users, deleting projects, searching posts, adjusting how questions get routed, etc. At a still important but somewhat less so level, I include improving UI for the users, so that students can understand the system with a minimum of hand-holding by the instructor/TA. (And for general happiness in using the system.)

Based on these ideas, I have selected the features from the larger that best seem to meet these requirements. I have added to the priority field of the items I chose, with 1 = highest priority, 3 = lowest. My total comes out to 118 estimated days.

I hope this is helpful!

H2O Feature option,,,

Priority,Type,Time,Description
1,Rotisserie,15,Full text rotisserie post search
1,Directory,10,"Project section support (management, display, integration with UI, routing)"
1,Rotisserie,10,Add crank error cases - better error testing for the crank
1,Directory,5,Bulk user load (allow administrator to load users from a CSV file)
1,Directory,5,Bulk project acceptance page -- a single page with all applicants to a project with a 'reject' and an 'accept' column that lets a leader accept/reject users en masse.
1,Rotisserie,3,"User visible round crank -- allow project leaders to manually crank a round instead of waiting for the round duration to end.  We have this implemented in a way that developers can access it, but it's not simple or well tested enough for users."
1,Directory,3,Project Deletion - ability for the project owner to delete a project.
2,Rotisserie,10,Manual adjustment of response routing - allow a project leader manually to assign any post to any student during a time between the routing of posts and the sending of the routed assignments.
2,Rotisserie,5,Creation of rotisserie from templates - copy from another rotisserie to start the creation of a new one
2,Content,5,"Help Content - first stab at help, including at least help on all the forms"
2,Rotisserie,5,Add absolute date picker to date fields and to round start/end (so that the user can choose either round durations or specific end dates)
2,Directory,4,Project announcements. Includes a form for project leaders to enter them and display of them on the home page and the project profile page.
2,Directory,3,Confirmation of email change - email is only confirmed during registration currently.  It would be nice for it always to be confirmed.
2,Rotisserie,3,Self ratings for posts - allow a user to rate his own post as particularly interesting and maintain this rating separately from other ratings.  This feature allows a student to mark his best work so that a viewer can have a good idea of which post to view from the user's profile page.
2,UI,3,"Help system infrastructure - support for inluding '?' links in the module headers, which link to popup help content"
2,Rotisserie,3,Additional questions in rotisserie rounds -- allow project leader to add a question to each round
2,UI,3,Current Projects box from exxtreme front page mockup -- includes summary of current projects with links to assignments and announcements.
3,UI,5,Improve ui of view rotisserie page to use as much of the exxtreme ui as possible -- the exxtreme ui for this page is much cleaner
3,Directory,5,"More project privacty options: Show questions, but not answers; Show questions and answers, but not participant profiles; show profiles, but not emails"
3,Rotisserie,3,"Random routing with no repeats within a project (easy best try - Joe should not be assigned to Sue more than once within a given project, we'll give preference to non-repeat assignments but won't implement a complicated algorithm to try to guarantee it)"
3,Directory,3,Show all visible posts written by the user on the user profile screen page (and get rid of the contextually driven stuff that's confusng and poorly done).  Group posts by project / rotisserie
3,Rotisserie,3,Improve dates in alerts.  Include absolute due date in assignments (7/12/2002 5:13 intead of just 24 hours).  Round to nearest hour when within a couple of minutes (to avoid the 23 hours 59 minutes thing).  Convert to whole days when appropriate (1 day 6 hours instead of 30 hours).
3,Rotisserie,2,Word count support on response page - provide a word count button to help participants manage the length of their posts.
3,Directory,1,free text search for users ('hro' should return 'hroberts')
3,UI,1,Include 'Current H2O Time' somewhere in header.

The reasoning behind this prioritization scheme is clear and very helpful.  

A comment on the user visible round crank which is listed as priority 1:   this feature is problematic in that participants may be in the middle of composing their response when the round is prematurely cranked.  Although participants may have submitted a response, it may be partial, and the participant may have intentions to edit it before the round deadline.  If we implement this feature, we need to include a warning mechanism with a reasonable duration before the premature crank takes place...

I hadn't thought through both the engineering and usability issues associated with a premature crank. Your comments on possible ramifications are important to consider. Perhaps the system itself would not need to have the built-in delay for warning users, but rather this could be part of the documentation for such a feature? It would likely reduce the engineering issues, and give the instructor the freedom to choose how much warning to give students of a premature crank.

On reflection, except for pretty unusual circumstances (perhaps the instructor was not familiar with how the rotisserie worked and allocated too much time for a round), I don't see a huge need for this feature. I would recommend dropping it in on my priority scale down to 2 or even 3.

View Thread Comments

2 Include user id in urls in assignment emails
10 Predefined attributes
15 Custom Attribute functionality
5 optional automatic expulsion on round skip
5 Invite unregistered user to join a project
10 fully featured project search page
5 bulk user load
10 tournament mode
15 polling
2 word count support on response page
3 help system infrastructure
5 help content
3 confirmation of email change
3 random routing with no repeats
5 value based routing
5 attribute based routing
2 bounce back routing
10 manual adjustment of response routing
3 project deletion
1 more basic faqs
1 free text search for users

My priorities were based on classroom use, and the features that I had programmed (or failed to program) into past versions of the rotisserie.  So to me, more flexibility in asking questions and timing rounds would be most important to making the rotisserie a solid piece of software -- and one on which I could base (part of) student grades.  Then pieces like attributes and flexible routing are frills that can enhance that core.  

I also didn't list a lot of features geared toward "community," since that's not the primary mode in which I've used the rotisserie.

View Thread Comments

I've included a lot of the big ticket functionality items (custom attributes, routing, polling, invitations) b/c that's where I think we need to concentrate our efforts if the system is going to reach its potential.  I've also included some of the really important usability stuff that people have consistently brought up in feedback (a help system, management of individual rounds, etc).  Notably missing are pretty much all of the UI polish items, which I'd love to get to but just aren't as important as having a functional, usable system, and are mostly not applicable to the generic ui (the ui that's in the source we distribute) anywho.

My list:

pri        days        feature
1        3        Help system infrastructure - support for inluding '?' links in the module headers, which link to popup help content
2        5        Help Content - first stab at help, including at least help on all the forms
3        1        More basic FAQs - How do I respond?  How do I rate? Etc.
4        15        Custom attribute functionality (custom attribute definition, management of large attribute set by users, association of required and optional attributes with projects, attribute prompting during user registration and project use after attribute requirement addition)
5        5        Value based routing.  This is base support for attribute, poll, and section based routing.  Route based on whether a given value is similar or different between users (same user attribute values, difference poll answers, etc.)
6        5        Attribute based routing - routing based on user attributes
7        15        Polling, incl. poll setup in rotisserie management screens, poll response on rotisserie response screen, and poll display on rotisserie and thread view pages
8        2        Poll based routing - routing based on poll answers
9        10        Management of individual rounds - allow all round settings to be customized for each individual round.
10        10        Simple post comment system - allow adhoc posting within the current round
11        3        Additional questions in rotisserie rounds -- allow project leader to add a question to each round
12        5        Bulk project acceptance page -- a single page with all applicants to a project with a 'reject' and an 'accept' column that lets a leader accept/reject users en masse.
13        2        Bounce back routing - route to the user assigned to the given user in the previous round
14        3        Random routing with no repeats within a project (easy best try - Joe should not be assigned to Sue more than once within a given project, we'll give preference to non-repeat assignments but won't implement a complicated algorithm to try to guarantee it)
15        2        Add list of participating (invited) rotisseries to project page - should be able to see not only rotisseries that the project owns, but also rotisseries owned by other projects in which the project is participating
16        3        Show all visible posts written by the user on the user profile screen page (and get rid of the contextually driven stuff that's confusng and poorly done).  Group posts by project / rotisserie
17        1        tweak login page - add check for cookie support in browser and add changing element to 'mismatched username/password' error message
18        2        Include user id in urls in assignment emails -- prevents the user from clicking on the url and not getting the assignment because he is logged in as a different user
19        1        Change db layer to sort by name if present
20        3        Imrpove flow between view thread page and rating assignment page (thread completing a rating on the view thread page should return the user to the rating assignment page and remove the assignment for the rated post)
21        3        Add sidebars to View Rotisserie Page (Manage, Participants)
22        1        Expand: *none* link on view rotisserie page
23        7        Individual project invitations - invite a user to participate in a project and have an invitation response box appear on the user's overview page
24        3        Project Deletion - ability for the project owner to delete a project.
25        1        free text search for users ('hro' should return 'hroberts')
26        5        Add absolute date picker to date fields and to round start/end (so that the user can choose either round durations or specific end dates)
27        1        Display application message for registrants (currently it's accepted but not displayed anywhere)
28        2        Improve rating on view thread page -- change mechanism to be the same as on the rating assignment page.  Provide some sort of message after a successful rating to indicate that the rating has happened.
29        1        Administrator su page -- let a site admin login as any user
30        1        Add link to inviting project in rotisserie invitation email

I agree for the most part except for some of the routing.  The help was lower on my list, but I'm sure it will make it in there since not much time is required.  Functionality is definitely more important than any UI stuff.

Excluding automatic expulsion and poll-based routing, I don't know if other types of routing would actually be used or useful if used.  Routing on any attribute the user has entered may just be random, since so few online users contribute valid data when they know it isn't critical (I know I don't).  I have a hard time coming up with a concrete example that will realistically lead to an interesting distribution.

View Thread Comments

I think the following (somewhat ranked by priority) are the most important/coolest features:

o Bulk user load (5)
o Bulk project acceptance page (5)
o Help system infrastructure - support for including "?" links... (3)
o More basic FAQs... (1)
o Project deletion (3)
o polling, incl. poll setup in rotisserie management screen... (15)
o optional automatic expulsion on round skip... (5)
o pre-defined & custom attribues (10) & (15)
o all forms of routing, but I think the most interesting are: bounce back (2), poll-based (2), attribute (5), and value (5)
o Full text rotisserie post search (15)
o simple post comment system -- I like the idea of adding a simple post comment system, but I don't think participants should be able to post until after the round (or maybe the whole rotisserie) has ended. This feature needs to be thought about carefully so that it won't undermine the whole spirit of the rotisserie (10)
o Additional questions in rotisserie rounds... (3)
o Add crank error cases - better error testing for the crank (10)
o Word count support on response page (2)
o Improve flow between view thread page and rating assignment page (3)
o Improve available projects list... (3)

that's about 120 days...

These look a good set of tasks/priorities for me. The only ones that I'm not sure about is how important extra custom attributes or specialized types of polling are. I haven't seen the beta feedback from users, so I don't have special insight here, but in making the priority decision, I would try to consider what features the instructors and the students are most going to need to have a high-quality experience with this tool.

Tony

The polling and custom attributes are important b/c they allow more interesting kinds of routing.  For example, including the option to select a poll answer in addition to the standard paragraph form answer allows the system to route the posts based on those poll answers.  Imagine the case in which in which law school students are asked to indicate whether they are arguing for the plaintiff or for the defendant and the system routes posts among the plaintiffs / defendants for the second round and then between the two different groups for the third round.  Similarly, imagine a discussion in which all of the participants has indicated their home countries and the discussion routes posts depending on the similarity or different of the students' home countries.  These kinds of interesting routing algorithms are at the heart of what makes the rotisserie powerful and are vitally important if the rotisserie is to reach anywhere near its potential.

The poll is a simple way to add graphical feedback and fodder for in-class discussion.  It's quick for the instructor to set up, quick for the students to answer, and can be used to launch a rotisserie discussion or stand-alone.  That's why I ranked it as a high priority.  Student attributes didn't interest me much.

View Thread Comments

Here's what I think.  Ordered by priority, 1 is the best.  Features I didn't think we should support in this rev have been removed.  Notably absent are the other types of routing.  Excluding poll-based routing and expulsion, I don't think the different routing options will really be used ... or be used effectively.  Maybe I need some concrete examples.

Priority Type Time Description

1 Rotisserie 15 "Polling, incl. poll setup in rotisserie management screens, poll response on rotisserie response screen, and poll display on rotisserie and thread view pages"

2 Directory 10 "Project section support (management, display, integration with UI, routing)"

3 Rotisserie 15 "Full text rotisserie post search"

4 Directory 5 "Bulk user load (allow administrator to load users from a CSV file)"

5 Rotisserie 10 "Simple post comment system - allow adhoc posting within the current round"

6 Rotisserie 5 "Optional automatic expulsion on round skip - if the 'explusion' option is true for the rotisserie, at the end of each round, expel from the rotisserie any user who did not respond in that round"

7 Directory 4 "Project announcements. Includes a form for project leaders to enter them and display of them on the home page and the project profile page."

8 Rotisserie 3 "Additional questions in rotisserie rounds -- allow project leader to add a question to each round"

9 Rotisserie 10 "Add crank error cases - better error testing for the crank"

10 Directory 3 "Project Deletion - ability for the project owner to delete a project."

11 Rotisserie 2 "Word count support on response page - provide a word count button to help participants manage the length of their posts."

12 Directory 10 "Fully featured project search page - search on any project attribute, including full text of rotisseries"

13 UI 1 "Include 'Current H2O Time' somewhere in header."

14 Directory 5 "Invite unregistered user to join a project. This is a slightly scaled down version of the 'include an email in the rotisserie recipients list and have that email be automagically invited.' I'm imagining just a form available to project leaders from the project screen that would allow the leader to enter an email and have that link lead to a page that would send the user to a registration page that would automagically sign him up for a project (and throw him to the project page, perhaps) once registered.  Requires join project link for guests, above."

15 Rotisserie 2 "Include user id in urls in assignment emails -- prevents the user from clicking on the url and not getting the assignment because he is logged in as a different user"

16 Directory 3 "Show all visible posts written by the user on the user profile screen page (and get rid of the contextually driven stuff that's confusng and poorly done).  Group posts by project / rotisserie"

17 Content 5 "Help Content - first stab at help, including at least help on all the forms"

18 Rotisserie 3 "User visible round crank -- allow project leaders to manually crank a round instead of waiting for the round duration to end.  We have this implemented in a way that developers can access it, but it's not simple or well tested enough for users."

19 UI 3 "Help system infrastructure - support for inluding '?' links in the module headers, which link to popup help content"

20 Rotisserie 10 "Management of individual rounds - allow all round settings to be customized for each individual round."

21 Rotisserie 3 "Show real names of participants when permitted on view rotisserie and view thread page"

22 Content 1 "More basic FAQs - How do I respond?  How do I rate? Etc."

23 Directory 3 "Confirmation of email change - email is only confirmed
during registration currently.  It would be nice for it always to be confirmed."

24 "Home Page" 2 "Improve Available Projects list - include recentness of discussions and number of participants"

25 "Home Page" 2 "Add 'users online' stat to stats list - add lastLoggedIn field
and check it for some small amount of time (5 minutes?)"

26 UI 3 "Pretty graphical chart for statistics on front page."

27 Directory 2 "Send one-way email (with system return address) and a
link to the site for replying via the site."

28 UI 2 "Spiffy exxtreme unregistered user home page - our ui folks
(exxtreme.com) designed a spiffy graphical front page for unregistered users that we've never plugged in."

29 UI 5 "Curved module section headers from exxtreme mockups"

30 Directory 3 "Separate invitations page as mocked up by exxtreme (with front page just having sentence near the top saying 'Welcome.  You have *3 pending invitations*...)"

31 UI 3 "Current Projects box from exxtreme front page mockup -- includes summary of current projects with links to assignments and announcements."

View Thread Comments

,Rotisserie,5,"Add absolute date picker to date fields and to round start/end (so that the user can choose either round durations or specific end dates)"
,UI,1,"Include 'Current H2O Time' somewhere in header."
,Rotisserie,10,"Management of individual rounds - allow all round settings to be customized for each individual round."
,Rotisserie,3,"Additional questions in rotisserie rounds -- allow project leader to add a question to each round"
,Directory,3,"Show all visible posts written by the user on the user profile screen page (and get rid of the contextually driven stuff that's confusng and poorly done).  Group posts by project / rotisserie"
,Rotisserie,2,"Include user id in urls in assignment emails -- prevents the user from clicking on the url and not getting the assignment because he is logged in as a different user"
,Directory,1,"Administrator su page -- let a site admin login as any user"
,Rotisserie,15,"Polling, incl. poll setup in rotisserie management screens, poll response on rotisserie response screen, and poll display on rotisserie and thread view pages"
9,"Home Page",1,"Always present ""You have # responses" message in top right of page
,Directory,1,"tweak login page - add check for cookie support in browser and add changing element to 'mismatched username/password' error message"
,Rotisserie,5,"Creation of rotisserie from templates - copy from another rotisserie to start the creation of a new one"
,Rotisserie,5,"Value based routing.  This is base support for attribute, poll, and section based routing.  Route based on whether a given value is similar or different between users (same user attribute values, difference poll answers, etc.)"
,Rotisserie,2,"Word count support on response page - provide a word count button to help participants manage the length of their posts."
,Directory,5,"More project privacy options: Show questions, but not answers; Show questions and answers, but not participant profiles; show profiles, but not emails"
,App,1,"Change db layer to sort by name if present"
,Directory,1,"Display application message for registrants (currently it's accepted but not displayed anywhere)"
,Rotisserie,10,"Simple post comment system - allow adhoc posting within the current round"
,Rotisserie,3,"Improve dates in alerts.  Include absolute due date in assignments (7/12/2002 5:13 intead of just 24 hours).  Round to nearest hour when within a couple of minutes (to avoid the 23 hours 59 minutes thing).  Convert to whole days when appropriate (1 day 6 hours instead of 30 hours)."
,UI,3,"Help system infrastructure - support for inluding '?' links in the module headers, which link to popup help content"
,Content,5,"Help Content - first stab at help, including at least help on all the forms"
,Rotisserie,3,"Allow project leaders to see current round posts in view rotisserie page (not sure if we really want to do this -- impinges on the freedom of the user to take the entire round duration to craft an answer)"
,Directory,5,"Invite unregistered user to join a project. This is a slightly scaled down version of the 'include an email in the rotisserie recipients list and have that email be automagically invited.' I'm imagining just a form available to project leaders from the project screen that would allow the leader to enter an email and have that link lead to a page that would send the user to a registration page that would automagically sign him up for a project (and throw him to the project page, perhaps) once registered.  Requires join project link for guests, above."
,Directory,5,"Bulk project acceptance page -- a single page with all applicants to a project with a 'reject' and an 'accept' column that lets a leader accept/reject users en masse."
,Directory,4,"Project announcements. Includes a form for project leaders to enter them and display of them on the home page and the project profile page."
,Directory,10,"Fully featured project search page - search on any project attribute, including full text of rotisseries"
,Rotisserie,3,"Show real names of participants when permitted on view rotisserie and view thread page"
,Directory,5,"Report to project leader when email to participant is bounced"

View Thread Comments