Author Topic: Unnecessary Complexity  (Read 23041 times)

0 Members and 1 Guest are viewing this topic.

Online Berni

  • Super Contributor
  • ***
  • Posts: 4923
  • Country: si
Re: Unnecessary Complexity
« Reply #25 on: February 19, 2019, 06:19:26 am »
Yes the problem is that these whizzbang new features are what sell a product.

Using TVs again as an example when a costumer walks into a store and compares two TVs of the same size and price but one has smart features, or apps or something the costumer will pick that one.

Seeing how cheep a RaspberryPi is means that it can't cost TV manufacturers more than 20$ to put a ARM Linux computer into the TV, the features are then just software. But software takes a lot of work to polish and perfect and this sinks money into the team of programmers and makes the boss unhappy about meeting the arbitrary deadline. So the software part is just quickly thrown together just enough to check all the needed feature boxes and that it doesn't crash too often, who cares if its slow, its gotta ship by the end of the month.

The same feature race has gotten smartphones quite desperate. Running out of new feature ideas they start making bezzelless/notchless screens with pop out selfie cameras, put 5 cameras on a phone, increasing screen resolutions to ridiculous levels (Like 1440p on a 4 inch screen)sticking in 8 core CPUs even tho very few things are actually multithreaded. Without any of this they are just like any other android phone on the market
 

Online T3sl4co1lTopic starter

  • Super Contributor
  • ***
  • Posts: 21609
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Unnecessary Complexity
« Reply #26 on: February 19, 2019, 10:51:00 am »
Two common causes (at least in my experience at a giant software company).

1. Deliberately making things complex to get promoted. Not always done intentionally, but often obvious from outside. This also covers cases where something existing *should* be reused but isn't, usually with little to no justification.

I've seen something like this, though it's arguable that it was the brainchild of one ornery old (past retirement, still working) firmware engineer, and therefore fits better into the one-off, personal-project sort of category.

(To add insult to injury, that project was -- oh gosh, in the 10s of kLOC, I'm not sure exactly how much, maybe 20-50? -- of C, running on a PIC24E, what a mess of a MCU it is!)

To some extent, some people like making things hard for themselves.  Masochists, perhaps?  Consider the history of the $0.03 micro among western practitioners.

Business should mostly rule out such gimmickry, but it always surprises me how much leeway there actually is in a lot of industries.  Some markets and businesses have amazingly elastic profit/cost margins.  A lot of them have low competition, or captive markets, which is probably hinting at some kind of deeper point to be made.


Quote
2. Many incremental changes done to be as small a change as possible. Laudable on their own, but after a while they can end up building up into an utter mess that can take longer to untangle than it took to get into the state.

Taking the example from another reply of Windows, this is quite justifiable -- all things considered, they've done an astonishing job of maintaining compatibility, only breaking things after multiple generations.  Win16 lasted from, what, late 80s, through NT (via NTVDM!), until Vista/7 finally dropped it!  Various compatibility settings (minor breaks motivated by various things, from improved security to, I'm sure, some plain old bit-rot of modules) have been added to improve compatibility with specific versions of the API.

So, it's absolutely no accident that their system is so much sausage.  Don't fool yourself, Linux has the same issues -- support of too many versions, on too many platforms, over too much history, with development by too many people.  No large project can possibly be coherent and, in the sense of parts versus the whole, optimized (like, I'm sure there's a lot of redundant code in there, sometimes for good reason, sometimes not).  That's simply the way it must be.  At least until we get compilers that are much smarter on much higher levels, to flag or fix these sorts of things, anyway.  But even that is risky, because who can possibly debug such a smart system?  Bugs in compilers, that's one of the most insidious places.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Online T3sl4co1lTopic starter

  • Super Contributor
  • ***
  • Posts: 21609
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Unnecessary Complexity
« Reply #27 on: February 19, 2019, 10:54:31 am »
I was reading somewhere recently that the "smart" TVs are actually cheaper than they would be without the smarts because they're subsidized for their ability to gather marketing data if you use the "smart" features. Like a lot of people I just want a display with a great picture, lots of inputs and a usable remote. Huge bonus points if it has buttons on the front bezel where you can actually use them rather than hidden away on the back or top or something. It makes absolutely zero sense for the consumer to bake an underpowered poorly implemented streaming device with a 2 year live cycle into a product with a 10+ year life cycle. The *only* reason this is done is for data gathering and to deliberately drive the sales of new TVs.

