One of the big things that we have to work on next is searching on a Flow
board. It's important for people to be able to easily browse and find the
relevant topics, and a busy board will sink older topics pretty quickly.
Because each Flow conversation is an individual, discrete unit, we actually
have the opportunity to do interesting things, to filter and remix threads
in a number of helpful ways.
ErikB and I were talking about how to represent Flow search results, and we
came up with a model that's based on Gmail search results. It's a very
similar use case -- you're searching for keywords in a large body of
threaded conversations -- so I think the model is instructive. (See the
attached screenshot of Gmail search results for an example.)
So I put together a few early concept wireframes, which are also attached.
On these wireframes, the exact placement of the elements are entirely
hypothetical -- I just wanted to put them somewhere on the page as a
starting point for discussion.
The user flow is:
* A user clicks into the entry field, and types keywords to search for.
* This brings up a Gmail-style list of topics that contain that keyword
set. This is simple flat keyword matching -- it doesn't weight a match in
the topic title more heavily than a match in the posts.
* The list of topics is arranged in reverse chronological order, so the
user can scan back through time to find the topic they're looking for.
(This will be especially helpful for the use case of "Where's that
discussion we had about X? It was about two months ago...")
* In the list, there's a limited amount of useful metadata. In this
wireframe, I tried out showing the number of posts in the thread, and the
watch star to indicate threads that you're subscribed to.
* The user clicks on a topic title, and navigates to that thread's Topic
page, where the matching keywords are highlighted.
* On the Topic page, there's a clear way to get back to the list of search
results.
So -- this is early stuff, just communicating the general direction that I
think we should go. What do you guys think?
Danny