DEV Community

What's the most wasteful software?

Ben Halpern on January 18, 2020

Which software, based on how it is used and what impact it has on the world is most wasteful?

Wasteful meaning perhaps energy consumption, or data requirements, or any other form of "waste".

Collapse
 
tobiassn profile image
Tobias SN

Electron. I mean, I don’t mind it all that much if a full fledged app that I use a lot uses it, but the moment you use it for an app that flashes disc/disk images, you loose all hope from me.

Collapse
 
hackergaucho profile image
Hacker Gaucho

I don't agree with that. if electron is a waste then vscode, atom and skype for example are also since they are built on electron.

Collapse
 
ghost profile image
Ghost

As I see it wasteful doesn't mean useless, could those apps consume less without Electron, of course, are they useless because they use Electron? absolutely no. I haven't use any of them but I've heard a lot of people liking them. Is a Ferrari wasteful? of course, is a bad car? I don't think so.

Thread Thread
 
davidrock profile image
David Rock

I can't agree with you. If something is useful it is not a waste anymore. As soon you declare something useful you can't declare it as waste, that's a pretty simple logic. I can't recall last time I had a problem (related to resources consumption) with Electron based applications.

Thread Thread
 
fronkan profile image
Fredrik SjΓΆstrand

I have to disagree. It is a large difference between waste and wasteful, like @robertojasr. It can be wasteful by using much more system resources than strictly necessary, however, it can still be a great tool. There is a reason I am using Python, which you could argue is wasteful. You could write the same code in C++ and it would most likely be faster and use less memory. I would, of course, argue you are wasting developer time if there aren't constraints on those resources.

To summarize my thoughts are something like this. If something is waste you should just bin it, however, if it is wasteful you need to look into which resources are wasted. Then you can make a desition on whether or not those resources are constrained in your use-case.

Thread Thread
 
ghost profile image
Ghost

Efficacy/Efficiency, the first is about achieving a given result, the second also take into account the resources required. I could use an helicopter to buy bread two blocks away, the goal is achieved, so is effective, but is arguable very wasteful on inefficient.

Wasteful refers to the useless consumption or expenditure, so everything that doesn't directly contributes to the main goal is waste, something can be wasteful without being a complete waste, which only occurs if the goal is not achieved as you mentioned, but "wasteful" doesn't mean is a complete waste, just that have a considerable amount of resources not directed to the main goal. A Ferrari is wasteful but is far from waste. Even this is arguable tho, because depends on what the goal is, if is to impress people a Ferrari may not be wasteful and in fact be very efficient.

About Electron consuming too much is also debatable, to me it is, I tried for about 10min Atom with my usual 10+ files open and consumed much more than Vim doing the same thing, you can argue that Atom does things that Vim can't, I don't know, to my use case is wasteful because I don't care about those potential extra features. As I said, what is or not wasteful depends on everyone goals and criteria.

But the fact is that not because something achieve the goal is not wasteful and that something is wasteful doesn't mean is waste. Just like that something is dusty doesn't mean is dust. That's pretty simple logic.

Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard

Bitcoin and the blockchain

Collapse
 
_hs_ profile image
HS

I would be specific about blockchain and say cryptocurrency. Blockchain can be used to calculate some important stuff, but as log as it uses only existing device. Not to build farms to calculate chemical thigs whcih might not even help humanity. Best to my knowledge non other implementation than crypto had GPU farms built by average Joes

Collapse
 
giorgosk profile image
Giorgos Kontopoulos πŸ‘€

I agree Bitcoin uses a lot of energy because it uses proof of work (POW) consensus algorithm. Some cryptos gaining in popularity steadily use proof of stake (POS) algorithms and one can participate with old cpu and minimal ram and computer stays mostly idle. So not all cryptocurency is wasteful.

Thread Thread
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

proof of work should be understood as meaning proof of waste

cryptography itself is super useful, for sure.

you don't need to convince me. my colleagues and I at Mautinoa Technologies have built one year ago an offline payment system for countries with poor banking infrastructure. I was asked all the time why we didn't use the Blockchain, and had to reply every time: look,

  • on a theoretical level this consensus algorithm thing is not actually needed, building trust is better than assuming it is not there and finding a complex software workaround
  • on a practical level, how would my users in Timor Leste buy their vegetables on the market with a Bitcoin transaction, given that they often have no internet reception?