Yeah, on an individual level -- you only want a monitor that also receives TV channels -- it's a huge mess.  But taken in aggregate, it's a valid business decision, if an annoying one.

Businesses also tend to become, just annoying enough not to turn customers away.  That way they can maximize profit through those annoying means, like incessant banner ads, impossible-to-find buttons and so on.  (Personally, Amazon has lost almost all my potential business this way.  They're fucking impossible to navigate, just doesn't make sense to me.  Maybe if I bought more consumer crap I'd find it appealing, but geez.)

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19345
  • Country: gb
  • 0999
Re: Unnecessary Complexity
« Reply #28 on: February 19, 2019, 12:29:37 pm »
I hate smart TVs, just buy an ordinary TV and connect a cheap Linux PC to it. Simple and probably cheaper.

I've never understood the MCU to flash an LED thing, other than as a coding exercise, or if it's doing something else such as a timer function. I'd use a single gate Schmitt trigger IC, plus RC circuit or better still, an LED with the astable+counter built-in: no code or PCB to worry about!
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23018
  • Country: gb
Re: Unnecessary Complexity
« Reply #29 on: February 19, 2019, 12:41:35 pm »
Back in the 80s I just bought a flashing LED if I wanted to flash one  :-DD

Maybe an LM3909 if I was feeling flush.

Totally agree with the unnecessary escalation of complexity. I am currently working for a company that drank some microservice kool-aid. I’m getting paid so I don’t give a shit and I know I’m going to be paid more when they realise it was a big mistake. Sorry for being part of this. Most of the last 15 years of my life has been building the same thing again with new tech for the sake of churn and not for any real improvement.

I strive for simplicity in my own personal work however. I recently minimised a 25W CW transmitter down to 3 BJTs and a MOSFET. No computer or IC in sight. I find elegance in such minimalistic designs. Less is more.
 

Offline IanMacdonald

  • Frequent Contributor
  • **
  • Posts: 943
  • Country: gb
    • IWR Consultancy
Re: Unnecessary Complexity
« Reply #30 on: February 19, 2019, 12:41:56 pm »
Think one of the reasons is that gimmicks drive sales. The product with the most 'features' seems more attractive on paper than the one with less.

The layperson doesn't really understand that most of the gimmicks do nothing useful, and some may actually be liabilities you'd rather not have.

A problem we're faced with here, is that under new EU rules ALL safety features originally fitted to a car most be operational at its annual test. This means that having more safety features than actually required by Law is a liability which could cost you a packet or even put your car off the road. As such these regulations cannot be conducive to safety, since once the effect is understood they will predispose buyers to opt for only the minimum of safety features. However, I suspect that safety is not their objective.  :-\
 

Offline Gyro

  • Super Contributor
  • ***
  • Posts: 9410
  • Country: gb
Re: Unnecessary Complexity
« Reply #31 on: February 19, 2019, 12:51:55 pm »
Quote
Think one of the reasons is that gimmicks drive sales. The product with the most 'features' seems more attractive on paper than the one with less.

True. Back when I was designing early digital and set-top-boxes and TVs, there was a sudden fuss over demand for products that could support PIP (picture in picture) and POP (picture on picture). This became a major issue in chipset choice and the big impact of h/w changes and s/w stacks. I've yet to meet anyone who has seriously used these functions! The same with 3D TV, a big hassle to support (HDMI specs etc.) but now dropped by all major TV manufacturers and broadcasters.

Too many cases of new technologies looking for an application rather than the other way round.
Best Regards, Chris
 

Offline AntiProtonBoy

  • Frequent Contributor
  • **
  • Posts: 988
  • Country: au
  • I think I passed the Voight-Kampff test.
Re: Unnecessary Complexity
« Reply #32 on: February 19, 2019, 12:56:02 pm »
Take the Intel architecture and MS Windows for example. Why is it so ridiculously over-complex and frequently churned?
The answer is that this situation has strong benefits for certain parties, who are in positions where they are able to direct development.
Microsoft benefits from the complexity because they make most of their income from running high cost 'professional qualifications' courses. The more complex the OS, and the more often the GUI and internal details churn, the better for MS.

I think the actual reasons are more aligned with complexity arising from feature creep and technical debt. Both systems have origins dating back many decades, with features progressively layered and retrofitted atop. Most of the time, once a feature is part of the system, it's very hard to remove, because its introduction created a dependency in the client ecosystem. There is common pattern with x86 and Windows; and that is backwards compatibility as being their main selling points, which comes at a huge cost of technical debt. Intel tired to shift focus away from x86, but they failed (see Itanium). Microsoft tried to reinvent Windows APIs, or experimented with new OS kernel concepts (Singularity), and most of those projects got shelved. Easy to go down the conspiracy route "they make things complicated deliberately", but reality is a bit more complicated than that.
 
The following users thanked this post: tooki

Online Berni

  • Super Contributor
  • ***
  • Posts: 4923
  • Country: si
Re: Unnecessary Complexity
« Reply #33 on: February 19, 2019, 01:26:34 pm »
Take the Intel architecture and MS Windows for example. Why is it so ridiculously over-complex and frequently churned?
The answer is that this situation has strong benefits for certain parties, who are in positions where they are able to direct development.
Microsoft benefits from the complexity because they make most of their income from running high cost 'professional qualifications' courses. The more complex the OS, and the more often the GUI and internal details churn, the better for MS.

I think the actual reasons are more aligned with complexity arising from feature creep and technical debt. Both systems have origins dating back many decades, with features progressively layered and retrofitted atop. Most of the time, once a feature is part of the system, it's very hard to remove, because its introduction created a dependency in the client ecosystem. There is common pattern with x86 and Windows; and that is backwards compatibility as being their main selling points, which comes at a huge cost of technical debt. Intel tired to shift focus away from x86, but they failed (see Itanium). Microsoft tried to reinvent Windows APIs, or experimented with new OS kernel concepts (Singularity), and most of those projects got shelved. Easy to go down the conspiracy route "they make things complicated deliberately", but reality is a bit more complicated than that.

Yep PC has been a very focused on backwards compatibility and this carries a price.

For example a machine that runs Windows 7 today can read a boot disk containing a game of PacMan made for a IBM PC with a 8086 CPU. You do need a old motherboard with a floppy connector, or copy the boot disk to a modern media such as a USB drive, but the code itself will run just fine.

The whole system boots in a comparability mode from the start, its only when the special register sequence is executed does the CPU switch into being a 386 and then on to being a x64. Each one of these has to be emulated by the CPU. Video cards also by default start up in 80 column text mode as did the IBM PC, only once told so they switch into 32bit color bitmap mode. then once the manufacturers graphics drivers initialize them all the way then they become the hardware accelerated 3D graphics power house with full functionality.

But this is coming to an end. Some time ago i tried to install Windows 7 on a little home server running on Intel Kabby Lake (Just to test stuff, later on ran Unraid). There was issues after issue, first i couldn't even see the PCIe SSD boot drive, after manually adding drivers to my boot USB i manged to install it but then it would bluescreen when it was time to boot, couldn't fix it so i installed it on a SATA drive instead. Got to the desktop this time around but i had no network drivers and none of the USB ports worked. So i had no way to actually get files on it. To fix that i moved the SATA drive to a working PC so that i could copy the network card drivers on it. Moved the drive back and installed the network card and got the machine online so i could download all the other drivers. Upon downloading the graphics driver i found that it wont install on Win 7 as it required minimal Win 8 or 10. Intel simply does not support integrated graphics for Win 7 on Kabby Lake. I eventually found a shady hacked driver that has this OS check removed and it worked. So kiss goodbye backwards compatibility.
 

Online T3sl4co1lTopic starter

  • Super Contributor
  • ***
  • Posts: 21609
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Unnecessary Complexity
« Reply #34 on: February 19, 2019, 01:28:09 pm »
Quote
Think one of the reasons is that gimmicks drive sales. The product with the most 'features' seems more attractive on paper than the one with less.

True. Back when I was designing early digital and set-top-boxes and TVs, there was a sudden fuss over demand for products that could support PIP (picture in picture) and POP (picture on picture). This became a major issue in chipset choice and the big impact of h/w changes and s/w stacks. I've yet to meet anyone who has seriously used these functions! The same with 3D TV, a big hassle to support (HDMI specs etc.) but now dropped by all major TV manufacturers and broadcasters.

Back in the 90s, I remember reading about fancy new TVs with PIP and stuff.  Advertised in the new products section of say Electronics Now.  Sounds really cool and fancy, and quite impressive when you know how video works (and how little RAM most things could afford in the 90s).  But when you think about it... it's just not very useful.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7695
  • Country: de
  • A qualified hobbyist ;)
