up home page bottom

bottom

Pulsar Online: worklog

Może ktoś pamięta, ponad rok temu zacząłem prace nad grą internetową typu MMORPG pod tytułem Pulsar Online. Po dość długiej przerwie wróciłem do tematu. Niestety, gdy tylko zobaczyłem ukończone fragmenty kodu stwierdziłem, że coś tu nie halo i przez ponad 3 tygodnie w czasie wolnym przepisywałem to, co niby już działało. Teraz też działa, ale lepiej. Trochę ruszenia mózgownicą, kilka przydatnych klas w PHP (z dwóch jestem szczególnie dumny: klasa cache w danych sesji i klasa trochę upodobniająca MySQL do bazy obiektowej z automatyczną synchronizacją cache i bazy) i to co działało, działa dalej, tyle, że lepiej, szybciej i wygodniej się to oprogramowuje.

Anyway, powstały też nowe rzeczy:

  • mapa systemu
  • nawigacja i wyszukiwanie najkrótszej drogi do celu
  • podstawowe operacje na wyposażeniu i uzbrojeniu
  • inne drobne sprawy

Obecnie siedzÄ™ nad obsÅ‚ugÄ… NPC. Drugi dzieÅ„ mÄ™czÄ™ skrypt tworzÄ…cy NPC na podstawie szablonów. Jeszcze kilka dni i choćby ta drobnostka bÄ™dzie dziaÅ‚ać…

Mobilne Allegro.pl

Sprawa do tej pory przeszła niezauważona (od wczoraj od godziny 13) więc chyba czas ją naświetlić. Wczoraj Allegro.pl uruchomiło mobilną wersję swojego serwisu: mAllegro. Jak na razie mAllegro nie jest reklamowane, tylko użytkownicy korzystający z przeglądarek mobilnych są automatycznie przekierowywani na mAllegro.

mAllegro jest uproszczoną wersją Allegro.pl, pozwalającą na przeglądanie i wyszukiwanie aukcji, kupowanie i zarządzanie aukcjami obserwowanymi. Nie pozwala na wystawianie aukcji i komentarzy. Jest przystosowane do wszystkich urządzeń mobilnych wyposażonych w przeglądarki zgodne z XHTML. Aby nie narażać użytkowników telefonów komórkowych/smartfonów/palmtopów na długi czas załadowania strony i wysokie koszty połączeń, zawartość strony jest maksymalnie uproszczona, obrazki są przeskalowywane, a interface przystosowany do nawigacji z klawiatury numerycznej.

Dlaczego o tym piszę i czemu tyle o tym wiem? Sprawa jest prosta: maczałem w tym swoje palce, a dokładniej, byłem jedym z programistów tworzących mAllegro. Krytyki nie przyjmuję, zakres funkcjonalny był dokładnie określony ze strony Allegro.pl, ja go tylko zrealizowałem. Oczywiście nie byłem sam i pochwały (bo tylko to przyjmujemy) należą się całemu zespołowi programistycznemu (to do Ciebie, Grzesiek)! Muszę przyznać, jestem z tego dumny jak cholera!

Jeśli ktoś chce zobaczyć mAllegro na zwykłej przeglądarce, zapraszam na mobile.allegro.pl.

Apple Safari

