upvote
In software architecture, we talk about essential complexity and incidental complexity.

Essential complexity is inherent to the problem being solved; it can't be eliminated through better tools, process, or design. Incidental complexity is anything added by poor choices or flawed tools. Every line in a "hello world" program that isn't something pretty close to `print("hello world")` is incidental complexity.

To change the battery in electric vehicles that follow typical present-day design patterns, it's essential to have a way to get some clearance under the vehicles like a lift, ramps, or a pit, and it's essential to have a lift or jack to support the weight of the battery. Everything else is basic hand tools.

It is not essential to use any proprietary tools or software that isn't onboard the car or battery. Requiring anything like that is incidental, and a regulation could forbid it in the name of right to repair, reducing waste, or maintaining a healthy used car market.

reply
For EVs you need at least a hoist/lifter/crane/other power tool to replace a battery. But sure, there's no actual engineering reason they can't be replaced by the user. Same for the smartwatch - you can replace a battery in most ordinary wristwatches that use them, why not the smart ones? IEMs are usually too small and that's where the engineering limitations might matter. Headphones, no problem.
reply
> without tools

With commercially available tools, yes. The argument is that, given the skill, you could pull it off.

Then again, maybe cars are a different category. I really don't have enough skilll to add to this discussion

reply
> The argument is that, given the skill, you could pull it off.

Obviously true for any iPhone battery.

reply
[dead]
reply
In other words: IKEA-esque. Should be the goal of any so-called modular systems.
reply