Thread Thread
 
giorgosk profile image
Giorgos Kontopoulos πŸ‘€ • Edited

@jmfayard thanks for the follow up. Seems contradicting to know the difference between POW and POS and actually say "blockchain is wasteful" in your original post.

"Some blockchain projects are wasteful" might be a more appropriate thing to say. Blockchain is not inherently wasterful you need to speak about the consensus algorithm that puts the next block in chain and if that is a wasteful process.

Is that mobile payment system you describe open sourced ? I am genuinely interested to read about seems interesting though.

Thread Thread
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

My initial comment was a hot take in 3 words, not a completly accurate description. Blockchain has valid usages, just no as many as the enthousiasts claim. We were thinking ourselves about building a blockchain between the central bank of Timor Leste and the banks in the country.

I don't work at Mautinoa anymore but you can read about it here
medium.com/@mautinoa_technologies

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Web browsers. They're doing something so very simple: viewing remote content. Yet they consume as much memory as a high resolution video game, a code compiler, a video renderer...it's absurd!

Most of that waste of resources doesn't even come from doing anything useful. Much of modern software gratuitously abuses dynamic allocation where more careful allocation strategies (either static or dynamic) are called for. Browsers just seem to be one of the biggest offenders.

Collapse
 
ghost profile image
Ghost

How much is the browser itself and how much just huge websites/apps? I was about to post bloated JS.

I've tried lightweight browsers but most sites don't work properly on them.

I noted that after I put a Pi-hole pi-hole.net in my network memory got considerably lower, that's just removing useless JS: spyware, ads, etc.

I understand the need of revenue (I really do 8'| ) but when a website is trying to steal private data, that's where I put the line.

And if you have a 20MB website that only works with JS enabled and eat 20% of my CPU that's is just bad design. And showing off your visual prowess, you just show your lack of engineering and common sense.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

You're probably right; Javascript no doubt contributes. It's probably a little of both.

So, let's test!

Firefox, with all add-ons disabled, and with ten tabs open to the oldest website on earth is reporting a memory usage of 318 MiB...which is actually pretty high, all things considered!

Chromium, identical scenario, consumes a whopping 1205 MiB (1.18 GiB!) of memory, across 14 processes. And that's a fresh-installation of the browser, no extensions. In my book, that's inexcusable.

Thread Thread
 
ghost profile image
Ghost

OMG, really, Chromium eats that much!, wow, that's one of the reasons I don't use it for other than testing. 318MB is no small footprint either. That's why I really appreciate websites that can be viewed without JS. I used Dillo as long as I could but nowadays almost all sites are unusable with it.

Thread Thread
 
markoshiva profile image
Marko Shiva

There is Falkon nowdays you can try it especially if you use linux.

Thread Thread
 
ghost profile image
Ghost

Thanks, I'll check it out and of course I use Linux, I'm cool like that :D (not Arch tho)

Collapse
 
dansilcox profile image
Dan Silcox

The Facebook app wastes a lot of my time, does that count? πŸ˜‚

Collapse
 
hopsoft profile image
Hopsoft

Anything that encourages people to waste time certainly counts IMO. The difficult part is accurately measuring such waste against the good that these systems might provide. This balance (or lack thereof) should be considered with other things people are discussing here like Electron, Blockchain, etc...

Collapse
 
dansilcox profile image
Dan Silcox

So true; even in a tooling context if it takes you 2 days to get some fancy tool working and you only ever use it once to save you 1/2 an hour of work it’s probably not worth it (albeit there is intrinsic value in learning the tooling etc).

Collapse
 
garrett profile image
Garrett / G66

Ads.

Collapse
 
khrome83 profile image
Zane Milakovic • Edited

Hands down, images.

Every website loads images that are way too big for the viewport, the connection, the dpi of the device, etc.

Or we don’t add width/height making it harder for the device to render correctly.

In both ways it uses more joules of power, as it tries to deal with the fallout. Either scaling a image up or down, grabbing a larger than needed file, or forcing a rerender once it knows the images size.

And how much extra time do we wait to see images download. Or have a image heavy ad pop in late and mess up reading content.

I love the visual nature of the web, but we have never collectively done it in a responsible way. The β€œfew” of us that have, know it adds a lot more responsibility to our plates and eats more of the developers time.

All around, it’s just not as automated and easy as it could be.

Collapse
 
devpato profile image
Pato

Internet Explorer. Developing websites to render property sucks, their dev tools sucks. Thank gosh Edge came out

Collapse
 
ghost profile image
Ghost

to me the greatest thing about Edge is that is based in Chrome, not my favorite, but at least have some respect for the standards, MS not doing much with browsers, I like that :)

 
fronkan profile image
Fredrik SjΓΆstrand