Re: Unnecessary Complexity
« Reply #35 on: February 19, 2019, 01:52:35 pm »
My take on smart TVs is quite simple: if you're smart, don't connect the TV to the internet. >:D Another example of unnecessary complexity is home automation. Why would I need a cloud based IoT switch for the lights and a smartphone to turn them on or off, if a simple wall-mounted switch does the job perfectly fine?
 

Online coppercone2

  • Super Contributor
  • ***
  • Posts: 9244
  • Country: us
  • $
Re: Unnecessary Complexity
« Reply #36 on: February 19, 2019, 01:52:55 pm »
this is called progress and the problem is actually shitty documentation

given how well companies document things I want the fucking component fixable with a anvil and hammer. No one wants to pay for someone to write a comprehensive manual, so you get mystery circuits. If you got circuit documentation, code files, designers thoughts, you would just think its cool when you need to repair it.

scrubbing IC markings, encrypting/protecting code, not providing schematics or design documents (yeah. how many people actually open up word pad to write thoughts about their circuit...................................................)

its like living in a crazy world with too many burglars where every 50 feet is another gated community. and every single person you meet is like a vending machine, you need to pay for a specific conversation.  :scared:
« Last Edit: February 19, 2019, 02:00:31 pm by coppercone2 »
 
The following users thanked this post: tooki

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19345
  • Country: gb
  • 0999
