środa, 22 grudnia 2010

Wszystko co chcę Wam powiedzieć o HTML5 i nawet nie wpadlibyście na to, żeby zapytać

WHATWGOstatnimi czasy w świecie przedniokońcowej deweloperki strasznie dużo mówi się o nowym standardzie kodowania czyli HTML5. Moje podejście do standardów jest takie, że warto je znać i się ich trzymać, ale na pewno nie ekscytować. W związku z tym zabrało mi sporo czasu zanim zainteresowałem się jakież to zmiany poza wyrzuceniem spacji i iteracją numerka w nazwie zaserwują nam panowie z W3C.


Nowe podejście do standardów.

Historia powstawania HTML5 jest, co mnie bardzo zaskoczyło na prawdę interesująca. Zaczęło się od tego że W3C zostało opanowane przez złych sithów, których głównym celem było ograniczanie wolności twórców stron. Za pomocą nowego standardu, który przygotowywali (xHTML 2.0) chcieli zabić kreatywność, wszystko standaryzować, a na koniec posiąść nasze kobiety! Przyświecała im myśl, którą można streścić xml rządzi, html ssie.

Na szczęście pojawiła się rebelia. Nadeszła z najmniej oczekiwanej, a jednocześnie mającej najwięcej do powiedzenia strony. Byli to twórcy przeglądarek.  I tak powstała Web Hypertext Application Technology Working Group, w skrócie WHATWG. Oni to postanowili się dogadać i rozpocząć pracę nad nowym standardem. Po raz pierwszy od bardzo dawna miał się on skupiać na wykorzystaniu pełnych możliwości sprzętu i aplikacji oraz innowacjach! Jak się można spodziewać nie spodobało się to W3C(onsortium), które od tego momentu nazywano W3I(mperium).


Imperium kontratakuje.

Największą różnicą w funkcjonowaniu WHATWG i W3I było to w jaki sposób podejmowano decyzje. Jak pokazała historia W3C demokracja do niczego dobrego nie prowadzi, więc WHATWG zaadoptował system na kształt monarchii konstytucyjnej. Dyskutowano, omawiano, głosowano, ale ostatnie słowo zawsze należało do ojca założyciela nazywanego 'The Editor' - Iana Hickinsona. Dzięki temu prace posuwały się szybko i w całkiem sensownym kierunku.

I W3C zobaczyło, że wszystko co zostało stworzone przez rebeliantów było dobre. Przyznano to w październiku 2006 i powołano HTML Working Group, która przyjęła wszystkie ustalenia WHATWG jako podstawę nowego standardu HTML 5 (ze spacją). Jednocześnie zajęło im trochę czasu (nie tak długo jak programistom M$ ogarnięcie wsparcia dla .png, ale prawie 3 lata zleciały) aby w końcu otworzyli oczy na fakt że maszyny się różnią od ludzi i kod xml nie jest zbyt dobrze do naszej percepcji dopasowany.

Co ciekawe od tego momentu rozwijane są dwa standardy HTML5(WHATWG) i HTML 5(W3C). Jeśli ktoś widzi w tym jakiś sens poza argumentem o urażonej ambicji W3C byłbym wdzięczny za rozjaśnienie.


Co powinieneś wiedzieć o HTML5

Po pierwsze to, że jeśli kodujesz wg xHTML to kodujesz dobrze i nie musisz się niczego nowego uczyć. Z punktu widzenia składni nowy standard jest dużo bardziej liberalny. Prawdę powiedziawszy jeśli lubisz porządek w kodzie żaden język Ci nie będzie przeszkadzał, ale od teraz nikt nie będzie Ci też tego narzucał.

Po drugie w końcu ktoś pomyślał o nas - ludziach którzy używają tych języków na co dzień. Mam na myśli uproszczoną składnię deklaracji, których nigdy nie mogłem zapamiętać. Dla przykładu:

deklaracja języka w xHTML 1:
<!DOCTYPE html PUBLIC »
"-//W3C//DTD XHTML 1.0 Strict //EN" »
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

deklaracja języka HTML5:
<!DOCTYPE html>

deklaracja kodowania znaków HTML 4.1:
<meta http-equiv="Content-Type" content="text/html; »
charset=UTF-8">