Yeah, Marcelo that is kind of my take as well. I think this question as stated is good for discussion though but it will, in the end, be subjective. It is a good way to spark a discussion on what is wasteful and also what resources do we in general value higher than others. The discussion about electron I think comes from how some people prioritize system resources higher than others.

Thread Thread
 
ghost profile image
Ghost

That's, in part, we have jobs, to evaluate the trade off and make a informed desition. As you mentioned about Python/C++, is the one in charge of the design who should take both costs and constrains and choose, in this case between Python and C++, if so many are using Electron apps there must be preferable for their use case, maybe RAM is no concern, is not that expensive after all. And some people even buy Ferrari :D

Collapse
 
steveblue profile image
Stephen Belovarich

Everytime I have Figma running in a tab in Safari for awhile the warning pops up saying the web app is using excessive energy. The teams making browser based design tools should consider making the experience super performant when engineers also have to run Chrome, multiple servers locally.

Collapse
 
mpuckett profile image
Michael Puckett

Web Assembly to the rescue!?

Collapse
 
rhymes profile image
rhymes

Interesting you mentioned it because Figma already uses WebAssembly for some of its functionality

Thread Thread
 
ben profile image
Ben Halpern

Neat!

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt • Edited

XCode -- Why do you ever need 10-15 GB+?

That's why Linux > macOS for dev.

Collapse
 
leob profile image
leob • Edited

Interesting question! Maybe we could (should) add environmental awareness (energy consumption) as a topic to the standard web/app checklist which already contains things like performance, security, SEO, accessibility and so on.

Complicated to calculate though.

There's of course the difference between backend and frontend energy consumption.

Backend carbon footprint could be mitigated by using renewable energy to power data centers. And maybe a shift from interpreted/scripted languages like JS, PHP, Python, Ruby to languages like Go, Rust and so on would be helpful.

Frontend carbon footprint might benefit from the shift to static site generators like Gatsby (you can safely assume that an app built using static site generation will have a smaller footprint than the same app built with for instance SSR).

Collapse
 
johnkazer profile image
John Kazer

For the back end Microsoft has plans blogs.microsoft.com/blog/2020/01/1...

Collapse
 
damcosset profile image
Damien Cosset

Slack

Collapse
 
richardeschloss profile image
Richard Schloss • Edited

Microsoft Windows. It doesn't respect the "disable updates" setting, so much so that it's "Windows Update Medic Service" feels the need to revive it. So yeah, unplanned updates without warning of any kind can be kind of wasteful. The actual update process is time-consuming, uses tons of data, requires users to face downtime, etc. I imagine the impact can be huge throughout the entire corporate world.

Collapse
 
rhymes profile image
rhymes

Video games, I think nobody mentioned them.

Being practically one of the benchmarks news GPUs are created for/with, video games help the OEM market sell new hardware (be it parts or entire computers) which eventually leads waste, as computers are really hard to recycle.

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

This cut me to the core. I spent a good chunk of the weekend playing Raft. My GPU was spooled up running the game at max settings 90fps 1440p. All tolled I think it was probably single digit extra dollars (compared to non-gaming) of electricity for the whole weekend. My last gaming computer I had for 6 or 7 years and it was far less energy efficient.

It feels weird to be in a world now where hobbies are scrutinized for environmental impact. Example: we should definitely call off sporting events for the amount of electricity wasted plus transportation emissions and garbage generated by attendees. I don't follow sports, so I wouldn't mind.

Collapse
 
tariqabughofa profile image
Tariq Abughofa

Most Java-based applications. Personally, my top of the list is the language IDEs like Eclipse and Netbeans

