O jedną wersję za dużo: kiedy nie należy już dalej rozwijać programu?

Strona główna Aktualności

O autorze

Każde aktywnie rozwijane oprogramowanie z czasem rośnie. To oczywiste zjawisko związane ze wzrostem funkcjonalności: nowe wersje programów umieją naturalnie więcej, niż poprzednie, muszą więc zajmować więcej miejsca i wymagać mocniejszego sprzętu. Wydaje się zatem, że wraz ze wzrostem mocy obliczeniowej komputerów, oprogramowanie będzie rozwijać się równolegle, a oba procesy będą się nawzajem napędzać. Skąd więc biorą się takie opinie i porzekadła jak nieformalne Prawo Wirtha, mówiące, że wydajność oprogramowania spada z prędkością kompensującą Prawo Moore’a, nierzadko spadając wręcz szybciej? Dlaczego programy tyją?

Powodów może być wiele. Jednym z nich jest to, że pewnych rzeczy nie da się zrobić mniejszym kosztem. System Windows NT, w przeciwieństwie do oryginalnych Windowsów, był napisany w C i oferował rozbudowane zabezpieczenia. Nie przyjął się (początkowo), ze względu na wysokie wymagania sprzętowe. Gdy próbowano je obniżyć, okazało się, że nie da się zejść poniżej pewnego poziomu bez poświęcenia funkcjonalności. Więc czasem, gdy chcemy lepszego oprogramowania, wzrost wymagań sprzętowych jest nieodzowny.

Kolejny potencjalny powód jest już bardziej „leniwy” – wiąże się z obniżaniem kosztów tworzenia oprogramowania. Staje się ono tańsze… gdy łatwej je zrobić. Z tego powodu powstały „wspomagające” kompilatory, predefiniowane biblioteki, a wkrótce potem środowiska RAD jak Visual Basic, a następnie .NET i Node.js. Każde narzędzia ułatwiające pracę programiście, oferują swoje zalety kosztem wydajności lub rozmiaru. Ale w realiach rynkowych czas to pieniądz: lepiej stworzyć nieco cięższy program, niż superwydajny, ale trzy lata później.

Wreszcie, pozostają kwestie czysto marketingowe. Tworzony produkt być może osiągnął już swoją dojrzałość, ale nie da się ciągle reklamować tych samych cech. Ponieważ wersji wyłącznie ze zmianami „pod maską” nikt nie kupi, niezależnie od tego, jak poważne byłyby to zmiany, dział promocji forsuje zmiany interfejsu i dodawanie nowych, rzekomo oczekiwanych funkcji. Efektem zazwyczaj jest frustracja użytkowników i zdziwienie obserwatorów, bez wyjątku karmionych bajkami o „doskonałym” przyjęciu” zmian. Wspomniane zjawisko nie jest nowe i nie dotyczy jedynie najnowszej wersji Facebook Messengera czy (w opinii niektórych) systemu Windows 10. Oprogramowania „zarżniętego” nadmiarem zmian jest mnóstwo. Przykładów można mnożyć bardzo wiele i nie zabraknie ich również, gdy będziemy się cofać w latach do coraz dawniejszych czasów. Myślę, że każdy z nas zna ich co najmniej kilka. Przyjrzyjmy się tym najpopularniejszym.

Spis treści

Office 2007

Niemal od samego początku, wszystkie elementy pakietu Office, rysowały swój interfejs samodzielnie. Oznacza to, że nie korzystały z systemowych kontrolek, zamiast tego używając własnych bibliotek. Powody były całkiem uzasadnione: domyślne elementy Windows (tzw. Common Controls oraz Common Dialogs) nie pokrywały swoją funkcjonalnością poziomu skomplikowania, jaki narzucał Office. Wiele opcji, jak ikony w paskach i personalizowane menu, były dopiero w planach dla kolejnych wersji Windows, notorycznie słynących z przesuwającej się w przyszłość premiery. Dlatego Office oferował pewien ograniczony wgląd w przyszłość Windowsów, pokazując cechy interfejsów, które dopiero za kilkanaście miesięcy będą miały swoją premierę, a przede wszystkim – będą dostępne dla programistów.

W okolicach roku 2000 oraz pakietu Office 2000, zmiany w interfejsie wyhamowały. Office 9.0 (czyli wersja 2000) oferował już „ostateczny wygląd”: zaimplementowano w nim wszystkie elementy wymyślone od czasu ambitnych badań używalności, a każdy z nich był dostępny jako funkcjonalność API dla programistów chcących tworzyć aplikacje dla systemu Windows 2000. O widoczne zmiany było coraz trudniej. Wszak Office XP i Office 2003 niemal nie różnią się na pierwszy rzut oka od swojego starszego odpowiednika z roku 2000. Pod względem GUI Office był ukończony. Naturalnym wnioskiem, jaki powinien nasuwać się w takiej sytuacji, jest:„skoro interfejs mamy już praktycznie załatwiony, może postawmy na zaawansowane funkcje?”. Mimo niewątpliwej potęgi funkcjonalnej, Microsoft Office nie jest lekiem na wszystko. Publisher nie może konkurować Adobe InDesign. Tym bardziej nie zrobi tego Word. Excel to jedynie marna namiastka MATLABa, Access w porównaniu z SQL Serverem to marny żart, a poza tym przydałby mu się lepszy projektant relacji… Było mnóstwo miejsca na usprawnienia. Dalej jest go bardzo dużo, po 18 latach. Niestety, rozwijanie Office’a w taki sposób okazało się niemożliwe. Problemem była pułapka własnego sukcesu.

