Metajęzyk i przyjazność użytkowa

Ergonomia pojedynczych urządzeń komputerowych to za mało w coraz bardziej usieciowionym świecie. Internet rzeczy wymaga definiowania standardów dla coraz większej liczby systemów mobilnych i inteligentnych, które powinny się ze sobą komunikować.

W roku 1973 ukazała się klasyczna już książka Jamesa Martina „Dialog człowieka z maszyną cyfrową“ („Design of Man-Computer Dialogues”). Jeśli ktoś uważa, że kilkadziesiąt lat później dzieło trąci myszką, to ma rację. Już wtedy istniały bowiem prototypowe rozwiązania znanych obecnie urządzeń pozwalających nam na komunikację z systemami komputerowymi. Martin wskazywał np. na znaczenie ekranów dotykowych. Długa jest jednak droga od pomysłu do przemysłu. Wystarczy przypomnieć, że pierwsze zastosowania i patenty manipulatorów kulkowych (trackball) pojawiły się już ponad 70 lat temu (1946 r.).

Czy zatem dziś mamy komfortową sytuację w tym zakresie i czy w ogóle warto poruszać temat komunikowania się człowieka z urządzeniem? Przecież każda „mądra“ (smart) komórka posiada ekran dotykowy, a obserwacja bliźnich, intensywnie używających tych urządzeń w miejscach publicznych, pokazuje, że dwoma kciukami da się wygenerować, choćby w komunikatorze typu WhatsApp, całą masę znaków, mających składać się na – przynajmniej w założeniu – użyteczne informacje.

Zobacz również:

Szybkozmienne turbulencje

Formalnie i z uwagi na zapewnienie produktowi akceptacji przez użytkowników powinien on spełniać wymogi ergonomii, a więc oferować prosty, efektywny i bezpieczny dialog z użytkownikiem. Wiemy, że z różnych powodów, np. kosztowych i presji czasowej, nie zawsze tak się dzieje w praktyce, ale przecież możemy nauczyć się także obsługi mniej komfortowego systemu. Problem w tym, że jest ich coraz więcej.

Mamy do czynienia z różnymi i ciągle zmieniającymi się systemami technicznymi. Jak uczyć się korzystania z nich? Czytając opasłe instrukcje obsługi? Można wybrać metodę pamięciową, czyli „na piechotę” powtarzać określone sekwencje działań, osiągając rutynową sprawność w odniesieniu do jakiejś wersji danego systemu. Na przykład opanowujemy jazdę wstecz określonym typem pojazdu, przełączając drążek zmiany biegów „w prawo do tyłu”. Co jednak zrobimy w innym rodzaju auta, którym nagle musimy ruszyć w podróż służbową? Naturalnie spojrzymy na schemat umieszczony na przekładni. Ów rysunek jest właśnie prostym przykładem metajęzyka. Jego opanowanie jest bardziej uniwersalną metodą nauki jazdy, gdyż pozwala na korzystanie z całej gamy samochodów.

Widzimy jednak, że warunkiem stosowania metajęzyka jest istnienie zdefiniowanych (meta)reguł. Mówimy tu w praktyce o standardach przemysłowych (normowanych lub de facto) oraz wspomnianych zasadach ergonomii. Są bowiem auta, które pojadą do tyłu dopiero po wciśnięciu drążka w podłogę lub po przesunięciu specjalnego pierścienia na drążku. Inaczej mówiąc, umiejętność odnajdowania się w szybkozmiennym (turbulentnym) środowisku technicznym wymaga znajomości metajęzyków. W świecie informatyki właśnie konwencje metajęzykowe są kluczem do elastyczności i szybkiego opanowywania obsługi nowych systemów.

Warunkiem stosowania metajęzyka jest istnienie zdefiniowanych (meta)reguł. Umiejętność odnajdowania się w szybkozmiennym (turbulentnym) środowisku technicznym wymaga znajomości metajęzyków.

Ścieżki wiedzy

Prostym przykładem takiej konwencji mogą być klawisze funkcyjne. Wiedza o tym, że F1 oznacza dostęp do informacji pomocowych (help) ułatwi odnalezienie się w nowym środowisku aplikacyjnym. Im prostsze i bardziej intuicyjne konwencje, tym lepiej. Nie wiemy, jakie opcje dostępne są dla obiektu wybranego myszką? Szukamy pod jej prawym przyciskiem. Nie mamy myszki? Dłużej przyciskamy palec na ekranie dotykowym, a otworzą się, dosłownie, nowe możliwości. W nowszych wersjach Windows wystarczy w dowolnym miejscu ekranu zacząć pisać, o co nam chodzi, np. hasło „printer“, żeby wystartować zintegrowaną wyszukiwarkę wewnętrzną, która skieruje nas do obszaru ustawień sterowników.

Warunkiem efektywności (do spełnienia przez producenta systemu) jest udostępnianie informacji o charakterze kontekstowym, np. w zależności od zamarkowanego obiektu na ekranie, z możliwością ich drążenia (drill down). Oznacza to, że w danej chwili otrzymujemy:

- informacje, które akurat nam są potrzebne

- tylko takie informacje

- i jednocześnie pełne informacje.

W praktyce implikuje to możliwość hipertekstowego (a więc niesekwencyjnego i ahierarchicznego) poruszania się po ścieżkach wiedzy systemu pomocowego. Mówimy tu o pozytywnym przeciwieństwie dokumentacji referencyjnej, w postaci podręczników-cegieł, które formalnie są potrzebne, ale niechętnie używane z uwagi na objętość i brak przejrzystości. I znowu, mówiąc o hipertekście, dotykamy poziomu metajęzykowego informatycznych konwencji. Hipertekst jest bowiem rodzajem bazy danych, w której informacja, pierwotnie oparta na tekście, posiada organizację niesekwencyjną wykorzystującą zdefiniowane węzły i połączenia między nimi.

Hipertekst nie ma początku ani końca. Nie istnieje też z góry ustalony porządek czytania. Czytelnik sam decyduje, jak długo i jakimi drogami porusza się po hipertekstowym labiryncie.

Dodajmy, że na tej zasadzie można budować nie tylko oprogramowanie, ale także procesy zarządzania. Cechy organizacji klasycznej odpowiadają bowiem tekstowi sekwencyjnemu, który czytamy od początku do końca. Tymczasem hipertekst w gruncie rzeczy nie ma ani początku ani końca. Nie istnieje też jakiś z góry ustalony porządek czytania – z lewa na prawo i od pierwszej strony do ostatniej. Czytelnik sam decyduje, jak długo i jakimi drogami porusza się po hipertekstowym labiryncie.

W wersji multimedialnej elementami hipertekstu są również dźwięki, filmy czy grafika. Sam zaś tekst może być czymś innym niż tylko zbiorem słów. Plan miasta może być hiperplanem, a rozkład jazdy pociągów hiperrozkładem. Gdy informacja staje się hiperinformacją, medium przeistacza się w hipermedium. W ten sposób mogą powstawać wspomniane struktury organizacyjne o charakterze hipertekstowym, w miejsce tradycyjnych. Hipertekstowy proces biznesowy może być wówczas przetwarzany w trybie projektowym, a więc nie rutynowo, a to przyczynia się do tak pożądanego na rynku wzrostu elastyczności przedsiębiorstwa.

Komunikacja we wszechnecie