CoÅ› mnie dziÅ› naszÅ‚o na wypróbowanie nowej przeglÄ…darki: Apple Safari. ZainstalowaÅ‚em, poklikaÅ‚em, pobawiÅ‚em siÄ™ i… I z jedenej strony mi siÄ™ podoba ze wzglÄ™du na “inny” UI, wiadomo, Mac. A z drugiej strony, jestem głęboko rozczarowany z kilku prostych powodów:

  • Safari jest powolne. Dużo wolniejsze od Firefox 3, Firefox 2, czy nawet IE7. A to znaczy, że Apple kÅ‚amie piszÄ…c: “Safari is the fastest web browser on any platform”. Blah… OK, co do IE7 to nie mogÄ™ siÄ™ zdecydować, ale od FF3 jest wolniejsze z całą pewnoÅ›ciÄ…
  • Co za cholerny designer wymyÅ›liÅ‚ przeglÄ…darkÄ™ w której nie da siÄ™ wyłączyć wygÅ‚adzania czcionek?! Można tylko zmieniać “intensywność”. Wyłączyć już siÄ™ nie da, a przynajmniej nie znalazÅ‚em. Szczerze? Ta opcja, a wÅ‚aÅ›ciwie jej brak, dyskwalifikuje Safari w moich oczach.
  • Ma problemy z wÅ‚aÅ›ciwÄ… obsÅ‚ugÄ… JS. OsobiÅ›cie znalazÅ‚em stronÄ™, w której onclick na obrazku powodowaÅ‚ wyzwolenie onclick na divie poÅ‚ożonym 100px wyżej i 50px w prawo od obrazka w który kliknÄ™liÅ›my.
  • Po dÅ‚uższym używaniu stwierdzam jednak, że UI Safari jest bez sensu pod Windows. Może to ma wiÄ™cej sensu z Mac OS, ale z Windowsem zdecydowanie nie idzie w parze.

PodsumowujÄ…c: jak ktoÅ› chce spróbować, to proszÄ™ bardzo, ale osobiÅ›cie odradzam. A szefowi projektu Safari w Apple proponujÄ™ zastanowienie siÄ™ nad sensem wypuszczania tej przeglÄ…darki dla Windows. To na dÅ‚uższÄ… metÄ™ nie ma sensu….

Firefox 3RC1: wrażenia

Na próbÄ™ zainstalowaÅ‚em najnowszÄ… wersjÄ™ Firefox’a, czyli Firefox 3.0RC1.

Firefox 3

Tak w ramach poznawania przyszłego wroga w dziedzinie web development. Wiele nie oczekiwałem, trochę więcej dostałem. Ale po kolei:

  • Uruchamia siÄ™ wyraźnie szybciej od poprzednika. Nie jest to może wielki skok, ale zauważalny
  • Znacznie lepiej radzi sobie z zarzÄ…dzaniem pamiÄ™ciÄ…, co byÅ‚o wielkÄ… bolÄ…czkÄ… FF2, dla którego 200MB pamiÄ™ci rzeczywistej i drugie tyle wirtualnej byÅ‚o czymÅ› zupeÅ‚nie normalnym. Firefox 3 zadowala siÄ™ poÅ‚owÄ… tej wartoÅ›ci. Wielki plus.
  • Lekkie odÅ›wieżenie wyglÄ…du. Brak rewolucji i bardzo dobrze.
  • W pasku adresu pojawia siÄ™ teraz sympatyczna gwiazdka: jeÅ›li jest zÅ‚ota, dana strona znajduje siÄ™ już w zakÅ‚adkach. Bardzo dobre rozwiÄ…zanie, wiele razy zdarzyÅ‚o mi siÄ™ dodawać tÄ… samÄ… stronÄ™ do zakÅ‚adek po kilka razy
  • Dla stron szyfrowanych, nazwa certyfikatu pojawia siÄ™ przy pasku adresu
  • ZabrakÅ‚o zielonej strzaÅ‚ki przejÅ›cia do strony/przeÅ‚adowanie strony przy pasku adresu. JakoÅ› siÄ™ do niej przyzwyczaiÅ‚em…
  • Rozwijana lista historii przeglÄ…danych stron z paska adresu zawiera teraz ikony i każdy adres skÅ‚ada siÄ™ z 2 linii: tytuÅ‚u i adresu. Co do tej opcji mam ambiwalentne uczucia: wyglÄ…da Å‚adnie, ciekawe jak bÄ™dzie z funkcjonalnoÅ›ciÄ…
  • Podobno FF3 jest szybszy od poprzednika… Możliwe… Wydaje siÄ™ być szybciej, ale nie wykluczam siÅ‚y autosugestii.
  • W dalszym ciÄ…gu nie przechodzi testu ACID3. OsobiÅ›cie mnie to nie rusza…
  • Nie dziaÅ‚a wiÄ™kszość rozszerzeÅ„. Na szczęście, w sieci można znaleźć bety dziaÅ‚ajÄ…ce z FF3 wiÄ™kszoÅ›ci z nich (szukaÅ‚em i znalazÅ‚em: Mouse Gestures, FireFTP, Firebug). WiÄ™c nie jest tak tragicznie.

