Strona internetowa, której nikt nie zobaczy
Nie każda strona powstaje po to, żeby ją znaleźć. Czasem HTML jest najtańszym sposobem na narzędzie, które rozwiązuje problem jednej osoby.
W skrócie: Strona internetowa nie musi być publikacją. Ten sam HTML, który obsługuje sklepy i wizytówki, jest też najtańszym środowiskiem dla narzędzia - działa na każdym telefonie i laptopie, bez instalacji i bez sklepu z aplikacjami. Zbudowałem takie narzędzie dla siebie: zestawia prognozy z sześciu modeli meteorologicznych i odpowiada na jedno pytanie - czy dziś lot dronem ma sens. Sedno nie leży w pogodzie, lecz w porównaniu rozproszonych liczb i wydaniu werdyktu. Ta sama mechanika działa na cenach, stanach magazynu i wynikach kampanii. Gdy czynność się powtarza, dane leżą w kilku miejscach, a próg decyzji jest twój, a nie branżowy - własne narzędzie zwraca się szybciej, niż wygląda.
Kiedy pada hasło „strona internetowa”, prawie każdy widzi to samo: coś publicznego, co ma się wyświetlić w Google, przekonać obcego człowieka i doprowadzić go do kontaktu albo do koszyka. To najczęstsze zastosowanie, ale ani jedyne, ani najciekawsze.
Strona nie musi być dla wszystkich
Przeglądarka jest jedynym programem, który ma naprawdę każdy. I to jest cała przewaga, jaką HTML ma nad innymi sposobami dostarczenia narzędzia do rąk użytkownika. Nie ma instalacji. Nie ma osobnej wersji na Androida i osobnej na iPhone. Nie ma sklepu, który musi coś zatwierdzić. Aktualizacja to podmiana pliku na serwerze, a nie prośba do użytkownika, żeby zaktualizował aplikację.
Do tego dochodzi rzecz, o której się rzadko myśli: strona nie musi być opublikowana, żeby działać. Może stać pod adresem wyłączonym z indeksowania. Może siedzieć za hasłem albo w sieci firmowej. Może leżeć na dysku i otwierać się dwuklikiem. Poprawnie zbudowana potrafi też działać bez internetu - z ikoną na ekranie telefonu, jak zwykła aplikacja, tyle że bez żadnego z jej kosztów.
Publiczność jest osobną decyzją. Technologia pozostaje ta sama.
Problem, którego nie miał kto rozwiązać
Latam dronem klasy do 250 gramów. Decyzja, którą podejmuję przed każdym wyjściem, brzmi zawsze tak samo: czy w ogóle warto pakować sprzęt. Odpowiedź zależy od kilkunastu liczb, które leżą w różnych miejscach - prognoza wiatru w jednym serwisie, porywy w drugim, aktywność słoneczna i jej wpływ na sygnał w trzecim, rzeczywisty pomiar ze stacji naziemnej w czwartym.
Realny kontekst wygląda tak: stoisz w drzwiach z torbą na ramieniu i masz na to dwadzieścia sekund. Nie masz czasu na pięć zakładek, przeliczanie metrów na sekundę na kilometry na godzinę i zastanawianie się, czy „umiarkowany wiatr” z ikonki znaczy to samo co w specyfikacji twojego sprzętu.
Więc zbudowałem stronę. Jedną, wyłącznie dla siebie, bez konta i bez logowania. Wchodzę, widzę werdykt i powód, który za nim stoi. Jeśli werdykt brzmi „nie”, zaraz pod nim jest odpowiedź na jedyne sensowne kolejne pytanie: to kiedy.
To nie było o pogodzie
Zaczynałem w przekonaniu, że robię aplikację pogodową. Skończyłem z czymś innym: maszyną, która zestawia rozproszone liczby i wydaje z nich werdykt. Pogoda okazała się materiałem, nie tematem.
Ten sam schemat siedzi pod zaskakująco wieloma codziennymi czynnościami w firmach. Ceny czterech dostawców w czterech cennikach, z których trzeba wybrać jednego. Wyniki trzech kampanii w trzech panelach, z których trzeba wyciągnąć jeden wniosek. Parametry z czujników plus arkusz z normami, na podstawie których ktoś decyduje, czy partia idzie dalej. Za każdym razem wzór jest identyczny:
dane w kilku miejscach + stałe kryterium + decyzja podejmowana regularnie.
Człowiek robi to w głowie i robi to nieźle, ale za każdym razem od nowa i za każdym razem trochę inaczej. Narzędzie robi to identycznie zawsze - i to jest cała wartość, którą wnosi. Nie zastępuje oceny, tylko podaje ją gotową do sprawdzenia.
Dlaczego gotowe serwisy nie wystarczyły
To jest miejsce, w którym zwykle pada pytanie: przecież są aplikacje pogodowe, po co budować kolejną. Są. Korzystałem z nich i nadal uważam, że są dobre w tym, do czego powstały. Trzy rzeczy sprawiły, że przestały mi wystarczać.
Po pierwsze: źródła się nie zgadzają, a widać zawsze jedno. Kontrolny pomiar z 24 sierpnia, porywy wiatru nad Poznaniem na godzinę dwunastą: model amerykański GFS podał 5,2 m/s, czyli 19 km/h. Europejski ECMWF, na tę samą godzinę i to samo miejsce - 8,5 m/s, czyli 31 km/h. Przy moim sprzęcie pierwsza liczba oznacza spokojny lot, a druga jest już blisko granicy, przy której drona zwyczajnie zwieje. Serwis pogodowy pokaże ci jedną z nich i nie powie, że druga istnieje. Moje narzędzie pokazuje zakres i rozrzut - bo gdy modele rozjeżdżają się o 12 km/h, informacją nie jest liczba, tylko właśnie ten rozjazd.
Po drugie: część liczb nie ma pochodzenia. Budując to, zmierzyłem rzecz, której nie spodziewałem się znaleźć: interfejs danych pogodowych przyjmuje prośbę o wiatr na wysokości 50 metrów i uprzejmie zwraca puste wartości, bez jednego słowa ostrzeżenia. Modele nie mają też tych samych parametrów - ECMWF, najlepiej oceniany z całej szóstki, w ogóle nie liczy wiatru na wysokości lotu ani widoczności. Gdybym oparł werdykt na jednym modelu wiodącym, połowa wskaźników byłaby pusta.
Osobny przypadek to satelity nawigacyjne, od których zależy stabilność drona w powietrzu. Liczby satelitów nie da się pobrać jako prognozy - to właściwość konkretnego odbiornika w konkretnym miejscu, a nie właściwość pogody. Jeden z zagranicznych serwisów wyprowadza ją z bazy prawdziwych lotów. Ja liczę widoczność teoretyczną: pobieram parametry orbit i sprawdzam, ile satelitów będzie o danej godzinie nad horyzontem. Obie drogi są uczciwe i żadna nie jest odczytem z twojego sprzętu - różnica polega na tym, że moje narzędzie mówi to wprost, a serwis masowy podaje samą liczbę i zostawia cię z założeniem, że to pomiar.
Po trzecie: progi są moje. Granica, przy której odpuszczam lot, wynika z wagi mojego drona i z mojej tolerancji na ryzyko, a nie ze średniej dla wszystkich użytkowników. W narzędziu każda wartość graniczna jest ustawiana ręcznie. Żaden gotowy serwis tego nie zaoferuje, bo nie po to powstał.
Uczciwość wobec danych to funkcja, nie dodatek
Największa różnica między narzędziem dla jednej osoby a serwisem dla milionów leży nie w danych, tylko w tym, ile się o nich mówi.
Przy każdej liczbie widzę, ile modeli się na nią złożyło - „4 z 6” znaczy coś zupełnie innego niż „6 z 6”. Wartości, których nie liczy żaden model i które trzeba wyprowadzić z profilu wiatru, są oznaczone gwiazdką z wyjaśnieniem. Każde źródło ma osobno podany wiek, bo prognoza odświeża się co kwadrans, pomiar naziemny co godzinę, a dane orbitalne raz na dobę - i bez tej informacji wszystko wygląda jednakowo świeżo.
Werdykt liczę z mediany, nie ze średniej ani z jednego modelu. Różnica bywa dramatyczna: w jednym z testów model domyślny pokazywał zerową szansę opadu i zielone światło, a mediana z sześciu modeli - 33 procent i ostrzeżenie. Średnia by tego nie wyłapała, bo jeden odstający optymista ciągnąłby wynik w dół.
Serwis komercyjny tego nie robi i ma ku temu dobry powód: masowy odbiorca chce jednej liczby, a nie wykładu o niepewności. Narzędzie zbudowane dla jednej osoby może sobie pozwolić na komplet informacji, bo dokładnie wie, kto je czyta.
Kiedy warto zbudować własne narzędzie
Nie zawsze warto - i to trzeba powiedzieć uczciwie. Poniżej pięć sygnałów, które podnoszą szansę, że własne narzędzie zwróci włożony w nie czas.
| Sygnał | Co to znaczy w praktyce |
|---|---|
| Czynność się powtarza | Robisz to co tydzień albo częściej, a nie raz na kwartał |
| Dane leżą w kilku miejscach | Trzeba je zestawić ręcznie, zanim cokolwiek z nich wynika |
| Decyzja jest zawsze ta sama | Zmieniają się wyłącznie liczby, a kryterium stoi w miejscu |
| Gotowe narzędzie zamyka 70% sprawy | Reszty i tak szukasz gdzie indziej albo dopowiadasz sobie sam |
| Kryterium jest twoje | Twoje progi, twój sprzęt, twoja tolerancja - nie średnia branżowa |
Trzy odpowiedzi na tak i warto policzyć, ile czasu miesięcznie zjada obecny sposób. Zwykle wychodzi więcej, niż się wydawało.
W drugą stronę też jest jasno. Jeśli czynność jest jednorazowa, gotowe narzędzie odpowiada w stu procentach albo potrzebne dane są zamknięte i płatne - budowanie własnego jest kosztem, nie oszczędnością. Odpuszczenie też bywa dobrą decyzją.
Od jednej osoby do zespołu
Opisałem narzędzie dla jednego użytkownika, bo tak najłatwiej przedstawić tezę. Ale identyczny mechanizm skaluje się na zespół, i tam robi się naprawdę ciekawie - bo do oszczędności czasu dochodzi coś, czego pojedynczy użytkownik nie potrzebuje: wszyscy decydują według tego samego kryterium.
Dyspozytor, który widzi jeden ekran zamiast trzech systemów. Kierownik produkcji z jednym wskaźnikiem zamiast arkusza, który każdy interpretuje po swojemu. Biuro z formularzem zbudowanym tak, żeby trudno było popełnić błąd - jak kreator wniosku dla kancelarii Miszewicz, który prowadzi klienta przez proces krok po kroku i przekazuje dalej komplet danych. To ten sam gatunek strony co narzędzie z tego tekstu, tylko z klientem po drugiej stronie.
W zestawieniu zastosowań strony nazywam ten format stroną funkcjonalną. Zawsze idzie na wycenę indywidualną, bo liczy się zakres pracy, a nie liczba podstron.
Podsumowanie
Strona internetowa to technologia, a nie gatunek publikacji. Można w niej zrobić wizytówkę i sklep, ale można też narzędzie, które rozwiązuje problem jednej osoby albo jednego zespołu - i nigdy nie zobaczy go nikt z zewnątrz. Moje narzędzie pogodowe nie jest o pogodzie: jest o zestawianiu rozproszonych liczb i wydawaniu z nich powtarzalnego werdyktu, z pełną informacją o tym, skąd te liczby pochodzą i ile są warte.
Jeśli w twojej pracy jest czynność, która wygląda tak samo za każdym razem, a mimo to zajmuje kwadrans klikania po systemach - to prawdopodobnie kandydat na narzędzie. Napisz, a nazwiemy decyzję, którą ma podejmować, i sprawdzimy, czy w ogóle warto ją automatyzować.
FAQ - najczęstsze pytania o własne narzędzia
Czy strona internetowa musi być publiczna?
Nie. Strona może być zamknięta hasłem, wyłączona z indeksowania, dostępna tylko w sieci firmowej albo trzymana wyłącznie na dysku. Publiczność to decyzja, nie cecha technologii - HTML działa tak samo w każdym z tych wariantów.
Po co budować własne narzędzie, skoro istnieją gotowe aplikacje?
Gotowa aplikacja odpowiada na pytanie przeciętnego użytkownika. Jeśli twoje pytanie jest inne - bo masz własne progi, własne źródła danych albo potrzebujesz jednej odpowiedzi zamiast pięciu ekranów - narzędzie na miarę oszczędza czas przy każdym użyciu, a nie raz.
Czym różni się takie narzędzie od zwykłej strony firmowej?
Strona firmowa informuje i odsyła do kontaktu. Narzędzie wykonuje pracę: pobiera dane, porównuje je i podaje wynik. Odbiorcą bywa jedna osoba albo jeden zespół, a nie rynek.
Skąd wiadomo, że dane w takim narzędziu są wiarygodne?
Stąd, że narzędzie pokazuje ich rodowód. Ile źródeł złożyło się na liczbę, które wartości są wyliczone zamiast zmierzone i jak stary jest każdy odczyt. Liczba bez tych informacji jest opinią, nie pomiarem.
Ile kosztuje zbudowanie narzędzia zamiast strony?
To zawsze wycena indywidualna, bo liczy się zakres pracy, a nie liczba podstron. Punkt wyjścia jest ten sam co przy stronie: nazwanie decyzji, którą narzędzie ma podejmować, i danych, które musi do tego zestawić.