4 ms·
“I was only following the requirements” at this point must be the Nurnberg defence of over engineering. If it quacks like a duck, doesn’t matter what you call
by whstl 2mo ago
“I was only following the requirements” at this point must be the Nurnberg defence of over engineering.
If it quacks like a duck, doesn’t matter what you call it: it was over engineering.
- mrb 2mo agoIt would be over engineered if one could design a system providing similar functionality using less hardware and less software. I challenge you to design a wireless doorbell that has a user-configurable chime, in a way that uses less software or less hardware than mine. You couldn't. In fact, if you did market research like me you would find that 99% of similar products have vastly more complex hardware or software or services being them. They break when there is no Internet. Some work without Internet but don't work when the local Wi-Fi is non functional. They don't immediately get back online after a power outage. They need regular software updates during which the chime can't play. These are over engineered things. Not my product, because mine has none of this complexity or faults.
- whstl 2mo agoChallenge accepted: "Similar functionality" here is the same doorbells that have existed for over a century. Done. :) If the requirements and constraints come from you, then saying "those are the requirements" doesn't settle anything. And is the same excuse people use for the over-engineered solutions you don't seem to like. It is over-engineering compared to a regular doorbell, period.
- rantingdemon 2mo agoOP stated it requires a user configurable chime. This is not a regular doorbell.
- ncruces 2mo agoYes, and the person engaged with them is pointing out that more complex solutions exist because someone added other requirements. Maybe “I want a configurable chime” is just a less popular requirement than “I want to be notified on my phone even if I'm not at home.” Also, Excel is famously complex because, despite most users only using 20% of the features, no one uses the same 20%, so if you want cover close to 100% of the market, you need to ship features that are useless to most of your users.
- whstl 1mo ago> Yes, and the person engaged with them is pointing out that more complex solutions exist because someone added other requirements. Precisely. The Wi-Fi and Linux solution that was called over-engineered just happened to have different requirements. Engineering is a collaboration, not blindly solving very specific problems.
- close04 1mo ago> Excel is famously complex because, despite most users only using 20% of the features, no one uses the same 20% I think you're comparing 2 very different scenarios here. Excel is solution engineered to meet every requirement under the sun, for every possible user. "The doorbell" is something designed and built by 1 person to meet exactly their own requirements. whstl (the other commenter) insists that he is better suited than the benefiter and builder of that doorbell to decide what is a good requirement and he's willing to make tasteless jokes comparing anyone who doesn't agree with his assessments to Nazis on trial at Nurnberg [1]. You'll notice that whstl didn't even ask why the requirement exists in the first place, just concluded it's wrong (it's something they teach you on day 1 of engineering school, build whatever you want, better if you don't ask questions where the answer might inconvenience you). When you have a requirement would you take the word of someone on the internet just saying it's not a valid one? [1] https://news.ycombinator.com/item?id=49506886 https://news.ycombinator.com/item?id=49506886
- deleted 1mo ago[deleted]
- ncruces 1mo ago> "The doorbell" is something designed and built by 1 person to meet exactly their own requirements. Nothing wrong with that. Also nothing wrong with people going to great lengths to build an Excel replacement that fits their exact requirements like glove, by ignoring 99.9% of what makes Excel … excel. The issue is calling Excel over engineered for catering to everyone else: > You would be surprised that 99% of the solutions out there are complete over engineered stacks that depend on wifi devices, Internet access, connecting to various cloud services... Even if all some people wanted was a custom sound on their doorbells, I bet many of those people will want to transfer the sound using a smartphone rather than an SD card they can't modify with a computer many don't own. And, given that capability, even more people will want to be notified of a ring on their phones, and then why not when they're outside (maybe on the backyard) away from the LAN, and then why not while they're at work, and so on and so forth. The “over engineered” solutions are actually engineered to cater to everyone else, that is all. And to make whstl's point: I find it much easier to justify internet and cloud to support a doorbell that's genuinely more useful (rings remotely) than SD cards and custom hardware to justify something as … frivolous as changing the bell's sound. PS: I just spent $70 modding a $20 Casio watch. I loved every second of it.
- mrb 2mo agoYou completely missed the part that the chime needs to be user-configurable, ie. play a custom MP3 file. You don't provide that.
- whstl 2mo agoI didn't miss it. I have acknowledged the requirements and have challenged them. What I am stating is that "it was in the requirements" is not a "get out of jail card" when someone says it's over-engineered. All I'm saying is that it's a very comfortable position to abstract away personal responsibility and say "I'm not over-engineering, that's what X wants", but that's exactly how we get the over-engineered Linux-plus-wi-fi doorbells.
- trial3 2mo agoyou’ve successfully over-engineered the whimsy and joy out of their original idea
- whstl 1mo agoI never claimed I wasn't over-engineering the line of thought, though. :) I'm perfectly fine with people having fun or over-engineering stuff, I'm just pointing out that it's still over-engineered in the end. Which is 100% fine!
- buran77 2mo agoDon't overthink it. If you judge the engineering then you look at how the implementation reflects the requirements, not whether the requirements are good. Over-engineered simply means there is much more in that implementation than the baseline needed to tick off the requirements.
- whstl 1mo agoI disagree. IMO this mindset is not how you make good engineering or good products. As an engineer (the traditional kind), I don't really appreciate nor can I afford the "not my problem" attitude of doing engineering in a vacuum, because in the end it's my responsibility.
- streetfighter64 2mo agoGodwin's law was invoked quickly. It's not very hacker spirit to hear a story of somebody putting together a cool hardware solution to do something they wanted, and then complain that they wanted the wrong thing. > check out my hand-embroidered curtains, it's got exactly the flower pattern I wanted > yeah well you shouldn't want flowers on your curtains, just buy plain white ones from the store
- whstl 1mo agoI'm not really passing judgement on the project itself, or its validity, and I think it's cool. I'm perfectly fine with someone saying "I over-engineered this" or "I hand made this". I do this all the time myself... I'm just pointing out that "it's in the [my own] requirements" in this case does not really make something "not over engineered".
- HelloMcFly 1mo agoIs building a bookshelf with adjustable shelves is "over-engineered" because a single fixed plank would hold books just as well? Who gets to be the arbiter on which requirements are the "real" requirements?
- whstl 1mo agoIt should be considered fair to say that some things are over-engineered in relation to others. This is a matter of (hopefully informed) opinion after all. Also opinions will change after time, or after analyzing the problem space better. GP also said that lots of product in the market are over-engineered, so I don't see why my view (that this is an over-engineered doorbell) is controversial at all.
- streetfighter64 1mo agoIt's controversial because your definition of "over-engineered" is different from most other people's understanding of the term. Most people would take it to mean "using more complex systems than needed to achieve a given outcome", while you are defining it more like "using any system at all to achieve an outcome that I consider unnecessary". The former definition is somewhat objective in that it can be tested and proven, while the latter definition is entirely subjective and sort of meaningless. I could just as well state that any doorbell is over-engineered since you can just knock. > GP: The minimum of 5+x^2 is closer to 5.5 than 10 > You: If you were minimizing 3+x^2 you could get an even lower value