Office to pakiet biurowy. Zastanówmy się przez chwilę, co to znaczy. W zamierzeniu ma to być pakiet do zadań wykonywanych w pracy. Tworzenie podań, sprawozdań, wykresów i analiz. Tymczasem stał się zestawem powszechnie stosowanym w domach. Ludzie nie tworzą listy zakupów w gadżecie Sticky Notes. Użyją Worda. Nie użyją dedykowanego programu do notatek, żeby zapisać kilka niesformatowanych zdań na brudno. Również włączą Worda. Co więcej – nie zmienią rozmiaru obrazka przez Painta. Wkleją go do Worda, zmniejszą na kartce dokumentu i wyślą jako DOC! Windowsowe aplety umiały za mało, ale Word umie za dużo. Stał się jednak tak powszechny i niezastąpiony, że Microsoft nie umiał sprzedać swojego zestawu domowego: pakietu Microsoft Works, zaprojektowanego właśnie do zadań codziennych. Niestety, nie pomogło mu np. to, że komputery zaczęły być używane do edukacji. Brak programu do tworzenia prezentacji (na co niegdyś cierpiały również najtańsze warianty pakietu Office) skazywał ludzi na gigantyczny pakiet biurowy, z którego w zasadzie prawie nie korzystali. Office nie mógł więc stać się bardziej profesjonalny. Musiał zacząć celować w typowego użytkownika domowego. Ponieważ taki „typowy użytkownik”, skonfrontowany z komputerem, głównie zajmuje się narzekaniem jakie wszystko jest trudne, Microsoft zdecydował, że skupi się na likwidacji problemu z „odkrywalnością” (discoverability) funkcji. Efektem była wstążka. Ludzie wstążki nie polubili.

Z powodu wstążki, Office 2007 kojarzy się tylko z tą zmianą. Stąd powszechne były narzekania, że poza komiksową, nieprofesjonalną czcionką domyślną (Calibri) i niechcianym interfejsem, nowy pakiet nie wniósł nic nowego, a przytył z 200MB do 1,1 GB! To jednak krzywdzące stwierdzenie: wersja 2007 wniosła bardzo dużo korzystnych zmian, jak na przykład dynamiczne podglądy i pływające paski narzędzi. Tylko ta nieszczęsna wstążka…

Mimo, że wiele funkcji dzięki niej wypłynęło na wierzch, nowy pomysł spotkał się z buntem i krytyką, ze względu między innymi na cyrki ze skrótami klawiaturowymi. Powszechnie twierdzono też, że wstążka wcale nie uwydatnia, tylko wręcz ukrywa wiele funkcji. Krytykowano jej niekonfigurowalność, możliwość zmiany koloru… z niebieskiego na szary (i tyle), przyspawanie do górnego obszaru ekranu i optycznie wielki rozmiar. Splotło się to w czasie z problematyczną dla wstążki ewolucją sprzętu: panoramiczne monitory sprawiały, że wstążka redukowała efektywny obszar roboczy programów. W dodatku okazała się komicznie wręcz niedostosowana do dotyku, o wiele poważniej, niż klasyczne menu. Konieczność klikania w malutki kwadracik w prawym dolnym rogu sekcji na wstążce (zamiast całego gigantycznego nagłówka!), zestawiona z oknami, które ledwo radziły sobie z piórem, a co dopiero z palcem, szybko sprawiły że Wstążkę trudno było pokochać. Niektórzy nie pogodzili się z nią do tej pory.

Tymczasem proces projektowania Wstążki wcale nie był głupi. Doskonałą prezentację na ten temat przedstawił 10 lat temu Jensen Harris, odpowiedzialny za prace zespołu interfejsów użytkownika dla pakietu Office. Formuła wstążkowych zakładek, sekcje i kolejność ikon (na przykład Wklej jako główny przycisk) – wszystko było efektem drobiazgowych badań, opracowania pokaźnego zbioru telemetrii (tak, w 2003!) i stworzenia niezliczonych prototypów. Trudno jednak oprzeć się wrażeniu, że jednak mogło być lepiej. Wstążka wygląda miejscami na niedokończoną, również dziś. A niektóre jej elementy boleśnie szybko się zestarzały.

Skype

Mające swój debiut na początku lat dziewięćdziesiątych środowisko Windows 3.0 oferowało zdumiewająco nieprzyjazny interfejs, zwłaszcza gdy zestawimy go z utartą opinią, że była to pierwsza łatwa i przyjemna w użyciu przez laika wersja Okienek. W praktyce jednak Windows 3.0 był straszny: Menedżer Programów był wręcz zaprojektowany by się w nim zgubić, a brak paska zadań (okna maksymalizowały się na cały ekran!) sprawiał, że ludzie gubili uruchomione programy, często włączając wiele kolejnych instancji, przykrywanych innymi oknami. Tak oczywisty wynalazek jak pasek zadań był prawdziwą rewolucją. Konkurencyjny Mac OS nie posiadał paska zadań, przełączanie między programami następowało tam w wyjątkowy i ciekawy sposób, a wspomniany brak wypełnił dopiero MacOS X, który wprowadził legendarnego Docka.

