Tworzenie komputera ludowego

To kilka dni przed Bożym Narodzeniem. Robię zakupy w znanym ekskluzywnym domu towarowym w rejonie Greater Boston. Zanoszę do kasy dziewięć przedmiotów. Kasjerka przesuwa swoją magiczną różdżkę nad każdą paczką, aby odczytać kod kreskowy, a drukarka uderzeniowa grzechocze, drukując opis i cenę każdej pozycji. Przygotowuję się do wyciągnięcia mojej karty kredytowej, kiedy kobieta odwraca się do kasy obok niej i, o zgrozo, zaczyna ręcznie wpisywać dokładnie te same informacje, odczytując kolejno numery z każdej paczki.





Jest na paczce numer sześć, kiedy wyraźnie odchrząkuję i z oburzeniem czasoznawcy pytam, dlaczego na świecie powiela pracę czytnika kodów kreskowych. Macha, abym uciszył się z autorytetem osoby przyzwyczajonej do tego. Proszę, muszę to skończyć, mówi grzecznie. Mówię jej, żeby nie spieszyła się, chociaż moje mięśnie napinają się, a mój mózg pogrąża się w żywych marzeniach o karaniu.

Kończy ostatnią paczkę, ignoruje moje wyostrzone westchnienie, sięga po ołówek i… zaczyna wszystko od nowa! Tym razem odręcznie zapisuje na kopii paragonu w sklepie ciąg cyfr do każdej paczki. Jestem tak zszokowany tą potrójną parodią, że zapominam o swojej złości i pytam ją z prawdziwym zdziwieniem, co robi. Jeszcze raz macha do mnie, żebym się uciszyła, żeby mogła się skoncentrować, ale potem zobowiązuje: muszę wpisać każdy numer części ręcznie, mówi. Czemu? - pytam z wyraźnym drżeniem głosu. Ponieważ mój menedżer kazał mi, odpowiada, ledwo tłumiąc chęć dokończenia zdania uniwersalnym sufiksem głupie. Nie mogłem tego odpuścić. Zadzwoniłem po kierownika. Spojrzał na mnie porozumiewawczo i powiedział z westchnieniem: Wiesz, komputery.

Powiedziałem mu, że to wyglądało na nieco poważniejsze niż to, a on zaczął wyjaśniać powoli, celowo, frazą, że centralna maszyna nie działa, więc duplikat trzeba było wprowadzić ręcznie.



Po co więc w ogóle wprowadzać go do komputera? Zaryzykowałem z nadzieją.

Ponieważ jest to nasza standardowa procedura operacyjna, a kiedy maszyna centralna powróci, powinniśmy być w stanie dostosować nasze zapisy do zmian w stanie inwentarza. Hmm.

W takim razie dlaczego, u licha, jednocześnie wpisuje cyfry i wprowadza je za pomocą czytnika kodów kreskowych? Sprzeciwiłem się.



Oh. To jest instrukcja dyrektora generalnego. Jest zaniepokojony naszymi problemami z komputerem i chce mieć możliwość weryfikacji i krzyżowego sprawdzenia wszystkich wpisów w działach.

Cicho wyszedłem oszołomiony.

Po tym, jak otrząsnąłem się z szoku związanego z absurdalną stratą czasu, jaką procedury tego sklepu powodowały dla kasjera — i dla mnie — zacząłem się dziwić, jak wielką obietnicę, że komputery poprawią ludzką produktywność, łatwiej jest omówić niż wdrożyć. Rzeczywiście, temat tego, czy komputery zwiększają produktywność ludzi, wzbudził wiele kontrowersji. Krytycy technologii wskażą na takie spotkania i powiedzą: Widzisz, komputery nam nie pomagają. I prawdą jest, że technologia informacyjna w niektórych przypadkach szkodzi produktywności; przedzieranie się przez te niekończące się menu automatycznego odbierania telefonów zajmuje więcej czasu niż rozmowa z operatorem. Jeśli technologia nie jest wykorzystywana mądrze, może sprawić, że będziemy mniej produktywni, a nie bardziej.



Ale komputery mogą być również niezwykle pomocne. Używane prawidłowo, pomagają szybciej ustalać ceny, śledzić zapasy i radzić sobie ze zmianami cen. Wydajność wzrośnie w epoce informacyjnej z tego samego powodu, co w epoce industrialnej: zastosowania nowych narzędzi do odciążenia ludzkiej pracy.

Niektórzy ludzie odrzucają obawy o produktywność, twierdząc, że komputery umożliwiają rzeczy, których nie moglibyśmy zrobić inaczej. Z pewnością to prawda, jak pokazała nam sieć World Wide Web, efekty specjalne w filmach i kartach kredytowych. Ale ignorowanie fundamentalnej zdolności komputera do pomagania ludziom w pracy mózgu jest w najlepszym razie perwersyjne, aw najgorszym nieodpowiedzialne. Produktywność jest miarą, według której mierzone są rewolucje społeczno-gospodarcze. Tak było w przypadku pługów, silników, elektryczności i samochodu. Jeśli ma nastąpić prawdziwa rewolucja informacyjna, komputery będą musiały powtórzyć schemat z informacją i pracą informacyjną.

Gdy próbujemy przewidzieć, w jaki sposób komputery mogą być używane w XXI wieku, jesteśmy bombardowani niezrównanym zamętem i szumem – szybszym WWW/Internetem, komputerami sieciowymi, intranetami, cyberprzestrzenią, 1000 kanałów wideo, bezpłatnymi informacjami, telepracą i wieloma innymi . Moim zdaniem ten przyszły świat można opisać prosto i zwięźle jako rynek informacji, gdzie ludzie i ich połączone ze sobą komputery są zaangażowani w kupowanie, sprzedawanie i swobodną wymianę informacji i pracy informacyjnej.



