coauthor
coauthor copied to clipboard
Class Q&A mega-issue
Adam H and I discussed what it would take for Coauthor to be useful as a replacement for Piazza-style class Q&A. We came up with the following list of features, which will split into separate issues as needed:
- [ ] *Scalability to 100s of students, especially lots of readers. (speed)
- [ ] Faster ACL (#149)
- [ ] Pagination of group view to handle lots of threads
- [ ] Minimize subscriptions, e.g., don't fetch body of all root posts
- [ ] Load testing (#233), especially on real hardware and high-reader low-writer load
- [ ] *Private root messages in threads (easy to add, mainly a question of where the setting is)
- [ ] *Private response ACL inheritance (related to faster ACL)
- [ ] *Posts that are anonymous to students, ideally using pseudonyms so can tell who is the same
- [ ] MIT authentication via OIDC, ideally arbitrary SSO to support e.g. Catsoop authentication
- [ ] Group joining automation (anyone who visits group gets added to group, provided e.g. MIT-authenticated), or invitation mechanism (#42)
- [ ] Create-post links: Link from another system that starts a message with some seed/template content
- [ ] Pinned posts (sorting mechanism that puts some posts on top) (#599)
- [ ] API access to e.g. pinned posts for embedding in another system (Catsoop)
- [ ] Notification control by staff: force sending notifications to students about certain posts, for example
- [ ] Notification control by students: default subscribe to own threads but not others, for example
- [ ] Read tracking (#12)
- [ ] Resolved tracking (is a question answered?), ideally by marking one part as solution (ideally linked from root of thread)
- [ ] Clear labeling of staff vs. students in "by" section (maybe faculty vs. TAs or other roles, arbitrary text for that user in that group?)
- [ ] Mobile editor buggy (for some Android keyboards) (#437)
- [ ] Idea: Embed a thread into external pages, e.g., feedback on lecture video pages, related discussion on lab pages
- [ ] Ability to turn off features like Minimize, to keep interface simpler when it's not needed?
What's wrong with existing class Q&A systems? This seems like a lot of work to recreate something that already exists and works reasonably well.
Good question. Partly, this was an exercise to see how hard it would be, as Coauthor seemed "close" to what's needed. (Only the four marked with stars seemed mission-critical. Rest are nice-to-haves.) The resulting list is also useful because most of the issues above (though not all of them) would be good features for Coauthor's originally intended use, so it was a useful comparison that raised new ideas for Coauthor's development.
Piazza is the main system I'm aware of that was designed specifically for class Q&A. (There's also Canvas and other nonfree options, and Stellar/Learning Modules which I've not heard good things about. I think there's a reason that Piazza is used in almost all classes; it's still the best out there.) Piazza is undesirable for a few reasons: it has some usability issues (writing/formatting messages is inconvenient, as is the way answers and discussion are separated), it's closed-source so can't be improved, and it sells students' data. Adam has been looking at Discourse as an open-source alternative, and it's also close to what's needed, but needs some hacking to make it more suitable for the class setting; that may well end up being a better approach. Relatedly, Coauthor was created out of a frustration from trying to use existing tools that didn't quite match the use-case.