nbw: Redefine the undefined

Just another WordPress weblog

Archive for the ‘web’ Category

Thursday
Mar 6,2008

Dziś Microsoft publicznie udostępnił pierwszą betę kolejnej - ósmej już - wersji swojej przeglądarki. “Nadgonić stracony czas” - wydaje mi się, że te słowa najlepiej ją charakteryzują.

Ponieważ jest to dopiero pierwsza wersja beta, ominę próby oceniania tej przeglądarki - wydaje mi się, że na to jeszcze za wcześnie.

Pierwsze uruchomienie jest miłe. Ewidentnie Microsoft zaczął dostrzegać istnienie konkurencji oraz zaczął wycofywać się ze swojego “nadęcia” - IE8 przy pierwszym uruchomieniu kilkoma prostymi ekranami pozwoli się skonfigurować, rozpozna zainstalowane “konkurencyjne” przeglądarki, zaimportuje z nich ważne dane a nawet - co sprawdziłem przy Firefoxie - rozpozna zainstalowane dodatki i zaproponuje swoje, do Internet Explorera.

001

Ta ostatnia funkcja jest nieco naciągana, gdyż Internet Explorer wciąż rezyduje na głębokiej prowincji, jeśli chodzi choćby o odpluskwianie Javascript (od dekady strasząc ostrzeżeniami typu “Nie zaimplementowano”). Choć deweloperzy obiecują uzupełnić te braki.

Na tym etapie, zwykły użytkownik będzie rozczarowany - przeglądarka obecnie nie oferuje nic, czego nie miałaby konkurencja (od dłuższego czasu). Ciekawie wygląda “Quick Tabs” czyli możliwość wyświetlenia podglądu wszystkich otwartych zakładek w jednym oknie, ale to również nic nowego.

Na spory plus można zaliczyć szybkość renderowania stron - jest odczuwalnie lepiej (porównałbym to do przesiadki z Firefox na Midori pod Linuksem).

005

Jeśli chodzi o silnik, wbrew powszechnej opinii - przeglądanie stron w Internet Explorer 8 nie skłania ku obawom, że ukazanie się wersji oficjalnej oznaczać będzie koniec świata.
Zgodnie z oczekiwaniami realistów, strony których autorzy przestrzegają standardów, nie mają większych(/w ogóle) problemów z działaniem w IE8. A te, które nie przestrzegają? Powinny wymrzeć. Choć również nie jest z nimi tak źle - nawet blogi na onecie działają.

Podsumowując IE8b1 używam dziś cały dzień i stwierdzam, że jak na razie “nie taki diabeł straszny”. Na każdym kroku widać, że to beta - interfejs potrafi się dziwnie zachowywać, przestają działać kursory, we flickr nie mogłem utworzyć nowego setu. Wizualnie nie różni się to niczym od Internet Explorera 7. Pojawił się przycisk przełączający przeglądarkę w tryb “strict” (Internet Explorer 7) i “standards” (Internet Explorer 8). Jest także możliwość włączenia “quirks mode” (IE5).

PS. Dziwią mnie pojawiające się komentarze o “przereklamowaniu” IE8 - obecna beta jest adresowana do deweloperów i właścicieli stron, którzy mają teraz okazję sprawdzić, czy strony którymi się opiekują, są gotowe na IE8. Zwykłym użytkownikom radziłbym odpuścić sobie tę betę i poczekać na kolejną/pełną wersję.

Tuesday
Feb 26,2008

Po długich miesiącach (a w sumie to i latach) 10przykazan doczekało się nowej odsłony.

Uruchomiona dziś wersja to przede wszystkim “wygładzona” wersja druga, napisana od nowa w Django, ze zdecydowanie lepszym projektem graficznym i serwowana z Polski, przez co jest odczuwalnie szybciej.