Z rynkiem informacyjnym wiąże się wiele problemów: technologia leżących u jego podstaw infrastruktur informacyjnych; jego zastosowania w handlu, zdrowiu, nauce, pogoni za przyjemnościami i rządzie; oraz konsekwencje tych nowych działań dla naszego życia osobistego, naszego społeczeństwa i naszej historii. Tutaj skupimy się na małym, ale kluczowym aspekcie tego bogatego zespołu – upewniając się, że jutrzejszy rynek informacji pomoże nam w naszym odwiecznym dążeniu do uzyskania lepszych wyników za mniej pracy.

Niewłaściwie używany i nadużywany

Zacznijmy od przeanalizowania szeregu błędów – sposobów, w jakie komputery są dziś nadużywane z powodu słabości technologicznych lub ludzkich. Pierwszym krokiem w kierunku poprawy naszej produktywności będzie naprawienie tych błędów. Następnie zbadamy, jak rozpocząć automatyzację ludzkiej pracy poprzez wymianę między komputerami. Ostatnim i być może najważniejszym krokiem będzie uczynienie komputerów naprawdę łatwiejszymi w użyciu.

Błąd dodatku: Śmieszne powielanie wysiłków, na które natknąłem się w domu towarowym, zdarza się często i w wielu różnych sytuacjach. Nazwiemy to niepowodzeniem błędem addytywnym, ponieważ w takich przypadkach ludzie robią wszystko, co robili przed komputerami, plus dodatkowa praca wymagana, aby komputery były szczęśliwe lub aby ludzie wyglądali nowocześnie. W czyjejś książce jest to bezmyślny spadek wydajności. Powinien zostać zatrzymany na zimno w jakimkolwiek ustawieniu, w którym podnosi swoją brzydką głowę. I skoro już przy tym jesteśmy, zrozummy, że ten konkretny problem nie jest spowodowany przez technologię, ale przez nasze własne niewłaściwe użycie technologii.

Błąd grzechotki: Jakiś czas po moim spotkaniu z kasjerem te same gremliny, które zdają się biegać przede mną, aby stworzyć trudne sytuacje, z pewnością odwiedziły urzędnika linii lotniczych, którego spotkałem na lotnisku Logan w Bostonie. Kiedy wręczyłem mu bilet do Nowego Jorku i poprosiłem, żeby zastąpił go biletem do Waszyngtonu, powiedział: „Oczywiście, proszę pana” i skłonił się przed swoim terminalem, jak przed bogiem. Jako wytrawny obserwator tego rytuału zacząłem rejestrować jego interakcje. Po serii naciśnięć klawiszy następowały zamyślone spojrzenia, czasami graniczące z konsternacją, gdy z ręką na brodzie wpatrywał się nieruchomo w ekran, próbując zdecydować, co dalej pisać. Pełne 146 naciśnięć klawiszy później, zgrupowanych w 12 ataków wyznaczonych przez klawisz Enter, i po 14 minutach otrzymałem nowy bilet.

To, co czyni tę historię interesującą z punktu widzenia produktywności, to fakt, że każdy student informatyki może zaprojektować system, który wykona tę pracę w 14 sekund. Po prostu wsuwasz swój stary bilet do automatu, gdzie cała jego zawartość jest odczytywana przez automat. Następnie wpisujesz lub wypowiadasz polecenie zmiany i nowego miejsca docelowego, po czym otrzymujesz wydrukowany poprawiony bilet i wpychasz go z powrotem do ręki. Ponieważ 14 minut to 60 razy dłużej niż 14 sekund, poprawa produktywności człowieka z takim pudełkiem wyniosłaby 60 do 1, czyli 6000 procent!

Coś tu jest strasznie nie tak. Ludzie biegają po nowy komputer, ponieważ jest o 20 procent szybszy niż ten, który mają, a mówimy tutaj o poprawie o 6 000 procent. Dlaczego więc linie lotnicze nie starają się zbudować tego pudełka? Po pierwsze, gdyby zrobili to dla każdego z możliwych żądań, musieliby zbudować kilka tysięcy różnych skrzynek dla każdego terminala. W porządku, dlaczego nie przeprogramują swoich centralnych komputerów, aby robiły to szybciej? Bo to kosztowałoby miliard dolarów. Czemu? Ponieważ linie lotnicze wprowadzały tak wiele aktualizacji oprogramowania i zmian do swoich systemów, że po 20 latach zbudowały bałagan przypominający spaghetti, którego nawet nie mogą rozplątać. W efekcie nie mogą ulepszyć swojego systemu, nie zaczynając od zera.

Nazwiemy to błędem zapadki w użyciu komputera, ponieważ jest to jak zapadkowa łyżka do opon: za każdym razem, gdy dodawana jest nowa modyfikacja oprogramowania, złożoność systemu wzrasta, ale nigdy się nie kończy, chyba że konieczne jest nagłe wydarzenie, takie jak całkowite przeprojektowanie miejsce. Ten problem jest bardziej konsekwencją nieodpowiedniej technologii niż nierozsądnej ludzkiej praktyki. Gdybyśmy mieli technologię oprogramowania, która pozwalałaby nam z wdziękiem aktualizować nasze systemy, aby odpowiadały naszym zmieniającym się potrzebom, przy jednoczesnym zachowaniu ich wydajności, nie bylibyśmy w tej sytuacji.

