> If the search bears little connection to what was searched for, then it is a bug, as far as the user is concerned.
A bad product perhaps, but not a bug.
> If the search bears little connection to what was searched for, then it is a bug, as far as the user is concerned.
A bad product perhaps, but not a bug.
In products your users are stuck with it doesn't matter much, they'll have to suffer with what they think are bugs.
In products that users can switch easily, you can get dropped for a product that you would consider crappier if the user believes it's less 'buggy'.
What about if B has no connection to A whatsoever? Still not a bug? If it is not, then we may have discovered a software domain (the first for me I should say) where bugs are not possible. Should a be a nice market to launch products for, then.
It depends. There could be a bug in the system like query = query.replace(A,B), or it could be that there are no good results for A. Returning nonsense results is a bad design, but not necessarily a bug.
I guess my underlying point is that bugs are about software not conforming to some specified behaviour, and trying to specify behaviour like "i should type in a search and get great results" is too loose of a spec to be meaningful so we should avoid saying things which don't meet that criteria are bugs. To use a concrete example, perhaps the set of search results returned for a query look useless to you but are actually useful for someone else.
Compare that with something like a calculator app where part of the spec is "Must handle integer addition with for inputs i,j where -10,000 <= i <= 10,000 and -10,000 <= j <= 10,000". Then if in your calculator you do 1+1 and get 3, then that is clearly a bug per the spec.
Bugs vs. bad design is a useful distinction to make imo.