to samo w HTML5:
<meta charset="UTF-8">


Prawda że poręczne;)


Innowacje. 

Z mojego punktu widzenia innowacje są dwie. Po pierwsze natywne wsparcie dla plików multimedialnych. W HTML5 możemy na stronie umieścić film czy muzykę bez użycia wtyczek. Za pomocą wygodnych atrybutów takich jak autoplay czy loop jesteśmy w stanie uprzykrzyć naszym użytkownikom życie(dużo bardziej niż znienawidzony i wyrzucony ze specyfikacji kilka lat temu przez W3C atrybut target="_blank"). Aby było jeszcze straszniej możemy nadpisywać interfejsy sterujące zagnieżdżonymi mediami i doprowadzić internautów do białej gorączki kamuflując stop pod przewijaniem, a w regulacji głośności zamieniając bieguny.

Druga innowacja to słynny już element <canvas>. Brzmi świetnie. Biorąc pod uwagę fakt, że to taki bardziej interaktywny .svg ma też spory potencjał. Pod warunkiem oczywiście, że w przeciwieństwie do .svg zacznie być wspierany przez IE. Cudów bym się nie spodziewał chociaż M$ zapowiada, że 9. wersja ichniejszej przeglądarki ma być canvas friendly.


Liberalna składnia, ale coś tam uporządkować próbują.

I to nie takie coś tam! WHATWG pracuje nad stworzeniem kompletnej specyfikacji Javy Script dla przeglądarek. Nareszcie! Już nie mogę się doczekać czasu kiedy sprawdzanie czy kod JS działa wszędzie będę mógł wykonywać na dowolnej przeglądarce i IE;) Dla mnie to jest najważniejsza nowość. 

Ale przecież <video>, <audio>, <canvas>?

Jasne, z tym tylko, że to jak umieszczam na stronie wideo raczej się nie zmieni. Bo czy nie lepiej jest wstawić kod zewnętrznego serwisu dysponującego nieograniczonym transferem i giga-bitowymi  łączami niż polegać na swoim hostingu? Pewnie, że lepiej. 

Praktyczne(czytaj używane na co dzień) zastosowanie elementu canvas, moim zdaniem, odbywało się będzie za pomocą dodatkowych frameworków i narzędzi (wynika to przede wszystkim z masy kodu jaką trzeba wygenerować żeby zobaczyć coś sensownego). Takie rozwiązania - generujące dowolne obrazy w locie - są dostępne dzisiaj. Różnica polega na tym że wykorzystują one moc obliczeniową jakiś serwerów, a w przyszłości ma się to odbywać na maszynie klienta. Z punktu widzenia projektanta różnica będzie bardzo mała.

Natomiast standaryzacja poleceń i co ważniejsze tego jak są wykonywane Javy Script to rewelacja. Marzyliśmy o tym całe lata. No może od momentu powstania jQuery, mootools i prototype nie tak intensywnie;p


Reasumując - poczekajmy.

Podsumowując nie do końca rozumiem zamieszanie w okół HTML5. Podobnie jak wszystkie wcześniejsze specyfikacje nie sądzę żeby ta odmieniła moje życie. Twórcom należy się wielki szacunek za to, że postawili na swoim. 

Śmieszy mnie jednak kiedy widzę ogłoszenia o pracę dla web developerów z wymaganą znajomością HTML5. Kto do Hulia może znać specyfikację, która nie została opublikowana? Czy ktoś mógłby mi to wytłumaczyć? 

Opamiętajmy się. Otwórzmy sobie piwko i poczekajmy. Perspektywy są bardzo ładne, ale jak będzie ocenimy za kilka lat. Sam 'The Editor' powiedział, że jego zdaniem HTML5 będzie 'zalecanym językiem kodowania stron' w okolicach roku 2022.

P.S.

To wydzielenie się WHATWG z W3C to była SCHIZMA, a ja zawsze chciałem napisać to słowo w jakimś opublikowanym tekście. 

niedziela, 12 grudnia 2010

Tu nie będzie rewolucji!