Błąd nadmiernego uczenia się: Jedną dziesiątą mojej półki z książkami zajmują podręczniki do obróbki tekstu. Dodaj podręczniki do arkuszy kalkulacyjnych, prezentacji i baz danych, a z łatwością zapełnią pół półki. Ponieważ używam grafiki i trochę programuję, potrzebuję jeszcze kilku podręczników. To daje całkowitą długość moich przewodników komputerowych do jednej (drukowanej) Encyklopedii Britannica EB-one. Nazwiemy to po prostu błędem nadmiernego uczenia się – oczekiwaniem, że ludzie nauczą się i zachowają wiedzę znacznie większą niż korzyści, jakie uzyskają z jej wykorzystania. Wyobraź sobie, że wymagasz od ludzi przetrawienia 850-stronicowej instrukcji obsługi ołówka. Śmiejemy się z tej myśli, ale akceptujemy ją chętnie w przypadku programu do edycji tekstu. Nie wątpię, że pierwszą połowę XXI wieku spędzimy na pozbyciu się grubych podręczników i uczynieniu komputerów łatwiejszymi i bardziej naturalnymi w obsłudze.

Błąd przeciążenia funkcji: Bloated jest prawdopodobnie dokładniejszym przymiotnikiem opisującym bogate w funkcje programy, które pojawiły się na rynku pod koniec lat 90. XX wieku. Sprzedawcy robią to po części, aby pokryć swoje zakłady i móc pobierać wyższe średnie ceny. Kupujący są zafascynowani potencjalnymi zastosowaniami ich komputerów i cenią sobie prawo do nakazywania swoim maszynom tysięcy różnych rzeczy. Oczywiście w praktyce wykonują tylko kilka zadań i zapominają, jakie funkcje kupili lub jak z nich korzystać. Najlepiej sprzedający się pakiet oprogramowania biurowego jest dostarczany na płycie CD-ROM lub 46 dyskietkach, których załadowanie do komputera zajmuje pół dnia. To nie jest produktywne. I to przez nas, a nie przez słabości technologiczne. Konsumenci i dyrektorzy korporacji powinni zadeklarować kontrolę urodzeń w przypadku przeludnienia nadmiernych i często bezużytecznych cech.

Błąd fałszywej inteligencji: Mój samochód ma fajny telefon, który był reklamowany jako inteligentny, ponieważ po nawiązaniu połączenia automatycznie wycisza radio samochodowe, aby zapewnić ciszę. Ta funkcja była dla mnie zachwycająca, aż pewnego popołudnia usłyszałem wywiad z dobrym przyjacielem w radiu. Natychmiast zadzwoniłem do wspólnej przyjaciółki, aby mogła słuchać razem ze mną przez telefon i podzielić się tym podekscytowaniem. To oczywiście było niemożliwe, bo telefon wyciszył radio i nie mogłem tego przesłonić. Witamy w błędzie fałszywej inteligencji. Pojawia się w wielu sytuacjach, gdy programista o dobrych intencjach umieszcza w programie coś, co uważa za potężną inteligencję, aby ułatwić życie użytkownikowi. Niestety, gdy ta inteligencja jest zbyt mała dla danego zadania, jak to zawsze bywa, funkcja staje na twojej drodze. Mając wybór między tego rodzaju na wpół sprytnym systemem, a maszyną z masywną, ale bezpretensjonalną głupotą, wybrałbym ten drugi, bo przynajmniej wtedy mógłbym kontrolować, co potrafi.

Jako użytkownicy dążący do poprawy naszej produktywności, musimy zawsze pytać, czy nowy program oferuje wystarczającą wartość dzięki swojej rzekomej inteligencji, aby zrekompensować bóle głowy, które nieumyślnie spowoduje. A dostawcy tych ambitnych programów powinni wyposażyć ich w polecenie Go Stupid, które pozwoli użytkownikom wyłączyć inteligentne funkcje.

Błąd ładowania maszyny: Jest druga w nocy i właśnie wróciłem do domu. Mój lot Swissair z Logan został odwołany z powodu problemów z silnikiem sterującym klapami skrzydeł. Około 350 pasażerów, których plany zostały udaremnione, bombardowało każdego dostępnego urzędnika na lotnisku. Opuściłem zoo, pognałem do domu, włączyłem komputer i spróbowałem połączyć się z usługą rezerwacji linii lotniczych Easy Sabre zrób to sam oferowaną przez Prodigy, aby wyszukać alternatywny bilet na poranny lot z Bostonu lub Nowego Jorku . Musiałem dowiedzieć się przed snem, czy to możliwe. Ale zanim zdążyłem wcisnąć jedno naciśnięcie klawisza, Prodigy przejął kontrolę nad moim ekranem i klawiaturą. Poinformował mnie, że aby usprawnić korzystanie z usług online przez mój system, pobranie ulepszonego oprogramowania zajmie kilka chwil (co oznacza minimum pół godziny).

Nie mogłem zrobić nic, aby powstrzymać Prodigy przed pomaganiem mi na swój morderczy sposób. Słaby kawałek anonimowego oprogramowania w pełni kontrolował tę sytuację, podczas gdy ja, człowiek, zostałem przyparty do ściany. W międzyczasie wiedziałem, że z każdą mijającą minutą inny z tych szalonych nomadów na lotnisku zajmie kolejne z szybko znikających miejsc podczas kilku lotów następnego ranka. Chętnie skorzystałbym z oprogramowania, które miało kilka pokoleń, aby szybciej wykonać swoją pracę. Czułem, że tonę w płytkich falach z powodu skurczu żołądka, podczas gdy ratownik na plaży nie był świadomy moich krzyków, ponieważ używał swojego megafonu, aby poinformować mnie i wszystkich innych pływaków o ulepszonych procedurach bezpieczeństwa.