Collapse
 
xowap profile image
RΓ©my πŸ€–

Everything Google except Google.

They are just throwing balls in all directions to confuse people and make them run in circles.

Especially all the "performance" bullshit on the web, it's just tricks to make the life impossible for other browser makers. Most Google products have a terrible performance. A YouTube embed just adds 2.4s to the speed index of a page.

Collapse
 
patryktech profile image
Patryk

Also, they just wait for people to rely on it to either change the terms (e.g. they broke Google Maps on a ton of sites by changing the licensing terms, and you have to provide payment details nowadays, IIRC), or discontinue it altogether (I built a C# app with the Google Earth plugin a long time ago to present cellular network data... that was deprecated in 2014).

There's even a Google Graveyard for all their discontinued apps and services.

Collapse
 
_hs_ profile image
HS

Besides blockchain what Jean-Michel mentioned I would say upcoming AI stuff. Way too much GPU servers used to have data estimated and predicted for businesses needs which could end up wasting even milions $ in what could eventualy become incorrect estimation and fail.

Collapse
 
roestvrijstaal profile image
RoestVrijStaal • Edited

GNOME3 with GTK3 definitely.

It caused so much unrest in the FOSS desktop computing world that spawned at least 5 new desktop environments (MATE, Cinnamon, Unity, Budgie, Elementary, Deepin...) and caused a rewrite of LXDE to LXQt. And I'm not even mentioning the amount of crossplatform applications which moved from GTK to Qt (like WireShark).

Even years later, GNOME3 is still requires dozens of third party extensions to be functional and customizable. And it's still not that fast as GNOME2 or XFCE.

Imaging the amounts of FTE put into all this makes me shiver.

Collapse
 
redbassett profile image
Enrico

Uber/Lyft and other Transportation Network Companies (TNCs). Not for the app or infrastructure itself, but the product. They have "disrupted" an industry of taxis and transportation networks by undercutting existing systems and outsourcing the cost of their business to "independent contractors" who are not professionals in that industry.

TNCs have put a lot of money into getting users to buy subsidized rides instead of taking public transit. This has resulted in drops in transit rides, and therefore less funding is allocated for transit. The environmental and societal costs for this massive increase in traffic is much larger than expanding public transit would be. TNCs promise the idea of "ridesharing", where existing drivers can give riders a seat, decreasing traffic, but studies have shown this simply is false, as drivers deadhead (drive without passengers) more than they provide rides, and whole sub-industries have popped up trying to sell or rent cars to people who don't have one but want to start driving for a TNC.

Beyond the environmental impact of all these cars, and the increased traffic from more cars (including time spent in traffic for other drivers), the societal impact has been huge. Increased traffic means an increase in traffic injuries and deaths, as well as the less documented increases in asthma and other conditions caused or worsened by automobile pollution. Decreased transit availability (and buses stuck in traffic) mean that more people take cars when they could have seen health benefits from walking or biking because they feel unsafe on or near roads. More parents drive their children to school because… you guessed it, there's too many cars.

Imagine if we had contributed the shear amount of money VCs have put into just Uber (which still loses BILLIONS of dollars a year) into good quality urban transit, regional rail, and high speed rail across just the US. Imagine serious sidewalks and bike lanes in all cities that made walking, biking, skateboarding, scootering, and even using a wheelchair safer. Imagine if we redesigned cities and towns so that most things can be walked to from a train station instead of multi-lane roads through the heart of downtown.

Collapse
 
jeikabu profile image
jeikabu

It's unfortunate that popular or productive languages/frameworks/whatever succeed beyond their designer's intents and muffin-top with additional abstractions, libraries, and feature creep into elements of undesirability. "Victims of their own success" is certainly applicable.

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt • Edited

Actually, you can develop for Linux and Windows on any platform using Docker / WINE, but not for macOS and iOS.

And, it is more common to develop for deployment on a Linux server, than to develop for macOS, isn't it?

Collapse
 
roh_mish profile image
Rohan Mishra

Electron. It makes creating desktop apps easier and has single - handedly improved linux app ecosystem by a lot. Cannot deny that. But it can bring even the beastliest of computer rigs out there to grind. There are apps like VSCode that do it right but vast majority (slack, discord) are just memory hog.

Collapse
 
juancarlospaco profile image
Juan Carlos

A lot of alternative Crypto-Miner software, even if BitCoin kinda makes sense,
theres a whole graveyard of alternatives to it that may end up dead.

AntiVirus uses file hash comparisons, is a bad system in general.

Collapse
 
tfutada profile image
Takashi Futada

CSS. padding, margin, etc. I am so amazed by SwiftUI

Collapse
 
mateiadrielrafael profile image
Matei Adriel

Other languages are going towards that goal too! elm-ui is amazing for example

Collapse
 
muttsuri profile image
Muttsuri

Although for what I gather elm-ui is incompatible with Elm 0.19

Collapse
 
ghost profile image
Ghost

This is gonna be fun, Vim.

I love it and now is much better, but before version 7, I think, Vim had so much old code, you could take your Vim installer and install it in a commodore, it supported platforms dead and buried centuries ago, I'm not sure if it was because of it but years ago, some folks tried to send patches to the Vim god, yes is pretty vertical that hierarchy, and when they kept being rejected, they decided to fork and build NeoVim, not longer after a bunch of advances came to Vim and version 7 was born. Don't take this to the letter, this is what I recall. The moral is that time comes to everything even awesome tools like Vim, so we have to keep them maintained and give the code some love even tho we take it as finished. Even the Linux Kernel has made big cleanups in the past years.

Collapse
 
ashleyjsheridan profile image
Ashley Sheridan

Bitcoin miners. They use enormous amounts of processing power to generate, which requires a lot of energy. Depending on the price of coins at any given moment, they can sometimes cost almost as much as they're generating.

Collapse
 
cadams profile image
Chad Adams • Edited

Windows, bloated with candy crush

Collapse
 
p4lm profile image
Henrik Sommerfeld

Maybe not the most wasteful, but the software of my soundbar does much more than it needs to, especially the 12x amount of outbound network traffic compared to the second most active device on my network (my phone).

Collapse
 
patryktech profile image
Patryk

NodeJS modules.

When I get a new VPS, I need to install a Node (and PyPI) mirror on it so my CI/CD pipelines don't download half the internet on every push.

Collapse
 
davidrock profile image
David Rock

Develop one version for Windows, another for Linux and another for Mac is a waste of money, time and resources.

Use Electron ;)

