I'm terrible at addressing the current environmental challenges.
This morning, I discovered the Website Carbon Calculator [0] and tested all the websites I've created. To my surprise, some of my websites turned out to be disastrous.
Until now, I hadn't been concerned about the carbon footprint of my apps, but having access to this information encourages us, as developers, to take responsibility for the performance of what we build. This article [1] details how to reduce this footprint when building websites, serving as a great starting point for considering how we can minimize our impact (e.g. using less JavaScript)
I don't want to engage in the cliché of “greenwashing”, but rather aim to make a positive impact as a developer.
What are your thoughts? Were you already aware of this?
[0] https://www.websitecarbon.com/
[1] https://www.wholegraindigital.com/blog/website-energy-efficiency/
(I'm not affiliated with any of the website I quote)
We are collectively rewriting desktop apps to run in the browser, where not only it runs 50x slower than on the desktop, but all data has to be downloaded time and again from servers. The amount of waste here is staggering. And yet, desktop apps have so many issues (installation/breakage/crashes) that web apps are the only way to deliver software that just works.
Web developers can, and should, build light and fast websites. But the average person runs spotify, youtube, netflix and other streaming services pretty much 24/7. A slightly faster personal blog isn’t even a drop in the bucket.
And waste from computing, bad as it may be, pales into comparison to the waste of a “quick trip to the store” with a 4 ton truck.
As software engineers the best thing we can do is to write good software that lasts and that solves real problems. Climate guilt really doesn’t come into play here.
I never have any installation or breakage issues with desktop apps and crashes are very few and far between nowadays.
In contrast so many websites track every single little action I do, waste massive amounts of energy on said tracking/showing ads/invading my privacy, and have a crap user experience chock full of dark patterns.
I’ll take desktop apps any day of the week, thanks.
Day-to-day I use a Mac. Installation is me dragging an icon to a folder. Sometimes I use Linux or FreeBSD. There installation is a single command. I don’t see the problem. Difficulty/effort level is equal to bookmarking a website. Indeed, with PWAs it’s literally the same thing. The meme of installation being hard needs to die. First lack of it was born as a made up advantage of webapps, and then webapps copied it.
Breakage/crashes — same thing happens with webapps, but is more frequent, annoying and silent (as in: often you don’t get a popup that something crashed, instead clicking on things stops effecting anything, buttons are randomly marked inactive, scroll is broken), not to mention terrible responsiveness.
I think that meme is just people trying to come up with rational reasons for the death of native apps where there are none. The reality is that it's more expensive and takes longer for a big businesses to build a different native app for each OS, so they push web apps. It also takes longer for smaller devs to build multiple native apps, so they push web apps.
That's what it comes down to. If you're building an app like Discord, you can write native clients for macOS, Linux, Windows, iOS, and Android, OR you can write a single React app, throw in a bit of React Native and a few OS-specific tweaks, and you've got all 5 platforms covered.
There's no big conspiracy. Desktop apps aren't worse. It's just business.
I wonder if this will always be the case, or if we just need to keep going for another order of magnitude or two before we manage to render web apps as painfully difficult for ourselves as we've made the desktop.
I ran the websitecarbon.com calculator against my org's public website. For 10k/y visits, about 42kg of CO2 is emitted. Dubious how that's calculated, but let's say it's off by 10x and the emissions are closer to 420kg. Apparently, the average Australian emits 17t/y of CO2. If I were going to attempt to reduce my carbon footprint, there's probably something far more valuable I could be doing than worrying about 20kb of JS.
"Limiting children" in that case is "human race should die because the climate" and like, no.
Please stop repackaging anti human doomerism as climate action.
How does it tell apart if a site lazy-loads, meaning it might do less work on first load, but does way more total traffic to render all the information the user requests?
I'd wager the majority of energy is spent in the backend, where the majority of the energy will be spent between microservices ping-ponging each other.
Its a common reason why I get rid of open source self hosted apps. If they hammer the disk all the time or seem to constantly impact the CPU when they shouldn't be then it gets replaced. I want my NAS asleep unless it has to be doing something. Its a consideration I raise bugs around and its something all software I have ever written takes account of.
To say that individual action is powerless to stop climate change is the same thing as saying that climate change will never be stopped. Which is true but nobody wants to hear it.
It’s much more fun to say that I am powerless to stop climate change so somebody else with more power than me must stop it! You can follow this chain all the way up to the most powerful person in the world.
Considering at least 150+ million devices have been sold (not sure if that includes Fire TVs) and most of these devices stay switched on even when the TV is switched off. Just a single watt of saving may equate to a coal power station. The power bricks are rated for 5v x 1a.
I do wonder if the developers knew how big an impact they have when developing a device used by so many.
HN discussion: https://news.ycombinator.com/item?id=26296339
[0] https://www.eurogamer.net/rockstar-officially-implementing-f...
What matters is keeping the atmosphere balanced or even remove greenhouse gases from it. The way to do it is to have serious carbon certificates, as in coal power plants need to buy carbon certificates before they emit CO2 and the certificates get destroyed after, Brazil gets certificates for having a rain forest, which they can auction off internationally to motivate them to not destroy the rain forest and also to make planes fly etc. If my software costs too much electricity, it will either mean that people switch to cheaper electricity (renewables, since they don't have to buy the certificates), or they will switch to a different software that consumes less of their expensive coal power.
If all green house gas emissions have to be set off by certificates first (or by 1.1x the certificates, to lower the green house gas levels), you won't have to worry about where the power for your software comes from, since it's all accounted for already and if your software really costs too much electricity, the market will regulate it.
Our carbon emissions continue to grow. Every year is larger than the last. The largest year for emissions in human history was 2022. The next will be 2023, and then 2024 will beat it.
Our rate of growth is slowing, but we continue to grow. It is possible that by 2050 we stop beating our previous records. Possible. Probably not.
That wasn’t a typo. We will continue to emit more carbon than we did the previous year for at least another 25 years.
Certificates are bullshit. Brazil ‘selling’ its rainforest carbon offsets to China is bullshit.
There isn’t a resolution here. There’s no answer, currently. It looks like we’re just fucked. We have decent power generation solutions but no grid to accept them. China and the like want to grow, they want to use coal, and who are we to say no? We did it. Should we expect them not to?
No individual can make any difference at all while the major economies of the latter half of this century invest — as in, start to build, today — dozens of coal-fired power stations. It might even be hundreds. It saddens me to think about looking it up, so I’m not going to.
Worrying about the carbon cost of your app is a nice thought, but nothing more. It’s functionally pointless.
As for "China and the like want to grow", they shouldn't and the countries who already emitted a lot of CO2 should have a certificate debt that they need to pay back, slowing their economies down, which would also let the others catch up.
As long as the carbon sinks are genuine. Planting a tree that later dies or burns is not carbon negative.
(Not sure how the certificates work in reality right now, probably some BS like giving each country a "CO2 budget" in certificates for free, pretending adding more CO2 to the atmosphere would be fine or something like this)
E.g. suppose you have a business like a large bank that lends a lot of money to finance residential and commercial property development, as well as expansionary fossil fuel projects. This business may have extremely large scope 3 emissions after attributing some of the greenhouse cases generated by these real estate & energy projects back the bank's financing. The carbon footprint of the bank's website / webapps will be completely insignificant compared to the scope 3 emissions associated with the real world impact of how the business actually makes money.
It is on my mind, and I have become more aware about how game design and implementations can facilitate over consumption. Small example is to have vsync enabled by default for all users, just so you don’t have users GPUs spinning at max speed.
I am not actively persuading it at the moment. But I have been aware about and been sharing knowledge with people of those ideas.
One nice side effect of reducing carbon footprint of these things is that it usually becomes cheaper to run as well :) similar to how accessibility seems to benefit a lot more people than what you target.
Ie doing stuff like writing applications that scrapes metrics and show how green the energi grids are realtime, doing real time stuff around planes current climate effect given the amount of planes up in the air etc.
If thats not an option just vote with climate in mind and engage in public discussion around these issues would probably have a lot more potential
For work, I don't have all that much choice. Obviously, I try to write as efficient code as reasonable, but I have no input on where it's hosted.
It's like sorting waste that will end up in the general landfill.
I think it's important people focus their efforts on the low hanging fruit. What's the biggest impact at the lowest cost.
Cache all the things.
Anything else is nothing but lipstick on the pig.
I am not well versed at all in the multiple disciplines one needs to talk about this in technical detail, but I guess 500.000 people per habitable continent should be enough?
I do realize this is impossible to enforce top down or get the people to do bottom up. As the evolutionary greedy animals we are, we will continue to procreate.
After all this rambling my short, personal answer: The only possible thing is becomming true eco terrorists and genociding 99% of the world population somehow. Boom. 99% of the ecological/climate foot print humanity has evaporated!
To the appalled reader: I‘d prefer reasonable counter arguments over downvotes and flags...