Z funkcji które uległy bardziej widocznym zmianom, warto wymienić dodawanie blogów, które obecnie dostępne jest dla zarejestrowanych użytkowników: w trzeciej odsłonie wystarczy podać adres bloga i tagi - adres feedu zostanie sprawdzony automatycznie a z niego zostaną wyciągnięte tytuł i opis bloga.

Pojawiło się także przypominanie hasła a z czasem profil użytkownika stanie się jeszcze bardziej użyteczny, w związku z planowanym “zajmowaniem” bloga (”claim your blog”) i głosowaniem na kolejkę zgłoszonych blogów - tym samym spróbujemy oddać wcześniej bardzo krytykowaną funkcję w ręcę użytkowników.

Na razie mogą występować przejściowe problemy z działaniem/dostępnością serwisu dlatego prosimy o trochę cierpliwości i zapraszając do nowej wersji, życzę wygodnego korzystania z naszej aplikacji.

Tuesday
Jan 29,2008

Polubiłem Internet Explorer 7 od samego początku - większość błędów z którymi trzeba się użerać w IE6 jest załatana co czyni pracę kodera zdecydowanie łatwiejszą.

Pojawiło się jednak parę nowych problemów, w tym takie, które nie istniały w IE6. Dwa dni temu spotkałem się z ciekawym błędem dotyczącym nadawania z-index elementom.

W wielkim skrócie, chodzi o to, że IE7 nie potrafi zmienić raz zadeklarowanego z-index dla elementu. Nie działa nawet !important.

Na przykład, mamy dwa divy, z których jeden ma zasłaniać drugi w momencie najechania na niego kursorem myszy.


div {
  ...jakiś kod... ...position: itd...
  z-index: 0;
}
div:hover {
  z-index: 1;
}

Taki zapis zadziała w większości normalnych przeglądarek, a nawet w IE6 (z whatever:hover). W IE7 natomiast nie. Element <div> w IE7 w stanie :hover wciąż ma z-index: 0.

z-index zmienić można, za pomocą Javascript. Zadziała nawet najgłupsze onomouseover="this.style.zIndex='1';".

PS. Jak się okazało inni też wiedzą o tym błędzie.

Po decyzji Sądu Najwyższego…

  • Filed under: web
Wednesday
Aug 29,2007

Czas dodać sobie do “cefałki”: Redaktor naczelny, enbewu.net (wcześniej nbw.jogger.pl).

Zawsze chciałem mieć ISSN - jak Zeldman.

Tylko czekać na te cefałki z “Redaktor naczelna, slitasny-blogasss.blog.onet.pl”.

Monday
Aug 6,2007

Z perspektywy e-commerce, pasaże handlowe mogą jawić się jako doskonałe miejsce do publikowania produktów swojego sklepu internetowego: duża odwiedzalność, silna marka stojąca za pasażem, relatywnie niewysoki, kuszący koszt publikacji w pasażu.

A potem przychodzi rozczarowanie - mimo usilnych starań, efektywność sprzedaży w pasażu jest bardzo niska. Od czasu do czasu pojawiają się głosy od potencjalnych klientów, że nie mogą sfinalizować transakcji gdyż “produkty giną z koszyka“.

I okazuje się, że ta pozorna niesprawność koszyka jest właśnie kluczem do wyjaśnienia znikomej skuteczności pasaży handlowych - zagłębiając się bardziej w kwestię, okazuje się, że znikanie produktów dotyczy tylko koszyka wyświetlanego przez pasaż, a idąc dalej - dotyczy tylko ukochanej przeglądarki każdego szanującego się webdevelopera - Internet Explorer.

A za wszystkim stoi polityka prywatności IE, domyślnie ustawiona na poziom Średni.