Jest to dokładnie ta sama usterka, która wymaga od cennych ludzi poświęcania cennego czasu na wykonywanie instrukcji na poziomie maszyny wydawanych przez studolarowych zautomatyzowanych operatorów telefonicznych z ich znajomą Jeśli chcesz marketingu, naciśnij 1. Jeśli chcesz Inżynierii… Duża część tego Błąd maszyny odpowiedzialnej za maszynę należy przypisać niepowodzeniu człowieka w umożliwieniu kontynuowania takich praktyk bez sprzeciwu, ale programiści muszą również wziąć na siebie część winy. Często celowo popełniają tę usterkę, ponieważ prościej, a przez to taniej, zaprogramować komputer do przesłuchiwania użytkownika i nie odpuszczać, dopóki na wszystkie pytania nie zostaną udzielone odpowiedzi na jeden z kilku ustalonych sposobów, niż pozwolić użytkownikowi na wykonanie jednej z kilku rzeczy z zapewnieniem, że komputer zwróci uwagę.

Oczywiście interakcje kontrolowane przez maszynę nie zawsze są niepożądane. Błędne polecenie wymazania wszystkiego z komputera nie powinno być wykonywane od niechcenia. Jednak 95 procent nadmiernie kontrolujących interakcji na komputerach na świecie nie obejmuje tak poważnych sytuacji. Im szybciej te kule oprogramowania znikną, a użytkownik otrzyma kontrolę, tym szybciej maszyny będą służyć ludziom, a nie na odwrót.

Błąd nadmiernej złożoności: Jestem w biurze, jest prawie południe, i ze sporą paniką odkrywam, że zapomniałem pobrać z domowego komputera najważniejsze koszty ogólne, których potrzebuję na zbliżające się spotkanie przy lunchu. Bez potu. Zadzwonię do domu i prześlę je drogą elektroniczną do mojego biura. Traf chciał jednak, że jedynym domem jest elektryk, ale on jest grą. Proszę, włącz komputer, naciskając przycisk na górze klawiatury, mówię. To oczywiście dobry człowiek, bo słyszę znajomy dzwonek przez telefon. W ciągu dwóch minut, jakie trwa uruchomienie maszyny, elektryk pyta, dlaczego maszyna nie włącza się od razu, jak żarówka.

Wstrzymuję się od powiedzenia mu, że podzielam jego konsternację. Od trzech lat staram się zainteresować sponsorów i badaczy projektem, który miałby zająć się tym irytującym biznesem, w którym człowiek z szacunkiem błaga oprogramowanie komputera o pozwolenie na włączenie lub wyłączenie maszyny. Zamiast tego wyjaśniam, że maszyna jest jak pusta powłoka i musi najpierw wypełnić się całym oprogramowaniem, którego potrzebuje, aby stała się użyteczna. Okej, mówię, rozwiń menu Apple i wybierz polecenie Zadzwoń do biura, które przezornie zdefiniowałem jakiś czas temu. Podporządkowuje się i słyszę sygnał dźwiękowy mojego domowego modemu, gdy wybiera numer do mojego biurowego. Po drugim dzwonku słyszę, że modem biurowy obok mnie odpowiada. Mam nadzieję, że prawie jesteśmy na miejscu.

Czy widzisz komunikat, że jesteśmy połączeni? Pytam.

Nie, odpowiada. Mija kolejna minuta, a on czyta mi komunikat ostrzegawczy, który pojawił się na ekranie mojego domowego komputera. Wiem, co się stało. Modemy zatrzasnęły się poprawnie i mogą wysyłać do siebie sygnały, ale z nieznanego powodu oprogramowanie obu maszyn nie może się komunikować. Proszę go, aby wstrzymał się podczas ponownego uruchamiania komputera. Podobnie jak wiele osób i wszyscy profesjonaliści komputerowi, wiem, że ponowne uruchomienie z czystym kontem często rozwiązuje problemy takie jak ten, chociaż nie mam pojęcia, co właściwie spowodowało problem.

Kiedy prowadzę elektryka przez ponowne uruchomienie mojego domowego komputera, denerwuję się, ponieważ problemy te zostałyby zmniejszone, gdyby mój komputer biurowy dzwonił do mojego domowego komputera, a nie na odwrót. Ale mój domowy komputer ma tylko zdalne oprogramowanie klienckie, co oznacza, że ​​może dzwonić, ale nie może odbierać połączeń. To rozróżnienie między klientami a serwerami jest pozostałością po korporacyjnych komputerach i centralnych maszynach ery współdzielonej, które wysyłały dużo danych do głupich terminali. Rozróżnienie musi zniknąć, aby wszystkie komputery, które nazwałbym urzędnikami, mogły w równym stopniu podawać i akceptować informacje, tak jak muszą, jeśli mają być w stanie wspierać rozproszone kupowanie, sprzedawanie i wolną wymianę informacji, które zajmą miejsce na rynku informacyjnym.

Kiedy mój domowy komputer ponownie się uruchomi, ponownie wykonujemy taniec modemowy i tym razem oprogramowanie się zatrzaskuje. Proszę elektryka, aby wybrał polecenie Chooser i kliknij ikonę Appleshare, a następnie kliknij obraz mojego komputera biurowego. Teraz potrzebuje mojego hasła, które natychmiast mu podaję. Relacjonuje na swoim ekranie aktywność, którą interpretuję jako sukces. Mówię mu, jak znaleźć cenny plik, którego potrzebuję, i wysłać go do mnie. Za dwie i pół minuty obrazy z góry bezpiecznie docierają do mojej maszyny. Dziękuję elektrykowi obficie i wysyłam zdjęcia do mojej drukarki, teraz wypełnione czystymi arkuszami folii, i mam je. Na spotkanie spóźniam się 30 minut.

