Sieć
Dzisiaj, w dobie generatywnego AI, coraz częściej można natknąć się na rozważania na temat przyszłości Sieci. Stała się ona tak bardzo nieodłącznym elementem naszego życia, że przyjmujemy ją za pewnik. Ona po prostu jest. Nie zastanawiamy się nad nią, tak jak nie zastanawiamy się nad tym, czemu łóżko służy do spania. Ale czasami jednak warto się na chwilę zatrzymać i zastanowić. Może niekoniecznie nad łóżkiem, ale nad Siecią – czym ona tak właściwie jest?
Hipertekst
Zacznijmy od strony techniczno-filozoficznej. Na samym spodzie Sieci, pod tymi wszystkimi protokołami HTTP, stosem TCP/IP i innymi dziwacznymi akronimami kryje się pewien pomysł, który jest genialny w swojej prostocie. I to właśnie on sprawił, że Sieć zażarła. Mowa oczywiście o hipertekście.
Hipertekst wytłumaczyć jest bardzo prosto – to po prostu tekst, który jest hiper… Poczekaj, Droga Osoba Czytająca, nie odchodź – już Ci udowadniam, czemu tak naprawdę jest. Otóż tekst tradycyjnie kojarzy nam się z czymś mocno statycznym. W końcu z niego składają się książki – papierowe stronice zapisane maczkiem literek, niekiedy przerywane rysunkiem, żeby mózg mógł nieco odpocząć od nieustannego czytania. Tekst sam w sobie nie jest fascynujący, jest wręcz nudny. Ale przeniesienie go na ekrany komputerów pozwala na zmienienie go w taki sposób, żeby był właśnie hiper – ciekawy, interaktywny, dynamiczny.
Niektórym osobom udało się część tego bycia hiper osiągnąć już w świecie książek. Powstał gatunek tzw. gier paragrafowych. W wielkim skrócie: to książki zawierające kilka wersji jakiejś historii. Osoba czytająca książkę po przeczytaniu fragmentu zostaje postawiona przed wyborem, co ma się zdarzyć dalej z postacią. Każdy wybór odsyła do innej strony lub innego akapitu (stąd zresztą nazwa gatunku). Tekst w grze paragrafowej staje się niejako interaktywny, bo oddaje część decyzji osobie czytelniczej. Przestaje być też linearny – standardową książkę czytamy od początku do końca, w grze paragrafowej “skaczemy” między poszczególnymi fragmentami.
A teraz przenieśmy grę paragrafową na ekran komputera. Zamiast informacji o tym, na którą stronę mamy przewertować książkę, dostajemy linka do innej strony. I… w sumie to tyle. Hipertekst to wielka gra paragrafowa, w której postaciami jesteśmy my – osoby użytkownicze Sieci! I jest nawet lepiej niż w takiej tradycyjnej, bo technologie webowe pozwalają upiększyć tekst na zdecydowanie bardziej wyrafinowane sposoby, włączając w to umieszczanie filmików czy animacji.
Niemniej warto pamiętać, że spoiwem, który trzyma cały ten hipertekst w jednym kawałku, jest URL. Każda strona ma swój własny i niepowtarzalny. I byłoby fajnie, gdyby ten URL był ładny – bo może to podnieść zdecydowanie UX. No i jak już mamy ładny URL, to fajnie też, gdyby się nie zmieniał.
Standardy
Sieć jest dostępna dla każdej osoby – a przynajmniej: do tego dąży. Ale żeby to było możliwe, musi istnieć zbiór zasad określający, jak Sieć ma działać. Dzięki takiemu istniejącemu zbiorowi zasad wszyscy mogą się dogadać, jak mają wyglądać technikalia Internetu. Jest to tym bardziej istotne, że obecnie mamy na rynku naprawdę sporo przeglądarek i byłoby dość słabo, gdyby każda wyświetlała jakąś stronę inaczej. I tutaj na scenę wkraczają standardy sieciowe. Określają one wszystkie aspekty technicznego działania Sieci (i Internetu).
Jest co najmniej kilka organizacji odpowiedzialnych za tworzenie standardów sieciowych:
- World Wide Web Consortium (W3C) – niejako “główna” organizacja standaryzacyjna, rozwijająca większość technikaliów Sieci – od CSS-a przez nowe JS-owe APis, sposoby zabezpieczania stron internetowych, a kończąc na wytycznych dostępności i formatach graficznych (SVG);
- Web Hypertext Application Technology Working Group (WHATWG) – zrzesza czterech producentów przeglądarek (Google, Apple, Mozilla, Microsoft) i zajmuje się rozwojem głównie HTML-a i DOM-u oraz kilku innych standardów,
- Technical Committee 39 (TC39) – grupa robocza przy Ecma International, która zajmuje się rozwojem ECMAScriptu (czyli standardu, na którym oparty jest JS),
- Internet Engineering Task Force (IETF) – zajmuje się fundamentami Internetu, czyli m.in. rozwojem protokołu HTTP i jemu podobnych.
I z tej wielkiej mieszaniny różnych standardów i technologii powstaje Sieć, z której codziennie korzystamy. Jeśli pomyśli się, jak dużo osób i firm musi się dogadać, żeby w przeglądarkach pojawił się dowolny ficzer, nieważne jak prosty (np. element search), to można się z jednej strony przerazić, a z drugiej – odzyskać wiarę w to, że może jako ludzkość jednak potrafimy się dogadywać.
I co najlepsze, każda osoba zainteresowana technicznymi aspektami Sieci może uczestniczyć w tworzeniu standardów sieciowych! Najprostszym sposobem jest poszukanie na GitHubie repozytorium związanego z interesującym nas standardem (np. HTML) i przejrzenie listy issues. Być może znajdzie się jakieś w miarę proste – takie na sam początek. Można też zgłaszać własne propozycje nowych standardów. Obecnie otwarte standardy sieciowe są naprawdę otwarte i praca nad nimi przebiega niemal w pełni publicznie. Dzięki temu każda osoba może się zaangażować i dołożyć swoją cegiełkę do rozwoju Sieci.
A równocześnie trzeba mieć świadomość, że standardy nie są doskonałe. I sporej części z błędów, które popełniono kiedyś, nie da się już naprawić. I to bynajmniej nie dlatego, że jest to technicznie niemożliwe. Wręcz przeciwnie – część z tych rzeczy jest dość prosta w naprawie. Problemem jest jednak fakt, że Sieć jest absurdalnie wręcz kompatybilna wstecz. Jednym z podstawowych założeń jest “nie można psuć Sieci”. Jeśli jakaś zmiana ma szansę to zrobić, najczęściej przepada już na samym początku standaryzacyjnej drogi.
Istnieje także druga niezwykle istotna zasada – zasada ważności osób uczestniczących (Priority of Constituencies):
User needs come before the needs of web page authors, which come before the needs of user agent implementors, which come before the needs of specification writers, which come before theoretical purity.
[Potrzeby osoby użytkowniczej są ważniejsze od potrzeb osób webdeveloperskich, które są ważniejsze od potrzeb osób implementujących przeglądarki, które są ważniejsze od potrzeb osób tworzących specyfikacje, które są ważniejsze od teoretycznego puryzmu.]
Wszystkie standardy sieciowe powinny służyć osobom użytkowniczym, bo ostatecznie to dla nich istnieje Sieć. I choć czasami powstają standardy przeczące tej zasadzie, to jednak najczęściej spotyka je marny koniec.
Niezależność od urządzenia
Obecnie wydawać się może, że Sieć jest zdominowana przez urządzenia mobilne. I tak jest, ale przecież Sieć jest całkowicie niezależna od urządzenia, na którym osoba użytkownicza ją przegląda! Standardy sieciowe są pisane w taki sposób, żeby działać dobrze na niemal każdym typie urządzenia – czy obsługuje się je klawiaturą i myszką, ekranem dotykowym, głosem, czy jeszcze inną metodą wchodzenia z nim w interakcję. Ba, Sieć jest dostępna nawet w druku.
Nieoglądanie się na wymagania sprzętowe pozwoliło Sieci odnieść tak wielki sukces. To, w połączeniu z jej niezwykłą elastycznością, pozwala obecnie na projektowanie doświadczeń na urządzenia, o których nie śniło się ~filoz~ osobom tworzącym podwaliny webu.
Otwartość
Kolejną cechą Sieci, która sprawiła, że ta odniosła taki sukces, jest jej otwartość. I można ją rozpatrywać na dwóch różnych płaszczyznach.
Pierwsza z nich dotyka osób użytkowniczych. W swojej pierwotnej postaci Sieć była zbiorem stosunkowo małych stron, które często odsyłały między sobą. Tworzył się zdrowy ekosystem wzajemnych powiązań – wszystko w otwartym środowisku osób hobbystycznie interesujących się nową technologią. Pierwotna Sieć była miejscem mocno kameralnym, spokojnym. Ale paradoksalnie im większy sukces odnosiła, tym bardziej odchodziła od swoich początkowych założeń. Obecnie coraz częściej spotkać się można z przekonaniem, że istnieją tak naprawdę dwie Sieci: tradycyjna, oparta na hipertekście i budowaniu otwartych społeczności, oraz komercyjna, w której królują zamknięte rezerwaty, do których wielkie korporacje chcą zamknąć jak najwięcej osób użytkowniczych. Zamiast otwartości i współpracy – wątpliwa etycznie walka o powiększenie stanu posiadania. Coraz mniej osób pamięta, jak wyglądał Internet na początku i być może wkrótce brak otwartości Sieci będzie po prostu niezauważany.
I tutaj przechodzimy na drugą z płaszczyzn. Ostatnio renesans przeżywają strony osobiste. To nic innego, jak strony tworzone przez osoby, które chcą pokazać całej Sieci, kim są i co fajnego ostatnio zrobiły. Nie wydaje się to niczym wielkim, ale może być tak naprawdę początkiem budowania nowych, otwartych społeczności sieciowych. Bo na świecie są miliardy ludzi, spora część z nich ma już dostęp do Internetu. Rachunek prawdopodobieństwa jest nieubłagany: na świecie na pewno znajdzie się ktoś, kto myśli podobnie do osoby wrzucającej do Sieci stronę o sobie. I Sieć często jest jedynym miejscem, w którym takie dwie osoby mogą się spotkać i porozmawiać na interesujące je tematy. Co z tego, że jedna mieszka w Nowym Jorku, a druga w Sydney – Sieć sprawia, że mogą porozmawiać, patrząc sobie w twarz (a przynajmniej: w kamerę).
Ten trend stał się w pewnym momencie ruchem stającym na przekór postępującej komercjalizacji Sieci. Jednym z jego głównych założeń jest posiadanie własnych treści. I choć brzmi to kuriozalnie, to przecież właśnie to robią wielkie sieci społecznościowe – odbierają nam własność wszystkiego, co do nich wrzucamy. To nie my ostatecznie decydujemy, czy i kiedy te treści znikną z Sieci. To nie my też decydujemy, czy, kto i w jaki sposób będzie na nich zarabiał. Ruch IndieWeb wychodzi temu problemowi naprzeciw i stwierdza, że nasza treść jest nasza tylko wówczas, gdy jest na naszej własnej stronie WWW. Nie oznacza to jednak całkowitej rezygnacji z platform społecznościowych, ale publikacje tam trafiają z naszej strony, nie zaś – na odwrót. Tym sposobem wciąż zachowujemy kontrolę nad tym, co publikujemy, przy okazji mogąc dotrzeć do osób, które korzystają z sieci społecznościowych.
Co więcej, zrobienie prostej strony WWW wymaga względnie małej wiedzy technicznej w porównaniu do innych dziedzin programowania. Ba, w dobie narzędzi pozwalających na tworzenie stron WWW bez potrzeby pisania ani linijki kodu stronę WWW może mieć niemal każda osoba. Pod tym względem nie ma drugiej tak inkluzywnej technologii.
Czym jest Sieć?
Powróćmy zatem do pytania zawieszonego na samym początku: czym jest Sieć? Niemal każda osoba ma swoją własną odpowiedź. Sieć to technologia oddająca sprawczość w ręce osoby użytkowniczej. Sieć to cud. Sieć to most prowadzący nas do celu. Sieć to porozumienie.
Dla mnie zaś Sieć to niezwykłe miejsce spotkań, wielka biblioteka, która jest otwarta na absolutnie każdego – i tylko od nas zależy, kogo tam spotkamy i jaką książkę weźmiemy do ręki.
Źródła
- Terence Eden, Does AI mean we don’t need the Semantic Web?, (data dostępu: ), w: Terence Eden, Terence Eden’s Blog, (data dostępu: ).
- Tomasz "Comandeer" Jakut, Web 3.0, (data dostępu: ), w: Tomasz "Comandeer" Jakut, Comandeer's blog, (data dostępu: ).
- Jason Morehead, Your Website’s URLs Can and Should Be Beautiful, (data dostępu: ), w: Jason Morehead, Opus, (data dostępu: ).
- Tim Berners-Lee, Hypertext Style: Cool URIs don't change., (data dostępu: ).
- Ryan Miller, The Tectonics of the Web, (data dostępu: ), w: Ryan Miller, the frontendian, (data dostępu: ).
- Steve Faulkner, Know your Standards, (data dostępu: ), w: Steve Faulkner, HTML Accessibility, (data dostępu: ).
- Web Platform Contribution Guide documentation, (data dostępu: ).
- Sibylla Bostoniensis, I Blame the W3C's HTML Standard for Ordered Lists [tech, soc, Patreon], (data dostępu: ), w: Sibylla Bostoniensis, siderea, (data dostępu: ).
- Mathias Bynens, SmooshGate FAQ , (data dostępu: ), w: Chrome for Developers Blog, (data dostępu: ).
- Anne van Kesteren, Maciej Stachowiak, HTML Design Principles, (data dostępu: ).
- Sangwhan Moon, Domenic Denicola, Travis Leithead, Web Platform Design Principles, (data dostępu: ).
- Mark Nottingham, RFC8890: The Internet is for End Users, (data dostępu: ), w: Mark Nottingham, Mark Nottingham, (data dostępu: ).
- David Pierce, Kristen Radtke, Google AMP: how Google tried to fix the web by taking it over, (data dostępu: ), w: The Verge, (data dostępu: ).
- Jeremy Keith, Mobile Planet by Luke Wroblewski, (data dostępu: ), w: Jeremy Keith, Adactio, (data dostępu: ).
- Trent Walton, Device-Agnostic, (data dostępu: ), w: Trent Walton, Trent Walton, (data dostępu: ).
- Terence Eden, You can’t print this blog post, (data dostępu: ), w: Terence Eden, Terence Eden’s Blog, (data dostępu: ).
- Stephanie Stimac, Building Web Layouts For Dual-Screen And Foldable Devices, (data dostępu: ), w: Smashing Magazine, (data dostępu: ).
- Garrett Dimon, Openness and Longevity, (data dostępu: ), w: Garrett Dimon, GarrettDimon.com, (data dostępu: ).
- Abid Omar, The modern web is becoming an unusable, user-hostile wasteland, (data dostępu: ), w: Abid Omar, Abid Omar, (data dostępu: ).
- Ploum, Splitting the Web, (data dostępu: ), w: Ploum, Ploum, (data dostępu: ).
- Heather Burns, Why Generation X will save the web, (data dostępu: ), w: Heather Burns, Webdevlaw, (data dostępu: ).
- Laura Kalbag, It’s Time to Get Personal, (data dostępu: ), w: 24 ways, (data dostępu: ).
- Henrik Karlsson, A blog post is a very long and complex search query to find fascinating people and make them route interesting stuff to your inbox, (data dostępu: ), w: Henrik Karlsson, Escaping Flatland, (data dostępu: ).
- Miriam Eric Suzanne, Am I on the IndieWeb Yet?, (data dostępu: ), w: Miriam Eric Suzanne, Miriam Eric Suzanne, (data dostępu: ).
- IndieWeb, (data dostępu: ).
- David Pierce, POSSE: a better way to post on social networks, (data dostępu: ), w: The Verge, (data dostępu: ).
- Barry T. Smith, Motherfucking Website, (data dostępu: ).
- Laurie Voss, There's no such thing as the fundamentals of web development, (data dostępu: ), w: Laurie Voss, Seldo.com, (data dostępu: ).
- Timothy Smith, HTML, CSS and JS in an ADD, OCD, Bi-Polar, Dyslexic and Autistic World, (data dostępu: ), w: CSS Tricks, (data dostępu: ).
- Robin Berjon, The Web Is For User Agency, (data dostępu: ), w: Robin Berjon, Robin Berjon, (data dostępu: ).
- Ben Werdmuller, The web is a miracle, (data dostępu: ), w: Ben Werdmuller, Ben Werdmuller, (data dostępu: ).
- Eric Bailey, Websites are like bridges, (data dostępu: ), w: Eric Bailey, Eric Bailey, (data dostępu: ).
- London Web Standards, #SOTB2018 - Jeremy Keith - The Web Is Agreement, (data uploadu: , data dostępu: ), w: YouTube, (data dostępu: ).
Dodatkowe materiały
- Christian Heilmann, Into the web multiverse, (data dostępu: ), w: Christian Heilmann, Christian Heilmann, (data dostępu: ).
- John Allsopp, What is the Web?, (data dostępu: ), w: Web Directions, (data dostępu: ).
- Eric Bailey, What the Web Still Is, (data dostępu: ), w: CSS Tricks, (data dostępu: ).
- Jeremy Keith, The State Of The Web, (data uploadu: , data dostępu: ), w: Vimeo, (data dostępu: ).
- Terence Eden, The future of the web, isn’t the web, (data dostępu: ), w: Terence Eden, Terence Eden’s Blog, (data dostępu: ).
- How regularly do people upgrade their smartphones?, (data dostępu: ), w: DeviceAtlas, (data dostępu: ).
- Frederick O’Brien, What Does A Foldable Web Actually Mean?, (data dostępu: ), w: Smashing Magazine, (data dostępu: ).
- Scott Jehl, Maintaining Accessibility in a Responsive World, (data dostępu: ), w: Filament Group, (data dostępu: ).
- Thanks iPhone 14, designing for device sizes is dead, (data dostępu: ), w: Polypane, (data dostępu: ).
- Brendan Eich, Yehuda Katz, Alex Russell, Brian Kardell, François REMY, Clint Hill, Marcos Caceres, Tom Dale, Anne van Kesteren, Sam Tobin-Hochstadt, Domenic Denicola, Chris Eppstein, Dave Herman, Alan Stearns, Rick Waldron, Paul Irish, Ted Han, Tab Atkins, Dan Appelquist, Isaac Schlueter, Allen Wirfs-Brock i inni, The Extensible Web Manifesto, (data dostępu: ).
- Chris Coyier, The Proprietary Syndication Formats, (data dostępu: ), w: Chris Coyier, Chris Coyier, (data dostępu: ).
- Project Evergreen, (data dostępu: ).
- Chris Wilson, Vision for W3C, (data dostępu: ).
- Chris Siebenmann, In practice, cool URLs change (eventually), (data dostępu: ), w: Chris Siebenmann, Chris's Wiki, (data dostępu: ).
- The Web We Want, (data dostępu: ).
- Mike Street, Behind the Source, (data dostępu: ).
- Jeremy Keith, Democratising dev, (data dostępu: ), w: Jeremy Keith, Adactio, (data dostępu: ).
- Terence Eden, The BBC’s 15 Web Principles – 15 years later, (data dostępu: ), w: Terence Eden, Terence Eden’s Blog, (data dostępu: ).
- Laurie Voss, You Will Never Be A Full Stack Developer, (data dostępu: ), w: Laurie Voss, Seldo.com, (data dostępu: ).
- Peter-Paul Koch, What is a web developer?, (data dostępu: ), w: Peter-Paul Koch, QuirksBlog, (data dostępu: ).
- Carson Gross, The #ViewSource Affordance, (data dostępu: ), w: </> htmx, (data dostępu: ).
- Jim Nielsen, Making a Website is for Everyone, (data dostępu: ), w: Jim Nielsen, Jim Nielsen’s Blog, (data dostępu: ).
- 32-Bit Cafe, (data dostępu: ).