9 ms·
Avoid Artificial Stupidity
- noodlesUK 7y agoI think this ties nicely into the recent discussion about usability testing: https://news.ycombinator.com/item?id=20435669 https://news.ycombinator.com/item?id=20435669 Many of these problems could be identified by simple corridor testing of the whole purchasing life cycle. It’s not glamorous, but grabbing a few ordinary people and asking them to run through a workflow will identify pain points like this. Getting the low hanging fruit here would make the experience vastly better than most online stores.
- tatersolid 7y agoThis seems like a common side-effect of an overly segmented microservice architecture. I’ve noticed this pattern numerous times, my guess is service/feature teams want to avoid at all costs taking another service dependency (and all the testing and coordination that entails) so they just punt. Sometimes a big old RDBMS housing all of your data which is actually already related in reality makes the most sense.
- ascales 7y agoI'd say it's more bad UX testing and bad project management over implementation or infrastructure. A well designed feature-set can be architected a nearly infinite number of ways.
- Ididntdothis 7y agoSome architectures make it easier to combine data than others. In one big database it’s relatively easy and quick to look at data from a different angle. If your data is distributed over several systems it’s much harder and takes longer to implement.
- futureastronaut 7y agoWhat if I told you that you could be hobbled by inconsistent, scattered state in a system not expicitly designed to be distributed. There's no point in jumping to the conclusion that they are using a design you're familiar with.
- alkonaut 7y agoThis. A web shop with carts/checkout, inventory, search etc should be one monolith service over one database - even if your operation is a global megacorp. Do try to split it into microservices all you want, but if anyone notices (such as having to enter something twice) you failed.
- skrebbel 7y agoThat will only work if the entire "global megacorp"'s database is the web shop database that you describe. How else are you going to show availability of products in a shop nearby you? How are you going to combine the webshop's delivery logistics with the distribution centers of the entire brick&mortar retail chain? How are you going to expose loyalty card benefits online? How are you going to keep the product catalog in sync with what's in stores? Like all retail bigcorps, I assume that IKEA has lots of internal systems, half self-cooked, half based on SAP or Oracle or whatnot, that together form the entireity of their operations. These formed long before "microservices" were hip and trendy and will be around long after the hype has died away. The webshop is a part of all that and it must be closely connected to the rest of the IT in lots and lots of places. So, what you're suggesting is "IKEA should just rebuild their entire product, sales, supply&demand, logistics and finance IT from scratch in a single monolith on a single database". That'd be a fine end-result indeed, but unachievable on any timescale.
- detaro 7y agoI'm sure SAP will gladly spent a few billions of their money trying :D
- alkonaut 7y agoThey don’t need all IT in one service but the web shop needs at least a view of accounts, inventories and so on. That db can be a cached view which means it behaves as a single db with staleness issues (changed passwords or preferences may be stale, you may be able to add things to a cart that appears to be in stock but really is out of stock in the true inventory etc.). It’s better to have such a poorly working illusion of a single db than to have no such illusion at all which means having to log in multiple times etc.
- VBprogrammer 7y ago> Sometimes a big old RDBMS housing all of your data which is actually already related in reality makes the most sense. Which is all fun and games until some intern gets asked to add a 'most popular' sort to the search page. He quickly figures out where the 'OrderProduct' table is, throws in a quick count and a group-by to the search query and the whole site gets taken down by it. Of course I take your point but there is somewhere between everything in one monolithic DB and every bit of data has its own microservice. It needs good judgement to divide it appropriately.
- marcosdumay 7y agoThat's why you do stress testing with production data... That I know the store won't do. But then, if they are so large that it's a crisis, they have no excuse, and if they are small enough to have an excuse, they quickly revert to the last version and try to discover what went wrong.
- _bxg1 7y ago> Facebook: “Provocative racist bookcases that will make you angry.” Pahaha
- kareemm 7y agoI moved coasts and renovated an old house last year. And consequently I've spent a LOT of time on Ikea's website and at our local store. I'm stunned at how terrible their online experience is. The parent article summarizes a bunch. But Ikea misses out on basic blocking and tackling ecommerce items like product descriptions, dimensions, related products in the collection, inventory levels (not always accurate), etc. It makes me wonder how much money they're leaving on the table with that experience.
- onion2k 7y agoBut Ikea misses out on basic blocking and tackling ecommerce items like product descriptions, dimensions, related products in the collection, inventory levels (not always accurate), etc. Ikea's site has all that product information and more for most of the products in the search listing - but you do have to hover over things to see it. What is quite interesting is the variation between the product pages between different countries. US - https://www.ikea.com/us/en/catalog/products/90394559/#/10394558 https://www.ikea.com/us/en/catalog/products/90394559/#/10394... Japan - https://www.ikea.com/jp/ja/catalog/products/40375134/ https://www.ikea.com/jp/ja/catalog/products/40375134/ UK - https://www.ikea.com/gb/en/p/songesand-wardrobe-white-90347351/ https://www.ikea.com/gb/en/p/songesand-wardrobe-white-903473... The Japanese site is much more 'rounded' than the US site, and the UK site has most of the information hidden away in an accordion UI. Presumably they've tested and found each variation works best in each region. I'd love to see their metrics.
- roystonvassey 7y agoFor a multi-national operating entity, local customisation and even their entire website is often delegated to the local, legal entity itself. So, while some of this might be intentionally done, like you suggest, because of metrics, I suspect in most cases, the local development unit built their own product page, because they had to.
- kareemm 7y ago> Ikea's site has all that product information and more for most of the products in the search listing - but you do have to hover over things to see it. My issue is with completeness. Not every product has the basic information I'd need to decide whether to purchase it or not. Which means I don't purchase those products. Which means lost revenue for Ikea.
- dkarl 7y agoMy search for a bookcase starts on ikea.com, where I navigate to the bookcase section, in the hope to get an overview of the different series. I find instead a listing of all 257 bookcase products, including accesories, such as hinges and extra shelves. The full listing not give me an overview, however, and I do not find anything useful. An impatient customer could have given up at this stage This is thinking from the perspective of someone who can take advantage of a logically structured site. I can tell you that when engineers think this way, the result is usually serviceable as a first pass, but product comes back with requests that make you rethink everything. To play devil's advocate, I can guess the goal with this first page of results might be to show enough different kinds of results that users will keep pressing "Load More" until they find what they want. Imagine somebody comes to the site for parts for their bookshelf, searches for "bookshelf," and sees nothing but complete bookshelves in the first page of search results. They aren't going to scan the page for links to the product category they're looking for. They aren't going to "Ctl-F parts" like an HN reader. They might not even search for "bookshelf parts." They might give up right there. So product tells us we have to make sure that the first page of search results contains some bookshelves, some parts, some accessories, at least one result from each product category. That way the users will be enticed to mash "Load More" again and again until they see what they want. Or maybe it's some other quirk of behavior that makes this design better. Or maybe they've put no effort into the design at all. I wouldn't presume to know, but on balance my money would be on engineers already having offered to make changes like the author is requesting, and product/UX rejecting those changes in favor of the current version.
- ebg13 7y ago> Imagine somebody comes to the site for parts for their bookshelf, searches for "bookshelf," and... ...is presented with two major subcategories: "bookshelves" and "bookshelf parts". Problem solved.
- eitland 7y ago> This is thinking from the perspective of someone who can take advantage of a logically structured site. I can tell you that when engineers think this way, the result is usually serviceable as a first pass, but product comes back with requests that make you rethink everything. To play devil's advocate, I can guess the goal with this first page of results might be to show enough different kinds of results that users will keep pressing "Load More" until they find what they want. In my eyes this is a variation of the HN classic: my users are so stupid I need to remove or break stuff that would be useful for 99% of my userbase.
- binarymax 7y agoBreaking news: e-commerce site's search is horrendously broken. This is why folks like me have a job. Search is hard. Ikea adding ML here would just cause more problems and add complexity. They just need a relevance engineer.
- eitland 7y agoCan we restrict the term artificial stupidity to bad implementations of artificial intelligence? What is described here is more like plain old stupidity (edit: or something I'm not smart enough to understand ;-)
- vinceguidry 7y agoMost anybody is smart enough to understand anything, they just typically aren't knowledgeable enough to grasp it quickly. Stupidity, in the other hand, is misapplied intelligence. You willfully go the opposite direction from the proper one. AI is ignorant if it hasn't been trained, stupid if it is trained but has insufficient direction. At least to my mind.
- kypro 7y ago> Most anybody is smart enough to understand anything I don't think this is true. At least for me it's not. In general I pick things up pretty quickly, at least above average. But there are certain things I know I've tried extremely hard with but I really struggle to even be competent. I also know some people which I'd consider a little slow and not from a lack of effort, but they have amazing abilities in other areas which I suck at.
- vinceguidry 7y agoOne of the more interesting things I've read recently is that there's a certain strain in math where a concept isn't considered to be understood until it can be taught to an undergrad math class. Most anybody can make it to an undergrad level of academia. Meaning the world as a whole doesn't understand something unless there exists one person who can explain it at a level that anybody can reasonably attain. Once this happens, it's only a matter of replication. The domain of knowledge is far flatter and the role that intelligence plays is way smaller. You need to be really smart if you want to make advances in the knowledge of mankind. Not to understand what's already been discovered. If it's already been discovered and understood, then you can't fault intelligence for not providing you with the understanding. You just didn't luck into taking the right class.
- phkahler 7y agoThis problem has nothing to do with AI and the plot is as hard to find as the bookshelf. TLDR: The author wants better ways to filter available product options at IKEA.
- beat 7y agoSome years ago, I worked for a big box retailer on their public-facing catalog api. It was a pretty exotic thing when it came out, as that data was all trade-secretive - which was dumb, because then they just had web scrapers brutalizing their front end to get the data that was public anyway. So on the back end, the api collected data from many different sources within this very large company, and put it in nice api form. This was technically cached data, and could get stale, but really, most of it was sufficiently up-to-date most of the time. Turned out the biggest customer for this data was the company itself. Lots of individual projects, needing some obscure piece of data or another, could get it from the api, rather than having to hunt for whatever department actually owned the data, and working out access arrangements on a piecemeal basis. I'm sure it saved countless thousands of hours of work, and greatly improved both quality and time to market for projects. Looks like maybe IKEA could use something like that...
- RhodesianHunter 7y agoThat's funny, for a few years I worked for an organization that did the front end crawling / brutalizing of most of the major retailers for their data. Afaik most still do not intentionally provide any data publicly and many spend extravagant amounts on anti-crawling tech to prevent it, resulting in an expensive arms race over ostensibly public data.
- beat 7y agoYeah, it's just dumb, pseudo-paranoid thinking. Crawlers are going to get it anyway, and it's publicly available, so why not make it easier for everyone? And like I said, our biggest customer was our own company. It saved an incredible amount of hassle.
- marcosdumay 7y agoI always wondered what those companies think they'll gain by hiding the products they sell.
- gregmac 7y agoIf you put something on a public site it can be harvested, and there's really no stopping that. It's like video DRM: you can spend billions on the tech, but ultimately, if nothing else, anyone can still aim any camera at the screen and make a copy. There's only two reasons I can think of that companies would bother with this: 1) they are ignorant or delusional about it and think they can beat the crawler (which could be a third party making money by convincing them they can do it) 2) It forces the crawler to spend more money chasing their blocking I'm not sure what the benefit of 2 would be, though, unless you could make them spend so much money that their entire operation is unprofitable. Aside, as a developer, it might actually be entertaining for a while to work on (2) - constantly changing strategy to defeat scrapers - but I can also see getting burned out pretty quickly.
- caiocaiocaio 7y agoBuried lead: Ikea sells a bookcase named 'Billy'.
- kyberias 7y agoAnd that's the best bookcase in the world.
- hellofunk 7y agoA word to the wise, don’t attempt to read this website on your phone.
- nathan_long 7y ago> My search for a bookcase starts on ikea.com, where I navigate to the bookcase section, in the hope to get an overview of the different series. I find instead a listing of all 257 bookcase products, including accesories, such as hinges and extra shelves. This is a very common frustration I have. Eg, go search Amazon for "bike" and sort by price "low to high". None of the top hits are bicycles; they are all accessories. ML seems to be about guessing what the user wants based on lots of data analysis. But I think there are lots of cases where letting the user tell you want they want, by providing a hierarchical menu or explicit filters, would get much better results. One "low tech" thing I wish someone would build: an online grocery store with every product categorized by food restrictions (gluten-free, peanut-free, sugar-free, low-sodium, etc, as well as kosher, halal, vegan, etc). Check the boxes you care about in your profile and you'll only see things that match. This would be AMAZING for folks with food allergies. The implementation would be 99.9% up-front research and data entry; the actual filtering would be as simple as WHERE clauses. But I don't know of a site that does this.
- KingPrad 7y agoThis type of "low tech" idea seems like the kind of thing Google, Yelp, and all the other big companies should be doing a better job with. I have celiac and presumably Google has figured that out by now (or could, if they spent some time determining allergies for accounts). Yet in Google Maps I have to type "restaurant gluten free" when looking for food options. Then I have to poke around to see which might be legitimately gluten free. I've been typing this in for a decade, and never has Maps learned this basic time-saving assumption it should make. Same with Yelp. It hasn't figured out that I always filter by gluten free and search reviews for that. It never just makes gluten free restaurants prominent, nor follows up with me the next day on whether it made me ill or things like that. As you say, it's baffling the simple filtering that could be done based on known user information. Note that my story is about gluten free, but would apply to any number of food allergies or dietary preferences, yet the "market leaders" seem unable to innovate on this specificity.
- guitarbill 7y agoi think this comes back to why diversity in tech is a good thing. by which i mean diversity of background/life experience, but of course that's hard to measure... that, or listening to customers. yes, the signal to noise ratio is high, but excellent sales people are great at that. i assume this isn't done because ads are the product, not the website itself
- cosmotic 7y agoThe author indicates it would be good for data to flow around but sometimes data pre-population is annoying or uncanny. If I'm 1500 miles from my home visiting a friend, populating my home zip code would be frustrating. The fact that LG knew my name when I went to register even though I had not logged in, that is unsettling.
- vipbababd 7y agoMost anybody is smart enough to understand anything, they just typically aren't knowledgeable enough to grasp it quickly. Stupidity, in the other hand, is misapplied intelligence. You willfully go the opposite direction from the proper one. AI is ignorant if it hasn't been trained, stupid if it is trained but has insufficient direction. At least to my mind.
- vipbababd 7y ago> Imagine somebody comes to the site for parts for their bookshelf, searches for "bookshelf," and... ...is presented with two major subcategories: "bookshelves" and "bookshelf parts". Problem solved.
- CoderUberDriver 7y agoMy latest complaint: I am driving down the highway. I want Starbucks. I open Google Maps on the phone I have mounted on the dash. I tap "star" and get a list of Starbucks location. What's this? The first one in the list is 15 miles behind me. I'm pretty sure there is one a mile ahead, but I can't take my eyes off the road long enough to find it. I try "Ok Google" but it also doesn't take into account the direction I am heading.
- metalgearsolid 7y agoI think the author takes for granted the amount of work involved in software engineering. I work for a startup who's product has glaringly obvious flaws. But someone has to do the work of writing code to improve upon existing features. And there are a zillion other things that a business can choose to prioritize over improving an existing feature that gets the job done.