Problem dotyczy obsługi ciasteczek i specyficznego rozumienia terminu “third-party” w kontekście ciasteczek w IE6. Jeśli serwis jest wyświetlany w jednym miejscu, a dane pobiera z drugiego (ramki w pasażach handlowych to jeden z tych przypadków), IE blokuje wszystkie ciasteczka wysyłane z drugiej maszyny - tym samym blokuje możliwość utworzenia sesji. Chyba, że dostarczymy przeglądarce nagłówki P3P (zwane przez MS Compact Privacy), które wymuszą przetrwanie naszych ciasteczek.

Tadaaam, właśnie w ten sposób ~60-70% transakcji w pasażach kończy się, zanim się zacznie - standardowo, wszystkie sklepy w pasażach osadzone są w ramce. Dotyczy to także niektórych kampanii. Najpopularniejszy objaw to właśnie “znikające” produkty z koszyka.

Nurtuje mnie, dlaczego nigdy nie spotkałem się z informacją o takim błędzie od nikogo z pasaży handlowych? Dlaczego nie zauważyłem w żadnym dokumencie informacji: “istnieje błąd w IE6, który polega na tym i tamtym, aby go usunąć, prosimy o dołączenie P3P do nagłówków wysyłanych przez państwa serwer”? Tym bardziej, że jest to problem stary jak świat: http://www.oreillynet.com/mac/blog/2002/06/p3p_in_ie6_frustrating_failure.html

Nie mam zamiaru doszukiwać się żadnej teorii spiskowej na siłę, niemniej jeśli weźmie się pod uwagę standardowy tryb rozliczeń - stała miesięczna opłata - można dojść do wniosku, że to pasażom na rękę.

Nie wspominam o tym, że wiele firm (tzw. agencji) korzysta w takich sytuacjach oferując przepisanie koszyka za odpowiednią opłatą. (Nie) Wiedząc, że to nie zadziała…

Link via Filip Wośko / Janmedia.

Wednesday
Jan 31,2007

Takim hasłem zwraca na siebie uwagę nowy, eksperymentalny linuksowy menadżer okien Metisse.

Na kilku filmikach możemy obejrzeć wybrane akcje, które rzekomo są nowe i rzekomo wzbogacają “user experience”. Szczerze mówiąc, nie znajduję tam nic, czego bym już kiedyś nie widział. Spora część pokazanych możliwości istniała już kilka lat temu w Project Looking Glass. Wierzę jednak, że to tylko ta bardziej efektowna część funkcjonalności menadżera i że znajdzie się w nim coś, co faktycznie wpłynie pozytywnie na zwiększenie użyteczności linuksowych desktopów a także będzie stanowiło przeciwwagę dla Metacity i Beryl/Compiz.

Jak na razie menadżera, o którym autorzy piszą “to nie jest pulpit 3D”, zdecydowała się włączyć do dystrybucji Mandriva. Wypada zaczekać kiedy pojawia się odpowiednie pluginy w zdecydowanie bardziej popularnym projekcie Beryl

Polskie Getting Real coraz bliżej

Sunday
Jan 21,2007

W imieniu zespołu tłumaczącego, miło mi poinformować, że prace nad polskim tłumaczeniem Getting Real mają się ku końcowi. Przed nami uzupełnienie kilku tekstów i korekta oraz dopieszczanie szczegółów. Korzystając z tego, że 37signals przygotowało już miejsce na polskie tłumaczenie, postaramy się wkrótce opublikować dwa-trzy ukończone fragmenty jako zapowiedź pełnej wersji.

Przy obecnym tempie prac pełna wersja powinna być gotowa pod koniec lutego.

EDIT: Zauważyłem, że niektórzy pytają czym jest Getting Real. Getting Real to książka napisana i wydana przez firmę 37signals, opisująca jak szybciej, sprytniej i wydajniej tworzyć aplikacje internetowe. Zawiera zbiór uniwersalnych zasad, które można stosować także w innych dziedzinach życia.

Thursday
Jan 11,2007

Jeśli jesteś zarejestrowanym użytkownikiem Wordpress.org i wściekasz się na myśl o tworzeniu szablonu do Wordpressazagłosuj na pomysł dodania do niego silnika szablonów (SMARTY bądź coś podobnego).