Dock stał się wyznacznikiem mody w tworzeniu użytecznych interfejsów dla urządzeń w klasycznym formacie „komputera osobistego”. Po latach nawiązał do niego Windows 7, wprowadzając Superbar. Dawny pasek zadań został zmodyfikowany: różne okna tej samej aplikacji były obowiązkowo grupowane, a przycisk zadania utracił swój opis, zamiast tego wyświetlając jedynie dużą ikonę uruchomionego programu. Nowe przyciski oferowały zaawansowane metody wyświetlania progresu trwających czynności, mogły być rozszerzane o własne mini-kontrolki (np. do zatrzymywania odtwarzania) i pozwalały na definiowanie dodatkowych poleceń i trzymanie historii, kryjących się pod menu przywoływanym prawym klawiszem. W zamierzeniu miały doprowadzić do znaczącego zredukowania roli zasobnika systemowego i oficjalnie zostały wprowadzone, by uniknąć tłoku na pasku zadań. Ów tłok miał wynikać z tego, że coraz mocniejsze komputery pozwalały na uruchamianie większej liczby programów. W świecie, gdy na pasku milionów ludzi znajdują się jeden przycisk Chrome i jeden przycisk otwartego folderu z zapisanymi memami, powyższe wyjaśnienie raczej kiepsko się broni. Pozostaje to drugie, bardziej prawdopodobne: „patrzcie, my też potrafimy zrobić dock jak Apple!”.

Ta przeklęta zmiana paska zadań, którą zawsze wyłączam od 2009 roku, miała swoje skutki uboczne. Po pierwsze wzrosła liczba kliknięć potrzebnych, by przełączać się między oknami. Po drugie, programy niegdyś operujące na wielu oknach, zaczęły kombinować swoje interfejsy w wielkie, pojedyncze instancje typu „dashboard”, co podejrzanie często szło w parze z istotnym zmniejszeniem responsywności programu i ogólnym chaosem ergonomicznym. Główną ofiarą tych przemian były komunikatory internetowe, szczególnie istotnym przykładem jest Skype (oraz zapomniany już dziś MSN Messenger).

Dotychczasowe wersje Skype’a były małym, kilkumegabajtowym cudeńkiem o prostej budowie: okienko kontaktów oraz oddzielne okno rozmowy dla każdej osoby, z którą aktywnie konwersujemy. Skype 4.0 postanowił zmienić to podejście. Pozornie instalator ważył tyle samo, ale oferowany interfejs różnił się diametralnie. Skype od teraz oferował tylko jedno okno, którego w dodatku nie dało się wyrzucić z paska zadań. Szereg kilkunastu katastrof, które docelowo sprawiły że jakość Skype’a uległa diametralnej degradacji, zaczął się mniej więcej właśnie wtedy.

Wyświetlenie dwóch rozmów obok siebie stało się niemożliwe. Brak zaznaczonego rozmówcy oznaczał wyświetlanie „widoku zestawienia”, pełnego aktualizacji statusów, niepotrzebnych informacji oraz bzdurnych, dotychczas nieobecnych, reklam. A na domiar złego, program wyraźnie zwolnił i zaczął łapać „lagi”: zdarzało mu się przez kilka sekund nie odpowiadać na kliknięcia i tłuc 100% obciążenia procesora. Gdy wspomniany efekt zachodził podczas rozmowy wideo, naturalnie ulegała ona zerwaniu. Wersja 3.6 działała poprawnie.

Skype 4.0 to doskonały przykład programu, który mógł przestać się rozwijać. Każda nowa funkcja mogła go już wyłącznie zepsuć. W konsekwencji tak właśnie się stało: teoretycznie Skype 4.0 oferował nowy, znacząco wydajniejszy kodek do wideokonferencji. Ale trudno korzystać z jego zalet, gdy praca z samym programem staje się wysoce frustrująca. Skype ustanowił tym samym niechlubną tradycję zbędnych zmian: gigantyczne przebudowy, tuziny niekompatybilnych ze sobą wersji, wybrakowana aplikacja UWP, wersje Electron, jakimś cudem różne od siebie (!?) i działające tylko na wybranych wersjach systemu – każdej z nich czegoś brakuje, na żadnej nie można polegać. A wariant pulpitowy jest napisany w Delphi, cudzym języku programowania, przy czym jest najlepiej działający.

Po wykupieniu przez Microsoft, Skype usunął ze swojego paska stanu napis mówiący, ile osób właśnie korzysta z sieci. Zaprzestano też publikowania statystyk z liczbą użytkowników. Uzasadnionym jest podejrzewać, że ulegałaby ona wyraźnemu zmniejszeniu.

Mozilla Firefox

Firefox, o którym tak często piszę (co niezmiernie mnie dziwi) powstał jako przeciwieństwo ciężkości. Dawny pakiet Mozilla uznano nie za kompletny, a za przestarzały, wnoszący użytkownikom internetu wiele zbędnych funkcji. Dlatego zadecydowano o poważnym odchudzeniu zestawu, pozostawiając jedynie przeglądarkę internetową. Efektem był spektakularny sukces i niemal jednogłośnie przychylne opinie. Nikt nie mógł wiedzieć, że przeprowadzając modernizację, Firefox dalej pozostanie programem o przestarzałej spuściźnie.

Fakt ten wychodził na jaw powoli, wraz z ewolucją stron w aplikacje internetowe, nadużywające języków skryptowych. Konieczność rozwoju silników JS oraz rozbudowy rendererów o obsługę coraz nowszych standardów sprawiała, że Firefox po kilku latach przestał być leciutki. Był wyraźnie cięższy od oryginalnej Mozilli, a ze względu na jednoprocesowość i starą technologię „pod maską” – momentami okropnie powolny. Opieszałość przeglądarki sprawiała, że kilkunastomegabajtowy program uznawano za olbrzymiego potwora.