Collapse
 
hackergaucho profile image
Hacker Gaucho

cryptographic systems in general. with the computational power we use to protect traffic to adult websites we could accelerate the search for SETI extraterrestrials for example.

Collapse
 
danielw profile image
Daniel Waller (he/him)

CI Toolchains? :D

Collapse
 
lamka02sk profile image
lamka02sk

Apart from Electron apps, ELK. Very memory hungry. But it is also one of a kind so...

Collapse
 
pjcalvo profile image
Pablo Calvo

Ryver messaging system. Like slack but never went out of the MVP stage.

Teams from microsoft, every message reaction creates a notification that I have to manually mark as read

Collapse
 
colewalker profile image
Cole Walker

Bitcoin is easily the most wasteful software, considering the absurd amount of energy it is using.

Collapse
 
risavkarna profile image
Risav

Windows Vista/8/10, KDE 1-4, browsers, electron, flash, java applets, ad block plus, adobe software, anti virus and visual studio.

Collapse
 
hus_hmd profile image
Hussein Al Hammad

[Not software] GIF as a format is overused. We don't need 1-minute long videos in GIF format; we have other file formats more suitable for this sort of content.

Collapse
 
carloslfu profile image
Carlos Galarza

By far, Bitcoin and all those similar cryptocurrencies.

Collapse
 
daniel13rady profile image
Daniel Brady

Probably whatever firmware strikes the right balance between being widely used and least efficient at the most frequently performed operations πŸ€”

Collapse
 
karfau profile image
Christian Bewernitz

Office 365, time sink and specifically the calendar, only works when you change your mental model of calendars...

Collapse
 
poode profile image
Abdul-Azeem Mohammed

AWS DOCs :D :D

Collapse
 
mcsh profile image
Sajjad Heydari

Slack, I mean what are you doing with all that memory anyways? It's just chat messages

Collapse
 
ashiqcseworld profile image
Ashiqur Rahman

slack