Dlaczego nie mógłbym po prostu wydać domowemu komputerowi w ciągu jednej sekundy pojedynczego polecenia, takiego jak Wyślij do biura koszty ogólne, które utworzyłem wczoraj wieczorem i aby dotarły trzy minuty później? Koledzy technicy, proszę nie mówcie mi, że można to zrobić na innym rodzaju maszyny lub innym systemie operacyjnym, makrach, agentach lub innych tego typu narzędziach, ponieważ ja wiem i wy wiecie lepiej. Ta prosta czynność po prostu nie może być wykonana łatwo i niezawodnie przy pomocy dzisiejszych komputerów.

Jako projektanci systemów musimy rozpocząć od dawna spóźnione działania naprawcze przeciwko błędowi nadmiernej złożoności od uproszczenia opcji, ich ograniczenia i, co najważniejsze, odwrócenia projektowego punktu widzenia zakorzenionego w przyzwyczajeniach sprzed dziesięcioleci. Powinniśmy dostosowywać polecenia i opcje komputera do potrzeb użytkownika, a nie dopasowywać je do istniejących potrzeb systemu i podsystemów i oczekiwać od użytkowników posłusznej adaptacji. Musimy zrobić dla systemów komputerowych to, co zrobiliśmy dla samochodów - odejść od dawania ludziom kontroli mieszanki paliwowej, czasu zapłonu i innych podsystemów i dać im kierownicę, pedał gazu i hamulec do prowadzenia samochodu .

Spycharki elektroniczne

Jedną z największych przeszkód w budowaniu efektywnego rynku informacji jest niezdolność połączonych systemów komputerowych do łatwego odciążenia nas od ludzkiej pracy. Dzieje się tak, ponieważ dzisiejsze systemy komputerowe połączone w sieć nie mają możliwości zrozumienia się nawzajem, nawet na podstawowym poziomie, dzięki czemu mogą przeprowadzać między sobą rutynowe transakcje. Jednak potencjał automatyzacji pracy informacyjnej jest ogromny, ponieważ połowa światowej gospodarki przemysłowej obejmuje pracę biurową, co sugeruje, jak ogromny może być ten nowy ruch społeczno-gospodarczy. Aby odciążyć pracę ludzkiego mózgu, musimy opracować narzędzia, które pozwolą komputerom współpracować ze sobą w użytecznych ludzkich celach. Nazywam narzędzia, które to umożliwią, narzędziami automatyzacji, aby odróżnić je od narzędzi automatyzacji rewolucji przemysłowej, która rozładowała pracę ludzkich mięśni.

Dziś jesteśmy tak podekscytowani e-mailem i Internetem, że z całą energią pogrążamy się w odkrywaniu nowych granic. Jeśli jednak zatrzymamy się na chwilę i zastanowimy, zdamy sobie sprawę, że ludzka produktywność nie wzrośnie, jeśli nadal będziemy używać oczu i mózgu do poruszania się po tym labiryncie i rozumienia wiadomości przesyłanych z jednego komputera do drugiego. Wyobraź sobie, że firmy produkujące pierwsze silniki parowe i spalinowe w czasie rewolucji przemysłowej stworzyły je tak, aby mogły współpracować tylko wtedy, gdy ludzie stali obok nich i nadal pracowali z ich łopatami i pługami ciągniętymi przez konie. Co za absurdalne ograniczenie. A jednak to właśnie robimy dzisiaj – poświęcamy ogromną ilość pracy ludzkiego mózgu, aby nasze komputery współpracowały ze sobą. Czas rzucić nasze zaawansowane technologicznie łopaty i zbudować elektroniczne buldożery ery informacji. Na tym polegają narzędzia do automatyzacji.

Osiągnięcie pewnego podstawowego stopnia zrozumienia między różnymi komputerami, aby umożliwić automatyzację, nie jest tak trudne technicznie, jak się wydaje. Ale wymaga jednego bardzo trudnego towaru: ludzkiego konsensusu. Jednym prostym sposobem osiągnięcia automatyzacji jest użycie formularzy elektronicznych (e-formularzy), w których każdy wpis ma wstępnie uzgodnione znaczenie, które wszystkie uczestniczące komputery mogą wykorzystać za pośrednictwem swoich programów. Załóżmy, że w ciągu 3 sekund wymówię do mojego komputera polecenie „Zabierz mnie do Aten w przyszły weekend”. Mój komputer wygeneruje odpowiedni e-formularz do tego zadania i ping-pong tam iz powrotem za pomocą e-formularza komputera rezerwacji, zanim znajdzie akceptowalną datę i klasę oraz zarezerwuje lot. Ponieważ samodzielne dokonanie rezerwacji online zajęłoby mi 10 minut, mogę słusznie pochwalić się, że mój wzrost wydajności wyniósł 200 do 1 (600 sekund do 3 sekund) lub 20 000 procent!

Możemy więc sobie wyobrazić, że na rynku informacyjnym grupy wspólnego interesu będą tworzyć e-formularze, aby określić rutynowe i często powtarzające się transakcje w swojej specjalności, niezależnie od tego, czy chodzi o kupowanie hurtowych pomarańczy, czy o przesyłanie zdjęć rentgenowskich między różnymi oddziałami medycznymi. Jeśli członkowie takiej grupy zdołają uzgodnić e-formularz, zwłaszcza taki, który reprezentuje żmudną transakcję, osiągną znaczne korzyści w zakresie automatyzacji. Programy komputerowe lub osoby zainteresowane prowadzeniem tego rodzaju działalności mogłyby sprawdzić uzgodniony e-formularz i użyć go na swoim komputerze, aby osiągnąć te same korzyści, ale przy znacznie mniejszym wysiłku.

