Design wielkich firm, a pracownicy utrzymujący witrynę…
Tak to w dzisiejszych czasach bywa, że jeden tworzy inny psuje. O co mi dokładnie chodzi? O polską witrynę ey dot com. W polskim oddziale pracownikowi utrzymującemu witrynę nie spodobał się styl standardowego wypunktowania. Z powodu braku dostępu do jakiegokolwiek css’a i najprawdopodobniej braku umiejętności jego tworzenia skopiował rozwiązanie stosowane przy menu. Moim zdaniem zastosowany tam styl jest bardzo ładnu i rzeczywiście lepiej pasuje do image firmy/witryny od szarych kwadracików. W czym więc problem? Styl był przypisany do identyfikatora. Tak więc szanowna pracowniczka dopisała do swoich list id=”redTriangle”. Pominę ideę takiego nazywania identyfikatorów. Gdyby na przykład użyto: #right-menu, to może by takich kwiatków (bez urazy;) nie było.
Na stronie nie może być nawet dwóch elementów o tym samym identyfikatorze. Tak nie może być. Zapytany czemu zasłaniałem się standardami, ale w gruncie rzeczy czemu nie “skoro wygląda tak samo” - tak samo jak byśmy użyli klas. Gdy na stronie znajdą się dwa elementy o tym samym identyfikatorze w gruncie rzeczy nie wiemy co zobaczy użytkownik. Silnik renderujący witrynę może znaleźć tylko pierwszy element o takim id’zie i na tym zakończyć pracę z danym identyfikatorem. Może też być tak, że “zauważy” bład podejmując tym samym decyzję o zignorowaniu danego stylu jako błednie użytego na stronie. Przeglądarka może także zrobić to co większość osób ma na myśli czyli zastosować styl tak jak to by było w przypadku klas. Nie do końca znam się na trybie quirks-mode i nie do końca wiem kiedy jest on włączany, ale wydaje mi się, że zawsze kiedy coś jest nie tak w witrynie (tak jak w tym przypadku kiedy mamy kilka elementów o tym samym id’zie). Gdyby ktoś był tak miły i powiedział mi jak to naprawdę jest to byłbym wdzięczny. Interesuje mnie też czy wtedy cała strona jest renderowana zgodnie z zasadami trybu dziwactw (w/g moich przemyśleń - powinna;)
Reasumując - lepiej trzymać się standardów. Wtedy mamy pewność (a napewno jest większe prawdopodobieństwo), że wszystko na stronie będzie po naszej myśli. Nie mam prawie nic przeciwko tworzenia stron łamiąc niektóre standardy. Dlaczego? Bo czasem trzeba/można. Po prostu należy to dobrze przemyśleć i trzymać rękę na przysłowiowym pulsie. W przytoczonym na początku przykładzie wystarczyło wstawić styl inline zamiast bezsensownie używać id=”redTriangle”. Gdyby z jakiś dziwnych przyczyn nie można było używać styli inline - automat je wycina, a admin witryny jest idiotą i nie pozwala nam na eleganckie rozwiązanie to zgodnie z zasadami zdrowego rozsądku postąpmy tak jak za każdym razem gdy wykraczamy poza bezpieczny obszar naszej wiedzy i standardów. Trzeba zastosowane rozwiązanie przymyśleć, zastanowić się co może być z nim nie tak. Spojrzeć w przyszłość czy sami lub ktoś inny jakimiś działaniami nie popsuje tego tworu generując widoczne błędy. Przetestować rozwiązanie pod różnymi przeglądarkami. Śledzić czy pod jakąś przeglądarką błąd nie zaczyna się uwidaczniać…
Spaać…
1 comment 10/11/2005
Planeta czy community portal?
Jeszcze niedawno rozważałem (wraz z wbachnik’iem - wb’kiem?) coś w rodzaju polskiej planety na podobieństwo strony głównej joggera. Idea sama w sobie była bardzo szczytna - utrzymanie pięknego community zawiązanego w ramach jogger.pl i pzeniesienie go na grunt niezależny od platformy, na której blogujemy. Jako, że nie dysponuję dobrym łączem ani komputerem mogącym pracować jako serwer (a środki finansowe należą do sfery marzeń) wymyśliłem rozwiązanie nie wymagające tego wszystkiego.
W poprzedniej notce wspominałem o serwisie rssfwd.com. To jego chciałem wykorzystać do powiadaminia o nowych wpisach (by nie śledzić własnoręcznie - oby - sporej liczby blogów;). Otrzymywane od niego maile możnaby wykorzystać na dwa sposoby. Po pierwsze jedynie jako powiadomienie o nowych wpisach na jakimś blogu. Po otrzymaniu maila od systemu należałoby ściągnąć odpowiedniego rss’a i go zparsować. Druga opcja polegała na całkowitym zaufaniu mailom z rssfwd i parsowaniu ich, a dokładniej wycinaniu niepotrzebnych części. Następnie pozyskane wpisy lądowałyby w bazie danych i z niej już standardowo byłyby pobierane tak jak to sobie każdy wyobraża.
Zamiast pięknej stronki ala jogger.pl można jeszcze wysyłać takie wpisy na specjalnie w tym celu założoną grupę@google-groups. Dzięki temu odpadałby problem hostingu, bez zbędnych wysiłków udostępnilibyśmy wyszukiwarkę po wszystkich zarejestrowanych w serwisie polskich blogach, ale nie przyciągnęlibyśmy nowych użytkowników ceniących sobie bardziej ładny layout od treści. W ten sposób stworzona witryna mogłaby znaleźć uznanie u geeków szukających ciekawych blogów i zaglądających na stronkę tylko w poszukiwaniu interesujących wpisów
Po krótce opisałem to o czym myślałem… Coś się jednak zmieniło… Jestem (i byłem) świadom, że taki serwis może być niczym więcej jak tylko kolejną bezużyteczną stronką, na którą zagląda autor i garstka innych ludzi. Trzeba dać coś więcej, coś co swoją funkcjonalnością podbije serca osób blogujących.
Znamy już wyszukiwarki takie jak technorati. Dzięki nim możemy znaleźć dotąd niezgłebione przez nas witryny poprzez odpowienie zapytanie (tak jak w googlach;). To nie byłaby nowość, ale bez tej funkcjonalności nie ruszałbym się nawet z miejsca;) Takiej wyszukiwarki ludzie używają naogół po to by znaleźć blogi pokrewne do ich bloga, do ich zainteresowań. Gdy tak się nad tym zastanawiałem przyszedł mi do głowy last.fm. Last.fm pomaga odnajdywać muzykę pasującą do dustu użytkowników porównując co kto lubi. Jeśli Kasia lubi Chopina i Mozarta, a Ania lubi Moizarta, Chopina i Bacha to może i Kasi spodoba się Bach? Na podobnej zasadzie możnaby postępować z blogami. Wiadomo, tu jest więcej problemów. Nikt nie pisze na te same tematy i w tym samym stylu przez cały czas, ale coś w tym jest, że podobieństwa się przyciągają. Nie wierzę w system oceniania wpisów (lub ogólniej - blogów) bo wątpię, żeby wielu ludziom chciało się w to “klikakać”. Jak więc zmusić użytkoników do podzielenia się swoim gustem?
Ja bym do tego celu wykorzystał coś co może im się do czegoś przydać. Każdy kto śledził więcej niż 50 blogów (ja mam ich na liście więcej) i chciałby jeszcze śledzić komentarze do konkretnych wpisów może po pewnym czasie zauważyć, że śledzi kilka setek rss’ów. Czytnik w momencie wciśnięcia przycisku refresh przez niewyobrażalnie długi czas każe czekać na wyniki… Ja bym zaproponował (jak w poprzednim wpisie) zbiorczy rss, tylko jedno źródło do ściągania - z naszego serwisu. W ten sposób to w interesie użytkonika jest pochwalenie się co czyta. Dzięki nam może to czytać wcześniej, a my wiemy co lubi.
Teraz, gdy już wiemy jak pozyskać informacje o gustach użytkowników nadchodzi czas na zastanowienie się jak to wykorzystać, i nie, nie mam tu na myśli spamu;). Logicznym wydaje się zrobienie dodatkowej stronki (oprócz głównej wyświetlającej wpisy ze wszystkich zarejestrowanych polskich blogów), stronki, która wyświetlałaby wpisy z blogów o tematyce zbliżonej do zainteresowań, możliwości przejrzenia co subskrybują “sąsiedzi”, co jest najczęściej subskrybowane i wiele wiele innych możliwości. Do głowy przyszła mi jeszcze rzecz (która powinna być włączana tylko na wyraźne życzenie użytkownika;). Czasem obserwujemy zastój śledzonych blogów. Czasem nawet (jak to w przypadku padu joggera) prawie nie mamy co czytać. Wtedy serwis mógłby automatycznie do naszego źródła dołączyć wpisy z blogów o podobnej tematyce wypełniając powstałą lukę…
Add comment 5/11/2005
Powolny czytnik rss?
Coraz więcej osób przenosi się na wordpress’a. To mnie cieszy gdyż obawiałem się, że rozpoczęcie technicznej pisaniny poza joggerem okaże się tragiczną porażką… Chodzi o to, że jeśli nikt kto wie więcej ode mnie nie przeczyta tych wypocin i nie powie czegoś nowego to się nic nie nauczę…
Nie chcę dostawać powiadomień o komentarzach we wszystkich wpisach, wszystkich śledzonych blogów. Lubię styl jogger’a - śledź ten wątek, i po sprawie. Śledzę to co mnie interesuje. Jeśli chodzi o wordpress’a to mamy rss’y. Komentarze każdego wpisu mają swoje rss’y co mnie bardzo cieszy. Na szczęście korzystam z google reader’a więc nie martwię się o łącze, ale co mają powiedzieć osoby korzystające z lokalnego czytnika? Przecież nie można w nieskończoność dodawać rss’ów od różnych wpisów bo nasze łącze będzie bardzo obciążone ściąganiem takiej ilości danych (zwłaszcza jak ktoś ma ustawione sprawdzanie co minutę;). Po kliknięciu refresh pół dnia możnaby czekać na wyniki…
Co więc proponuję? Dla tych, którym gmail nie jest obcy i korzystają z niego nałogowo polecam duet: gmail&rssfwd(lub feedblitz dla cierpliwszych;).
Jeśli nadal chcesz używać czytnika rss to proponuję mieszankę rssfwd, google groups i Twojego czytnika… Jak? To bardzo proste. Jak wspominał zgoda maile w danej grupie dyskusyjnej mają swoje rss’y. Tak więc zakładamy nową grupę - proszę o nazwy w miarę krzaczkowate by nie blokować przyjaznych nazw na prawdziwe grupy dyskusyjne. Zmieniamy ustawienia aby mogli ją czytać tylko członkowie (czyt. tylko Ty) bo rssfwd dołącza do każdego maila link “unsubscribe” i ktoś mógłby pomóc zrezygnować z czytania najciekawszego bloga…
Teraz wystarczy tylko znaleźć na stronie grupy linka do rss’a i zasubskrybować go w czytniku. Od tej pory musisz ściągać tylko jeden “plik” - “one to rule them all“, będący czymś w rodzaju zbiorczego rss’a…
Add comment 3/11/2005
Strony wielojęzyczne
Na początek, chciałbym przeprosić patrysa, za publikowanie w całości jego wpisu (czyż łamanie praw autorskich nie jest dziś na porządku dziennym?), ale jogger ostatnimi czasy coraz częściej niedziała niż działa… Jak udało mi się znaleźć w google cache oryginał przeczytamy pod adresem http://patrys.jogger.pl/comment.php?eid=151004&startid=200509.
Jako, że przyjęliśmy Europę w poczet
krajów słowiańskich, coraz większą popularnością cieszą się witryny
wielojęzyczne. Wiąże się z tym kilka problemów, które dobrze jest
rozwiązać już na etapie planowania i projektowania, gdyż późniejsze
radzenie sobie z nimi rodzi coraz więcej kłopotów.Pierwsza sprawa to domyślna wersja językowa – wielu ludzi zastanawia
się, czy stronę domyślnie wyświetlać po polsku, gdyż większość
odbiorców operuje tym właśnie językiem, czy może po angielsku, by
obcokrajowcy nie uciekli na widok krzaczków i szlaczków. Odpowiedź jest
prosta – należy skorzystać z mechanizmów negocjacji zawartości
dostarczanych przez sam protokół HTTP. Przeglądarka wraz z żądaniem
wysłania dokumentu podaje również listę języków i stopień ich
preferowania (parametr q, podawany w skali od 0 do 1). Różne
przeglądarki zachowują się różnie – niektóre nie podają listy
preferencji wcale, inne nie definiują stopnia preferowania danego
języka lub jego odmiany (bo en jest czym innym niż en-US, o czym za
chwilę). Standard mówi, że jeśli nie jest używana skala preferencji, to
obowiązująca jest kolejność, w jakiej języki zostały podane – od
najważniejszego, do najmniej ważnego. Podobnie jest, jeśli kilka
języków posiada taki sam współczynnik q.
Czy ja słyszałem pytanie jak to skonfigurować w przeglądarce? Nie wiem czy Patrys zdaje sobie sprawę (choć mam go za światłego człowieka), że większość ludzi na tym świecie przy komputerze spędza czas na rozrywce, a nie konfiguracji róźnych narzędzi. Być może niektórzy ZU poprawili preferowany język na polski, ale czy wszyscy? A co z tymi ludźmi, którzy korzystają z internetu w polskich lub zagranicznych kawiarenkach internetowych?
Moim zdaniem potrzebny jest (oprócz negocjacji) skuteczny i nieodstraszający obcokrajowców (lub rodaków poczęstowanych obcojęzyczną wersją) sposób prezentacji treści i wyboru języka…
Przed wybraniem wersji językowej należy więc przesortować języki
według ich zadeklarowanego stopnia preferowania (nie jest określona
kolejność, w jakiej przeglądarki wysyłają listę języków, więc te o najniższym
współczynniku preferencji mogą pojawić się równie dobrze na
początku, w środku, jak i na końcu listy). Następnie iterując po
elementach listy należy sprawdzić, czy nasz serwis oferuje daną wersję
i - jeśli tak, wysłać ją do przeglądarki i przerwać dalsze testy.
Specjalna uwaga dotyczy języków o q równym 0 - zerowy współczynnik
q oznacza, że internauta pod żadnym pozorem nie życzy sobie oglądać stron
w danym języku. Druga uwaga jest na temat odmian języka – jeśli agent
wysłał sam identyfikator języka, bez podtypu, to jako pasującą uznaje
się każdą odmianę danego języka (na przykład en pasuje tak do en-us,
jak do en-gb, jeśli akurat te dwie odmiany oferujemy) – zasada ta nie
ma zastosowania w drugą stronę, jeśli internauta domaga się konkretnej
odmiany języka, to jako pasującą uznaje się tylko tę jedną konkretną.
“Jeśli internauta domaga się konkretnej odmiany języka, to jako pasującą uznaje się tylko tę jedną konkretną.” niby rozumiem… Ale czy to nie jest tak, że ktoś żyje w błogiej nieświadomości ignorując en-gb w zamian dostając stronę w języku polskim? Czy nie lepiej jest wybrać wersję strony najbliższą preferencji użytkownika? Rozumiem, że są to marginalne przypadki, ale chyba i tymi powinniśmy się zajmować – wszystko dla użytkownika-klienta ;)
Co jeśli żadna z oferowanych przez nas wersji nie pasuje do listy
wysłanej w nagłówkach przez agenta? Powinniśmy wybrać ten język,
którego będzie używać największa grupa naszych odwiedzających.
Oczywiście, dla niektórych (na przykład tych z nieprawidłowo
skonfigurowanymi przeglądarkami) będzie to błędny wybór, jednak tutaj
znajduje zastosowanie inny mechanizm - przełączanie języków w locie.Z przełączaniem w locie (za pomocą linków na stronie) wiąże się
najwięcej problemów. Oczywiście metoda ta musi mieć pierwszeństwo przed
negocjacją języka (wyobraźmy sobie Polaka, który ogląda nasz serwis za
pośrednictwem komputera w niemieckiej kafejce i jego frustrację, kiedy
okazuje się, że sklep, który ma pod domem, uparcie uszczęśliwia go
stroną w języku obcym). Najpopularniejszą metodą jest zastosowanie
ciasteczek i zapisywanie w nich tłumaczenia, jak jednak zmienić wersję
językową? Część rynku zaskarbiły sobie szkaradne ikonki z flagami
państw, choć same tworzą więcej problemów niż rozwiązują.Ikona flagi z definicji przywiązana jest do konkretnego kraju (lub
regionu, jak nadużywana powszechnie ikona Zjednoczonego Królestwa,
mylnie nazywana flagą Anglii). Problem polega na tym, że języki do
krajów przywiązane nie są, stąd frustracja sporej części mieszkańców
Kanady, którzy nawykli już do klikania ikonki symbolizującej małe
państwo żabojadów, o którym słyszeli kiedyś, że leży na drugim końcu
świata. Nie wszystkie kraje darzą się sympatią, a konieczność klikania
flagi sąsiada kłóci się u niektórych z odczuciami patriotycznymi.
Dlatego właśnie najlepszym rozwiązaniem jest użycie linków tekstowych.
Co na nich napisać? Nazwę danego języka w danym języku (chyba, że
cieszy cię wizja odwiedzenia strony międzynarodowej korporacji z siedzibą
w RPA i poszukiwanie angielskiej wersji pośród dwudziestu
linków na oko wyglądających jak jedno z afrykańskich narzeczy. Jedno
jest pewne, każdy zna nazwę własnego języka, choć nie każdy musi znać
jej wszystkie tłumaczenia.
Różnica między flagami, a linkami tekstowymi jest ogromna i dużo większa niż Patrys zechciał wspomnieć. Człowiek - a przynajmniej mężczyzna jest wzrokowcem, do którego bardziej przemawiają obrazy niż tekst. To obrazy dostrzegamy wcześniej (pomijając różnicę czasu transferu;). W tym przypadku chodzi o symbol “naszego” państwa więc jest on tym bardziej rozpoznawalny. Gdy chodzi o klikanie w flagę innego państwa, które włada tym samym językiem, to trzeba się zastanowić jak bardzo nam to przeszkadza, ze względu na grupę docelową użytkowników. Jeśli piszemy stronę dla firmy polsko-niemieckiej to wydaje mi się słusznym użycie flag. W końcu nie interesują nas (jeszcze;) użytkownicy z innych państw niż polska lub niemcy.
Czy można coś jeszcze zrobić? Wydaje mi się, że tak. Tylko jak? Skoro flagi państw są takim rozpoznawalnym symbolem to może ustalić inny symbol (tylko czy ktoś oprócz geek’ów go będzie znał?) oznaczający, że są inne wersje językowe danej strony? Po kliknięciu na taką uni-flagę rozwijała by się (lub otwierała nowa strona) lista języków (napisana oczywiście w nich samych). Rozwiązanie wygodne dla witryn z większą ilością języków niż pięć czy dziesięć.
Drugie rozwiązanie to (raczej wątpliwe do spełnienia) standard podawania do plików (x)html informacji o tym jakie wersje językowe są jeszcze dostępne. To przglądarka troszczyłaby się o to aby przekazać informację użytkownikowi przy pomocy jakiejś ikonki lub (broń boże) wyskakującego okienka ;)
Kolejna rzecz to sam mechanizm przełączania wersji - popularna
metoda polega na zapisaniu ciasteczka i przerzuceniu agenta na tę samą
stronę, która w zależności od zawartości ciasteczka wyświetli się w jednym
bądź drugim języku. O ile metoda ta działa dla żywych
odwiedzających, o tyle nie sprawdza się w przypadku robotów
i wyszukiwarek. Nieraz już zdarzało nam się poprawiać serwisy, których
klienci skarżyli się, że Google zaindeksował trzy czwarte podstron po
arabsku. Najlepiej, gdyby każdy dokument posiadał unikalny URI – to
zapewni pełne indeksowanie zawartości dla każdego z języków i zaowocuje
znacznie lepszą pozycją w wynikach wyszukiwania.Oprócz problemów czysto technicznych, istnieje jeszcze cała masa problemów logicznych. Są to między innymi:
- format wyświetlania dat (zależy to od kraju i niezależnie od
wybranego formatu, część ludzi będzie się zastanawiać, czy chodzi o pierwszego
lutego, czy drugiego stycznia)- sposób podawania godzin (konieczne jest wybranie i podanie strefy czasowej)
- dostosowanie formularzy (na zachodzie modne jest pytanie o tytuł, z jakim
należy się do klienta zwracać - niestety, tytuły takie nie
funkcjonują we wszystkich kręgach kultorowych, a tam gdzie działają,
ich liczba jest różna; amerykanie często popełniają błąd prosząc o zipcode
w angielskiej wersji serwisów, podczas gdy reszta świata używa
kodów pocztowych)Problemy te jednak znacznie odbiegają od głównej treści notki, więc
jeśli będę o nich pisał szerzej, to zdecydowanie przy innej okazji.
5 comments 28/10/2005