Threaded comments, week 3
I spent this week rethinking and discussing some details. And that’s what has been decided.
Modes
Threaded comments will work in two modes. First one will provide full experience for users with browsers supporting localStorage and js. Second one for users with js disabled (and older browsers), this mode will be reduced to threaded view of comments. No re-parenting, no moving, no undo.
Following paragraphs are mostly about full mode.
Display
Comments will be displayed in threads, with every root-level thread indicated by its root-comment. There will be some number of threads per page (equal to ‘number of comments per page’ setting). They will be collapsed by default, what means that only root-comment is displayed with number of its children indicated. User can expand all of them, or only those he’s interested in.
Dropzone
Because comments are spread among many pages (and posts too), to allow easy moving, we’ll introduce dropzone, just above the table with comments. User adds there comments or threads, which he wants to move. They stay there while he’s switching between pages looking for a correct place for them. And once he found such a place they can be quickly moved.
Workflow
User actions will affect actual state of comments in ‘real-time’. Because of this an ‘undo’ action is introduced, to prevent accidental destruction of threads.
Undo
We will keep track of comments’ moves and enable ‘undo’ action. We will keep history of actions in sessionStorage, so every tab/window will have its own.
Minor threading indications
Droppped, because of poor ‘necessary work’ to ‘use case’ ratio.