Najlepsze pomysły zostaną wprowadzone do Wordpressa 2.2, który ma zostać wydany w kwietniu. Można też ponarzekać.

Performancing Metrics zamknięte

  • Filed under: web
Thursday
Jan 11,2007

Nowy rok przynosi zmiany dla użytkowników Performancing Metrics - darmowego systemu statystyk dla blogowiczów. W swoim poście Nick Wilson przedstawia zmiany w Performancing, informuje także o tym, że Performancing Metrics zostaje zawieszony a jego kod przekazany społeczności jako Open Source.

Były użytkownik PM? Nick poleca statystyki FeedBurner.

Zmiany dotyczą także edytora Performancing, który zostanie przebrandowany na ScribeFire.

PS. Teraz wiem dlaczego Nick szukał kontaktów na LinkedIn ;)

Friday
Dec 29,2006

Często w swojej pracy spotykam się z różnymi osobami, które mają pewne pomysły na start-upy.

Projekty bywają różne - część z nich jest bez sensu już na etapie pomysłu, część umiera później. Niestety, prawda jest taka, że dziewięć na dziesięć ciekawych projektów umiera zanim w ogóle wejdzie w fazę realizacji.

Dlaczego?

Abstrahując od problemów związanych z brakiem infrastruktury czy umiejętności, najczęstszą przeszkodą jest próba… zbyt szczegółowego opracowania projektu.

Tworzenie martwych dokumentów to jeden z największych absurdów. Pisanie pomaga zrozumieć istotę projektu, pozwala rozłożyć go na czynniki - sam rysuję i piszę, gdy mierzę się z nowym projektem. Ale stronię od tworzenia dokumentów, które będą użyteczne tylko dla jednej osoby. Stronię także od tworzenia dokumentów, dla samego sensu ich tworzenia.

Zamiast pisać - zacznij tworzyć.

Jedna z bolesnych prawd jakie odkryłem projektując gry komputerowe: nikt poza tobą nie czyta specyfikacji do końca. Im dłuższy dokument stworzysz, im bardziej złożonym językiem operujesz, tym mniejsze prawdopodobieństwo, że ktoś dobrnie do końca.

Projekt musi mieć dokumentację, to fakt. Projekt musi mieć jednak dobrą, zwięzłą dokumentację, napisaną z myślą o ludziach, którzy będą ją czytać i będą jej używać. Dokumentacja musi być narzędziem, jak każde inne - musi być na tyle czytelna i użyteczna by można było ją przekazać i nie tracić czasu na wyjaśnienia o co w niej chodzi.

Czynnik ludzki

Jeśli tworzysz projekt w którego realizację jest zaangażowana większa ilość osób po prostu musisz przyjąć założenie, że to oni są twoimi największymi przeszkodami w jego realizacji.

Pozoronie paradoksalnie - ludzie, bez których nie jesteś w stanie projektu zrealizować, są jednocześnie w stanie wywrócić cały projekt do góry nogami.

Im dłużej zastanawiasz się nad tym, jak jakiś projekt ma działać i co powinno się w nim znaleźć, tym bardziej oddalasz się od jego realizacji. Ponieważ rozważamy projekty spontaniczne, bez zaplecza finansowego, którym można “stymulować” grupę osób, jedynym stymulantem jest coś bardzo eterycznego - idea. Pamiętaj - eterycznego, czyli ulotnego.

Jeśli nie uda ci się utrzymać żywej idei w grupie przez odpowiednio długi czas - przegrałeś.

Przeszkody przez innowacyjność

W książce “Mityczny osobomiesiąc” jedna z przewodnich myśli brzmi - jeśli tworzysz projekt innowacyjny, stykając się z technologiami czy metodyką z którą wcześniej nie miałeś do czynienia, pierwsza wersja powinna być potraktowana jako tester, prototyp. Dopiero w oparciu o wyciągnięte wnioski z tej wersji, istnieje szansa na realizację udanego projektu oficjalnego.

