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ć…

Powiem szczerze, odkąd mam w pracy dodatkowy monitor do notebooka, nie wyobrażam sobie pracy programisty z jednym monitorem. Jeden monitor = mało efektywna praca. Dwa monitory są OK, choć czasami się zastanawiam, czy nie przydałby się trzeci….
Dla wszystkich tych, którym brakowało przejścia z mAllegro do pełnego Allegro.pl mam dobrą wiadomość: stosowne przejście już jest, tuż obok linku “Moje Allegro”. Dziękuję i zapraszam…..
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.
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….
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:
- 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….
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….