Re: Unnecessary Complexity
« Reply #37 on: February 19, 2019, 02:11:53 pm »
Back in the 80s I just bought a flashing LED if I wanted to flash one  :-DD
I did say that, but perhaps I described it in an unnecessarily complex manner? ;D
I've never understood the MCU to flash an LED thing, other than as a coding exercise, or if it's doing something else such as a timer function. I'd use a single gate Schmitt trigger IC, plus RC circuit or better still, an LED with the astable+counter built-in: no code or PCB to worry about!
Maybe an LM3909 if I was feeling flush.
Yes, I remember those from the old Forrest Mims books, but I've never used one before. They're obsolete now, so getting one is difficult, although no doubt fake, used and new old stock devices are still available.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23018
  • Country: gb
Re: Unnecessary Complexity
« Reply #38 on: February 19, 2019, 02:27:09 pm »
Good point - I didn't put two and two together there  ;D

Actually mini flashback here. I got some stuff out of a skip back in the late 1980s and in it was a security camera. I was pissing myself with excitement but nope inside it was empty. There was a little board with a CD4001 and a 7805 in it flashing an LED. I think that was the pinnacle of complexity there. Genuinely don't think they knew what the hell they were doing. It was a commercial board as well. Silk screen and everything. That surely cost more than the £0.40 for a flashing LED!?!?!?
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14306
  • Country: fr
Re: Unnecessary Complexity
« Reply #39 on: February 19, 2019, 03:43:39 pm »
I was reading somewhere recently that the "smart" TVs are actually cheaper than they would be without the smarts because they're subsidized for their ability to gather marketing data if you use the "smart" features.

The biggest challenge - and trend - for a lot of businesses these days is to create recurring revenue, especially for the ones that sell products in saturated, or close to saturated markets. The saturation drives prices (and eventually the number of sold units) down, but then creates the need for extra revenue.

In your example, TV sets, in spite of including many more features, sell for much less than raw equivalent LCD monitors of the same size. That's all a market issue, and obviously neither a technical nor development cost issue.

Therefore I think one of the major causes of feature bloat is market saturation.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Unnecessary Complexity
« Reply #40 on: February 19, 2019, 04:51:59 pm »
Quote
Think one of the reasons is that gimmicks drive sales. The product with the most 'features' seems more attractive on paper than the one with less.

