kiwix / kiwix-android

Kiwix for Android
https://android.kiwix.org
GNU General Public License v3.0
890 stars 446 forks source link

Try to merge global search + find in page #154

Closed kelson42 closed 6 years ago

kelson42 commented 7 years ago

Problem When in an article (Glaucoma), I wanted to know the specific symptoms of the disease. I went directly to the magnifying glass to search. The magnifying glass is the universal icon for searching.

Because this is really a “global search” and not a search of the contents of the article, my search did not turn up what I was looking for. Instead, I saw a list of other articles.

The “find in page” feature is important for people looking to find specific content quickly. Since it is behind the 3 dot menu, it was difficult to discover. Though I found it eventually, at first I thought the search didn’t work, and I would have to scan through the Glaucoma article to find the symptoms.

Heuristics violated:

Recognition rather than recall Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.

Consistency and standards Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.

Error prevention Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.

Compatibility between different platforms (mobile) Due to fragmentation and constant change in mobile device market, apps must be flexible to adapt to different platforms and devices. The site or platform should automatically detect the kind of device and direct the user to the mobile version.

Little human/device interaction (mobile) Due to small size of mobile devices and the context of use (in motion, sometimes with one hand), it is important that the interaction effort is reduced. (see more detail on page 8)

Recommendation: If possible, make the magnifying glass both universal and local search. Or properly label the search as “search for articles”. Direct users to in article search from there. If this is not possible, find a way to make the local search more immediately discoverable.

Look into native Android in-article search. People might expect it. It might be buried in OS menus, but perhaps it could be surfaced?

kelson42 commented 7 years ago

One idea from Abbey would be: I have seen it done dividing the search findings into "in page" and "all content", or something like that.

sakchhams commented 6 years ago

May I work on this?

kelson42 commented 6 years ago

@sakchhams Yes, please propose a description of your solution (mockup?) before implementing anything.

sakchhams commented 6 years ago

I was intending to remove the find in page option from the three dot menu, and add a static always visible option to the suggestions of global search. Screenshot Clicking on it would open the standard find in page workflow.

kelson42 commented 6 years ago

I'm not really convinced by your proposal... Maybe an other one: addinh a "Find in page" button on the right of the the search input bar. If this is clicked then it searches in the page. That would mean merge somehow the "article search" and the "find in page search" text input.

sakchhams commented 6 years ago

@kelson42 That idea did come across my mind, but since the search in page UI has additional "find up" and "find down" buttons in the menu I thought adding an additional button with text would make it cluttered. What do you suggest? I can pursue either.

sakchhams commented 6 years ago

@kelson42 I've opened a PR #571 based on your suggestion. Please have a look and provide inputs. Thank you!