Loading...
 

Comments UX + notifications revamp: Content freshness indicator, new changes and live server changes notifications; systematically show "Last modified by $user $human_readable_time_delta" on wiki pages (like in Google Docs), and alert the reader if a page has been modified (offering to refresh)

Status
Open
Priority
5 Nice to have
Task
Comments UX + notifications revamp: Content freshness indicator, new changes and live server changes notifications; systematically show "Last modified by $user $human_readable_time_delta" on wiki pages (like in Google Docs), and alert the reader if a page has been modified (offering to refresh)
Add a timesheet
Add a timesheet for this task
Description

This is a feature that should be turned on by default for logged in users, and turned off by default for the public (non-logged in) visitors.

Being able to see directly on every page (at the top or bottom), when logged in, "Page last modified `$human_readable_date_or_relative_time` by `$last_user_who_touched_this`", so that you can always have (as a reader or collaborator) an indication of the "freshness" of a page, and if there are changes since the last time you came to visit it.

This is _especially_ useful on complex wikis with lots of contents, sometimes days old, sometimes weeks, months or years old, and you never know what is fresh vs stale at a glance, and it's a chore to be clicking "History" and inspecting the history for each and every page, and to do that multiple times per week/month even for pages that you already saw (because what tells me the page hasn't changed since then?).

We lead busy and forgetful lives, and Tiki should be humanized software that welcomes me back "where I left off", making it easier for people to catch up on what matters (and ignore what doesn't, or at least not create " shitwork"). It would be especially relevant to part-time team members in any organization.

Google Documents does this (it's a surprisingly recent addition, and I love it), it offers to "See what's changed" since the last visit to a document. This is how it looks & feels like in Google Documents: https://www.youtube.com/watch?v=jTdb5sBsEu8

The text string for this has various variants depending on what you want to say in the string, because you want the date/timestamp to be human-readable, so instead of always showing a full ISO 8601 date+time stamp, you would show, for example:

  • "Modified by <i>$user</i> on YYYY-MM-DD" (or localized variants such as "June 28th, 2018", if the user doesn't prefer/enforce ISO 8601 in their settings) if the time is over 30 days
  • "Modified by <i>$user</i> on July 4th" (if we were in the same month of July but over a week of difference)
  • "Modified by <i>$user</i> on Tuesday, 23h49" (if we're in less than 7 days)
  • "Modified by <i>$user</i> 4 hours 32 minutes ago"
  • "Modified by <i>$user</i> 9 minutes ago"


The whole string could be hyperlinked and underlined like Google Docs does, to indicate that it is clickable to reveal the history comparison, or it could have some sort of 🕒 emoji/icon that is the clickable part.

The string could be auto-updated (via javascript?) every minute so that it remains accurate no matter how long the tab/page has been open.
Ideally it should trigger change notifications (like GitHub does, or used to do) if the page has been modified while the user is reading it / while the page is open; i.e. "This page has been modified by <i>$user</i> 9 minutes ago. <u>Refresh</u> this page to see the changes."

This feature has multiple parts/phases of implementation:

  1. Easy: just showing the static text in the header or footer of the page, and clicking it triggers the "History" action.
  2. Medium: in addition to the above, tracking when was the last time a user visited each page, so that 1) this is shown only if there were changes since the last time you visited, and 2) when showing the history comparison diff, only compare the revisions since that last time by default.
  3. Hard (?): in addition to the above, live notifications of changes so the user can refresh the page if needed (presuming that applying live changes without refreshing would be too complicated).
Emails
Assigned to
designer, developer
Assigned by
adrien.maloba
Also visible to
1- Visible to Anonymous (Public content)
Related
Created
Tuesday 13 of September, 2022 20:12:05 EDT
by Jeff Fortin T.
LastModif
Wednesday 08 of May, 2024 00:35:22 EDT