Kiedy w latach 1960. powstawały „międzysieci“, określane wówczas fachowo jako inter-network, a później krócej: internet, było jasne, że dostęp do tych struktur wymaga posiadania komputera. Obecnie internetowym terminalem może być telewizor, lodówka, zegarek czy samochodowa nawigacja. Podobne procesy rozwojowe występują w sferze przemysłowej (Przemysł 4.0). Internet przedmiotów IoT (Internet of Things) oznacza docelowo powstanie cyfrowej materii, na skalę planetarną, w postaci evernetu (wszechnet), a więc mikro- czy nanoprocesorów, mówiąc obrazowo, w każdej klamce i w każdym guziku od koszuli. Brzmi pięknie w teorii, ale praktyczne pytanie brzmi: czy ta internetowa wieża Babel nie zawali się z powodu braku wspólnego języka jej składników?

Formalnie różne propozycje metajęzyków dla internetu przedmiotów mogą nie tylko ze sobą konkurować, ale i się uzupełniać. Z drugiej strony wiele firm zainteresowanych jest utrzymywaniem standardów zamkniętych (proprietary). Musimy przygotowani na to, że i tym razem poszukiwany wspólny język szybko się nie pojawi.

Biznes ma bowiem tendencję do działania na zasadzie inżyniera Mamonia: „podobają mi się tylko te melodie, które już słyszałem”. W przemysłowym tłumaczeniu: akceptuję wszelkie standardy, ale tylko własne. Tak było w historii kolejnictwa (tzw. szersze tory w Brazylii czy Rosji), telewizji (PAL/SECAM), magnetowidów (VHS/Beta) czy telefonii komórkowej. I tak też będzie w odniesieniu do wielu kolejnych urządzeń internetowych. Stąd cenne próby poszukiwania wspólnego metajęzyka, który zastąpiłby kakofonię protokołów komunikacyjnych w dżungli nowych technologii.

Jedną z takich inicjatyw jest konsorcjum AllSeen Alliance (m.in. LG, Qualcomm, Microsoft) i otwartoźródłowy (open-source) projekt AllJoyn. Pomysł polega na wyposażeniu zróżnicowanych urządzeń wielu producentów w softwarowy sygnalizator wysyłający w świat komunikat typu „kim jestem i co potrafię”. Rzecz jasna ta internetowa wizytówka musi być zaprojektowana w owym wspólnym języku.

W ten sposób internetowy zegarek (smart-watch) może powiedzieć do klimatyzacji w hotelowym pokoju: „hej, ja mogę tobą sterować” i w odpowiedzi usłyszy: „hopla, a ja ci mogę wyświetlać temperaturę i wilgotność na twoim displayu”. A cały wic polega na tym, że te urządzenia nigdy wcześniej nie miały ze sobą do czynienia. Widzimy zatem, że komunikacja mogłaby funkcjonować podobnie jak podczas parowania (pairing) w standardzie Bluetooth, tyle że ten ostatni protokół ma swoje ograniczenia np. co do odległości. Tymczasem chodzi o rozwiązania, które działałyby bardziej automatycznie i autonomicznie, ale także poza domem na większych przestrzeniach, w dużych budynkach czy sieciach miejskich (city network).

Problem tkwi w tym, że równolegle rozpoczyna działalność szereg różnych grup o ambicjach normujących. Cisco, IBM czy Intel wspierają działania konsorcjum ICC (Industrial Internet Consortium), którego celem jest definiowanie wspólnej platformy sprzętowo-programowej dla komunikujących się ze sobą maszyn i urządzeń. Z kolei IPSO Alliance, mocno powiązane z gremium standaryzującym IEEE (Institute of Electrical and Electronics Engineers) – jak nazwa wskazuje (Internet Protocol for Smart Objects) – propaguje stosowanie rozwiązań IP dla urządzeń i systemów inteligentnych. Formalnie różne propozycje metajęzyków dla internetu przedmiotów mogą nie tylko ze sobą konkurować, ale i się uzupełniać. Z drugiej strony wiele firm zainteresowanych jest utrzymywaniem standardów zamkniętych (proprietary). Musimy być zatem przygotowani na to, że i tym razem poszukiwany wspólny język, w rozważanym obszarze, szybko się nie pojawi.