Nasz kod też może być bardziej ekologiczny?
Czy kiedykolwiek pisząc kod zastanawiałeś się jaki wpływ na zużycie energii albo wykorzystanie zasobów lub nawet zużycie papieru będą miały podjęte przez Ciebie decyzje? Jak wybór konkretnych technik, rozwiązań czy projektów decyduje o tym czy urządzenie użytkownika rozładuje się natychmiastowo i będzie on musiał pociągnąć kolejną porcję prądu z gniazda czy może jednak zapewnisz mu komfort korzystania z Twojej aplikacji przez długi czas bez szukania ładowarki?
Jednak mamy wpływ
Ja do niedawna nie zastanawiałem się nad tym problemem. Nie podchodziłem w ten sposób do pisania kodu. Jednak w pewnym momencie trafiłem na informację o tym jak pornografia online przyczynia się do produkcji CO2. Brzmi śmiesznie, w końcu to porno. Ale dobrze pokazuje, że nie tylko fizyczne produkty i gigantyczne fabryki są źródłem problemu. Taka informacja spowodowała, że w mojej głowie pojawiła się myśl, że przecież my, jako programiści, przygotowując wirtualne narzędzia też bierzemy w tym udział!
Z resztą sam pewnie nieraz doświadczyłeś wpływu nieekologicznej aplikacji. Zapytasz „jak to?”. Przypomnij więc sobie wszystkie sytuacje kiedy otwierałeś jakąś pozornie prostą stronę albo włączałeś niewielką aplikację i nagle Twój smartfon zaczął tak szybko tracić baterię, że mogłeś widzieć spadające na żywo procenty we wskaźniku naładowania. A wtedy co robisz? Sięgasz po ładowarkę.
Tak jak setki innych użytkowników takiego oprogramowania.
Zaplecze też się liczy
Ale oczywiście nie tylko to co dostaje użytkownik ma znaczenie. W końcu te nasze aplikacje to też bardzo często backend uruchamiany na jakimś serwerze. Pakujemy tam masę bibliotek, filtrujemy dane dopiero do wyciągnięciu całej zawartości bazy do pamięci albo nawet dla CRUDa projektujemy architekturę, która ma więcej serwisów i dodatkowych usług niż klas w samej aplikacji. W razie czego wystarczy tylko dołożyć więcej RAMu albo zmienić maszynę na taką z mocniejszym procesorem.
A licznik zużycia energii, nawet dla małej aplikacji do obsługi listy zadań kręci się jak oszalały.
Ale są też firmy które monitorują takie aspekty. Chociażby Netflix, który już w 2015 roku zmierzył, że ich usługa potrzebuje jedynie 1,3W energii na każdą godzinę dostarczonego video! Teraz zastanów się czy Twoja appka do notatek przy której po godzinie użytkowania trzeba ładować połowę baterii przeciętnego smartfona nie wymaga w takim razie więcej energii pociągniętej z gniazdka.
Sprawdzam.
Zastanawiając się nad tym wszystkim urodził mi się w głowie pomysł na pociągnięcie tego tematu. W ten sposób doszedłem do pomysłu na ekoapps.pl i na tej stronie możesz dołączyć do mnie zapisując się na newsletter, albo śledzić temat na Facebooku albo w Twitterze. W tym momencie nie mam dla Ciebie zbyt wiele poza ideą.
Mogę jedynie obiecać, że mam zamiar przyjrzeć się tematowi zarówno wyszukując opinii i testów innych jak również samemu zbadać sprawę. Dodatkowo moim celem jest dostarczyć rozwiązań w tej dziedzinie i pokazać programistom, że każdy może w prosty sposób zadbać o „czystość” swojego projektu. Bo nawet mała zmiana ma znaczenie. Zwłaszcza jeżeli robimy projekty używane przez setki albo tysiące osób.
W tym momencie jest więc jedynie pomysł, zapał, chęci i cel. Ale od czegoś trzeba zacząć!
Co w tym nowego?
Możesz teraz powiedzieć, że przecież to o czym mówię to zwykły temat dotyczący wydajności. A tym dobrzy programiści zajmują się od dawna i nie jest to nic odkrywczego.
Zgadza się. Nie chodzi mi o przełomowe odkrycia. Moim celem jest podejście do tematu od innej strony, która bardzo często nie jest brana pod uwagę. Dodatkowo temat czysto wydajnościowy skupia się na wykonaniu zadania jak najszybciej. Ja chcę aby temat skupił się na efektywności energetycznej i oszczędnym zarządzaniu zasobami. Jasne, w wielu przypadkach będzie to oznaczało właśnie zagadnienia wydajnościowe. Ale czy na pewno? O tym się przekonam w przyszłości. Bo zły projekt to nie tylko wolny albo ciężki kod ale też chociażby konieczność korzystania z papieru żeby pewne dane „przenieść” pomiędzy działami w biurze.
To jak? Wchodzisz w to? Jeżeli tak to dołącz do newslettera na ekoapps.pl albo po prostu udostępnij ten wpis dalej, żeby wieść się niosła w świecie!
Leave a Comment