← Back to context

Comment by dahfizz

7 years ago

I would argue that's way outside the scope of software development.

First, you can't really know how various things are implemented in hardware. Something that saves power on one machine will increase power usage on another. This would be a big step backwards in terms of abstraction.

Second, and more important IMO, is that it's just not our job. Hardware people should make efficient hardware, and software people should make efficient software. The meaning of efficient depends on the context.

I think in context here, it’s about not making software that does more work than necessary. Aka efficient software.

Much software doesn’t need to be efficient in design, just efficient in terms of developer time. But if power consumption is a consideration, making the software itself more efficient in its design (if not implementation details) becomes more of a requirement.

And, finally, there’s always people writing embedded/firmware. The line between software and hardware is blurry.

I feel like that disconnect in the middle is why I can't leave a supposedly idle website open (even minimized) on my laptop while on battery power if I want it to last. Mobile seems to be headed in the right direction though.