I am a software engineer, who has noticeable experience in improving UX and utility of web-based systems. If I thought this text had any ground breaking ideas, I wouldn't be publishing them on a website, I would be generating a source bundle, then a product and trying to sell the new startup. This is a simple list of things that developers can do to isolate and repel consumers
How to fail at search
- expect consumers to put space characters in, and particular places, and not too many of them. UK postcodes are common failures in this point.
- more annoying is when different channels to your organisation have different rules for the same interaction. For example gmap desktop doesn't mind UK postcodes with no space in the middle; gmap android app will silently drop the second section of the postcode, so report a huge area as a positive match. Obviously the interaction with the most precision will be via the small handset.
- if you have a particular domain for a particular locale; add the code support for that locale. For example the Maltese gmap should understand Maltese postcodes. Otherwise why publish the domain?
- expect consumers to use a particular case (again postcodes). Yes I saw this on a live site.
- expect consumers to learn a graph of product definition rules, and so be able to enter a query language based on them. An anonymous example, is a restaurant marketing company that expected consumers to filter venues based on their own attire when selecting where to eat.
- give consumers a range of different text boxes that each take a different type of id code; and expect consumers to carefully select the input to type into. Compare Abe books to Amazon [books] for UX.
- a good way to get rid of sales is to use annoyingly short pagination, and cram the pages with many adverts, slowing loading time (many examples). When people view via a phone, most people are happy with scroll; but can't when the adverts make everything freeze, or redraw.
- when entering a phone number, obviously the consumer should be responsible for all the prefixes, and entering all of them, in a precise notation (with a well structured data store, this is not needed, and data could be guessed with GeoIP).
- statefullness with Angular is all very cool; but make sure it doesn't break and forget the local state.
- paid placement is a good way to increase your revenue; however you also need to respond with what the user asked for.
- guessing things with GeoIP is nice; but if you guess wrong, the consumer needs to be able to correct it.
- have a really poor relevancy algorithm, or maybe none. Therefore the search results are in a random order that is random to consumers desires, like alphabetical.
- build a search that is slow (longer than 1s), particularly for small datasets.
- I don't know about most peoples biasies, but when “popular items” show in search results, I ignore them, as they aren't what I wanted.
- in my opinion, don't emphasise the row count, the collection/table size, or the execution time in the UI. Its not relevant.
My current MD says that 70% of AI (or what seems to be low level automated decision making) is just cleaning and normalising your input data. Most of these fail cases hit this idea.