Hacker News new | ask | show | jobs
by ThePadawan 1383 days ago
Not parent, but here's an example from a past project.

Customer: "Could you make the 'name' field of this entity longer? We need to add longer names."

Me: "Why?"

Customer: "Well, we want to name the entity '2022 - Spring - $500k - Contoso Inc. - Presale stage' so we can find it more easily."

Me: "So what you actually want is to be able to filter/search for entities by all those values, and you're just using the name as a workaround because it's all you have."

Customer: "Well that's how we do it in Excel."

3 comments

This is why listings on Amazon are a million words long. They do an adequate job pulling important attributes into the metadata so you can filter on them, for some categories. For example, the size and type of TVs. But it's not really possible to do that for all product categories. Moreover, users can't easily see the attributes in the search page, so it's best to just put it all in the title. For things like motherboards, they get super dense with jargon.
I worked at Switzerland's biggest online retailer whose USP was that it actually did strongly typed attributes really really well.

To date, it's still incredibly searchable. Want to find a 5.5" phone running Android 10+ and at least a 12MP back-facing camera for below $350? You can filter for it.

It was an absolute nightmare on the (normalized, backend) technical level, but a real pleasure to consume on the denormalized, frontend level.

https://tweakers.net/pricewatch/ is also a great example of this. No idea how they do it.
As someone who worked in the space - there are standards and commercial solutions which all do lots of good work (some are now unfortunately having to break into the AI space, literally because manufacturers are too cheap to use standards).

But they all come at some cost - my employer decided to cheap out slash invest in a highly custom in-house solution instead that relied on lots and lots and lots of data entry.

This SO MUCH!

It doesn't matter that you can add any fields you want in Salesforce, and we do, nobody will use them and continue to encode all the information in the title of the object.

Funnily enough - I was building this application ...to replace Salesforce (for this business process, not company-wide).

Because the person managing Salesforce approved all requests to add any field, there were just 400 instead of the 5 I mentioned, and none had any validation - so no one knew which ones to fill with data, which ones to keep updated, and which ones absolutely to never touch because you would accidentally commit fraud because you falsified sales figures.

Worst part is, even if the fields are there (let’s say in JIRA) there will still be a soulless bureaucrat middle manager who’ll regularly remind everyone by e-mail to use the “JIRA task title template guidelines” so you end up with stories like “[PRD][Feature X][XL][Development][JAVA] Bugfix for calling API Y with empty order ID [Prio 4][Impact 2][2022Q3-sprint5]”