18 ms·
Falsehoods Programmers Believe About Search
- perlgeek 7y ago* All customers may see the same data God, how I hate that authorization woes find a way to make everything else 5x more complicated.
- Lowkeyloki 7y agoI wonder if that's aimed at permissions-based stuff or, like, search bubbling?
- perlgeek 7y agoI'm talking about permission-based stuff.
- ape4 7y agoIs everything we believe about everything wrong?!
- CM30 7y agoProbably. Still, nothing says you can't write an alternative article; falsehoods non programmers believe about programming.
- liability 7y agoThat might actually be a worthwhile article that helps programmers communicate effectively with non-programmers. One that tripped me up a few years ago: non-programmers think that 'strings' are long fiberous things that cats play with. The connection between the word 'string' and the concept of text is not intuitively obvious to people who don't already know the lingo. Seems obvious now, in retrospect.
- dsr_ 7y agoGood idea; I made a start here: https://blog.randomstring.org/2019/05/29/falsehoods-non-programmers-believe-about-programming/ https://blog.randomstring.org/2019/05/29/falsehoods-non-prog...
- dexen 7y ago"All models are wrong, but some are useful" (generally attributed to the statistician George Box). A belief, or a system of beliefs, is but a model. It's virtually guaranteed to be wrong. It also may very well serve the important function of being simple enough to handle in-core, while at the same time being close enough to substitute for the real thing.
- inflatableDodo 7y agoOn a related note, a hell of a lot of strife in the world seems to boil down to people insisting that their preferred taxonomy is the correct one, no matter what the context, rather than accepting that taxonomies aren't facts in the first place, they are tools.
- Bartweiss 7y agoOn which note, the answer to a list like this isn't necessarily "memorize it and avoid all these problems". The benefit can simply be in making these tradeoffs consciously, so you can judge your model better. If you're Google, differentiating 'or' as in either from 'OR' as in Oregon is a task you need to take on. But if you're writing a National Park lookup tool, you probably just don't want to worry about that case. In that case it's still worth knowing; you might be able to save users some time by at least showing clearly how you reinterpreted their input.
- dexen 7y ago>The benefit can simply be in making these tradeoffs consciously, so you can judge your model better. Very much so; engineering is all about choosing the trade-offs, and hopefully improving them in the future. The list also helps with solving some of the unknown-unknowns problem in regard to what the customer expectations may be; even whole new domains of expectations (like immediacy of update, or handling of accented/non-english characters). Side note: As far as I can tell, Google got rid of the special-cased "OR" in the general search - right now it's a word, not a predefined/reserved symbol. They were able to do so by adding "implicit OR-like" operator between all the words in the query. Not quite an implicit OR, not quite an implicit AND; something bit more complex in between. The words of the query get weighted against matches both on their own, but also as adjacent words (higher weight) and whole phrases (yet higher weight). All in all the problem got solved by improved matching & sorting algorithm, not by somehow smartly detecting when "OR" is meant as "OR", or OR, or or. The problem got solved in the match scoring/sorting domain, rather than in the query parsing domain.
- ianamartin 7y agoMy life got a lot better when I stopped believing anything and just decided that there are maybe one or two things I'm fairly confident are true. As in, I'm pretty confident that I exist, and fairly confident that you do. But I couldn't prove either of those, and everything else is basically up for grabs.
- petra 7y agoInteresting. But how do you deal with the following situations? -- talking to people, since you have no opinion -- understanding the people around you , building a mental model of them -- general confidence
- TeMPOraL 7y ago> talking to people, since you have no opinion That's a big tragedy in our society, that you're expected to have a definite opinion on everything. Myself, I have very few strong opinions, and those that I have I hold loosely. When someone asks, I usually try to sketch the space within which I believe the answer lies (e.g. "I suspect X, but then there's Y and Z, and also V I'm not sure what to do with"). This has a nice side effect of making strongly-opinionated regulars suddenly unsure about their own opinions.
- dasil003 7y agoI am also this way by nature but it drives a lot of people nuts so I’ve learned to temper it for the particular audience, expressing confidence appropriate to the context of our shared assumptions.
- onemoresoop 7y agoI don't think the OP said that they have no opinion. Beliefs are a conviction based on cultural or personal faith, morality, or values. Opinions are viewpoints, we all have them, but it's good to be aware that they're not based on facts.
- deleted 7y ago[deleted]
- reaperducer 7y agoA list of postulations without examples or explanations is not useful.
- the_af 7y agoAgreed. It leaves no room for debate or for understanding the assumptions involved. Also, while many items in the list are insightful, I find what bothers me in this and similar lists is when you could swap anything for "search" (or "time", "addresses" or whatever the other lists happen to mention). See for example, replacing "search" with an X: - Choosing the correct X is easy and you will always be happy with your decision - Once setup, X will work the same way forever - Once setup, X will work the same way for a while - Once setup, X will work the same way for the next week - The default X settings will deliver a good X experience The problem with these assertions is that, while cute, they are so broad and generic they tell us almost nothing about the specific problem of search engines. For almost every decision in software design and implementation, the above assertions hold true.
- tempguy9999 7y agoQuite true! Or even enough context to interpret: > Search can be considered an additional feature just like any other Is that a falsehood? - what does it even mean?
- the_af 7y agoAlmost nothing. I guarantee that for any non-trivial feature, you could just say: "<non-trivial feature F> can be considered an additional feature just like any other" And everyone will agree that's probably false. They could have written "search is almost never a trivial feature, and you should take your time to consider complications", but I suppose that wouldn't sound as a cute as a "Falsehoods Programmers Believe" list.
- rq1 7y ago> Regular Expressions have minimal performance impact REs and FSMs equivalent.
- afturner 7y agofor real? Is RegEx actually a FSM behind the scenes? or are you trying to say something else
- jkern 7y agoYep. Take a look at https://swtch.com/~rsc/regexp/regexp1.html https://swtch.com/~rsc/regexp/regexp1.html
- afturner 7y agothank you very much.
- dexen 7y agoYes and no. The theoretical "regular expressions" are indeed Type-3 grammars in Chomsky's hierarchy. In practice, the common "RegEx" implementation implement a lot of extras, that break the theoretical backing, and also exhibit highly non-linear behaviors. Cf. this excellent paper by Russ Cox: https://swtch.com/~rsc/regexp/regexp1.html https://swtch.com/~rsc/regexp/regexp1.html
- saalweachter 7y ago* When you find the boolean operator ‘OR’, you always know it doesn’t mean Oregon One of my favorite sets of local search bugs involve interpreting "near me" as "near maine".
- dexen 7y agoTrying to fix every single problem in the search module/layer/service is an anti-pattern by and of itself. There's an anecdote[1] from early days of Google Search where a certain domain was ranking 1st for an unrelated query (i.e., a false positive). The managers refused to move ahead before that got fixed, but the bug/edge case proved a head scratcher for several weeks on end. Lastly one of the engineers solved the problem - by buying the domain and taking it offline. Point being, if you can fix the problem outside of the code domain, do just that. [1] sadly can't seem to find it - mostly getting spam articles related to SEO
- Bartweiss 7y agoA lot of these entries are probably better handled with improved feedback than changed behavior. If you can tell whether the user meant 'either' or 'Oregon', that's great, but spending a week on the problem is a lot less urgent than just displaying "including results for Oregon". Does Google have some kind of cultural allergy to special-casing or writing fallback rules around its recommendation systems? I ask because Chrome's spellcheck still lacks a lot of words that you can find in an abridged dictionary; it seems as though fallback rules like "the first hit needs at least one keyword match" or "never flag words found in Merriam-Webster as unknown" are basically never employed.
- Scoundreller 7y agoI see you’ve never made any embarrassing email mistakes. Retards, -Scoundreller
- emiliobumachar 7y agoI'm pretty sure I've read a similar story in the book "I'm Feeling Lucky". It goes like this: In the early days of Froogle, a shopping search engine made by Google, searching for "sneakers" always yielded a garden gnome wearing sneakers, one unit on sale, as the top result. This was considered bad, as someone searching for "sneakers" probably wanted to buy sneakers, not garden gnomes. The whole team tried to fix it, but they didn't want to just hardcode an exception. It eluded them for a while. Finally, it was not there anymore. They asked around for who had solved it, no one answered. Finally, one colleague arrived late - and placed the gnome on their desk.
- rdgthree 7y ago
- afturner 7y agoAlgolia looks good, but are there any OSS alternatives for those of us trying to bootstrap a search system
- mftrhu 7y agoFor a blog/static website, Tipue Search [1], or maybe Datasette [2]. There are Pelican [3]/Jekyll [4] plugins for the former. [1] http://www.tipue.com/search/ http://www.tipue.com/search/ [2] https://24ways.org/2018/fast-autocomplete-search-for-your-website/ https://24ways.org/2018/fast-autocomplete-search-for-your-we... [3] https://github.com/getpelican/pelican-plugins/tree/master/tipue_search https://github.com/getpelican/pelican-plugins/tree/master/ti... [4] https://github.com/jekylltools/jekyll-tipue-search https://github.com/jekylltools/jekyll-tipue-search
- softwaredoug 7y agoI think the article implies you're a programmer implementing search, not that you're taking an off-the-shelf system and just plugging it in. Just like "falsehoods programmers believe about websites" wouldn't make sense if you were using Wix...
- afturner 7y agoThis is both awesome and so so discouraging. Does anyone have some direction on how to produce good search systems??
- binarymax 7y agoIn addition to @softwaredoug's comment is his book "Relevant Search", it's a great starting point! https://www.manning.com/books/relevant-search https://www.manning.com/books/relevant-search
- softwaredoug 7y agoFocus on measuring search quality and methodology first. Be a scientist. Great search teams obsess about methodology. Treat everything you try as a hypothesis, not guaranteed to work. Create a feedback loop that improves the pace of experimentation. Other than that, the solution space is just as wide open as regular programming. It's just in many ways more frustrating because nobody knows what they really want from search, they just "know it when they see it" and no two users really can agree on what a good result is! :)
- mayank 7y agoThis is a very, very insightful point. I would add: never expect a singular "perfect" algorithm, but rather build a framework that lets you blend (and evaluate/weight) the signals from various hacks, workarounds, heuristics, and "proper" algorithms.
- GooglePleaseDie 7y agoWork at Google, learn how they implement search. Then do the exact opposite.
- JHer 7y agoI found "Search User Interfaces" by Marti Hearst very informative. It's available online for free: https://searchuserinterfaces.com/ https://searchuserinterfaces.com/
- fghtr 7y ago
- isoskeles 7y ago> Choosing the correct search engine is easy and you will always be happy with your decision I laughed, but I don't think this is a correct representation of something many programmers genuinely believe. It's worded in such a way that it's clear this is a joke. Not sure if I should read the full list if it's just going to be jokes like this one.
- amelius 7y agoHow many genuinely unique search engines are there really to choose from? (Not counting those based on the same underlying libraries)
- binarymax 7y agoYeah so that one is kinda a niche search engineer joke of the old Solr vs Elasticsearch battle that's been going on in the space for years. Sorry that some of the tongue-in-cheek-ness turned you off, but many of these items resonate closely with those of us in the search/relevance engineering space.
- deleted 7y ago[deleted]
- isoskeles 7y agoOn misspellings (since there are quite a few lines here dedicated to them), I had the fun responsibility of learning / knowing too much about how our search worked (we were/are using an old version of Solr), and started telling people that there's a way to at least do something about misspellings. After conversations with two or three product managers, it became clear that the best course of action was to do nothing at all. I'm definitely not an expert on search or human behavior, and running through all the possible interpretations of how to handle misspelled words and what the customer wants was way more work than I was prepared to do. I'll even point out that my initial suggestion was, "Let's just copy Google and do, 'Did you mean to type _______?'" Even that was met with, "what if the customers X" "what if the customers Y" etc. etc. Wasn't worth the time (at the time).
- aflag 7y agoYou could call it related searches and only display the suggestion when all words are either in the products catalog or in the dictionary, also checking if the query returns something with a phrase search. That can help with typos without ever being to weird
- sethammons 7y ago> A customer using the same query twice expects the same results for both searches Really, this is a falsehood? Like, I want the same query to give the same results given the same dataset always. When do you not want that?
- deleted 7y ago[deleted]
- jldugger 7y agoWhen the datasets are not the same -- the web is ever evolving, and if I just upgraded Ubuntu, I want the latest results for my search query about why a software package isn't working.
- binarymax 7y agoThe gist of this is that customers sometimes re-enter the same query after it failed thinking they'll get what they want the second time. The lesson here is that you can't assume what the customer wants because you don't know. Information needs can be unconscious and contexts between the same query entered twice may have switched.
- dexen 7y ago>>> A customer using the same query twice expects the same results for both searches Of course this is false; please consider: - customers expect to see in search results whatever new information they added/updated in the system (this is related to "Customers don’t expect near real time updates"); - customers expect "personalized" search results; having built up a history of searches centered around particular subjects (say, programming), you'll expect much different results for "string" than the general population gets; - customers expect new/more results having logged in, or having gained new permissions/roles; - customers running "knowledge" or "command" queries ("what is the weather?" "password 16") expect varying results
- draw_down 7y agoWhat is the point of lists like this? It seems like it would be a lot more helpful to offer something constructive instead of meditating on what rubes we are.
- jimmaswell 7y agoSearch engines work like databases - Too vague but arguably yes in the abstract. Search can be considered an additional feature just like any other - Yes? How do you falsify this? Search can be added as a well performing feature to your existing product quickly - Yes if you're using a CMS with search already there like Drupal, or you can use that thing where your search uses/directs to Google.
- iforgotpassword 7y ago> Search can be added as a well performing feature to your existing product quickly - Yes if you're using a CMS with search already there like Drupal Adding a feature by using a product that already has that feature is not "adding a feature to a product". It's "doing nothing since there's nothing to do". ;-) Using Google search for pages might work for simple sites that mostly host text content, but not for things like "find all foos that are between 20 and 30 kg".
- jimmaswell 7y agoIf it's just a few things like "find all foos that are between 20 and 30 kg" then that might be nothing but building a simple query out of a few criteria. Not all searches need to be or even aspire to be a super-general search like Google. The ebay search probably isn't all that complicated (relatively) for example. If you're trying to make another Google for some strange reason then the article applies more.
- Lowkeyloki 7y agoI wonder if that one was meant to be controversial as it was the first item. My pedant sense started tingling immediately. Search engines don't work like your standard RDBMS with SQL and whatnot. You can't just make a SQL query with a LIKE operator and just call it a day if you want modern, featureful searching. But a search engine is absolutely a database. Lots of things are databases even if they aren't RDBMS and can't be queried with SQL. Although, as a side note, I have seen some interesting projects that allow you to query things like file systems and operating systems using SQL, or at least syntax largely inspired by SQL.
- binarymax 7y agoHowdy. Author here. Really cool to see so much good discussion on this. I want to turn several of them into blog posts on their own with explanations/stories/what-have-you. Taking votes for what you'd like to see first. For the record, my fave is "Languages don’t change".
- dexen 7y agoThank you for the thorough and practical write-up. About the only thing I would add to it is i18n concerns. A few quick ones off of the top of my head: - Words are separated by whitespace or dashes. - Customers only ever enter ASCII. - Customers only ever enter accented characters with/without accents. - A "Unicode-capable" system will happily take in any valid unicode. - A "Unicode-capable" system will pass through any valid unicode undisturbed. - Software systems perform Unicode normalization. - WinNT API is UTF-16. - There is 1-to-1 mapping between uppercase and lowercase. - Unicode collation algorithm is optimal for every single language. - Unicode collation algorithm is optimal for multi-language document sets. - Distinguishing/coalescing plural and singular forms of words is easy. - There are separate plural/singular forms of words. - Words have stem and optional suffixes, but not prefixes. - Soundex etc. works for every language.
- binarymax 7y agoThanks! Nice additions!
- mikesickler 7y agoyes! tokenization and problems with word boundaries alone would be great to dive into!
- ProblemFactory 7y ago> There are separate plural/singular forms of words. Or that there are just two plural/singular forms (1 and many) for translating strings, or that which form to pick is clear. While English has one form for 1, and one form for 0/many: - French pluralises 0 the same way as 1, - Czech has a form for exactly 2-4 items, - Irish has forms for exactly 3-6 and 7-10 items, - Polish has a form for all numbers that end in 2-4, - Russian has a form for all numbers that end in 1, - Arabic has forms for exactly 0 and 2 items, ending in 03-10, and many more. A strings table will need at least 10+ variants if you want to translate strings referring to number of items.
- burtonator 7y agoMy favorite is "languages don't matter and I can just throw text in there"
- 33degrees 7y agoRelated to "Customers who know what they are looking for will search for it in the way you expect", many people don't understand that a search engine works by matching text strings (albeit in an often sophisticated way). They see it as sending commands that the search engine understands, and will then find results for...
- jakear 7y agoI know VSCode had an issue where people would type whole sentences into the settings search bar. They got around it by incorporating some of Bing’s NLP logic. Goes to show, even amongst the “technically inclined” (those who not just use VSCode, but also try modify things in it), this still holds.
- astura 7y agoI'm just waiting for the inevitable article titled "Falsehoods Programmers Believe Lists Considered Harmful."
- billfruit 7y agoOne major annoyance,hard to search for any topic related to c programming online, one has to wade through mountains of results on C++ and C#.
- kccqzy 7y agoI think this article is setting up a pretty high bar for search. For small datasets, you can very well just add an automatically generated "description" column in your database, and then do a SQL LIKE query: it's a simple substring matching. It's by no means smart, doesn't handle misspellings or anything, but it works reasonably fast and predictably. This is basically how almost every desktop app with a search bar works. This is how word processors and editors work when users search within the document.
- mattmanser 7y agoYeah, I rolled my eyes after opening the article, it's a load of tosh depending on what your need is. I have written search engines for a couple of sites that combined serve about a million uniques a year. It's not great, but it's not terrible, and took less than a week. People search for places and names, so it's quite easy to match them. We looked at one of the open source engines, but it was a lot of effort for not a lot of gain, and essentially adds another significant moving part to go wrong.
- Kluny 7y agoThis is more or less what I recently told a client who wanted search on a utility I built him. He wanted rich search, like using quote marks and database operators, but his budget for the whole project was about $1500. I told him that I could build the entire project, plus simple searches on the description fields with wildcard matching. Or I could give him fully featured search by using third party software, but for triple the budget. Explaining it that way got the message across, and it turned out that simple search was enough.
- binarymax 7y agoSorry but that’s going to result in a pretty horrible search experience. If you are putting a search bar on your page and that’s your search backend - you might as well skip search entirely because it’s only going to cause you and your customers pain. The difference with find on page is that it’s obvious and transparent what is being searched and the expectations of the interface. Trust me when I say that a search bar to a layperson on your site is them thinking “oooh I can google”
- dsego 7y agoThat I actually want Sublime Text to stop responding for 5 mins while searching for a single space character across my entire project.
- nickjj 7y agoThere's also: That we want well known standards like CTRL + F in a browser to be hijacked and replaced by default with a custom search experience that's a lot worse than a browser's search. Try CTRL + F'ing on Stripe's documentation: https://stripe.com/docs/api/plans https://stripe.com/docs/api/plans
- DanFeldman 7y agoI don't see an issue, their widget allows me to go back to my default ctrl-f by pressing it again.
- nickjj 7y agoThe main issue is it's on by default and it's a vastly inferior search UI to what everyone has been using to search / skim a page since browsers existed.
- dredmorbius 7y agoWhat does that do? (Mobile, cannot invoke keyboard on page, JS disabled.) And behaviour may change. Just tell us.
- nickjj 7y agoInstead of being able to hit CTRL + F and immediately search and then have your browser highlight matches and decorate your scrollbar with where results are (so you can skim), they decided to override that behavior and introduce their own take on what search results should look like. One that takes multiple seconds to get a response on a search and it's all contained in a tiny modal dialog box that has no skimmability and when you click one of the results it does a new page load to bring you to the results. Stripe is usually a superb developer experience. Truthfully I have no idea how it ended up in production as a default option.
- redisman 7y agoIt's something like "Go to Resource" in code editors. Tries to navigate to methods / things based on what you type
- salutonmundo 7y agocough "setup" is a noun, "set up" is a verb </pedant>
- bryanrasmussen 7y agoI've implemented search engines for small to relatively large organizations. Even at the companies where nobody knew anything about how search hardly any of these falsehoods were believed. Also this doesn't work as a good Falsehoods Programmers believe thing subject because Falsehoods programmers believe are not about technologies but about non-technological things that are commonly needing to be handled in programs - hence Falsehoods programmers believe about: Names, Phone Numbers (sort of technical but it's not falsehoods about how phones work, but rather about how phone numbers are structured and what they 'mean'), Credit Cards, Addresses Good possible future Falsehoods programmers believe about: Sleep patterns, Personal identifiers, Genders In fact I am currently dealing with a falsehoods programmers believe about versioning of laws and standards at work.
- blowski 7y agoEric Myers needs to write an article called “Falsehoods developers believe about writing falsehoods developers believe articles”.
- rzzzt 7y ago"Falsehoods programmers believe considered harmful"
- blt 7y ago'Why "Falsehoods programmers believe" is not my favorite genre of programming article'
- EmilStenstrom 7y agoFalsehoods programmers... you wouldn't believe what comes next?!!
- kdeldycke 7y agoAlready tried to compile such a list, "Falsehoods Programmers Believe About Falsehoods Lists": https://kevin.deldycke.com/2016/12/falsehoods-programmers-believe-about-falsehoods-lists/ https://kevin.deldycke.com/2016/12/falsehoods-programmers-be... :D
- markbnj 7y agoI don't know, the first third of the list contained about ten things I don't think any programmer believes about search, so I gave up at that point.
- ummonk 7y agoPretty much none of these are things programmers believe about search. Putting limited effort into creating a mediocre search feature doesn't mean that you believe these falsehoods; it just means that you're too resource constrained to put serious investment into creating and improving a high quality search feature.
- ashelmire 7y agoFalsehoods Google, Microsoft, JIRA, and others seem to believe about search: That, when searching for a string, I don't want exact matches to appear in the results. If your search ever DOESN'T return exact matches (barring common misspelling correction), you're doing something seriously wrong.
- yread 7y agoNo kidding. The other day I searched for a gas station on google maps and got bus station instead
- ineedasername 7y agoit seems like it used to be much easier to get Google to return exact matches. Just my subjective experience of course, but as accuracy for word-sense-disambiguation significantly improved it seems like Google has become much more comfortable returning what it believes are close or related matches. Overall it's probably better search, but I find myself having to put things in quotes more than I used to when looking for a very precise result.
- rq1 7y agoThis.
- VikingCoder 7y agoI'm not sure I understand you. If I search for "restaurants", I want search results that ARE restaurants, not search results which have the word "restaurants" in them. What do you want to have happen?
- jackconnor 7y ago"Once setup, search will work the same way forever" - I don't know a single programmer who believes this about any software.
- kazinator 7y agoSearch interfaces should have a configuration for smart users: [ ] Disable fuzzy parsing hacks (reject my queries if they have bad syntax). [ ] Don't search for sound-alikes; assume I spelt everything rite. [ ] Respect the non-alphanumeric characters in my query, which I put there for a reason.
- jasonhansel 7y agoI would add to the list of falsehoods: - customers are always searching for a specific item, rather than an entire category - customers know that a search engine for one kind of item (e.g. products for sale) won't also search the entire rest of your website
- Lowkeyloki 7y agoAs with many of the other commentors here, I wonder how many programmers truly believe these things. Maybe as recently as the 90s or 2000s. Maybe developers who are fresh out of school. But we've had search engines as a major part of our lives for about two decades now. Most of us use one at least daily. We're familiar with the complexities of search engines and how they differ from simply searching a document for an exact string or even a regular expression. Many programmers like me work with tools like analytics and log aggregators that expose the complexities of search to us in a way that's more intimate than the veneers of Google and Amazon. Maybe I'm just lucky in that my experiences have dispelled these notions of search being easy or simple. But I hope I'm not alone. Also, there's a disparity between what search is and what your users expect. Technically, I could make a really simplistic "search engine" that amounts to a SQL LIKE query. It may not be good or what users might expect coming from Google/Amazon/etc, but it would be a search engine. (Oops. Looks like my pedant hat slipped back on when I wasn't looking.)
- jillesvangurp 7y agoI've implemented a fair bit of search engines. Usually the problems are with non technical people in a project. I've had to coach a fair bit of product owners and UX designers on the basics of search. There are two issues I tend to have with them: 1) they avoid things that they think are hard that just aren't 2) they are unaware of features that e.g. Elasticsearch would support that are highly relevant to their project and therefore don't plan for using those. A UX person thinks of search as a text box "like google". However, a lot of search UIs have a lot going on when you start typing and when you get results back to refine search results, DYM corrections, breakdowns/aggregations, suggestions, etc. A lot of these features require careful planning and design and are not necessarily easy to bolt on if you don't. I've also had to do basic things like patiently explaining the difference between sorting and ranking and humbly suggesting that, maybe, having a multi column layout with sortable columns isn't necessarily the right thing for presenting search results where the output is a list of stuff in order of relevance. Engineers are easier to deal with once you sit them down and talk them through how stuff works.
- deleted 7y ago[deleted]