Wielu komputerowych czarodziejów i ludzi niechętnych standardom wierzy, że powszechne konwencje, takie jak e-formularze, przypominają Esperanto, niefortunną próbę stworzenia uniwersalnego języka mówionego dla wszystkich ludzi. Twierdzą, że próby wspólnego języka komputerowego będą cierpieć na te same bolączki. Zamiast tego twierdzą, że jedynym sposobem, w jaki nasze komputery będą się rozumieć, będzie tłumaczenie zrozumiałych lokalnie poleceń i pytań w różnych światach, tak jak ludzie tłumaczą z angielskiego na francuski.

Ten argument jest błędny, ponieważ wspólne koncepcje są wymagane nawet przy tłumaczeniu między różnymi językami. Niezależnie od tego, czy nazwiesz przedmiot krzesło, czy szezlong, nadal jest to rzecz z czterema nogami, na której ludzie siedzą. To właśnie ta wspólna baza pojęć, wyryta w jakiś sposób w twoim mózgu, umożliwia wspólne rozumienie dwóch różnych słów w języku angielskim i francuskim. Bez niego żadna ilość wzajemnych konwersji nie może prowadzić do zrozumienia, po prostu dlatego, że, tak jak w przypadku komputerów, po żadnej ze stron nie ma nic wspólnego do zrozumienia.

Jeśli uda nam się osiągnąć konsensus w obrębie specjalizacji i między nimi, dotyczący najbardziej podstawowych koncepcji, które komputery powinny dzielić, to nawet jeśli otrzymamy różne języki i dialekty, twórcy oprogramowania będą mogli pisać programy, a zwykli użytkownicy będą mogli pisać skrypty, które instalują przydatne działania automatyzujące komputer-komputer — wyszukiwanie informacji w naszym imieniu, obserwowanie interesujących nas wydarzeń, przeprowadzanie dla nas transakcji i wiele innych.

Systemy łagodnego nachylenia

Automatyzacja transakcji między komputerami i rozwiązywanie problemów w obecnych systemach komputerowych to dobre kroki, aby komputery i rynek informacji nam służyły. Ale projektowanie systemów, które są z natury łatwiejsze w użyciu, to naprawdę duża dźwignia. Wierzę, że to przedsięwzięcie przyciągnie naszą uwagę przez większą część przyszłego stulecia.

W ciągu ostatniej dekady każdy, kto w mojej obecności wypowiedział frazę „przyjazny dla użytkownika”, narażał się na atak fizyczny. Wyrażenie to zostało bezwstydnie przywołane, aby zasugerować, że program jest łatwy i naturalny w użyciu, gdy rzadko jest to prawdą. Zazwyczaj „przyjazny dla użytkownika” odnosi się do programu z interfejsem WIMP, co oznacza, że ​​opiera się na oknach, ikonach, menu i wskazówkach wraz z zestawem ładnych kolorów i czcionek, które można zmieniać w zależności od gustów użytkowników. Taka przesada jest równoznaczna z ubieraniem szympansa w zieloną szpitalną koszulę i gorliwym paradowaniem z nim jako chirurgiem. Spróbujmy przeniknąć szum, malując obraz tego, gdzie naprawdę jesteśmy, jeśli chodzi o przyjazność dla użytkownika i gdzie tkwi prawdziwy potencjał łatwości użytkowania.

To jest gdzieś w późnych latach 80-tych. Przyjaciel podchodzi do Ciebie, podekscytowany jego umiejętnością korzystania z arkuszy kalkulacyjnych. Prosisz go, aby wyjaśnił, jak działają. Pokazuje ci dużą siatkę. Jeśli umieścisz kilka liczb w jednej kolumnie, mówi, a następnie umieścisz pod nimi proste polecenie, które je doda, zobaczysz ich sumę w dolnej komórce. Jeśli następnie zmienisz jedną z liczb, suma zmieni się automatycznie. Przyjaciel biegnie dalej, ledwo mogąc zapanować nad swoim entuzjazmem: A jeśli chcesz powiększyć pierwszą liczbę o 10 procent, po prostu wstawiasz do komórki obok niej proste polecenie, które mnoży ją przez 1,1. Jego wyraz twarzy staje się pożądliwy: Czy chcesz zwiększyć wszystkie liczby o 10 procent? Po prostu przeciągnij mysz w dół w ten sposób, a wszyscy będą posłuszni.

Bierze głęboki oddech, gotowy do ponownego wybuchu, kiedy go zatrzymasz. Dziękuję Ci. A teraz odejdź, mówisz. Nauczyłeś mnie wystarczająco dużo, by wykonywać wszystkie moje obowiązki księgowe. W ten sposób miliony ludzi dzisiaj używają swoich programów do arkuszy kalkulacyjnych, takich jak Microsoft Excel i Lotus 1-2-3. Prawie nie znają więcej niż jednej dziesiątej poleceń, a mimo to uzyskują znaczny wzrost wydajności.

Jesteś zadowolony z nowo nabytej wiedzy, aż pewnego dnia odkryjesz, że musisz zrobić coś bardziej ambitnego, na przykład powtórzyć na całej stronie wszystkie żmudne operacje, które skonfigurowałeś, ale z nowym zestawem początkowych liczb. Zakłopotany wracasz do przyjaciela, który uśmiecha się porozumiewawczo i mówi, że musisz teraz nauczyć się makr. Jego wyjaśnienia nie są już tak proste jak wcześniej i po prostu nie możesz sprawić, by arkusz kalkulacyjny robił to, co chcesz. W tym miejscu poddaje się większość milionów użytkowników arkuszy kalkulacyjnych. Ale zamiast tego walczysz dalej, ostatecznie opanowując tajemnice makro. To naprawdę program komputerowy napisany w tajemnym języku programowania, który zastępuje cię w dowodzeniu programem arkusza kalkulacyjnego, aby robić rzeczy, które byś zrobił ręcznie.

Żeglujesz przez następne sześć miesięcy, aż rozwiniesz potrzebę wykonania jeszcze bardziej ambitnego zadania, które obejmuje zaprojektowanie interfejsu człowiek-maszyna, który sprawi, że Twój program będzie bardziej użyteczny. Wracasz do swojego przyjaciela, który mówi ci, że stałeś się zbyt dobry na ograniczone możliwości tej aplikacji arkusza kalkulacyjnego i że musisz teraz nauczyć się używać prawdziwego języka programowania, takiego jak C++. Nieświadomy tego, co kryje się za tymi trzema niewinnymi symbolami, ale nie chcąc się poddać, idziesz dalej. To kosztuje twoją pracę, ponieważ teraz musisz poświęcić cały czas na nowe, kolosalne przedsięwzięcie edukacyjne. A jednak jesteś tak zakochany w programowaniu, że nie masz nic przeciwko. W rzeczywistości podoba ci się ten pomysł. Dwa lata później, wykorzystując C++ i kilka innych języków programowania i systemów operacyjnych, rozpoczynasz karierę jako odnoszący sukcesy niezależny dostawca oprogramowania i ostatecznie stajesz się bogaty.

To szczęśliwe zakończenie nie może ukryć barier, które musiałeś pokonać po drodze. Decydujesz się na wykres włożonego wysiłku w stosunku do zdobytej umiejętności. Rezultatem jest linia zaczynająca się od lewej i przesuwająca się w prawo. Jest długa, wolno wznosząca się część, a następnie ogromne wzgórze, na którym trzeba było nauczyć się wielu nowych rzeczy, aby przejść dalej w prawo. Potem są wolniejsze linie i większe wzgórza, jak łańcuch górski, gdzie każda nowa góra staje się wyższa. Chciałbyś, aby ktoś wymyślił podejście o łagodniejszym nachyleniu, takie, w którym w miarę zwiększania wysiłku w nauce otrzymujesz coraz większe zyski, bez niemożliwych klifów, na które trzeba się wspinać. Przewiduję, że takie systemy o łagodnych zboczach, jak lubię je nazywać, pojawią się i zaznaczą ważny punkt zwrotny ery informacyjnej.

Systemy o łagodnym nachyleniu będą miały kilka kluczowych właściwości. Przede wszystkim będą dawać coraz bardziej użyteczne wyniki przy coraz większym wysiłku. Będą w stanie zautomatyzować każdą powtarzalną czynność, którą wykonujesz. Będą pełne wdzięku w tym sensie, że niekompletne działania lub błędy z Twojej strony spowodują rozsądne pogorszenie wydajności, a nie katastrofy. Wreszcie będą łatwe do zrozumienia – nie bardziej skomplikowane niż przeczytanie przepisu z książki kucharskiej.

Koncepcyjnie zakwestionowane

Jednym z powodów, dla których nieprogramistom jest trudno powiedzieć komputerom, co mają robić, jest to, że otaczające nas systemy oprogramowania są zajęte raczej strukturą niż znaczeniem informacji. Możemy je zaprogramować, aby robiły wszystko, co chcemy, ale nie są świadome znaczenia nawet najprostszych rzeczy, które próbujemy zrobić. Pozwolę sobie zilustrować.

Zajmuje mi 17 sekund, aby powiedzieć programiście: Proszę, napisz mi program, za pomocą którego będę mógł wprowadzić do komputera pisane przeze mnie czeki, wraz z kategoriami każdego wydatku — jedzenie, rekreacja i tak dalej. I zrób to, abym mógł poprosić o sprawozdanie z kontroli, które napisałem do tej pory, ułożone chronologicznie lub według kategorii.

Kilka razy zlecałem to zadanie różnym osobom. Mistrzowie programowania niezmiennie odmawiają grania i każą mi kupić ten program, ponieważ jest dostępny na rynku. Dobrzy programiści powiedzą, że mogą spełnić żądanie w ciągu kilku godzin, a opracowanie niepewnego prototypu zajmie dzień lub dwa. Niedoświadczeni programiści powiedzą zuchwale, że mogą napisać program w ciągu kilku minut jako makro w arkuszu kalkulacyjnym – i generalnie nie są w stanie niczego dostarczyć. Firma Intuit, która opracowała bardzo udany program Quicken, który wykonuje tę i więcej pracy, zajęła dwa lata i wiele milionów dolarów, aby opracować, przetestować, udokumentować i wprowadzić na rynek.

Dlaczego mogę zaprogramować człowieka tak, aby zrozumiał powyższą instrukcję w 17 sekund, podczas gdy zaprogramowanie komputera do zrozumienia tej samej rzeczy trwa od kilku tysięcy do kilku milionów razy dłużej? Odpowiedź z pewnością leży w fakcie, że ludzie dzielą pojęcia takie jak sprawdzenie, kategoria, raport i chronologia, podczas gdy komputery nie. Maszyna jest tak nieświadoma tych koncepcji, że programiści muszą spędzać praktycznie cały swój czas na programowaniu, ucząc komputer, co mają na myśli. Gdybym jednak miał komputer, który już rozumiał niektóre z tych pojęć, mógłbym go zaprogramować do wykonywania mojej pracy w bardzo krótkim czasie. Jest to ważny sposób, w jaki komputery mogą zwiększyć naszą produktywność w XXI wieku: dzięki temu, że lepiej rozumieją bardziej ludzkie koncepcje w lepszy sposób.

