Ech... Pozwolę sobie wystartować ten dział dzieląc się z wami moimi przemyśleniami na temat... stron internetowych. Co zabawne, ciekawe `rewelacje` naszły mnie w ciągu ostatnich kilku godzin, czyli w czasie tworzenia kodu do strony, którą właśnie przeglądacie... Pozwolę sobie tedy arogancko oświadczyć: bycie webmasterem nie zawsze jest polem z płatków róż. A jak to komuś nie pasuje – wynocha. ;)
Cóż. Siedzi sobie taki gościu jak ja, i patrzy w kod. Ślepi się w niego, gały wytrzeszcza, a ten – jak na przekór – ani drgnie, ani jedna linijka się nie napisze. Czas skończenia projektu to, hm – np. za dwa dni – a tu nic. Może połowa napisana, i ... no, leżysz. Pisanie strony WWW nie jest łatwe – pomijając już integrację z grafiką (co przy niektórych grafikach potrafi zająć sporo czasu) do zrobienia zostaje właściwie wszystko, czyli interakcja ze stroną – od A do Z...
Trzeba przysiąść chwilę, pomyśleć nad tym w jaki sposób należałoby rozpisać powiązania elementów – swoistą mapę działania strony. Trzeba się 'pobawić' w symulację użytkowników (scenariusze, czy, jak ja to lubię mówić – 'profiling') – różni użytkownicy różnie zachowują się na stronach WWW (jedni lubią nowości, inni nie poradzą sobie z linkami bez podkreślenia, etc.). Zresztą, Joel Spolsky pisał już gdzieś na
swojej stronie o dwóch podstawowych rzeczach: użyteczności, oraz standardach.
Co to jest użyteczność? To takie ulotne coś, które kiedy jest – program jest cudowny, przydatny i dobrze się go używa, a kiedy zniknie – nagle program staje się jakby nieprzydatny (nawet jeśli w rzeczywistości jest superhiperekstrazkosmosu).
Mówiąc zaś o standardach mam na myśli raczej te niepisane, np. to, że jeśli kliknę na coś prawym przyciskiem myszy, pojawi się menu kontekstowe. To są rzeczy, które są naszą 'drugą skórą' (zobacz –>
ten artykuł o testowaniu*). To są rzeczy których nikt nie spisuje, a bez których czujemy się jak bez ręki.
Pojawia się dobre pytanie – dlaczego zapieram się rękoma i nogami przed 'współpracą' z komputerem typu Mac? Proste – jego interfejs jest
inny, może nawet nie tak bardzo (bardzo), ale w denerwujący sposób. Ludzie lubią mieć kontrolę (tak, ja też ;P). Na Macu miałem taką przykładową sytuację, że chciałem zmienić rozmiar okienka wyświetlającego zawartość folderu. No to co robię? A chwytam okienko za prawy jego bok, i dalejże ciągnąć! Jakież było moje zaskoczenie, gdy okienko – zamiast (do czego jestem 'normalnie' przyzwyczajony) rozciągnąć się – zaczęło się... przesuwać! No toż to się świat kończy!
Jaki z tego morał? Ano – takie rzeczy trzeba wziąć pod uwagę. I tu z kolei inne pytanie: skoro – aby zaistnieć na rynku i `być używanym` – trzeba mieć interfejs zachowujący się jak wszystkie inne interfejsy na rynku... jak być oryginalnym?
Najgorsze zaczyna się, kiedy człowiek robi, i robi, i robi... i jedyne co się tak naprawdę kończy – to czas. Miałem kilka takich przypadków, kiedy mnie po prostu już odrzucało na kilometr kiedy przychodził poranek, a ja kładłem się spać aby za trzy–cztery godziny 'powstać' i kontynuować pracę nad tym samym, przez następne tyle samo czasu (tak wygląda praca kiedy deadline jest tuż–tuż i nie można pozwolić sobie na 'odskocznie' od roboty, a i tak projekt będzie opóźniony). Niektóre z pozoru 'łatwe' strony WWW pokazują rogi, i to nie tylko wtedy kiedy Wszechmocny Zleceniodawca zmieni design w połowie projektu (serwery docelowe potrafią wierzgać w najdziwniejsze sposoby, chociażby poprzez admina który religijnie wręcz wierzy w niebezpieczeństwo (fałszywe) jakiegoś rozszerzenia–do–czegokolwiek, i funkcja która normalnie zajęłaby kilkanaście linijek rozrasta się do dwóch plików z kodem i czterech innych rozszerzeń emulujących łącznie to jedno, na dodatek przy ok. 15% wydajności **).
Nadchodzi koniec pracy: jestem znudzony, zmęczony, i przez następne dwa tygodnie nie spojrzę na kod PHP czy HTML z wyrazem twarzy innym niż obrzydzenie. I po co to...? Przecież zaczynałem w tym robić, bo mnie to bawiło – interesowało...
Puenty nie ma – sami spróbujcie i określcie, czy wam się spodoba. W końcu nie każdy implementuje projekty na ostatnią chwilę ***, jak ja... ;–)
* no to wrzuciłem pół–random linka... pozwij mnie :P
** być może i koloryzuję, ale przypadki niedalekie od tego zdarzały się mi i znajomym...
*** czytaj: na kilka dni, a czasem na kilka godzin przed deadlinem – i niejednokrotnie skończyło się tylko na puklach wyrwanych włosów, projekt był gotowy na czas...