Sęk w tym, że to idea sprawdzająca się w tworzeniu oprogramowania, przy projektach rozłożonych na lata. A mówimy przecież o projektach, których cykl projektowy trwa kilka-kilkanaście dni.

Niech twój projekt oficjalny stanie się jednocześnie prototypem - uruchom coś, cokolwiek. Wyrzuć wszystkie funkcje, których nie jesteś w stanie wdrożyć w odpowiednio krótkim czasie. Pracujcie na żywym organizmie. Ludzie mogą twierdzić, że projekt który realizujecie jest niedopracowany, że się źle nazywa, że ma kiepski projekt graficzny - na to wszystko przyjdzie czas, później.

W 37signals twierdzą: nie skupiaj się na szczegółach za wcześnie i mają rację.

Mało znaczy dużo

Początek jest taki sam dla niemal każdego “wielkiego” pomysłu - szukanie ludzi, gdy tak naprawdę nie mamy im nic do zaoferowania; szukanie pieniędzy, gdy nie ma się nic do pokazania.

Im większy zespół tym więcej problemów. Jeśli potrzebujesz godzinę by wytłumaczyć jednej osobie ideę projektu, w który chcesz tę osobę wciągnąć, to jeśli musisz to samo przedstawić grupie dziesięciu osób tracisz już dziesięc godzin. Dziesięć godzin, które mógłbyś wykorzystać na stworzenie czegoś użytecznego, czegoś co nie umożliwia dowolnej interpretacji - szkic interfejsu, kawałek kodu, działająca funkcjonalność. Pamiętaj, że każdej kolejnej osobie, którą zaprosisz do pomocy przy nieistniejącym projekcie będziesz musiał tłumaczyć wszystko od początku.

Duże zespoły wymagają kontroli. Duże zespoły potrzebują raportów, zebrań, spotkań, dyskusji. Im większy zespół tym większego wysiłku potrzeba do koordynacji projektu. Zamieszanie wokół wielkich zespołów jest na tyle duże, że pozwala ukryć fakt, że realnie pracuje tylko kilka osób - reszta jest bierna, z reguły nie rozumiejąc o co w projekcie chodzi.
Im więcej osób ma wpływ na projekt na wczesnym etapie - na etapie planowania, tym większe prawdopodobieństwo, że ostateczny produkt będzie wszystkim, tylko nie tym, czym miał być. Jedna osoba to z reguły dwa różne pomysły, dwie osoby to już cztery ale trzy osoby to już dziewięc sprzecznych ze sobą pomysłów.

Doświadczyliśmy tego w generated content - mylą się bowiem ci, którzy myślą, że 10przykazan.com to nasz pierwszy wspólny projekt. Starszy jest projekt, w który zaangażowane jest kilka osób - jego planowanie mogłoby posłużyć za przykład jak tego nie robić. I prawdopodobnie kiedyś to jeszcze opiszemy.

Trzy fazy upadku

W projektach innowacyjnych wydzielam trzy fazy upadku:

  1. IDEA - ludzie gromadzą się wokół jakiegoś pomysłu. Pomysł jest niedookreślony, ale na tym etapie to nieważne - ludzie mają entuzjazm, cieszą się, mają głowy pełne pomysłów
  2. “O co tu chodzi?” - przeciąganie terminu realizacji projektu i notoryczny brak dookreślenia założeń sprawia, że coraz więcej osób zadaje właśnie to pytanie. Więcej osób pytających generuje więcej czasu potrzebnego na wytłumaczenie o co chodzi
  3. Jeśli na etapie drugim nie uda się uruchomić projektu, to na etapie trzecim już nikt, łącznie z samym pomysłodawcą, nie jest w stanie określić o co w projekcie chodziło. Osoby bezpośrednio zaangażowane tłumaczą o co chodziło, inni kręcą się w kólko nie wiedząc co mają robić. Projekt umarł.