Rozpoczęły się lata kolejnych modernizacji. Jedna z ostatnich miała miejsce stosunkowo niedawno, jako projekt Quantum. Były to zmiany uzasadnione i (może poza obsługą dodatków…) zdecydowanie popierane, a głównym zarzutem w ich kierunku było jedynie niskie tempo. Niestety, Firefoksowi przyszło rozwijać się w czasach telefonów dotykowych o dziwnym GUI, przeglądarki Chrome o minimalistycznym interfejsie oraz… ekranów panoramicznych, wymuszających redukcję pasków narzędzi.

Kolejne odchudzenia stopniowo oddalały Firefoksa od pracy w normalnym oknie. Najpierw przetrzebieniu uległy przyciski na paskach, spłaszczono je i zmniejszono ich liczbę. Potem poszedł sobie oddzielny pasek kart. W końcu, wraz z wydaniem 12, zadebiutował Przycisk Centralny, usuwający cały pasek menu. Pomysł okazał się na tyle modny, że zainkorporowała go również Opera. Wszystko w imię wolnego miejsca na ekranie! Głosy były coraz bardziej negatywne, zarzucano przeglądarce „chromifikację”, ze względu na radykalne upraszczanie UI. Aż wydano wersję 29, ze stylem „Australis”.

Gdyby nie oddzielne, zbędne zresztą, okienko wyszukiwania, Firefox stałby się nieodróżnialny od Chrome’a. Zrobiło się nieprzyjemnie. Oczywiście, ponieważ wdrażanie wieloprocesowości i nowych silników było jeszcze w powijakach, natychmiast pojawiły się zarzuty o skupienie na błędnych priorytetach. Zmiany w GUI uznano za niepotrzebne i marnotrawiące czas inżynierów. Niechże Firefox wygląda tak, jak dawniej! Chrzanić „doznania” (user experience), to nie portal randkowy. Lepiej, żeby JavaScript parsował się szybciej, a karty działały w programowych kontenerach.

Obecny Firefox nie przypomina już Chrome’a tak boleśnie, ale dalej widać, jakimi garściami czerpał z niego inspirację. Jeszcze nie stał się niewidzialny i leciutki. I choć jest rzekomo na dobrej drodze ku temu, dużo ludzi twierdzi, że złote czasy Firefoksa minęły bezpowrotnie.

Windows 8

Och, gdzie w ogóle zacząć z tym tematem! O klęsce systemu Windows 8 powiedziano już tak wiele, że naprawdę trudno tu być odkrywczym. Dlatego najlepiej wspomnieć tylko o kwestiach, o których zazwyczaj mówi się najmniej.

To, że Windows Vista był niedokończonym systemem, to naprawdę łagodna diagnoza. Projekt ulegał gigantycznym opóźnieniom, wypadł z niego pokaźny podzbiór funkcji, a stabilność była zaskakująco niska. Jednakże pod względem interfejsu użytkownika stanowił on całkiem dopracowany i surowo konsekwentny projekt… w większości miejsc. Gdzieniegdzie pojawiały się relikty sprzed pięciu lub dziesięciu lat, małe niewygodne okienka bez nałożonego stylu, kreatory niepasujące swoją konwencją graficzną do reszty itd. Windows 7, przez wielu słusznie nazywany płatnym Service Packiem do Visty, uporządkował wiele rzeczy, w dalszym ciągu pozostawiając, mniejszy już co prawda, stos niedopracowanych detali. Od okienka wyboru wygaszacza ekranu po Menedżer Urządzeń. Nie dało się jednak wywinąć numeru z Siódemką jeszcze raz: Vista miała złą prasę, więc za poprawioną Vistę ludzie byli gotowi wydać pieniądze. Ale za… „lekko dokończoną, poprawioną Vistę”? Pewnie nie.

Konieczne były duże, spektakularne zmiany na wierzchu. Małych prac konserwacyjnych nikt by nie docenił (pieniędzmi). Pokaźnych zmian pod maską nie dałoby się z kolei zareklamować. Tak powstał Windows 8! System, który mimo olbrzymiej ilości fantastycznych, godnych uznania modyfikacji i usprawnień „pod spodem”, zaoferował też garść nowości „na wierzchu”. Były to nowości straszne.

Marketingowa fiksacja w temacie urządzeń dotykowych, przekraczająca potencjalnie rozsądne zainteresowanie tematem, wprowadziła aplikacje Metro. To nie kafelki zniechęciły ludzi. To pełnoekranowość. Kafelkowy Start nikomu by nie przeszkadzał, gdyby wysuwał się tylko na fragment ekranu z lewej strony i oferował przycisk startowy na (zawsze widocznym) pasku zadań. Błąd, jaki popełniono, był tak rażący, że zdumiewającym jest, że trzeba było czekać rok na łatkę, a potem następne dwa lata na dalsze wycofanie się z całego pomysłu głupich, pełnoekranowych aplikacji i interfejsów. Żadną miarą nie da się uznać pulpitu za „aplikację”, na równi z kafelkiem z pogodą. Żadnego sensu nie ma pisanie „stuknij palcem na to łącze” posiadaczowi stacjonarnego peceta (co łatwo wykryć). Cała szarada z Windows 8 była ewidentnym efektem wysłuchania ludzi zakochanych w sobie, przekonanych o byciu trend-setterami, a nie twórcami systemu do wyświetlania arkusza kalkulacyjnego.

Świat nigdy nie potrzebował Metro. Tablety z Windowsem, oraz tablety w ogóle – całkowicie wymarły. Doskonałym dowodem na zbędność całej inicjatywy jest fakt, że z dotykiem o wiele lepiej radzi sobie... Windows 7. Który nawet skaluje swój interfejs (szersze odstępy w menu i większe napisy) gdy wykryje dotyk palcem! I który oferuje skromne, pływające okienko pisma odręcznego, zamiast gigantycznego, zadokowanego permanentnie na dole prostokąta do pisania. Świat potrzebował dokończonego Windowsa 7. Problem w tym, że nie miał ochoty za niego płacić. Być może model darmowego, „ostatniego” Windowsa, skromnie aktualizowanego co pół roku należało wprowadzić już przy okazji Siódemki…? Chociaż z drugiej strony, była to wiedza możliwa do nabycia wyłącznie wskutek nauczki po popełnieniu olbrzymiej pomyłki.

Gadu-Gadu

Przykład programu, który powinien był w pewnym momencie „dać sobie spokój” mamy też na rodzimym podwórku. Jest nim oczywiście Gadu-Gadu. Program będący definicją komunikatora internetowego w Polsce, a i za granicą posiadający jedynie wątłą konkurencję w postaci ICQ i niczego więcej, był rozpleniony po wszystkich polskich pecetach podpiętych do sieci. Była to skromna aplikacja, skupiona ściśle na swoich podstawowych zastosowaniach: wysyłanie wiadomości tekstowych do listy kontaktów (przechowywanej offline), obsługa SMSów oraz wyświetlanie reklam, finansujących działanie infrastruktury. Interfejs był bezsprzecznie napisany na kolanie i makabrycznie brzydki. Miał jednak pewną niepodważalną zaletę: sprawiał, że program ważył 465 kilobajtów. Rozmiar aplikacji był jednym z powodów do dumy (w owym czasie), bo stare wersje oferowały nawet kreator przygotowujący dyskietkę z programem „dla kolegi” – posiadacza np. modemu, przez który pobierałby instalator przez kilka długich minut.

Autorzy nie poradzili sobie jednak poprawnie z sukcesem swojego produktu. Przekonani o nieodzowności tworzonego komunikatora, zdecydowali się na „ekspansję” na inne rynki, jak fora, muzyka, radio i… serwis społecznościowy. Ten pozornie słuszny kierunek rozwoju kompletnie zignorował jednak nieuchronną globalizację komunikatorów oraz rozpędzający się rynek mobilny. Użytkownicy portali społecznościowych kierowali się modą i poczuciem przynależności: społecznościowy portal Generacja GG nie odniósł sukcesu, bo nikt nie „identyfikował się” z Gadu-Gadu. Był to wariacki, zabawny programik do rozmów, nic więcej. Nikt też nie szukał w komunikatorze kontrolek do słuchania radia – a takie właśnie cuda pojawiły się w wersji 7.0. Co prawda nie podległa ona procesowi zbrylenia komunikatorów w jedno, nieustawne okno, ale i tak skutecznie udało się obniżyć płynność działania. Dziesięciokrotnie większy rozmiar aplikacji skutecznie zawieszał stare rzęchy, dogorywające jeszcze na biurkach wielu użytkowników, którzy na laptopy przeszli dopiero rok później (najwcześniej). Jeszcze większa liczba reklam prowokowała do masowego odpływu do konkurencji: albo do innych klientów, oficjalnie zabronionych, albo do w ogóle innych protokołów, jak Tlen czy WPKontakt.

Nowa wersja, nazwana literalnie „Nowe GG” była rzekomo mniej krzykliwa, ale dalej była wielka, ciężka i pełna funkcji, o które nikt nie prosił. Wszystkie dodatkowe przybudówki do GG zaczynały się powoli składać, a międzyczasie coraz popularniejszy stawał się Facebook i Skype – w tym wersje na telefony, na których GG pojawiło się zbyt późno i od początku działało dziwnie, inaczej niż pozostałe komunikatory. Skok na kasę z GG7, przegapienie oczywistych trendów wskutek megalomanii i makabryczny interfejs doprowadziły do marginalizacji produktu. Użytkownicy, widząc nowe GG tęsknili raczej za starym dobrym „pomarańczowym” potworkiem.

Próby nadmiernego rozbudowywania UI miały już miejsce w wersji 5.0, gdzie dodano sklep z dzwonkami i tapetami na komórkę, który następnie prędko wywalono, bo nie kupuje się dzwonków w komunikatorze. Dla niektórych najwyraźniej nie było to oczywiste.

Winamp 3

W dawnych i okropnie zacofanych czasach, gdy telefony służyły do „dzwonienia” (wykonywanie połączeń głosowych za pomocą poprzednika smartfona – przyp. red.) a muzykę przechowywano lokalnie w postaci plików MP3, popularne były programowe odtwarzacze muzyki. Windows Media Player kompletnie się nie przyjął, nawet jego (bardzo dobra) wersja 7, oferująca zaawansowane narzędzie Biblioteki Multimediów, wzorowane na innym popularnym programie – Real JukeBox. W dalszym ciągu najpopularniejszy był Winamp, dość ograniczony program, polegający na statycznych listach odtwarzania, tworzonych samodzielnie, zazwyczaj wskutek dodania całego katalogu z muzyką, co skutkowało powstaniem jednego, wielkiego i groteskowo długiego spisu.

Ten archaiczny sposób miał zostać zachowany, ale rozszerzony właśnie o bibliotekę multimediów w wersji 3.0. W sierpniu 2002 miało miejsce wydanie programu „Winamp3”, który został przepisany od zera przy użyciu nowych frameworków. Efektem był znacznie cięższy, wolniejszy, niezgodny z poprzednimi skinami i wtyczkami kombajn, który w dodatku pracował dość niestabilnie. Brakowało mu też kilku małych, acz oczywistych funkcji, obecnych „od zawsze” w wersjach 2.x. Sytuację pogarszał brak szalenie popularnego komponentu SHOUTcast, służącego do strumieniowania. Wiele amatorskich internetowych stacji radiowych polegało właśnie na nim, a wersja dla Winampa 3 nie nadchodziła, mimo głośno wyrażanego zapotrzebowania i wręcz bojowego awanturnictwa na forach producenta.

Efektem był odwrót użytkowników do serii 2.x. Niechęć do nowego interfejsu i „wnętrzności” słynnego odtwarzacza była tak silna, że ludzie masowo powracali do poprzednich wersji. Skutkiem czego Winamp zaniechał rozwijania wersji 3.0 niecałe pół roku po jej wydaniu i wrócił do linii 2, którą wszyscy tak dobrze znają i wspominają z rozrzewnieniem, mimo że była astronomicznie niewygodna, zwłaszcza w porównaniu z iTunes, który wtedy jeszcze nie był kilkunastotonowym molochem. Wersją, która powoli zaczęła odbijać uchodźców wydania 2.95 była seria 5. Była pozbawiona wad Trójki, ale zanim wszystkim najpopularniejszym komponentom udało się przejść na nową infrastrukturę, minęło wiele lat i wydań. Warto tu jeszcze wspomnieć o dwóch kwestiach. Po pierwsze, nawet odchudzona i stabilniejsza wersja dalej była dla wielu zbyt duża i zbyt odmienna od oryginalnej, jedynej słusznej wersji 2.95. Siła przyzwyczajeń do jednokolumnowej listy odtwarzania i mikroskopijnych kontrolek, szła bowiem w parze z preferowaniem odtwarzacza ważącego dwa, a nie piętnaście megabajtów. Po drugie – to wszystko miało miejsce już tak dawno temu, że dopiero wersja 5.50 zerwała zgodność z Windows 98. Było to jedenaście lat temu.

Dziś odtwarzacze lokalnej muzyki są (w światowej proporcji) niszowe. Stosujemy nowoczesne narzędzia do strumieniowania, wymagające bezustannie stabilnego i szerokiego łącza. Nie wspominając o tym, że są uzależnione od dostawcy i zazwyczaj opakowane w krzyk mody o nazwie Electron, dzięki czemu potrzebują 700MB pamięci RAM.

Acrobat Reader

Format PDF jest uniwersalnie rozpowszechnionym, „ostatecznym” formatem wymiany dokumentów nieprzeznaczonych do edycji. Wiele łączy go z drukarskim standardem definicji dokumentu: PostScriptem. Powodem jego popularności i zwycięstwa (wszak formaty dokumentów, podobnie jak przeglądarki WWW, też miały w latach 90tych swoje „wojny”) była nie tylko typograficzna wierność, możliwość zabudowywania czcionek i kompaktowy rozmiar. Bardzo przysłużył się również żwawy i malutki otwieracz do PDFów – Adobe Acrobat Reader. Umiał dokładnie to, co miał umieć: wyświetlać, przewijać, powiększać, kopiować i drukować dokumenty PDF. Pliki PDF, ze swojej natury, nie były przeznaczone do edycji i adnotacji, więc do nanoszenia np. notatek sugerowano użycie albo pełnego Acrobata, albo po prostu innego formatu. Wszystko było świetnie. Acrobat Reader 5.1 mógł z nami zostać na zawsze.

Niestety, było to niemożliwe. Przede wszystkim z powodów całkiem uzasadnionych: sam format PDF się rozwijał. Umożliwiał na przykład zapis większej liczby poprawnie formatujących się obrazów wektorowych. Poza tym, wymiana dokumentów mogła się odbywać w bezpieczniejszy sposób, ze względu na możliwość stosowania certyfikatów i podpisów cyfrowych. Jednak powody uzasadnione nie były jedynymi powodami. Towarzyszyło im bowiem, a jakże, przekonanie „zróbmy narzędzie do wszystkiego”. Scenariusz jest oczywiście taki sam, jak w poprzednich przypadkach: skoro mamy narzędzie używane przez wszystkich, niech będzie narzędziem, które robi więcej, niż na początku. W ten sposób staniemy się jeszcze bardziej nieodzowni. Dlatego do formatu PDF dorzucono funkcjonalność tworzenia interaktywnych formularzy. Niewątpliwie, jest to produkt na który było zapotrzebowanie. Google Forms, czy nawet taki wynalazek, jak Microsoft InfoPath, były wtedy dopiero melodią przyszłości. Dlaczego jednak nie sprzedać jeszcze więcej? Poza przesadzoną, ale ciekawą funkcją, format PDF wzbogacił się o możliwość wbudowywania multimediów (filmy przecież bajecznie wyglądają na wydruku!) oraz… obiektów OLE! Od tego momentu możliwe stanie się włamanie do systemu przez plik stworzony dla wytwórni poligraficznych. Wraz z owym niewątpliwym powiewem postępu wydano umiejącą otwierać ów format wersję czytnika: Adobe Reader 6.0.

Cóż, ostrzeżeniem powinien być niewątpliwie półprzezroczysty ekran startowy, wyświetlający się zresztą podejrzanie długo. Drugą czerwoną flagą powinien być fakt drenowania zasobów GDI podczas uruchomienia na Windows 98: Reader 6.0 działał niestabilnie, jeżeli poza nim była uruchomiona jakakolwiek aplikacja, a już nie daj Boże przeglądarka internetowa. Te zresztą również cierpiały niedolę, ze względu na destabilizujące i powolne wtyczki, które wraz z Readerem były instalowane w systemie. Problemy sprawiały zarówno wersja do otwierania, jak i wersja do tworzenia dokumentów. A ta druga była całkiem droga. Chcąc jednak korzystać z nowych funkcji, nie było odwrotu. Nie dało się wrócić do dawnego, stabilnego i mniejszego Acrobata 5.x. Mimo silnych głosów dezaprobaty, sprzedaż Adobe nie spadała, a kolejna wersja, wydana dwa lata później jako 7.0 nie poprawiła sytuacji. Z każdą kolejną, aż do wydania DC, było gorzej. Wszystkie reklamowano jako „wydajniejsze” i „bardziej zoptymalizowane”, a tymczasem wymagania rosły, problemy z interfejsem pozostawały nierozwiązane, obsługa zbędnych funkcji powolna, a sam program zwyczajnie niegodny zaufania.

Szczęśliwie, dzisiejsze systemy operacyjne i przeglądarki internetowe oferują czytniki PDF. Są one „niewidzialne”, dysponują elementarnym zbiorem kontrolek i nie wchodzą w grę. Ich wydajność mogłaby być wyższa, ale przynajmniej nie zawieszają się i nie zamrażają. Nie obsługują jednak owych genialnych dodatków, które przez lata przeciekły do formatu PDF. W przypadku skomplikowanych dokumentów jesteśmy wciąż skazani na Adobe Readera. Wiedzą o tym na przykład wszyscy użytkownicy e-Deklaracji.

Neptune i Whistler

Otyłość GUI jest zjawiskiem, które toczy również całe systemy operacyjne i to od lat. Projekt interfejsu dla systemu Chicago, wydanego później jako Windows 95, był nieco bardziej rozbudowany, niż ten obecny w finalnym produkcie. Oryginalnego zamysłu nigdy w pełni nie wcielono w życie, a zintegrowanie powłoki z Internet Explorerem w pewnym stopniu zrewidowało początkowe plany. Niemniej, przez kolejne lata i w parze z nowymi wersjami IE stopniowo wprowadzano usprawnienia do powłoki Windows, która mimo ryzykownych z punktu widzenia bezpieczeństwa koncepcji (jak widok HTML), oferowała coraz bardziej przyjazne środowisko. Pomysł z roku 1993, skorygowany w 1997, uznaje się za zakończony wraz z wersją Windows 2000. Kolejne okna, czyli nieśmiertelny XP odbiły bowiem w innym kierunku, mimo budowania na tym samym fundamencie.

Utęskniony przez wielu Windows 2000 wcale nie był jednak ostatnim tchnieniem klasycznego, „rozsądnego” interfejsu Windows. Drobne poprawki wprowadzał również, wydany kilka miesięcy później Windows Me, a zamysł znaczącego rozwinięcia widoku HTML pojawił się w eksperymentalnym projekcie Neptune. Centra Aktywności, porzucone aż do czasu Windows 8, potwierdzały, że IE może dalej stanowić solidną bazę dla nowoczesnego GUI. Mniejsze inkrementacje, jeszcze bardziej polerujące środowisko znane z Windows 2000, wprowadzał jednak inny projekt. Whistler. Pierwsze wersje prototypu XP, czyli Windows Whistler, ukazywały koncepcje w pełni ukończonego pomysłu rozwijanego od połowy poprzedniej dekady. Łagodne przejścia paska zadań, uporządkowany i bardziej konsekwentny Panel Sterowania, aplety HTML, widok kategorii w Eksploratorze – to wszystko dodawało nutkę „wykończenia” i dopracowania systemu. Zamiast dorzucać kolejne elementy na grzbiet poprzednich, ktoś zajął się uporządkowaniem tego, co już powstało.

Nałożony nowy temat graficzny Watercolor, przez wielu uznawany za najpiękniejszą oprawę okien pochodzącą z Redmond, wyglądał bardzo nowocześnie (zwłaszcza z włączonym domyślnie wygładzaniem czcionek ClearType) i jednocześnie nie podbijał znacząco wymagań sprzętowych. Potem jednak zaczęło się dziać coś złego. Menu Start przerobione na HTML zaczęło działać wolniej (mimo usprawnień w ergonomii), nowe ikony były ładne, ale cukierkowe i ciężkie. W dodatku brzydko się zestarzały i nie były skalowalne. Eksplorator wprowadził statyczny panel boczny, sprawiający wrażenie ciaśniejszego i mniej funkcjonalnego, niż poprzednie. Wreszcie, temat Watercolor został zastąpiony obrzydliwą Luną, przywodzącą na myśl skojarzenia z tanimi chińskimi zabawkami, odlewania z jednego kawałka taniego plastiku. Co ciekawe, był opracowywany w tajemnicy i wydany jako przełomowy i fantastyczny pomysł. Rzekomo. Sytuację pogarszał też fakt obowiązkowego nakładania tematu graficznego na kontrolki okien, co zmniejszało responsywność UI. Tematy były też definiowane manifestem wewnątrz samych plików EXE. Takie podejście degradowało wydajność, podwyższało wymagania, wcale nie było ładne, a w dodatku pozwalało stosować wyłącznie tematy od Microsoftu. Od 2001 roku stworzono aż trzy takie tematy. Całość przemian koronował oczywiście nieodżałowany Piesek Wyszukiwania.

Opinie były druzgocące. Znacząco odmienne od utrwalonej na wiele lat, późniejszej opinii o niezawodnym, wspaniałym i ogólnie najlepszym „ikspeku”. System nie podobał się niemal nikomu. Sytuację pogarszał fakt marnej kompatybilności z grami, tylko trochę lepszej od tej w Windows 2000. Ponieważ nie był to jeszcze czas szybkich magistrali USB, SATA oraz PCI-E i wielordzeniowych procesorów, wiele osób dzielnie trwało przy Windows 98. Domowi użytkownicy byli niezadowoleni z wersji Home, a administratorzy narzekali na wersję Professional. Zabawkowo wyglądającą, znacząco cięższą, wydaną tylko rok po drogim poprzedniku, niezaopatrzoną w odpowiednik serwerowy, a w dodatku dziurawą jak sito. Tytuł Professional zupełnie do niej nie pasował, zwłaszcza z Pieskiem. Poprzednicy po prostu wyglądali i działali lepiej.

Popularność XP nie wynikała z jego zalet, a z nieuniknioności (sterowniki, wycofanie poprzednich wersji że sprzedaży, nowe API, obsługa wielu rdzeni). Kto wie, czy nawet to nie byłoby niewystarczające, gdyby nie Service Pack 2. A więc na chronologiczną opinię o XP składało się odpowiednio „po co było robić coś takiego” oraz „nic więcej nie będzie mi potrzebne”. Co należało zrobić? Zapewne poprzestać na Whistler, a potem zafundować prawdziwą, a nie okrojoną rewolucję w postaci Longhorna. Tak, należało. Ale skoro tak się nie stało, było to najwyraźniej niemożliwe. Żadne proroctwa po latach tego nie zmienią.

Przyszłość?

Każdy kolejny system operacyjny i nowa wersja programu są cięższe od poprzednich. Nawet MS-DOS 4.0 oberwał takimi zarzutami (zajmował dwie dyskietki). Nawet oprogramowanie tworzone od początku z zamysłem „samo-ograniczania”, jak uniksowe narzędzia spełniające paradygmat synergiczności (cat, grep, tar, itd.) z czasem robią się większe. Problem pojawia się, gdy autorzy stwierdzą, często wskutek hybrisu, że ich oprogramowanie jest porażająco sławne i niezbędne, a oni – niemal celebrytami, o których pisze się na Pudelku. Decyzja rzadko wychodzi od inżynierów (choć i to się zdarza), w zdecydowanej większości są to pomysły właścicieli/menedżerów lub marketingowców. „Software bloat”, otyłość oprogramowania i wyraźne przegapienie momentu, w którym należało zaprzestać rozwoju programu są intuicyjnie wyczuwane nawet przez niewprawne technicznie osoby. Wspaniałą cechą tego zjawiska jest fakt niemożności przykrycia go wzornictwem. Aplikacje stworzone w Electronie, zawierające trzy przyciski i pełno pustego miejsca, jeżeli działają niesatysfakcjonująco, zostaną zrugane zarówno przez informatyków, jak i przez okazjonalnych użytkowników komputerów. Wspaniałym przykładem jest Windows 10. System o prostych ikonach, makabrycznie wręcz zredukowanym wzornictwie i bardzo spokojnym UI aż krzyczy otyłością. Cóż z tego, że środowisko jest wygładzone i skromne, skoro pod spodem hula ponad 300 komponentów Harmonogramu Zadań i Host Sklepu, aktualizujący „energooszczędne aplikacje mobilne” tak często i długo, że w praktyce drenuje baterię o wiele bardziej niż klasyczne systemy. Ewidentnie nastąpił tu rozwój, który był błędny.

Nie oznacza to jednak, że wszyscy mogliśmy pozostać na XP. System NT5, leżący u podstaw starego „ikspeka” zapadał się pod ciężarem własnych luk w zabezpieczeniach, a przestarzałe modele sterownika uniemożliwiały wykorzystanie nowego sprzętu. Producenci musieli tworzyć kilkusetmegabajtowe sterowniki, zaopatrujące system w brakujące warstwy abstrakcji i klasy urządzeń. Jest też kwestia, o której wszyscy notorycznie zapominają: API. To, że nowy Firefox nie działa na Windows XP nie jest efektem tajnego, kompletnie bezsensownego i losowego przekupstwa Mozilli przez Microsoft. Po prostu starsze systemy oferują programistom mniej materiału budulcowego. A im więcej gotowców, tym łatwiej tworzyć oprogramowanie. Dlatego systemy muszą ewoluować.

Problem z tym podejściem polega na tym, że przez cały czas zachodzi (zazwyczaj „biznesowa”) pokusa zbawiania świata, stworzenia produktu rozwiązującego wszystkie bolączki ludzkości korzystając ze swojej rzekomo niepodważalnej pozycji i rzekomo nieskończonego potencjału twórczego. Dlatego do Windows 10, poza nowym .NET, obsługą Thunderbolta i NFC, rozbudowanym antywirusem behawioralnym i nowymi planami zasilania, ląduje „Portal Rozszerzonej Rzeczywistości”, „Płatne Usługi Sieci Bezprzewodowych” oraz oczywiście „Candy Crush Soda”.

Zjawisko jest prawdopodobnie nieuniknione. Zachodzi też, o czym już była mowa, bez udziału marketingowców. Wtedy powstają takie cuda, jak PulseAudio lub systemd, co prawdopodobnie mówi więcej o charakterze ich twórcy (Lennart Poettering), niż o jego zdolnościach technicznych. A przecież mentorzy tacy, jak Eric S. Raymond i Venkat Subramaniam tak często powtarzają, że o wiele łatwiej jest dodać, niż ująć. Może czasem warto ich posłuchać?

© dobreprogramy