Ogólnoświatowy trend do sprawiania aby każdy aspekt naszego życia stał się społecznościowy robi się przerażający. Nie jestem przekonany czy jest świetnym pomysłem informowanie wszystkich znajomych, a tym bardziej nie znajomych, o tym co i gdzie robię. Jest jednak przynajmniej jeden aspekt życia, który dla mnie w wersji społecznościowej wydaje się dużo bardziej atrakcyjny...

Zakupy są do dupy.

Nie lubię zakupów. Nie lubię sklepów (poza muzycznymi, ale nie pamiętam kiedy ostatnio kupiłem jakieś CD). Nie lubię przymierzania, próbowania etc.. Dlatego większość rzeczy, właściwie wszystkie, które mogę, kupuję przez internet. I wszystko byłoby super gdyby nie fakt, że za każdym razem muszę poświęcić trudny-do-określenia-bezwzględną-jednostką-miary-lecz-zbyt-długi-czas na zdobycie informacji o produkcie, który mnie interesuje.

Kierunek jest znany. Brakuje narzędzi.

Większość sklepów internetowych udostępnia możliwość napisania swojej opinii o produkcie. Świetnie! Problem w tym, że nikt ich nie pisze. Bo niby dlaczego miałby. Poza tym ilu z was pamięta po dwóch tygodniach używania jakiegoś zakupionego w internecie sprzętu, w którym sklepie go kupiliście. Ja zapominam o tym w momencie, w którym stwierdzę brak wad nowego zakupu.

Co do zalet i potrzeby prezentowania opinii innych użytkowników o produkcie nikt nie ma wątpliwości. Jak dotąd nikt nie zrobił jednak tego na tyle dobrze aby rozwiązanie było chociażby 'używalne'.

Można lepiej! Technologia istnieje.

Jak pokazują przykłady takich serwisów jak fflick.com można stworzyć systemy agregujące informacje na dany temat. Więcej - systemy potrafiące stwierdzić czy opinia użytkownika jest pozytywna czy negatywna (tak długo jak przebiegły użytkownik nie zaczyna być sarkastyczny;p). W idealnym świecie otwarta fundacja non-profit stworzyła by ogólnoświatową bazę wiedzy o produktach tworzoną za pomocą indeksowania treści z całego internetu. Za pobieranie tych informacji sklepy i serwisy aukcyjne nie musiałyby płacić, a użytkownik zawsze dostawał by informacje najwyższej wartości.

Niestety świat nie jest idealny. Rodzi to pewne problemy. Po pierwsze jeśli powstał by taki serwis na pewno nie byłby darmowy dla sklepów. Po drugie milion osób siedziało by nad tym aby wyniki zmanipulować. Gdyby tak się stało cudowna długo oczekiwana zmiana w zakupach w internecie zmieniła by się w kolejną irytującą formę reklamy.

Nadchodzi wybawca.

Facebook ostatnio zapowiedział, iż pracują nad stworzeniem takiego rozwiązania. Jeśli nie oni to kto? Dzięki Open Graph i temu, że konto na ich szatańskim portalu ma 500 mln użytkowników posiadają spore możliwości. Dane na temat produktów, których nie muszą nigdzie szukać to jedno, ale ważniejsza wydaje się być odporność tych danych na manipulację.

Naturalnym jest, że opinie niektórych ludzi z naszego otoczenia są dla nas ważniejsze niż opinie innych. Aplikacja Facebooka ma wybierać ludzi, których opinie nam pokaże. Mają to być nasi znajomi, ludzie o podobnych zainteresowaniach, w podobnym wieku, mieszkający w okolicy. Dla mnie bomba.

Już niedługo wszystkie problemy znikną, a świat będzie piękny... Nie sądzę.

Problemem nie jest to jak oni chcą to zrobić, ani nawet to jak chcą to udostępniać. Problemem jest to, że robi to Facebook. Coraz częściej wśród przedsiębiorców internetowych widać niechęć do zbyt bliskiej współpracy z firmą Zuckerberga. Wynika to z faktu, że informacje przez nią zbierane nie są publiczne, a jedyny dostęp do tej części, którą chce pokazać możliwy jest przez API. Dodatkowo ze względu na brak jakiegokolwiek formalizowania współpracy usługa może być w każdej chwili, bez ostrzeżenia odcięta, a sklep budzi się nagle z ręką w nocniku.

