Skip to content

Instantly share code, notes, and snippets.

@robertknight
Created July 25, 2016 11:07
Show Gist options
  • Save robertknight/5f86e324f2e8dd7a7f22c9948e81f7cb to your computer and use it in GitHub Desktop.
Save robertknight/5f86e324f2e8dd7a7f22c9948e81f7cb to your computer and use it in GitHub Desktop.
Sean's notes on Activity vs Search
I think my thought on the ongoing "activity pages" designs can be summed
up as this: doing a search for annotations is one feature. Showing
recent activity is a different feature. They might be better as separate
pages. Multiple simple pages instead of one complex page.
We might be trying to meet the use-cases of search and the use-cases of
activity pages in one complex "activity search" page.
I'm wondering if it might be easier to have a simple search page that's
just for searching for annotations, and doesn't try to summarise
activity by document and recency. And then have simple activity pages
(user's activity page, group's activity page...) that summarise recent
activity but don't try to be comprehensively searchable.
Allowing it to be two separate features instead of trying to do it all
in one page might relieve some pressure and allow us to do something
that is both simpler (from the user's point of view) as well as easier
for us to design and implement.
But also I just think that "search" and "activity" are two separate
concepts. If we implement them as separate, orthogonal features, then
each will be able to evolve freely on its own in the directions that we
discover it needs to. If we tie them together from day 1, we won't be
able to change the "search" functionality without also affecting the
"activity" function and vice-versa, we may be stuck with hobbled
implementations of both sets of use-cases.
Hear me out..
Search
------
I think the use-cases for search might be things like:
- "I want to find a particular annotation"
- "I want to scroll through all the annotations that match this search"
- "I want to see all of seanh's annotations"
- "I want to see all of Climate Feedback's annotations"
- "I want to see all annotations of Example Document"
- "I want to see all of Jeremy Dean's annotations of Example Document"
You know, finding things. But I think the words "all" and "particular"
are important. Search is for when I want to enter a query and get
comprehensive results.
So it seems to me that the results of a search:
- Should be a list of annotations, not a list of documents.
The annotations are the things that actually matched the search. If what
you show for the result is a list of documents, then the user can't see
why each document matched the search (at least not without clicking to
expand the document). Nor can they see why the documents are in the
order that they're in (which is by most recent annotations).
Even if you show a list of documents with the matching annotations
already expanded under each document, now because they're grouped by
document the annotations are no longer in chronological order. I have to
scroll past older annotations of document 1 to get to newer annotations
of document 2.
- The list of search results (annotations) should be comprehensive. It
should contain all annotations that matched the search. You can't for
example group annotations by document and then truncate these groups,
showing only the first N annotations for each document and then a "See
more annotations of this document" link.
If you do that, and my use-case is "I want to find a particular
annotation", then even if the annotation I'm looking for matched my
search it might be one of the ones that got truncated so I won't be able
to find it except by clicking on the right "Show more" link.
If my use-case is "I want to scroll through all the annotations that
match this search" then I have to click on every "show more" link.
So the mockup that I like for search is this one, where the search
results are a simple chronologically-ordered list of all annotations
that matched the search, not grouped by document:
https://dl.dropboxusercontent.com/u/136038/image03.png
As in the mockup you can show the document titles to the right of the
annotations, and not repeat the title when *chronologically consecutive*
annotations have the same document. That doesn't seem to introduce any
problems. But you're not sorting the annotations by document.
Activity
--------
I think the use-cases for an activity feed might be things like:
- "I want to see what Jeremy has done recently"
- "I want to see what Climate Feedback have done recently"
- "I want to see what I have done recently"
When presenting search results you want to present a list of
annotations that matched the search, and you want that list to be
comprehensive containing every annotation that matched. See above about
truncation and "See M more" links breaking the use-cases for search or
at least making search results a PITA to look through.
On the other hand, when presenting recent activity you _do_ want to
truncate and summarise things.
To give an extreme example you don't want 2000 annotations by SciBot to
flood the science group's activity page, making users have to scroll and
paginate for ages to find the 5 really valuable new annotations by
humans.
I think that for an _activity_ page you want to do some sort of "rolling
up" of similar activities that happened at similar times.
"Rolling up" = grouping and then truncating, not just grouping.
So for example on a user's activity page you might want to show a list
of the documents that the user has annotated, with the user's first 2
annotations of each document under the document, and a "See all seanh's
annotations of Example Document" link (to a search page). (Or maybe "See
5 more new annotations of Example Document")
But besides by document, there are lots of ways that we might want to
roll up activity to provide a useful summary and avoid flooding of an
activity stream. But I don't think you'd want to do _any_ of these to
search results though:
* A single user or group annotates the same document many times in a
short time frame. Present this as a single item in the list of
"activities":
"seanh annotated Example Document"
under this title show the most recent couple of annotations, then a "See
M more" link.
* A single user or group annotates multiple documents in a short time:
"seanh annotated Example Document, Another Document, and 3 more
documents"
* Multiple users and/or groups annotate the same document in a short
time:
"seanh, judell and 3 others annotated Example Document"
"Climate Feedback, SciPeeps and 2 others annotated Example Document"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment