Informacje o Łukasz Tyrała

I think, draw and code. In loops.

Webhooks, czyli zdobywanie haków na strony

Jakiś czas temu zaciekawiły mnie webhaki (webhook, czyli taki HTTP callback), które w swojej prostocie są genialna i bardzo przydatne, a pozwalają na przesyłanie między stronami (aplikacjami) informacji – pozornie nic to odkrywczego, jednak ważny jest tutaj sposób w jaki się to odbywa.

Zapewne teraz pojawią się głosy, że wiele rozwiązań tego typu już istnieje. Mamy przecież RSSy i Atomy. Syndykacja ma jednak swoje minusy. Wymaga aktywności od zarówno nadawcy informacji, jak i odbiorcy. Kiedy subskrybujemy kanał RSS, nasz czytnik musi sprawdzać, czy wydawca kanału nie opublikował czegoś nowego.

Webhaki wymagają aktywności tylko od jednej strony (oczywiście obie muszą być wcześniej skonfigurowane). W dużym uproszczeniu webhaki działają tak:

  1. Serwer publikujący hak informujemy o URLu, na który ma wysłać powiadomienie (zwykle POSTem).
  2. Kiedy serwer ma coś do powiedzenia wysyła na wskazany URL dane.
  3. Nasza aplikacja odbiera POSTa i robi, z tak otrzymanymi informacjami, co chce.

I co w tym rewolucyjnego w porównaniu do wspomnianych mechanizmów syndykacji? Webhaki działają w czasie rzeczywistym, czyli mogą publikować informacje w momencie, kiedy coś się dzieje. Najfajniejsze w całym pomyśle jest to, że nawet nie potrzebujemy do tego specyfikacji, bo wszystko może opierać się o koncepcję RESTa.

Webhaki są już używane przez wiele aplikacji i stron:

  • Pub/Sub (publish/subscribe), reprezentowany przez pubsubhubbub (wbrew pozorom nie jest to zlepek przypadkowych liter!)
  • Git i BitBucket przesyłają informacje o commitach i zmianach w repo
  • WordPress rozsyła informacje (które można sobie skonfigurować wedle woli) kiedy publikujemy posta, komentarz lub stronę
  • Shopify wysyła XMLa z informacją o nowym zamówieniu
  • PayPal używa webhaków, co prawda pod nazwą IPN, do informowania o zamówieniach

Webhaki są na tyle prostym rozwiązaniem, że niektórym trudno docenić potencjał jaki w takim zaczepianiu się stron istnieje. W dużym uproszczeniu, zaadaptowane w aplikacjach pozwalają na wymianę interakcji i danych pomiędzy aplikacjami.

Starszy brat Jobs przywołuje Adobe do porządku

Steve Jobs opublikował notatkę, która jest chyba najczęściej czytaną notatką na świecie (gdzie świat definiowany jest przez ludzi, którzy robią stronki i resztę jabłkocholików). Thoughts on Flash tłumaczy dlaczego na platformach mobilnych Apple nie ma miejsca dla Flasha. Główne argumenty przeciw Flashowi, to w skrócie:

  1. Flash nie jest platformą otwartą (jest dla wszystkich dostępny, ale nie otwarty).
  2. To nie prawda, że większość treści wideo bez Flasha nie jest dostępnych, bo większość wideo jest obsługiwana przez kodek H.264, który można wyświetlać dzięki HTML5.
  3. Niezawodność, bezpieczeństwo i osiągi nie są mocnymi stronami Flasha.
  4. Flash (poprzez programowe, a nie sprzętowe obsługiwanie wideo) skraca czas pracy baterii o połowę – z 10 do 5 godzin.
  5. Ogromna większość treści Flashowych jest uzależniona od zdarzeń rollover (kursor myszki przejeżdża nad elementami strony), które w urządzeniach dotykowych nie są zaimplementowane.
  6. Flash byłby pośrednikiem pomiędzy deweloperami aplikacji, a platformą (Apple), a jako technologia wieloplatformowa nie ma na celu szybkiego wprowadzania innowacyjności, ale dostarczanie takich samych wrażeń na wszystkich platformach. Apple stawia na innowacyjność i jest samodzielną platformą, dla której może wdrażać nowe rozwiązania bardzo szybko i chce, aby deweloperzy mogli z nich od razu korzystać

Oczywiście Apple dba o swoje interesy, ale moim zdaniem są to bardzo sensowne argumenty, które dodatkowo pokazują, że środowisko deweloperów również dla Apple się liczy. Sam wydźwięk tej notatki jest taki, jakby starszy brak publicznie dyscyplinował swojego młodszego, porywczego, ale niedorosłego brata.

Flash ma swoje zastosowania, ale czasy, kiedy miał monopol na dostarczeni wideo w sieci minął. I dobrze.

PS. To ciekawe, że tak ważny artykuł prezentowany jest w tak prostej formie. Czytelność jest tu kluczem.

Browser Wars, czyli wybierz pan sobie przeglądarkę

Zgodnie z rezolucją Komisji Europejskiej, Microsoft musi zacząć dawać swoim użytkownikom możliwość wyboru, jakiej przeglądarki chcą używać. Są już pierwsze zrzuty z ekranu i informacje, jak ten wybór ma przebiegać.

Takie małe wtrącenie na początek: będąc fanem Firefoxa, używając do zwykłego przeglądania sieci Chroma i codziennie drocząc się z IE (szczególnie z dwoma starszymi z trojga braci), uważam, że Mircosoft ma prawo dostarczać, na swoim systemie, oprogramowanie wedle woli i zgodnie z własnymi motywami – ważne, aby to oprogramowanie było bezpieczne i sprawne, skoro użytkownicy za system płacą. Konkluzja: to głupia dyrektywa (czy tam rezolucja).

Zastanawia mnie jednak kilka innych rzeczy, a w szczególności parę problemów, które w przyjętym rozwiązaniu widzę.

Na początek, czy KE wie, że większość użytkowników nie widzi różnicy pomiędzy przeglądarką a wyszukiwarką? Czy ktoś zastanowił się, co zrobi użytkownik, który stając przed wyborem przeglądarki, nie będzie mógł znaleźć Google ani Yahoo!? Na szczęście dla Google, znak towarowy Chrome zawiera w sobie również Google (co może drastycznie zwiększyć udział Google w rynku).

Jak będą działały automatyczne aktualizacje? Nie wyobrażam sobie, aby Microsoft chciał odpowiadać za produkty innych firm. IE może i łata powoli, ale przynajmniej to robi, a jak użytkownik bez praw administracyjnych zainstaluje Firefoxa, to może nie mieć możliwości zaktualizować go do kolejnej wersji (co może być gorsze dla wszystkich niż używanie IE7).

Skoro przeglądarki, które pojawią się na ekranie są dobierane losowo, a obecnie jest ich dwanaście, to może okazać się, że w widocznej piątce nie będzie IE, Firefoxa, Chrome, Opery ani nawet Safari. Co wybierzemy wtedy? Kto wybiera tych dwanaście przeglądarek? Jakie są kryteria dostania się na tą ekskluzywną listę?

Co się stanie z użytkownikami, którzy w puli pięciu przeglądarek nie dostaną IE i wybiorą np. Chrome, chociaż nigdy wcześniej nie korzystali z niczego poza IE? Dla osób nie znających się na rzeczy, może to skutkować swego rodzaju embargo na internet.

Kolejna sprawa, to dobór tekstów prezentujący przeglądarki. Kto je pisze? Po pierwszych screenach, to wydaje mi się, że sam Microsoft.

Chrome jest szybki i nowy, Firefoxa priorytetem jest bezpieczeństwo, Safari jest najbardziej innowacyjne, Opera jest najpotężniejsza, ale Internet Explorer jest najpowszechniej używaną przeglądarką na świecie. Kłania się psychologia. Co zrobi większość osób, która nie umie dokonać wyboru, bo nie zna się na temacie? Zrobi to co reszta, wybierze IE. Tylko po co w takim razie to okienko, skoro świadomi użytkownicy i bez takich zabiegów sięgają po inne przeglądarki.

KE trochę rozminęła się z rzeczywistości i meritum sprawy. IE nie jest zły, bo jest od Microsoftu. IE było złe, bo nie podążało za standardami, nie było aktualizowane wystarczająco często, a Microsoft zaczął traktować swoją przeglądarkę jak świętą krowę. Robi placka na środku drogi? Trudno jest w końcu święta. Microsoft został już solidarnie ukarany za braki w IE przez świadomą część Internautów. Może wystarczyło zadbać o tych mniej świadomych, zmuszając Microsoft, do większych starań?

