Skip to content

Big Corporations (evil!)

Chris Clarke edited this page Mar 10, 2019 · 3 revisions

We are currently tied quite closely into the google ecosystem of products (firebase db, hosting), which is concern to some within our community both in terms of security and the global impact large corporations have. We expect this debate to always remain open, however it is unlikely that any proposed large-scale changes would be implemented ahead of getting the platform to a point where it is reasonably stable.

Here is my personal comment from a slack discussion related to optimisation and big companies:

So this is something I've always felt strongly about, although not from the environmental aspect but just to have things that are accessible in places where internet is neither cheap nor reliable. I could give a long talk on the subject (and from the sounds of the start of this discussion it sounds like probably I should), but for now let me just share a few quick thoughts:

  1. Don't expect the debate to be clear It's very easy to say 'big companies are evil and therefore killing the planet' but we're really not in the position to make an informed judgement as to whether a server run by google in the nevada desert would have any more impact than something in a cupboard in Eindhoven. One option isn't inherently better than another, but will depend on a multitude of factors usually beyond knowledge and control. E.g. is the server centre run on solar energy or oil? Do we want to factor in the TCA of building these structures in the middle of nowhere? The fact that most of these companies do strive for big profits actually usually results in the things they do being pretty efficient!
  1. Good intentions don't guarantee good outcomes Take the argument of data security. We might as a collective agree that we care upmost for people's privacy and would never want to allow people's data to be used for purposes beyond supporting social goals, however all it takes is one security hole or one careless/dissenting/opportunistic person within our community and that could all go out the window.
  1. The biggest killers in terms of impact come from multiple places including:

a) Duplication of content, partly in terms of the same things sitting in multiple places but far more from people redownloading the same things every time they visit the same page

b) Overkill servers - keeping large machines running designed to handles millions of users when you only have a few thousand

c) Poorly optimised content - e.g. if a user has to download a 5MB splash screen image every time they load a page

  1. There's lots of easy wins... and we're already doing many Far more than you've given credit for. To address some of the issues above:

a) All html, javascript and images are automatically cached by service workers so that if you visit a webpage it will (mostly) only download content if changes have been made, serving everything from the local cache instead. Even the main database is mirrored to limit requests (not fully optimised yet but still pretty good)

b) The use of google servers gives us a flexible environment that scales as the number of users increases, automatically spinning up additional servers and handling load balancing when we need it (instead of having a giant single stack to maintain ourselves)

c) All images once uploaded get heavily resized and compressed (thanks @ben), to avoid sending pointlessly huge files around

  1. There will always be more that can be done... but at what cost? This is just the start of how we're already building a site that is considerably more environmentally friendly than most (it might have been nice to check before having the planning meeting!). Yes we could add a second image resize function to send 50% smaller images on phones, setup our own solar-powered servers, streamline all javascript files to remove any space and we may find ourselves saving an extra 20-30%, although if we focus on getting the big things right this turns into a pretty insignificant saving in terms of actual size/cost

Update - 11th March 2019 - Dat Protocol
One potential method for decentralisation via dat protocol has been discussed in issue #374

Clone this wiki locally