4 ms·
It 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 wir
by mrb 1mo ago
It 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 1mo 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 1mo agoOP stated it requires a user configurable chime. This is not a regular doorbell.
- ncruces 1mo 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 1mo 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 1mo 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 1mo 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 1mo 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.