Wszyscy doskonale wiemy, 偶e oty艂o艣膰 jest chorob膮 spo艂ecze艅stw tzw. "wysoko rozwini臋tych"
Pisz臋 "tzw" poniewa偶 gdyby by艂y one faktycznie wysoko rozwini臋te, poradzi艂yby sobie z tak膮 "chorob膮" w trymiga, wi臋c chyba nie o rozw贸j tu chodzi - a przynajmniej nie o taki rozw贸j, jak si臋 go powszechnie rozumie.
No wi臋c okazuje si臋, 偶e podobny problem dotyczy "nowoczesnych" stron internetowych.
S膮 one utuczone ponad miar臋, ponad wszelkie rationale. G艂贸wnie za spraw膮 dw贸ch czynnik贸w:
- Reklamy
- Strzelanie z armaty do much
O ile z pierwszym powodem oty艂o艣ci walczy膰 nie zamierzam (wszyscy kochamy reklamy, prawda?), o tyle drugi jest do艣膰 istotny. Okazuje si臋, 偶e z jakich艣 niewiadomych powod贸w tw贸rcy stron www 艂aduj膮 "pod mask臋" takie ilo艣ci dodatkowych zb臋dnych technologii, 偶e najprostsza strona z niewielk膮 ilo艣ci膮 informacji puchnie do megabajt贸w, dziesi膮tk贸w megabajt贸w albo i gorzej.
We藕my na przyk艂ad taki artyku艂: http://motherboard.vice.com/read/i-built-a-botnet-that-could-destroy-spotify-with-fake-listens
Strona ma pi臋膰 megabajt贸w, z czego wi臋kszo艣膰 jest zmarnowana na jeden wielki obrazek ze s艂uchawkami oraz kup臋 skrypt贸w JS. A przecie偶 jedynym celem tego artyku艂u jest przekazanie czytelnikowi informacji o tym, jak sztucznie nabija膰 kas臋 za pomoc膮 Spotify oraz prostego botnetu. Sam tekst w tym artykule to oko艂o osiem tysi臋cy bajt贸w. Trzy rz臋dy wielko艣ci mniej! Strona 艂aduje si臋 prawie trzy i p贸艂 sekundy, tylko po to, 偶eby przekaza膰 czytelnikowi informacje, kt贸re da艂oby si臋 przekaza膰 w jedn膮 dziesi膮t膮 sekundy.
Jeszcze jeden przyk艂ad: artyku艂 na temat zegarka Apple: http://www.theverge.com/a/apple-watch-review. Ponad 7 MB danych do przepchni臋cia przez 艂膮cza, zajmuje to mi臋dzy 2 a 3 sekundy, a u偶ytecznych informacji jest tam jak na lekarstwo. 80% miejsca skonsumowane przez obrazki (w tym obrazki t艂a, kt贸re pogarszaj膮 czytelno艣膰 tre艣ci) oraz skrypty JS odpowiedzialne za "pi臋kne" efekty wizualne, kt贸re moim zdaniem s膮 jak strzelanie z armaty do much.
A sk膮d si臋 to bierze?
Bierze si臋 to z przeszacowania potrzeb i wymaga艅. Je偶eli kto艣 ma ma艂膮, prywatn膮 stron臋 www, kt贸ra mu si臋 nagle zaczyna rozrasta膰 ponad wszelkie wyobra偶enie, zacznie szuka膰 rozwi膮za艅, kt贸re si臋 dobrze skaluj膮, dadz膮 wi臋cej elastyczno艣ci i tak dalej i tak dalej. Niechybnie pr臋dzej czy p贸藕niej trafi na spec贸w od sprzeda偶y, kt贸rzy nam贸wi膮 go na przej艣cie na jaki艣 "dojrza艂y" framework. Tylko 偶e nikt nie wspomni, 偶e 贸w framework b臋dzie dostarcza艂 z pi臋膰 tysi臋cy innych funkcji, kt贸re naszemu domoros艂emu webmasterowi b臋d膮 ca艂kiem zb臋dne, a kt贸re b臋d膮 si臋 - chocia偶 nieu偶ywane - 艂adowa膰 w tle za ka偶dym razem, kiedy czytelnik strony pu艣ci b膮ka.
Dobra analogia to s艂ynny artyku艂 pokazuj膮cy, w jaki spos贸b mo偶na za pomoc膮 niewielkich 艣rodk贸w zrealizowa膰 ca艂kiem niebanalne przedsi臋wzi臋cie, jakim jest analiza dw贸ch milion贸w partii szach贸w. Zamiast anga偶owa膰 do tego silniki baz danych, Hadoopy z dupy czy inne wielkie serwery i inne etcetery, mo偶na to przeprowadzi膰 o wiele wydajniej na pojedynczym laptopie, przy u偶yciu wy艂膮cznie linuksowego wiersza polece艅: http://aadrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html
(nawiasem m贸wi膮c artyku艂 贸w to oko艂o 10 KB tekstu, a strona z artyku艂em wa偶y ponad 膰wier膰 megabajta)
Strona g艂贸wna PayPal-a to ponad 12 MB (!) danych, g艂贸wnie bezwarto艣ciowe wideo w tle. Dlaczego kto艣, kto chce wykona膰 p艂atno艣膰 on-line, musi najpierw 艂adowa膰 przez przegl膮dark臋 dwunastomegabajtowe wideo?
Inna przyczyna puchni臋cia stron www to organizacja pracy w organizacjach zajmuj膮cych si臋 produkowaniem oprogramowania. Je偶eli jestem managerem, kt贸ry ma do sko艅czenia projekt, i ten projekt si臋 wreszcie sko艅czy (a wi臋c osi膮gnie faz臋 gotowego produktu, dostarczonego do szcz臋艣liwych u偶ytkownik贸w ko艅cowych), nagle oka偶e si臋, 偶e dla moich ludzi nie ma nic wi臋cej do roboty. Trzeba b臋dzie zmniejszy膰 team, co z kolei zmniejszy presti偶 mojego stanowiska! Tak nie mo偶e by膰! Musimy szybciutko wykombinowa膰 co艣, czego "brakuje" naszemu produktowi, a co da zaj臋cie ludziom na kolejne miesi膮ce.
Idealnym przyk艂adem jest tu WinAmp - produkt by艂 w zasadzie gotowy, idealny, perfekcyjny, w okolicach wersji 2.0. Tymczasem jednak trzeba by艂o znale藕膰 zaj臋cie programistom, wi臋c po wersjach 3, 4 i 5 WinAmp rozr贸s艂 si臋 do takiego monstrum, 偶e ledwie by艂 w stanie odtwarza膰 muzyk臋, o ile u偶ytkownikowi uda艂o si臋 jako艣 znale藕膰 w艂a艣ciwe ku temu okienko. I co? I dupa, produkt zdech艂, bo si臋 by艂 prze偶ar艂 niepotrzebnymi opcjami... Na tej samej zasadzie programi艣ci webowi dodaj膮 coraz to nowe opcje do serwis贸w, kt贸re idealnie spe艂niaj膮 swoj膮 funkcj臋 - pr贸buj膮 zrobi膰 z nich kombajny do wszystkiego. A jak co艣 jest do wszystkiego... wiadomo. Efekt jest taki, 偶e przeczytanie jednego zdania on-line wymaga nagle za艂adowania pi臋ciu warstw logicznych software-u, milion贸w skrypt贸w, a to wszystko z jakiej艣 gigantycznej chmury.
Mo偶na na zagadnienie spojrze膰 z jeszcze innej strony: cz臋sto jest tak, 偶e jak nam strona www dzia艂a za wolno, kupujemy szybsze 艂膮cze, lepszy serwer, wi臋ksz膮 chmur臋. I przez jaki艣 czas cieszymy si臋, 偶e zacz臋艂o chodzi膰 troch臋 szybciej, ale potem k贸艂ko si臋 zamyka, wi臋c zn贸w dokupujemy przestrzeni dyskowej, megabit贸w na sekund臋, teraflops贸w itd. A偶 wreszcie dochodzi do paradoksalnej sytuacji, 偶e utrzymanie us艂ugi przynosz膮cej nam, dajmy na to, 5000 dolar贸w miesi臋cznie, kosztuje nas 6000 dolar贸w w samej infrastrukturze. A da艂oby si臋 przecie偶 - zamiast inwestowa膰 w coraz to wi臋ksze serwery i 艂膮cza, po prostu zoptymalizowa膰 to, co ju偶 mamy. Je偶eli napisz臋 kiepskie zapytanie SQL, to zdziesi臋ciokrotnienie serwer贸w nie pomo偶e bardziej, ni偶 modlitwy o deszcz. Nale偶y zainwestowa膰 w poprawienie samego zapytania, a nie infrastruktury.
Oczywi艣cie g贸wniana infrastruktura mo偶e zaszkodzi膰, ale nie o to chodzi.
Ko艅cowy wniosek jest taki, 偶eby zawsze liczy膰 si艂y na zamiary (b膮d藕 te偶 na wymiary, jak mawia艂 komandor McPig - pami臋ta kto艣?) i robi膰 rzeczy z g艂ow膮.
Na zako艅czenie przyk艂ad z w艂asnego podw贸rka: z艂apa艂em si臋 dzi艣 na tym, 偶e ponad po艂owa pojemno艣ci ka偶dego artyku艂u na tym blogu jest (a raczej by艂a) po偶arta przez durne ikonki w menu. Usuni臋cie ikonek spowodowa艂o skr贸cenie czasu 艂adowania o po艂ow臋 bez jako艣ciowej utraty funkcjonalno艣ci.
Ha.
imho przyczyna le偶y te偶 gdzie indziej. Zatrudnia si臋 m艂odych, kt贸rzy „nie umi膮” u偶ywa膰 delikatnych narz臋dzi. Obecnie kod si臋 g艂贸wnie „wyklikuje”, a automagia robi reszt臋. dzia艂a wolno – dosyp ramu.
Jak si臋 piecze ciasteczka na sprzeda偶 i popyt zaczyna przerasta膰 mo偶liwo艣ci naszej domowej kuchni, nie wystarczy kupno kuchni przemys艂owej; trzeba jeszcze zatrudni膰 odpowiednio wykwalifikowanych kucharzy..
Winamp nie mia艂 wersji 4 馃檪 To po pierwsze primo.
A po drugie primo: jakim cudem spuchni臋cie Winampa w wersji 3 spodowa艂o jego 艣mier膰, skoro wersja 2.x by艂a wed艂ug Ciebie doskona艂a? Przecie偶 userzy mogli sobie pozosta膰 przy „doskona艂ej” wersji 2.x.
No faktycznie, wersji 4 nie by艂o. Co do wersji, jak kto艣 chcia艂 kupi膰 pe艂n膮 wersj臋, to musia艂 bra膰 to, co jest dost臋pne aktualnie, wi臋c bra艂 t臋 nieszcz臋sn膮 pi膮tk臋, i p艂aka艂. Pisz臋 z autopsji, ale te偶 czytam sporo w Sieci i wiem, 偶e ludzie kl臋li na pi膮tk臋 jak szewce.
co tam strony internetowe, pilot od mojego telewizora wymaga semestru nauki i drugiego semestru laboratorium.
Ha! My艣my niedawno dorwali nowego og艂upiacza i w pude艂ku by艂y dwa piloty: jeden taki na zasadzie myszki, z o艣mioma przyciskami (pi x oko), z czujnikiem ruchu, wi臋c si臋 nim po prostu wskazuje funkcj臋 na ekranie i wciska OK, a drugi taki zwyczajny, z milionem klawiszy i funkcji. Ten pierwszy si臋 popsu艂 po tygodniu i dopiero si臋 lament podni贸s艂… No i teraz w艂a艣nie ucz臋szczamy na studia z obs艂ugi pilot贸w 馃槈