-
-
Save robertknight/5f86e324f2e8dd7a7f22c9948e81f7cb to your computer and use it in GitHub Desktop.
Sean's notes on Activity vs Search
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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