hypothesis / h

Annotate with anyone, anywhere.
https://hypothes.is/
BSD 2-Clause "Simplified" License
2.96k stars 427 forks source link

Zero state for no results #4022

Closed sean-roberts closed 8 years ago

sean-roberts commented 8 years ago

We need a zero state for search results. I do not know if we have a pattern already for this but we need to indicate to the user when we have no results instead of a blank screen.

seanh commented 8 years ago

Current zero state in the client sidebar (with bug):

screenshot from 2016-11-15 17-20-43

My suggestion would be to keep any zero state text message generic, just "No results" or "No annotations matched your search" or something. Rather than trying to do something cleverer like "There are no annotations that matched <some representation of the user's query>", because that gets more complicated (for example you would need to replace group pubids with names etc), and as the client sidebar is demonstrating for us it's more likely to break. Also it just seems pointless doesn't it?

dwhly commented 8 years ago

@conordelahunty Part of our discussion today was that since the user profile will be the first page that a new user sees now, the blank space where there are no annotations (on a user's profile only?) might include a call to action to begin annotating.

Clearly an interesting design challenge.

seanh commented 8 years ago

If you're on your own user profile page, and you haven't made any annotations, then we probably want to say "You haven't made any annotations yet" (we'd probably also want a call to action, how do you make annotations, what are some interesting things to annotate, but probably ignore that for now).

If on another user's page, we probably want it to say "Jeremy Dean hasn't made any annotations yet."

If on a group's page, "Foogroup doesn't have any annotations yet."

But if doing a search query within a user or group page (including within your own user page), or on any non-user or group search page, then the generic "No annotations matched your search."

dwhly commented 8 years ago

👍

sean-roberts commented 8 years ago

I think that is a good start on dialog. There are several layers where we can be smart as well. Like if the search results have no findings but we know that there are some facets that will always cause zero results - we can inform them of that.

For example, search query = "tag:x group:"group Y"". If we know the user does not have access to "group Y", we can say things like "Looks like you're searching for a group (group Y) that doesn't exist or you do not have access to. Check the spelling or make sure you are logged in to get access to this group"

That might be a phase 2 thing, but it's really important with zero states to give users a clear path forward. I don't think we have the tooling in place, but it would be very good to capture metrics on reasons why there were misses - if we know them.

ghost commented 8 years ago

Those suggestions sound good @seanh . Also, @sean-roberts I'd love to be able to do clever things with these states but that is probably a bit of a stretch for where we are now (also, we need to be careful about not exposing group names/ids accidentally to users who might not be members - our security model is, well, lacking)

I think there are two things that we can do now...

A basic zero state on the groups page and search pages that simply shows a message to let users know that there are no results. For example:

group zero

Then the other important zero state is when you are looking at your own page. I think we can use this as a way to help users onboard and orientate themselves. Here is a quick example of what we might show:

ownpage-zero

seanh commented 8 years ago

Regarding this How to get started mockup for your own user page, there's a fair bit of complexity behind that. I could do a static "You haven't made any annotations yet" message instead for now, but I realise that isn't very good. Here are some suggestions for simple ways to implement first versions of the four links in the mockup, I could get these done this week, then we could make these smarter later:

ajpeddakotla commented 8 years ago

@seanh +1 on your approach that you outlined above. The other approach (the cleverer one) is great, but we'll hold off until we make a concerted effort to improve our on-boarding process.

dwhly commented 8 years ago

(we don't have any how to annotate with groups page as part of the hypothes.is site itself, afaik)

@jeremydean Has created some excellent resources on groups: https://hypothes.is/annotating-with-groups/ https://hypothes.is/creating-groups/

dwhly commented 8 years ago

I suggest we consider aligning both panels as top and left justified. The panel that is centered seems a bit off, particularly on mobile. >> @conordelahunty

ghost commented 8 years ago

@dwhly Sure, no reason to have two different styles for the same thing. Less work, not more, etc.