Tworzone przez Facebooka rozwiązanie na pewno szybko się rozpowszechni. Na pewno będzie też bardzo użyteczne. Jednocześnie nie wierzę w to, że potrzeba wyszukiwania innych opinii zniknie, a czas potrzebny na podjęcie decyzji o zakupie znacząco się skróci. Mam jednak nadzieję, że się mylę i gdy następny raz będę wybierał laptopa zajmie mi to tyle ile taka sama decyzja fanbojom apple;p

piątek, 3 grudnia 2010

Oficjalne otwarcie bloga firmy PiotrJaniak.com

Ogłaszam uroczyście oficjalne otwarcie bloga firmy PiotrJaniak.com! Piotr Janiak to ja. Podejrzewam, że 99.9% postów, które pojawią się na tym blogu będzie mojego autorstwa, chociaż już jest zaplanowany przynajmiej jeden wpis gościnny.

O czym będę/będziemy pisać?

Jako się rzekło jest to blog firmowy więc duża większość artykułów będzie opisywała projekty, nad którymi pracujemy. W szczególności nasz autorski projekt dużej aplikacji internetowej. Jak na razie nie ma jeszcze nazwy, ale jak już ją posiądzie będzie ona niesamowita! Tak jak niesamowite są technologie, w których jest tworzona - Ruby on Rails, XMPP czy Cassandra to dopiero początek długiej listy!

Poza projektami i technologicznym bełkotem ważnym i często przewijającym się tematem będzie web design. Jak widać każdy znajdzie tu coś dla siebie. Chyba, że akurat nie interesuje się stronami/aplikacjami internetowymi czyli należy do pomijalnej części dziewięćdziesięciu siedmiu procent społeczeństwa.

Sprawy organizacyjne

Blog będzie pisany w dwóch językach. Posty po polsku oznaczone będą enigmatyczną etykietą PL, natomiast posty w języku angielskim etykietą EN.

Komentarze są dla mnie bardzo ważne dlatego też udało mi się pozyskać sponsora z Abu Zabi oferującemu 10 000 USD za najlepszy komentarz. Zwyciężcą zostanie wylosowany z pośród użytkowników spełniających tylko jeden warunek. Aby wygrać musisz być sponsorem bloga piotrjaniak.blogspot.com z Abu Zabi oferującym 10 000 USD za najlepszy komentarz.

czwartek, 25 listopada 2010

Pierwszy wpis na nowym blogu PiotrJaniak.com

O nas
profesjonale rozwiązania internetowe tworzone z pasją...

Internet jest dla wielu Twoich klientów pierwszym spotkaniem z Twoją firmą. Nikogo nie trzeba przekonywać jak ważne jest pierwsze wrażenie. Dlatego też nie powinno być dla nikogo zaskoczeniem, że wizerunek w inernecie jest dziś jednym z filarów budowania solidnej marki. Tylko profesjonalne rozwiązania internetowe tworzone z pasją mogą zagwarantować Tobie i Twojej firmie sukces.

Firma PiotrJaniak.com powstała jesienią 2009 roku. W pierwszym roku działalności zrealizowano kilka bardzo różnorodnych projektów, z których wyróżnić należy dwa największe: ksiazeizebrak.pl oraz offbazar.pl. Oba to projekty społecznościowe, pierwszy skupiony wokół szeroko rozumienej kultury, drugi mody.

Naszym nadrzędnym celem jest tworzenie produktów profesjonalnych. Szczególny nacisk kładziemy na optymalizację i wydajność. Najciekawsza strona internetowa nie zatrzyma klienta jeżeli jej przeglądanie okupione będzie minutami oczekiwania na wczytanie niezoptymalizowanych danych. Ponad to krytyczne dla przyjemności obcowania ze stroną internetową wydaję się być użycie odpowiednich narzędzi do każdego zadania. Sprawdzenie telefonu czy adresu firmy nie powinno skutkować wzrostem obciążenia procesora, co jest charakterystyczne dla stron flashowych.

Przy projektowaniu stron i aplikacji staramy się łączyć podejście pragmatyczne z innowacyjnością. W naszych projektach najważniejszy jest użytkownik i jego punkt widzenia.