coauthor icon indicating copy to clipboard operation
coauthor copied to clipboard

View unread

Open jbosboom opened this issue 10 years ago • 7 comments

It'd be cool to have a 'fold read'/'expand only unread' view, in the same way linear forums have a 'jump to first unread post' feature.

In the presence of edits you'd probably want diffs (#11) to quickly show what changed in the unread posts. ('Unread' includes 'edited since last read', because I expect many posts to be edited in-place rather than responded to, especially proofs.)

In addition to 'since my last visit', specifying an explicit date and time would be useful in group settings, to discuss updates since the last session.

jbosboom avatar Dec 20 '15 06:12 jbosboom

Ooh, I especially like that last idea.

This is related to two other ideas I was thinking about:

  1. Showing changes over the entire group in date order (presumably with a limit, and next/prev buttons).
    • This would live update, so it'd also be useful for live problem sessions to keep track of what people are posting/doing.
    • I can see a folded view being great for live sessions too, especially if you're looking at one problem...
    • Also this makes it easy to get our work out of this system, in case something goes horribly wrong -- we can see all changes since import.
  2. Search. I am imagining a Workflowy-style search that folds/expands to just show matches to search. This feels like the same ballpark, so maybe your feature is just a type of search (e.g. a keyword like since:2015-12-20, and/or a fancier date selection UI).

edemaine avatar Dec 20 '15 06:12 edemaine

I don't mind 'show unread since my last visit' being just a search shortcut. I definitely don't want to be guessing a date/time. since:lastvisit may be good enough, but I really like an explicit show unread link to make the feature discoverable.

We could also highlight threads/posts that are unread (as many forums do), particularly if threads start out folded -- then you can drill down into the highlighted spots. I'd prefer automatically unfolding to unread posts, but could probably settle for this.

jbosboom avatar Dec 20 '15 07:12 jbosboom

Agreed on lastvisit alias and Show Unread button to make easy to use and find. But we'll have to take care to define "last visit" well. If I open the site in another tab, I probably don't want to reset the last visit field (which would immediately affect the other window!). For example, we could use a timeout: 30 minutes after visit, consider last connection to be the "last visit".

More generally, we could have a "history" view where we show the last visit periods against the edit activity, and you can choose the point you care about. This could be the nice interface for since...

The tricky part with "unread" is defining it. The main system I use that keeps track of this is RSS reader Feedly, but that has explicit traversal of messages (only one is unfolded at any time), so it's a lot easier there. Does scrolling through a message constitute reading it? At one point I was thinking yes, by default, but there's a button to "keep unread" for next time.

I guess the other question is whether you'd prefer an unread functionality, or a "show since" functionality, or both.

edemaine avatar Dec 20 '15 14:12 edemaine

There is now a "since" view that lets you sees a fairly nicely organized list of messages since a particular time, time/date, or past number of hours/days/etc. Not exactly what we were discussing, but closely related / much of it. There's a link from the top of the group page. Also there's a "live" view for displaying during a session where we can't all hear each other.

The main thing not done is a notion of "since last visit".

edemaine avatar Mar 21 '16 03:03 edemaine

Stefan Langerman just had a nice way to implement "since last visit". Whenever a message gets viewed (it enters the viewport of an active browser tab), it gets marked as read at that specific time by that user. Then you can ask to see all messages unread since a specific time (i.e., whose read time is >= specified time), e.g. the last time you asked to see unread messages. This should do a good job at "since last visit" (which can be linked from the notification email).

Also we get a way to display who has read each message.

edemaine avatar Jan 29 '17 14:01 edemaine

Dylan points out that Reddit has a feature where it remembers the last time you visited a thread, and highlight things since then. We could do this + add a slider to see what was posted since various past times?

edemaine avatar Apr 29 '19 18:04 edemaine

Relatedly, git blame has a (new) --color-by-age option to color lines differently according to how old they are, and we could try to do something similar for messages (table of contents?). It's configured by the color.blame.highlightRecent option, which defaults to "blue for >1 year old, white for <1 year but >1 month old, and red for <1 month old". I could imagine a more automatic approach of adaptively choosing a bunch of breakpoints based on dates that occur...

edemaine avatar Oct 14 '19 18:10 edemaine