Recently I was asked to help implement a search feature for an application.
Brief: “The user can search for anything”.
Me: “What are they trying to find and why?”
I confess I’m not sure about searching. On one hand I think it is a great idea to be able to search across the application looking for data in whatever way I want. After-all that is my expectation now I’m used to Google/Bing, right? But then are my searches in Binogle the same as I want in my application? For example, imagine we have a hospital application and we have discovered a child has meningitis, doesn’t happen that often but enough that we have a hospital policy in place. If a child contracts meningitis then we have to send a letter to all patients in the same ward who were/are there at the same time as this infected child. Now we could choose not to do anything special, just let the Search take the stain.
1. Search child’s name – 12 hits, yes that’s the one, click on them, Ward 10 and was admitted 10-Apr-2017. 3. “+ward 10” 4. Date filter from 10-Apr-2012 to Now 5. That gives 30 results 6. Select all results, send to Report feature 7. Mail + email merge and send from Report feature.
An alternative approach would be to suggest that this policy is important and is time critical. We should make this a specific feature or at least a first class part of the Report feature;
1. Select Notifications->Send Meningitis Warning 2. Search child’s name, 12 hits, yes that’s the one 2. Send Warning
The second method is obviously faster and less error prone. The system understands it needs to look at the ward and the date, that knowledge is baked into the feature.
So back to my original question, why does someone want to search across the application? Do we do this because we are bad at analysis? Do we provide a search as a catch-all and check the statistics to see if a pattern emerges that could be promoted into a feature – would the users have left by then? What’s the harm in offering both approaches?
For me it boils down to two things; 1) Return on Investment – was is the benefit of a specific feature over a general wider brush 2) Do we even think about?
This post is really about (2). Some features are now so common that it’s hard to remember why we put them there in the first place. I would just like to use this to remind myself to always question a requirement, even when others think it’s a no-brain must-have feature.