I to chyba tyle jeśli chodzi o pierwsze spojrzenie na Firefox 3. Mi się podoba. Szczególnie z powodu lepszego zarządzania pamięcią.

ProgramistÄ… WWW być…

Mogłoby się wydawać, że nie ma nic prostszego niż pisanie stron WWW. Tak, są edytory WYSIWYG, PHP jest prosty i tak dalej. Sama przyjemność. Ostatnio uświadomiłem sobie, że programista WWW ma najtrudniej ze wszystkich programistów. Nie wystarczy znać jeden język, czy technologię, trzeba użerać się ze standardami, a właściwie ich niespełnianiem przez przeglądarki, nie można całego kodu debugować w jednym miejscu. Ale po kolei:

Programista WWW:

  • musi znać:
    • co najmniej jeden jÄ™zyk server-side, na przykÅ‚ad PHP
    • co najmniej jeden jÄ™zyk client-side, choć w sumie można poprzestać na JavaScript
    • HTML ze wszystkimi jego zawiÅ‚oÅ›ciami jak DOM i tak dalej
    • CSS
    • SQL aby móc coÅ› z bazy danych wyciÄ…gnąć lub wÅ‚ożyć
    • podstawy projektowania interfejsów
    • różnice w interpretacji standardów przez przeglÄ…darki
  • powinien znać:
    • technologie łączÄ…ce serwer i klienta lub poszczególne moduÅ‚y, takie jak:
      • AJAX
      • XML
      • SOAP
      • XSLT
    • co najmniej dwa debugery i profilery: jeden dla serwera drugi dla klienta
  • musi orientować siÄ™ w:
    • obsÅ‚udze baz danych aby móc bazÄ™ utworzyć
    • najnowszych rozwiÄ…zania w tej dynamicznej dziedzinie
    • konfiguracji serwera WWW
    • konfiguracji serwera baz danych
  • musi użerać siÄ™ z:
    • beÅ‚kotem marketingowym typu Web2.0
    • tym cholernym IE
    • tym nieszczÄ™snym FF
    • tÄ… dziwacznÄ… OperÄ… której nikt nie używa
    • maÅ‚ym wyborem jeÅ›li chodzi o dojrzaÅ‚e narzÄ™dzia programistyczne
    • że nie może debugować caÅ‚ej aplikacji w jednym miejscu, bo część siÄ™ dzieje po stronie serwera, a część klienta, i nie sÄ… to te same jÄ™zyki
    • standardy sobie, a przeglÄ…darki sobie
  • musi zdawać sobie sprawÄ™, że:
    • jego dzieÅ‚o mogÄ… zobaczyć miliony
    • zawsze znajdÄ… siÄ™ malkontenci
    • za pół roku wyjdzie nowa wersja przeglÄ…darki i jego strona może nie dziaÅ‚ać
    • zawsze znajdzie siÄ™ przeglÄ…darka na której coÅ› nie dziaÅ‚a jak powinno

Nie jest to pełna lista. To tylko te rzeczy jakie przyszły mi przed chwilą do głowy

Szczerze? Mamy przesrane….

Męczarnie zaokrąglonych rogów