True. Back when I was designing early digital and set-top-boxes and TVs, there was a sudden fuss over demand for products that could support PIP (picture in picture) and POP (picture on picture). This became a major issue in chipset choice and the big impact of h/w changes and s/w stacks. I've yet to meet anyone who has seriously used these functions! The same with 3D TV, a big hassle to support (HDMI specs etc.) but now dropped by all major TV manufacturers and broadcasters.

Back in the 90s, I remember reading about fancy new TVs with PIP and stuff.  Advertised in the new products section of say Electronics Now.  Sounds really cool and fancy, and quite impressive when you know how video works (and how little RAM most things could afford in the 90s).  But when you think about it... it's just not very useful.

Tim

PIP was a neat idea, if one was into sports for example they could keep an eye on the game while watching something else. It could be handy for seeing when a commercial break was over. In practice though it came out right around the time settop boxes came into common use and people largely stopped using the tuners built into TVs. This rendered PIP useless.
 

Offline Gyro

  • Super Contributor
  • ***
  • Posts: 9410
  • Country: gb
Re: Unnecessary Complexity
« Reply #41 on: February 19, 2019, 05:34:32 pm »
You could/can still do PIP and POP on dual tuner digital STBs/PVRs... probably an indication of how little use it is that you didn't find it.  :)

P.S. I agree that it could maybe useful for keeping a eye on sport and commercial breaks (less of a problem here) but in practice, I found it as irritating as hell. Probably too much time spent testing the damned things, it tends to make you hyper critical of artifacts too!
« Last Edit: February 19, 2019, 05:40:00 pm by Gyro »
Best Regards, Chris
 

Online coppercone2

  • Super Contributor
  • ***
  • Posts: 9244
  • Country: us
  • $
Re: Unnecessary Complexity
« Reply #42 on: February 19, 2019, 05:40:09 pm »
You can also use pip if you want to watch a cam if you are trying to hunt down an illusive mailman so you dont need to drive to fedex 1 hour away to get 5 $ of goods

They must do job postings in fucking feudal tokyo to find real ninjas. Some how those guys move like ghosts despite driving the massive truck...
 

Online coppercone2

  • Super Contributor
  • ***
  • Posts: 9244
  • Country: us
  • $
Re: Unnecessary Complexity
« Reply #43 on: February 19, 2019, 05:58:15 pm »
They think its a trap door activator!
 

Offline IDEngineer

  • Super Contributor
  • ***
  • Posts: 1924
  • Country: us
Re: Unnecessary Complexity
« Reply #44 on: February 20, 2019, 12:00:50 am »
Sometimes what appears to be unnecessary complexity is driven by other real-world factors.

For example, one of my presently shipping products contains two MCU's, one of which is dedicated to a very simple function that could be accomplished with a lesser part. But when you run the numbers, using a common part drives up the volumes enough that you end up saving money in production over the more "optimized" choice. So I used an "overpowered", "overcomplicated" part where to a casual observer it may appear unnecessarily complex.

Another common reason for unnecessary complexity: Narrow-minded (or -educated) people. My favorite example was when an "Engineer" (I use the term loosely in this context) was working to add an A/D and D/A to an existing design. Seems there was an analog signal that needed to be amplified by a fixed amount. His plan was to digitize the signal, use the existing MCU to multiply in the digital domain, and then go back to analog with the D/A. Asked how much BOM cost he was going to add with his A/D + D/A "solution" the answer was "a few dollars". Seriously... this was literally a 25 cent problem. I can't remember if I read this in a "Pease Porridge" column, or was told it by a co-worker in the distant past, but I do remember when I heard it that if it had come from a less reliable source I would never have believed it.

Anyway, my point is that sometimes what appears to be complexity isn't for complexity's sake. Sometimes it can be economy. Or ignorance!
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: Unnecessary Complexity
« Reply #45 on: February 20, 2019, 12:19:10 am »
They think its a trap door activator!
Removing the trap door may help.
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3731
  • Country: lv