Microsoft produkował rozwiązania desktopowe i do niedawna nie brał udziały w wyścigu o użytkowników internetu, jednak to się zmieniło. Teraz, kiedy i Microsoft produkuje oprogramowanie internetowe, potrzebuje, aby IE był zdolny radzić sobie w świecie interaktywnym. IE musi być w stanie sprostać wyzwaniom zaawansowanych aplikacji internetowych, a to oznacza, że IE musi być dobre.

Dobry tekst, to dobry design

Teksty są tak samo ważne jak i obrazki. Nie wiem dlaczego wciąż tak trudno o dobre teksty dla nawet najprostszych informacji. No dobra, wiem, że pisanie dobrych tekstów nie jest takie proste, jak się wydaje (dlatego mamy copywriterów), ale czasami można chociaż przeczytać drugi raz, albo zapytać znajomego, czy zrozumiał, co napisaliśmy.

Dziś zarezerwowałem sobie bilety na pewne wydarzenie, a w ramach potwierdzenia otrzymałem maila z moimi danymi oraz taką informację:

Forma zapłaty:
platność i odbiór w Punkcie Informacji Miejskiej przy ulicy św. Jana 2

Po odbiór biletów prosimy zgłaszać się najwcześniej po upływie

jednego dnia roboczego od momentu złożenia zamówienia.
Rezerwacja jest ważna 5 dni od momentu wprowadzenia biletów do
sprzedaży. Po ich odbiór prosimy zgłaszać się dopiero po otrzymaniu
e-maila z informacjami na temat terminu ich dostarczenia do punktu
dystrybucji.

Nie po to rezerwuję bilet przez ineternet, żeby musieć się zastanawiać, czy wrowadzenie biletów do sprzedaży, jest tożsame z ich dostarczeniem do punktu dystrybucji, czy ten drugi email, to powie mi, że już mam iść po bilety, czy poda datę kiedy iść będę miał? Niby taka prosta informacja, a wymagają ode mnie zastanawiania się nad procesem odbioru biletów.

Osobiście wolałbym otrzymać coś takiego:

Wybrałeś płatność przy odbiorze biletów.

Bilety można odbierać w Punkcie Informacji Miejskiej (ul. św. Jana 2) w ciągu 5 dni od rozpoczęcia ich sprzedaży. O terminie rozpoczęcia sprzedaży poinformujemy Cię e-mailem.

Nie rozumiem po co informacja, że bilety można odbierać dopiero jeden dzień po złożeniu zamówienia, skoro nie jest pewne, że już wtedy bilety będą do odebrania. Taka informacja mogłaby się znaleźć w drugim mailu, jeżeli w momencie składania zamówienia bilety można już odbierać. W innym wypadku druga wiadomość może podawać datę, kiedy bilety trafią do sprzedaży i do kiedy należy je odebrać.

Takie drobne rzeczy budują zadowolenie, albo raczej zapobiegają irytacji klientów.

Rzetelne dziennikarstwo

Płatny dostęp do artykułów i dobre dziennikarstwo w sieci, to ostatnio popularny temat. Ja chętnie za dobre dziennikarstwo zapłacę. Ciekawi mnie tylko dlaczego PAP (bo to chyba notatka PAPu, jak mniemam po podpisie pod artykułem, chociaż nie dostałem oficjalnej odpowiedzi od Money.pl) pobiera opłaty za takie notki prasowe:

Twitter informuje, że padł ofiarą ataku typu DoS (denial of service), polegającego na tym, że komputery pod kontrolą hakerów przeciążają serwery atakowanego portalu.

Użytkownicy Twittera nie mogli się więc na bieżąco informować o planach obiadowych, miejscach pobytu, pogodzie, czy o tym, że ich ulubiony portal padł.

Ja wiem, że nie wszyscy muszą wiedzieć do czego Twitter może służyć, ale można było się od sarkazmu powstrzymać. Może bym nawet przeszedł obok tej krótkiej informacji bez emocji, jednak ogólnie całkowita wartość dla czytelników jest znikoma. Gdzie wytłumaczenie czym jest DoS? Informacja, że to przeciążenie serwera niewiele mówi. Gdzie informacje ile trwały problemy, co mogło być ich powodem? W zasadzie można by ograniczyć ten wpis to pogrubionego abstraktu. Za takie rzeczy nikt nie powinien płacić. Już nawet nie wspomnę, że jak się okazało nie był to typowy atak DoS wymierzony w portale, ale w pojedynczego użytkownika.

2009-08-07_0935