Tak naprawdÄ™ “zaokrÄ…glone rogi” sÄ… tylko pretekstem do tego posta. Ale zacznijmy od poczÄ…tku. W zeszÅ‚ym tygodniu coÅ› mi siÄ™ ubzduraÅ‚o, aby pewnÄ… aplikacjÄ™ internetowÄ… nad która pracujÄ™ ponad 2 lata troszkÄ™ odmÅ‚odzić i zrobić trendy. Innymi sÅ‚owy dodać zaokrÄ…glone rogi. Wiadomo, produkt sprzedajÄ… hasÅ‚a typu “Web 2.0″ i inne tego typu marketingowe bzdury. PoczytaÅ‚em, pobraÅ‚em bibliotekÄ™ JS Nifty i zabraÅ‚em siÄ™ do roboty. Chwila błądzenia i proszÄ™, div siÄ™ Å›licznie zaokrÄ…gliÅ‚… Super można by powiedzieć. ChwilÄ™ później zaokrÄ…gliÅ‚ siÄ™ kolejny div i tak dalej. PopatrzaÅ‚em na to z dystansu, policzyÅ‚em ile czasu zajęłoby przerobienie caÅ‚ej aplikacji i przywróciÅ‚em poprzedniÄ… wersjÄ™ z CVS. Może kiedyÅ› wrócÄ™ do tego pomysÅ‚u, ale jeszcze nie teraz: za dużo “bierzÄ…czki” i za maÅ‚o czasu.

Przechodzimy do sedna. Jeśli ktoś się nie interesował tym jak powstają zaokrąglone rogi na stronach WWW, to wyjaśniam: szkół jest kilka:

  • z obrazkami
  • z rÄ™cznym dodawaniem elementów przed i po zaokrÄ…glanym elementem, które to elementy majÄ… innÄ… szerokość i “udajÄ…” zaokrÄ…glenie
  • JavaScript automatycznie renderujÄ…cy dodatkowe elementy po zaÅ‚adowaniu strony
  • niestandardowe wpisy w CSS które dziaÅ‚ajÄ… tylko w wybranych przeglÄ…darkach
  • i pewnie coÅ› innego też by siÄ™ znalazÅ‚o

Anyway… Tyle sposobów, a każdy mniej elegancki od poprzedniego. Pikanterii sprawie dodaje fakt, że sprawÄ™ zaokrÄ…glonych rogów rozwiÄ…zuje CSS3. Ok, rozumiem, nie ma jeszcze wersji finalnej CSS3. Ale…. ZaÅ‚ożenia CSS3 to który rok? 2001? Przez te cholera jasna 7 lat przeglÄ…darki mogÅ‚yby siÄ™ dorobić obsÅ‚ugi zaokrÄ…glonych rogów!! Skoro caÅ‚ość może zaÅ‚atwić kilka kilobajtów JavaScript, to jaki to problem przenieść to do silnika przeglÄ…darki…. szkoda słów i tylko żal zadek Å›ciska….

Męczarnie web development

JakoÅ› tak siÄ™ potoczyÅ‚o moje życie, że skoÅ„czyÅ‚em jako programista webowski. Ok, nie jest tak źle jak siÄ™ może wydawać. Mam to szczęście, nie klepiÄ™ stron internetowych (no dobra, czasami klepnÄ™ jakiÅ› engine, ale tylko czasami, grafiki już nie ruszam) a “portale korporacyjne”, “aplikacje intranetowe” i inne takie. Czyli w zasadzie rzeczy które robiÄ… coÅ› konkretnego i w jakiÅ› tam sposób komuÅ› pomagajÄ… w prowadzeniu biznesu. W sumie, to ostatnio nawet już coraz mniej programujÄ™, mam od tego zespół, a coraz wiÄ™cej czasu pochÅ‚ania mi pisanie dokumentacji i zarzÄ…dzanie zespoÅ‚em.

Wracając do tematu. Już jakiś czas temu znalazłem gdzieś taki o to diagram:

breakdown.png

I im dÅ‚użej na niego patrzÄ™, tym bardziej dochodzÄ™ do wniosku, że osoba która go stworzyÅ‚a starÅ‚a zÄ™by na tworzeniu stron WWW. Czysta prawda. W tym caÅ‚ym biznesie zwiÄ…zanych w programowaniem WWW wiÄ™cej czasu jest marnowane na gÅ‚upoty i nieprzestrzeganie standardów W3C przez programistów przeglÄ…darek niż na cokolwiek innego. Szczególnie tyczy siÄ™ to IE. I pomyÅ›leć, że ma wejść IE8 z 3 enginami renderujÄ…cymi. Już siÄ™ bojÄ™….