Aby komputery były naprawdę łatwiejsze w użyciu, technolodzy będą musieli odwrócić uwagę od dwudziestowiecznego zajmowania się strukturami narzędzi informacyjnych, takich jak bazy danych, arkusze kalkulacyjne, edytory, przeglądarki i języki. Na wczesnym etapie komputery stały się wszechobecne, ponieważ skupienie to pozwoliło na równe wykorzystanie tych wspólnych narzędzi w tysiącach aplikacji, od rachunkowości przez inżynierię po sztukę. Jednak ta sama ogólność sprawia, że ​​nie zdają sobie sprawy ze specjalnych zastosowań, którym ostatecznie muszą służyć, i ostatecznie są mniej użyteczne, niż powinny być – podobnie jak dyletant do wszystkiego.

To, czego potrzebujemy teraz, aby jeszcze bardziej zwiększyć użyteczność, to nowy rodzaj systemów oprogramowania, takich jak arkusz kalkulacyjny, który księgowy może łatwo zaprogramować i który już rozumie powtarzalne zadania wyższego poziomu, takie jak tworzenie planów kont, przeprowadzanie rozliczeń pieniężnych i przeprowadzanie prób salda.

Uwolnione od tyranii ogólności, te wyspecjalizowane środowiska programistyczne będą dążyć do oferowania znacznie więcej podstawowych informacji i operacji związanych z ich specjalizacją. Nadszedł czas, aby technolodzy komputerowi porzucili ogólną orientację, która dobrze służyła ludziom przez pierwsze cztery dekady ery komputerów, i przenieśli uwagę ze struktury na znaczenie informacji.

Każdy programista

Największą obietnicą ery informacyjnej jest ogromny i wciąż niezrealizowany potencjał dostosowania technologii informatycznych do indywidualnych potrzeb człowieka. Dzisiejsze programy użytkowe są jak gotowe ubrania – jeden rozmiar dla wszystkich. Większość z nich jest więc źle dopasowana i musimy się wykręcać, aby poprawić dopasowanie. Innym potencjalnym skutkiem tej praktyki dla biznesu jest to, że gdyby każda firma używała tego samego zestawu programów w puszkach, stosowałaby mniej więcej te same procedury i żadna firma nie wyróżniałaby się na tle konkurencji. Gotowe, opakowane w folię oprogramowanie jest wystarczająco dobre jak na stan technologii informatycznych końca XX wieku. Ale na jutrzejszym rynku informacyjnym nie będzie tak dobrze.

Wielkie korzyści zostaną osiągnięte, gdy osoby fizyczne i firmy będą mogły naginać i modyfikować narzędzia informacyjne, aby robiły dokładnie to, czego chcą, zamiast naginać się do tego, co mogą zrobić. To poszukiwanie dostosowywalnych narzędzi informacyjnych ze specjalistyczną wiedzą nie będzie różniło się od obecnego trendu w kierunku niestandardowej produkcji. Równie dobrze może się zdarzyć, że pod koniec XXI wieku nowa forma prawdziwie dostępnego programowania stanie się domeną wszystkich i będzie postrzegana jako pismo, które kiedyś było domeną starożytnych skrybów, ale w końcu stało się powszechnie dostępne.

To nie jest tak absurdalne, jak się wydaje. Wymyśliliśmy pismo, aby lepiej się ze sobą komunikować. Jutro będziemy musieli lepiej komunikować się z naszymi elektronicznymi asystentami, więc rozszerzymy nasz klub o ich także. Każdy będzie wtedy programistą, a nie tylko nieliczni uprzywilejowani. I żaden z nich nie będzie tego świadomy. W rzeczywistości dzieje się to już na małą skalę wśród milionów ludzi korzystających z arkuszy kalkulacyjnych i którzy byliby bardzo zaskoczeni, gdyby się dowiedzieli, że są programistami.

Kiedy mówię, że ludzie będą programować, nie mówię o pisaniu szczegółowego kodu i instrukcji, dzięki którym komputery będą działać. To nadal będzie stanowiło większość oprogramowania i rzeczywiście zostanie stworzone przez profesjonalnych programistów, którzy ukształtują wiele większych bloków konstrukcyjnych, z których będziemy korzystać. Programowanie każdej osoby będzie stanowić bardzo mały ułamek kodu oprogramowania, może 1 procent. Ale to będzie decydujący czynnik, który nadaje programowi jego specyfikę. Będzie to jak budowa modelu kolei; nie robisz wszystkich torów, silników lub samochodów, ale układasz elementy, aby stworzyć własne niestandardowe wzory kolejowe.

Możemy zwiększyć użyteczność naszych maszyn na wschodzącym rynku informacji, korygując bieżące błędy człowiek-maszyna, opracowując narzędzia do automatyzacji oraz tworząc nowy rodzaj systemów oprogramowania o łagodnym nachyleniu, które rozumieją wyspecjalizowane obszary ludzkiej działalności – i które mogą być łatwo dostosować przez zwykłych ludzi do ich potrzeb. Podążanie za tymi wskazówkami powinno skłonić nas do wyruszenia w naszą misję, która, jak sądzę, potrwa jeszcze do dwudziestego pierwszego wieku, polegająca na wykorzystaniu nowych technologii informacji do realizacji starożytnych ludzkich celów.

ukryć