Projekty, bez zaplecza finansowego, nie mają za dużo szczęścia. Dlatego staraj się jak najszybciej dostarczyć cokolwiek działającego. Jeśli budujesz serwis gromadzący ciekawe notki na jakiś temat, nie czekaj aż otrzymasz profilowany CMS - załóż bloga, np. na Wordpressie czy Text Pattern z dostępem dla wielu użytkowników.
Pozwoli ci to szybko zweryfikować na kogo możesz liczyć oraz wskaże dalszą drogę rozwoju.

Rozwój przez wyrzuty sumienia

Jeśli wypuścisz produkt, poczujesz ulgę. Ale to dopiero początek drogi i z doświadczenia powiem, że było to łatwiejsze niż to, co czeka cię teraz - rozwój produktu.

Nie oszukujmy się - w polskich realiach najwięcej innowacyjnych czy po prostu ciekawych pomysłów, mają ludzie w wieku 18-25 lat. Z reguły nie mają zaplecza finansowego, często rozwijają wszystko za własne pieniądze. Często muszą utrzymać siebie, skończyć szkołę/studia, utrzymać się w pracy codziennej. Projekty, które rozwijają są wynikiem ich pasji, często te projekty w ogóle nie mają potencjału komercyjnego - nie da się ich spieniężyć, wrzucenie reklam jest równoznaczne z degradacją projektu.

To wszystko pochłania czas i nagle okazuje się, że nie ma go na to, by rozwijać pomysł. I w tym momencie właśnie pojawia się kolejna zaleta tego, że projekt został uruchomiony i ktoś z niego korzysta - wyrzuty sumienia, które w końcu popchną cię do tego, by wprowadzić te wszystkie zmiany o które były planowane.

Brzmi strasznie, ale w rzeczywistości to dobrze, że tak jest. Ograniczenia zmuszają do szukania rozwiązań.

Pojawia się jednak w tym miejscu jeden poważny problem, z którym musi sobie dać radę każdy - umiejętność podzielenia się projektem. Każdy chce być sławny i bogaty, nie oszukujmy się. Przychodzi jednak taki moment, w którym trzeba zwrócić się o pomoc do kogoś innego. Możesz być super programistą, super grafikiem czy super koderem, ale jak brzmi stare powiedzenie gruzińskie: “i Herkules dupa, gdy wroga (problemów) kupa”.

Odstąp część obowiązków komuś innemu, pozwól wnieść w swój projekt trochę świeżości. To wciąż twój projekt ale nie rozwiniesz go, jeśli cały czas będziesz trzymał wszystko na swoich barkach. Nam się udało - przy nowym 10p pracuje jeszcze kilka osób “z zewnątrz”. Tłumaczenie Getting Real to mój pomysł, który udało się zrealizować dzięki temu, że podzieliłem się nim z Kubą Filipowskim a razem uznaliśmy, że lepiej będzie jeśli zarządzanie projektem weźmie na siebie ktoś, kto ma od nas więcej czasu i odpowiednio duże doświadczenie w takich projektach (Michał Tosza).

Nie bój się błądzić - obserwuj ludzi, którzy dają jasne sygnały co im się podoba a co nie. Może z początku będziesz musiał zmagać się z krytyką ale tego nigdy nie unikniesz. Może z początku będziesz sądził, że wypuszczanie niedokończonych projektów w Sieć trąca amatorszczyzną, jest po prostu śmieceniem - i będziesz miał rację. Ale w przypadku braku zaplecza finansowego, to często jedyny sposób, by twój pomysł nie umarł zanim się narodzi.

Bardzo dobrze, z menadżerskiego punktu widzenia, opisał to Marcin Niebudek w notce Planować czy startować.