Re: Unnecessary Complexity
« Reply #46 on: February 20, 2019, 12:23:00 am »
Anyway, my point is that sometimes what appears to be complexity isn't for complexity's sake. Sometimes it can be economy. Or ignorance!

Very well said. Usually it is economy unless we talk about failing product. Small batch, high added cost value manufacturers usually take "off the shelf" (chips & engineering) solutions and do not try to save 1$ on BOM for product that retails for 5000$. On the other hand 1$ excess BOM will be devastating for 4$ toy/whatever.
« Last Edit: February 20, 2019, 08:44:02 am by ogden »
 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2803
  • Country: nz
Re: Unnecessary Complexity
« Reply #47 on: February 20, 2019, 12:49:08 am »
Any time you are confronted with something that seems inexplicably stupid, you should always give consideration to two potential explanations:
1. Yes, everyone in a position of authority was in fact, inexplicably stupid.
2. You're just not seeing the reasons for the stupidity. Perhaps because you are failing to consider subterfuge, lies, greed, and outright conspiracy.

Take the Intel architecture and MS Windows for example. Why is it so ridiculously over-complex and frequently churned?
The answer is that this situation has strong benefits for certain parties, who are in positions where they are able to direct development.
Microsoft benefits from the complexity because they make most of their income from running high cost 'professional qualifications' courses. The more complex the OS, and the more often the GUI and internal details churn, the better for MS.
Also they now want to impose their 'subscription model' and the only way they can do that is if the OS is complex and byzantine enough that they can hide enforcement features within it. Stuff that makes freeware alternatives 'mysteriously just not work', that prevents users opting out of auto-updates, or worst, installing some other OS on their hardware. (That's what UEFI and 'secure boot' is about.)

Intel benefits because they have to keep the US Deep State happy, which means there have to be universal State-accessible backdoors hidden in the hardware. And to even hope to achieve this and keep it secret, requires a lot of obfuscatory complexity.

Plus both MS and Intel management are ideologically aligned with those who wish for an all-powerful surveillance state. Thus corporate profit is not the only motive. They only pretend it is.

Most things have "dual use" features. The nefarious ones are nearly always not always the original intention.

I am sure that the Management features that can be used to compromise security were originally put in there for actual valid reasons - e.g. Wake on LAN gives the ability to patch PCs at night without anybody touching them.

Not everything is "Hunting for [Russian subs and] the Titanic" or the "Mining polymetallic nodules from the sea floor [but actually lifting sunken Russian Subs]"
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline CatalinaWOW

  • Super Contributor
  • ***
  • Posts: 5173
  • Country: us
Re: Unnecessary Complexity
« Reply #48 on: February 20, 2019, 01:53:06 am »
Another reason for unnecessary complexity that I have encountered has elements of inertia, sunk cost and other related factors involved.

A problem has no known solutions until a complex answer is developed and fielded.  Technology moves along and suddenly the problem has a simple solution.  But the problem is only one part of the whole system and implementing the easy solution requires changes in several places.  It isn't just a module drop in.  So guess what stays on.  Befuddling both outsiders and new insiders that look into what is going on.

Answers that have already been given are much more common in my experience.  Someone knows one part or sw language well and finds it easier to implement that than to learn to a apply and easier solution (may not even be aware of the easy way).  Or it is used as a profit enhancer or market barrier. 
 
The following users thanked this post: tooki

Online Berni

  • Super Contributor
  • ***
  • Posts: 4923
  • Country: si
Re: Unnecessary Complexity
« Reply #49 on: February 20, 2019, 06:38:10 am »
Ah yeah the usual when you see some confusing design choices, ask why its done that way only to get the answer of: "I dunno, it was always done like this even before i got here, but it still works"

Where i work i see a lot copypasting of old designs because that's they fastest way to design it and they are proven to work. Similar with MCU choice, often overpowered expensive MCUs are used just because the software department is familiar with that chip from the other project. They have there fancy custom build environment set up for it, have ported over some old libraries and have a bootloader made for it. Because apparently porting a NMEA2000 communication stack is not as simple as just pointing it to the new receive and transmit function of the CAN bus driver. Or sometimes we hear things like "But 64KB of RAM in that ARM chip is kinda tight for what we are doing" even tho the task is to just take some ADC readings and send them over CAN.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf