Jak Microsoft chciał przejąć sieć Web – historia Internet Explorera, część II
Kontynuujemy naszą podróż po instalatorach pakietu Internet Explorer. W poprzedniej części zdefiniowaliśmy IE jako platformę i nośnik nowych technologii, instalowanych jako nowa warstwa Windows. Jednakże, poza zbiorem bibliotek, kodeków, sterowników, narzędzi i zbiorów API, Internet Explorer na przestrzeni lat dostarczał też pokaźny zestaw użytkowych aplikacji internetowych, z których część przetrwała w różnych formach aż do dziś.
Outlook
Zacznijmy od wspomnianego wcześniej projektu Athena, dostarczającego w zamyśle zintegrowany program PIM. Został on wydany jedynie fragmentarycznie jako tandem Internet Mail i Internet News. W nowym wydaniu IE otrzymał nową wersję (oczywiście 4.0) i został nazwany „Outlook Express i Książka Adresowa”. Niniejsza zmiana nazwy nie miała wskazywać na ukończenie prac, bo moduł PIM dalej nie był gotowy. Dowodzi ona jednak, że Microsoft przez lata utrzymywał bardzo schizofreniczną relację ze swoją ofertą pocztową.
„Poczta” wbrew pozorom była elementem Windowsów już od bardzo dawna. Pierwsze wersje wbudowanego klienta poczty umiały się łączyć tylko z bardzo prostą usługą skrzynki pocztowej dla sieci lokalnych (Microsoft Mail). System Windows 95 miał o wiele ciekawszy pomysł, w postaci „uniwersalnego” programu pocztowego, do którego opcjonalnie należało doinstalować „sterownik” do konkretnego rodzaju poczty – e-mail był tylko jednym z nich, a domyślnie obecne były tylko sterowniki poczty dla Microsoft Exchange (niegdyś tworu mocno odmiennego od poczty internetowej). Wraz z eksplozją popularności Internetu, wspomniany malutki klient został istotnie wzbogacony o sterownik do e-maila, ale zdecydowanie nie czyniło go to dobrym programem pocztowym. W ogóle, systemowy klient poczty, dziarsko udostępniający ikonkę „Pocza Otrzymana” bezpośrednio na Pulpicie, bardzo brzydko się zestarzał. Dlatego przejął go pod opiekę (najwyraźniej) zespół serwerowców z Redmond, a następnie ludzie od Office. Efektem był następca klienta „Exchange”, rozwijanego jeszcze przez chwilę, o znajomej nazwie Outlook. Zespołowi Office nikt najwyraźniej nie powiedział, że Internet jest najnowszym krzykiem mody. Stworzony wskutek owej roszady Office 97 w ogóle nie wymagał Internet Explorera, a Outlook 97 zdecydowanie lepiej, niż z Internetem, dogadywał się z Exchange.
Ponownie trudno tu odtworzyć chronologię. Ale wygląda na to, że Outlook 97 i Athena, wewnętrznie konkurencyjne dla siebie produkty, powstały wskutek sforkowania klienta poczty z Windows 95. Ten pierwszy rozwinął się najpierw jako „Klient Exchange” i będąc dość dużą aplikacją, obsługującą np. MAPI, po dodaniu paru nowości stał się elementem pakietu Office (jako Outlook). Z kolei mityczna Athena znacznie mocniej rozmontowała swojego poprzednika i na czas premiery IE3 gotowe były tylko moduły poczty i grup dyskusyjnych. Wydano je właśnie jako wspomniane „Internet Mail and News”. Nie zawierały one kalendarza ani książki telefonicznej. Dla równowagi Exchange (Outlook) zawierał kalendarz (Schedule+) i książkę, ale bardzo słabo obsługiwał e-mail. Czy to oznacza, że Microsoft tworzył tak naprawdę dwa programy PIM? Otóż to! Scott Henson, wieloletni pracownik Microsoftu, wprost powiedział, że:
[quote]„We also need to get our PIM strategy together. Why in the world do we have Schedule +, Ren, Pegasus (I understand this somewhat), and Athena? This is going to be phenomenally confusing for our customers!”[/quote]
Gdy okazało się, jak archaicznie prezentuje się Outlook 97, zespołowi Athena ktoś chyba powiedział, żeby rzucili to wszystko w cholerę, dosypali obsługę e-maila do Outlooka, zastąpili silnik rysujący Internet Explorerem, a potem dali sobie wreszcie z tym spokój. Stąd też Athena PIM nigdy nie ujrzała światła dziennego, ale zamiast tego wydano (za darmo!) program Outlook 98, instalujący gratis kawałek Office’a. Athena nigdy nie powstała. Anulowano ją. A Outlook 98 wcale nie powstał w jej zastępstwie. Nie chodzi tu o to, że program PIM spóźnił się ze swoją gotowością na premierę IE4 i wydano go rok później. Outlook 98 powstał tylko dlatego, że wersja 97 zebrała makabrycznie słabe recenzje. Plany dostarczenia PIM w ramach pakietu internetowego porzucono jakiś czas wcześniej. To miała być funkcjonalność „premium”, dostępna przez Office. Zresztą, Outlook 98 miał dość krótki żywot. Nieco ponad rok później, drogi Office 2000 wprowadził płatnego następcę. Zarówno wersja Express nigdy nie wzbogaciła się o kalendarz, jak i wersja „pełna” – o obsługę grup dyskusyjnych. Wywołanie Usenetu z poziomu Outlooka 98 uruchamia aplikację Outlook Express, bo tego fragmentu Atheny nie udało się wciągnąć. Fiasko. Z nadmiarem programów pocztowych Microsoft nie poradził sobie do tej pory.
Niestety większość powyższej rekonstrukcji opiera się na spekulacjach. Zestawienie „Outlook” i „Athena” daje bardzo mało rzetelnych wyników w wyszukiwarkach. To kompletnie zapomniany strzęp historii.
FrontPage
Jest jeszcze jeden element Office, który pojawił się w instalatorze Internet Explorera. Odprysk z działu serwerowego, realizującego tę samą politykę: wymyślić standardy na nowo, ale tak, by uzależnić klientów od rozwiązań Microsoftu. Serwerowcy stworzyli w tym celu mechanizm FrontPage Server Extensions, pozwalający wymieniać dane i publikować obiekty na microsoftowym serwerze WWW. Strony wykorzystujące ten protokół, oczywiście opatentowany i niestandardowy, tworzyło się w aplikacji Microsoft FrontPage. Jego mocno zredukowana wersja, Microsoft FrontPage Express, była bardzo uproszczonym edytorem WYSIWYG dla stron HTML. Nie dostarczała żadnych mechanizmów pozwalających na obsługę rozszerzeń serwerowych czy zaawansowanego dostępu do źródeł danych (w tym celu trzeba było zakupić Visual Studio), ale możliwe było wyklepanie na kolanie swojej pierwszej strony internetowej.
Naturalnie, FrontPage Express stał się bardzo popularny wśród domorosłych webmasterów, w najgorszym tego zwrotu znaczeniu. Program wcale nie rozszerzał znacząco umiejętności programistycznych z zakresu DHTML. Przeciwnie, wpajał rozleniwiające praktyki i generował dokumenty zdumiewająco pełne śmieci, zupełnie jak dokument Worda zapisany w HTML. Na domiar złego, twórcy FrontPage’a byli głęboko przekonani, że Ameryka to jedyny kontynent na (zapewne płaskiej) Ziemi i domyślne kodowanie było nietypowe i rzadko przyjmowane za domyślne gdziekolwiek poza Windowsem. Wreszcie, strony generowane we FrontPage’u wyświetlały się poprawnie głównie w Internet Explorerze. W innych przeglądarkach często, acz nie zawsze, sprawiały problemy z wiernym odwzorowaniem kształtu źródłowego prezentowanego w widoku WYSIWYG edytora. Była to wyraźna tendencja w edytorach WWW pochodzenia z Microsoftu i ta ich cecha jest obecnie najbardziej znanym argumentem w debacie „Internet Explorer jest zły”. Przytacza się go także jako powód, dla którego IE osiągnął niemal monopol: strony na innych produktach wyglądały gorzej. Trudno tu szukać wymówek. Różnice nie wynikały z marginalnych przeoczeń ani z wykorzystania jakichś zaawansowanych funkcji. Były to jawnie celowe błędy w implementacji, enigmatycznie myląca dokumentacja i liczne przykłady całkowicie arbitralnego podejścia do tematu. Niezależnie, czy użyło się FrontPage’a z pakietu Office, małego FrontPage Express, środowiska Visual Studio InterDev czy zwykłego Worda, strony sypały się u konkurentów. I odwrotnie: poprawnie walidujące się dokumenty WWW otwarte w IE traciły np. wszystkie tabele. Hitem było, gdy tabele wracały na miejsce po dodaniu komentarza lub doctype’u wskazującego na wygenerowanie dokumentu w Office. Bez niego Internet Explorer, prowokowany Bóg wie czym, uruchamiał „tryb zgodności”. Albo nie uruchamiał go. W zależności od tego, który scenariusz lepiej insynuował akurat, że problemy wynikają z niestosowania rozwiązań z Redmond.
Strony stworzone w różnych wariantach programu FrontPage nie musiały być jednak publikowane na serwerze WWW stojącym na Microsoft BackOffice. Internet Explorer dostarczał własny serwer sieci Web do zainstalowania na domowym komputerze(!). Serwer nosił miano Personal Web Server i działał nie tylko na Windows NT, ale przede wszystkim, co zaskakujące, na Windows 95. Finalne wydanie IE 4.0 na szczęście wyrzuciło go ze swojego instalatora, ale produkt był dostępny do darmowego pobrania wraz z IE jeszcze przez kilka lat i nawet doczekał się dwóch sporych aktualizacji.
Personal Web Server
PWS to dziwny produkt. Nie wiadomo w sumie, do czego miałby służyć. Nie obsługuje „rozszerzeń FrontPage”, dynamicznego spinania z bazą danych ani parsowania pełnego ASP. Ale zarazem było możliwe stworzenie na nim strony wykorzystującej podstawowe ASP i Active Scripting, by połączyć się z Microsoft Data Engine i jednak serwować jakieś elementarne bazodanowe aplikacje WWW. Jeżeli PWS naprawdę miał być tym, na co wygląda, to pomysł był dość straszny: móc przerobić każdy biurkowy komputer z Windows 95 na serwer WWW. To dość odważna koncepcja. Wynikała ona z przekonania, że komputery z 95 na masową skalę zostaną podłączone (bezpośrednio) do Internetu z publicznym IP (ich akurat wtedy jeszcze nie brakowało!) i wiarygodnym, stałym odwrotnym adresem DNS. Windows 95, pozbawiony zapory i projektowany w zasadzie głównie do małych, wewnętrznych sieci lokalnych, był idealnie niedostosowany do takiej roli. Wystawienie portów SMB usługi Microsoft Networking (135 i 445) do WANu jest w zasadzie tak niebezpieczne, jak to tylko możliwe. Więc na domiar złego na takim systemie, nieposiadającym żadnej kontroli uprawnień i dostępu, postawmy serwer WWW, sprzężony z przeglądarką internetową, która osiem godzin po premierze okazała się podatna na błąd pozwalający zdalnie wyciągnąć z komputera dowolny plik (nawet bez tego nieszczęsnego serwera)! Oczywiście PWS był dziurawy, jak sito – to chyba jasne…
Czy Personal Web Server miał być jakąś formą aktywizowania bardzo małej przedsiębiorczości? Być może – uważne poszukiwania archiwów zdradzą wiele małych polskich biznesów, które hostowały swoje strony na firmowych stacjach roboczych z Windows 95. Ale taki scenariusz jest naprawdę daleki od optymalnego. A może PWS miał być narzędziem wspomagającym testy dla deweloperów? Ale oni przecież powinni i tak używać Windows NT i wbudowanych usług serwerowych. No więc kto był tak naprawdę adresatem tego produktu? Jeżeli istotnie chodziło jedynie o agresywne podkreślenie, że konkurencja nie ma nic nawet podobnego, to odbyło się to niezłym kosztem. Konkurenci po prostu mieli na tyle oleju w głowie, żeby nie sugerować wyprowadzania serwerów przez prywatne stacje robocze!
MSN Messenger Service
Komunikatory internetowe to dział, w którym Microsoft obudził się najpóźniej i rozpoczął próby jego wrogiego przejęcia w ostatniej kolejności. Historia (i kres) programu o mało romantycznej nazwie MSN Messenger Service jest raczej dobrze znana, być może z wyjątkiem samych jego początków. Otóż MSN był klientem sieci… AOL. Czyli cudzej. Microsoft zbudował jedynie elementarną i zdecydowanie mało konkurencyjną sieć komunikacji błyskawicznej, więc aby przyciągnąć jakichkolwiek klientów, oferował dostęp do sieci firmy America Online. Wbrew regulaminowi owej usługi. AOL usiłował więc wielokrotnie wyrzucić klientów stosujących cudze programy ze swojej sieci, aż zdecydował się postraszyć sądem. Dopiero ten „kij” podziałał, zwłaszcza, że był on całkiem uzasadniony. O ile Internet Explorer uchodzi za panoszącą się bezczelność, to MSN jest już w ogóle majstersztykiem: korzystał bez uprawnień z cudzej sieci nie płacąc za to, w dodatku wyświetlając reklamy, na których sam zarabiał! W pozostałych przypadkach można się kłócić, czy Microsoft stworzył rozwiązanie zawierające żywotnie konkurencyjne cechy, czy jedynie chciał rozszerzyć i przejąć cudze produkty. W kwestii Messengera wyraźnie widać, że pomysłu nie było absolutnie żadnego i zdecydowano się po prostu obrać strategię „na pijawkę”, ignorując silne i w pełni zasłużone oburzenie.
Jakiekolwiek godne uwagi funkcje w MSN pojawiły się dopiero około sześć lat później. Mowa tu o tematach graficznych, „szturchnięciach” i możliwości rzucania wyzwań we wbudowane proste internetowe gry planszowe. Paradoksalnie, gdy MSN zbudował choć trochę własnej tożsamości, zaczął być całkiem popularnym w pewnych kręgach komunikatorem, a warto pamiętać, że wymagało to jego ręcznego pobrania, bo wersja wbudowana w Windows XP była bardzo ograniczona funkcjonalnie. Messenger docelowo umarł, zamordowany bezlitośnie w kampanii promowania Skype. Pozostałe narzędzia komunikacyjne z Microsoftu wylądowały pod parasolem produktów korporacyjnych i obecnie nie mają się najlepiej.
Ponieważ zespół Internet Explorera nie był tak naprawdę jednym zespołem, zdarzały się przebłyski inspirującej kreatywności, która (w przeciwieństwie do np. PWS) nie przerażała. Zazwyczaj pochodziły one z nieco pobocznych projektów, przygarniętych przez nową inicjatywę internetową. Warto o nich wspomnieć, bo robi się tu ciekawie.
Agent
Pierwszym projektem adoptowanym przez IE był Microsoft Agent. Dostarczał on, wcześniej pod nazwą Actor i na potrzeby niesławnego produktu BOB, infrastrukturę do tworzenia i kontrolowania wirtualnych asystentów, pozwalających na interakcję z oprogramowaniem. Asystentom docelowo możliwe było zadawanie pytań językiem naturalnym, na które mieli odpowiadać – również naturalnie – za pomocą narzędzi syntezy mowy. Brzmi to jak bardzo ambitna technologia, ale efekty były niestety dość marne. Pierwsze podejście, w postaci interfejsu BOB, nie przyjęło się. Zrzucono to na karb idiotyzmu całego BOBa, interfejsu symulującego wnętrze wielkiego domu, przez co nie dostrzeżono bardziej fundamentalnych problemów z samą koncepcją agentów. Dlatego projektowi dano drugą szansę.
. W ten sposób powstał TFC: „that fucking clown” o imieniu Clippit, a powszechnie znany jako Spinacz. Reakcje były… mało przychylne. I dotyczyły cech od ogółu do szczegółu. Gdy mowa o detalach, zwracano uwagę że asystenci są tak naprawdę głupi jak but i w ogóle nie rozumieją języka naturalnego. Poza tym, jeżeli już próbują się odzywać, brzmią obrzydliwie i niezrozumiale. Jeżeli zaś chodzi o zarzuty ogólne, można je streścić pytaniem „ale kto w ogóle potrzebuje czegoś takiego?”. Zespół Outlooka niegdyś przypadkowo wygadał się, że Agent będzie pomagał w redagowaniu maili, powiadomieniach o okazjach z kalendarza i nowej poczcie. Niestety, Cortana ’97 nigdy nie powstała. Mimo szyderstw ze spinacza, jego inherentna nieprzydatność jednak wcale nie jest oczywista: proszę zwrócić uwagę na liczbę dzisiejszych stron internetowych z wbudowanym czatem, pomocnikiem, konsultantem itd. Microsoft wyczuł ten potencjał lata temu i opublikował wersję środowiska Agent możliwą do wywołania przez przestrzeń ActiveX. Innymi słowy – narzędzia obsługi asystentów były uruchamialne przez stronę internetową. A to dawało możliwość tworzenia rzeczy bardziej trafionych i dostosowanych do swojego przeznaczenia, niż mało rozgarnięty spinacz z Office’a.
Czy strony internetowe kiedykolwiek korzystały z owej technologii? Nie wiem. Nie umiem nawet wymyślić, jak to sprawdzić. Wiadomo natomiast szereg innych rzeczy na temat Agenta. Na pewno istniały próbki oraz demonstracje, pokazujące jak umieścić postać Agenta i jak wywołać ją z poziomu Internet Explorera. Odbywało się to w niepokojąco łatwy sposób poprzez wywołanie OBJECT z postaniem identyfikatora klasy dla Agenta. Jeżeli owa klasa była niezainstalowana w systemie, IE oferował jej pobranie. Dokładnie tak samo, jak w przypadku obiektów Shockwave Flash. Podobnie z samymi postaciami (które były oddzielnymi plikami ACS): można je było instalować na żądanie w przypadku ich braku na lokalnym komputerze. Agentów dało się tworzyć w oddzielnej aplikacji, pozwalającej na reakcje na odpowiednie bodźce. Można też było podbić poziom złożoności i wołać Microsoft Speech API, by odbierać i nadawać komunikaty głosowe!
Microsoft Agent w zdecydowanej większości był jednak wywoływany przez aplikacje, głównie wszelkiego rodzaju „Interaktywne Przewodniki na CD-ROM”, czyli offline’owe Wikipedie kupowane dzieciom na komputery bez Internetu. Najbardziej znanym Agentem, oczywiście poza Spinaczem, był niesławny Bonzi Buddy, czyli niedorozwinięta małpa-organizator, coś na kształt Kalendarza XP z wodogłowiem. Popularność Bonzi brała się nie tylko z jego legendarnej wręcz nieprzydatności, ale przede wszystkim z dostarczania malware’u w instalatorze. Bonzi i dodatkowe paski narzędzi w przeglądarce – to było częste kryterium do podjęcia decyzji „okej, reinstalujemy cały ten majdan”.
W technologię Agent władowano niezłe pieniądze i naprawdę usiłowano forsować ją jako przyszłościową metodę komunikacji. Wydawnictwo Microsoft Press opublikowało kilka solidnych ksiąg na temat interakcji z API Agenta, a sama firma przygotowała bardzo wiele szablonów i przykładowego kodu. W świetle dzisiejszych webowych „asystentów” Microsoft Agent wydaje się być więc technologią wyprzedzającą swoje czasy. Ale to nie takie proste. Klątwa projektu Microsoft BOB, odstręczające doświadczenie ze Spinaczem oraz makabrycznie niska jakość Speech API sprawiły, że Agent zwyczajnie się nie przyjął. I jego funkcjonalność nie mapuje się ani na cyfrowe agentki typu Cortana, ani na webowe widżety z okienkami czatu z konsultantami. Cała inicjatywa została porzucona wraz z Windows 7 i obecnie uchodzi za efekt wielkiej nadinterpretacji jednej naukowej publikacji, zatytułowanej „Social science research influences computer product design”. Niemniej, była to ambitna próba rozszerzenia form interakcji z komputerem. Oczywiście komputerem z Windows.
W olbrzymiej paczce instalacyjnej pełnej wersji Internet Explorera czai się jeszcze trochę niespodzianek. Jedna z nich jest łudząco podobna swym urokiem do projektu Microsoft Agent: również mowa o programie, który znalazł się w IE jako zabłąkana owieczka, której nikt nie chciał przygarnąć. Również powstał przed wersją 4.0. Jego powstanie wiąże się z interpretacją pracy naukowej, acz innej niż w poprzednim przypadku. Program również wyświetla zabawne postaci. W przeciwieństwie jednak do Agenta, nie da się go wywołać z poziomu przeglądarki. Byłoby to logicznie niewykonalne, ponieważ mowa o kliencie protokołu IRC, czyli aplikacji Microsoft Comic Chat.
Chat
Ależ wspaniałością był IRC! Medium komunikacji, które upadło nieco później, niż Usenet, ale w końcu również podzieliło jego los – między innymi wskutek masowej wymiany nielegalnej pornografii (acz rzeczywistych powodów jest naturalnie o wiele więcej). Jednak gdy IRC działał jeszcze pełną parą, klient Comic Chat potrafił interpretować toczoną na kanale konwersację i na jej podstawie rysować komiks. Z charakterystyki wypowiedzi, niestety tylko po angielsku (w innych językach zgadywał), usiłował wyciągnąć emocję, dzięki czemu nie tylko układał komiks z postaciami, zwróconymi w odpowiednim kierunku i porozumiewającymi się dymkami, ale i przybierającymi odpowiednią mimikę.
Comic Chat był oczywiście typową aplikacją Microsoftu: stosował absurdalne, niestandardowe kodowanie znaków, rozwalające czytelność użytkownikom czegokolwiek innego, umożliwiał eksport konwersacji, ale tylko do własnego formatu, niemożliwego do rozłożenia na zwykłe bitmapy i tak dalej. Miał własne, nieco błędne podejście do tego, jak działa IRC, dzięki czemu dzisiaj nie da się go użyć, by połączyć się z najważniejszymi sieciami, ponieważ aplikacja zakłada aż tak wiele na temat tego, co protokół robi pod spodem. Była to jednak zwyczajnie leniwa/błędna implementacja RFC, a nie celowy zabieg, mający na celu forsowanie własnego formatu. To czyni program Comic Chat autentycznym pretendentem do miana konkurencji, a nie tylko realizacją planu wrogiego przejęcia rynku internetowego.
Ze względu na doskonały, acz kiepsko zrealizowany pomysł, Comic Chat był programem wykazującym olbrzymi potencjał do poprawy. Niestety, ostatnia wersja pochodzi z 1999 roku i od tego czasu porzucono jego rozwój. Wiązało się to z zamknięciem serwerów IRC sieci społecznościowej (swego rodzaju…) MSN, które odbyło się w atmosferze cenzury, polowania na przestępców zwabiających dzieci i powtórki z Usenetu. Klient IRC stał się produktem wstydliwym i wypadł z instalatora wraz z wersją 6.0. Od lat nie da się go pobrać ze stron Microsoftu, na szczęście jest obecny na tuzinach innych stron, niestety ma problemy z połączeniem z większością dzisiejszych sieci IRC.
Można jedynie spekulować, jaki byłby potencjał programu szacującego emocje w wypowiedziach bazując na czymś więcej, niż tylko zamknięta, anglojęzyczna baza słów-kluczy. Dzisiejsza moda na big data i uczenie maszynowe w sam raz pasuje do tematyki komputerowej analizy emocji, ale temat nieco się rozlazł. Jedyne, na co możemy liczyć dzisiaj, to sugerowanie emoji w klawiaturach, filtry mimiki na Messengerze i żywe „animoji” składane z widoku z kamery. Pod spodem każde z nich wymaga całkiem sporej roboty algorytmicznej, ale efekty jakimś cudem nie zachwycają. Wszystko już po prostu obrzydło.
Swoją drogą, mimo znaczącego „zwinięcia się” popularności IRC, potrzeba istnienia zespołowego komunikatora dla mas nie zanikła. Stąd popularność Discorda, wprowadzającego wspaniałą możliwość grupowych czatów online. A serwery IRC dalej stoją. Niektóre hermetyczne społeczności stosują silne uwierzytelnianie (z definicji trudne w samym protokole) oraz zaskakująco nowe algorytmy szyfrowania. Radzi sobie z nimi tylko najnowszy Hexchat. Całkiem niezła forma jak na rzekomo wymarły kanał komunikacji.
Dotarliśmy do końca listy aplikacji dostarczanych bezpośrednio z Internet Explorerem. Zamiast dyskusji o pominiętym tutaj Media Playerze, zapraszam na część trzecią, poświęconą zapomnianym technologiom multimedialnym IE.