Bullsh*t  in buzzword

Pisanie aplikacji webowych ma to do siebie, że czasem różne przeglądarki reagują na nie w nieco nieoczekiwany sposób. Problem może wynikać z błędnej implementacji CSS, z różnic w dostępnych funkcjach JavaScriptu, czasem przyczyną może być też populacja poszczególnych gatunków motyli w Australii (ukłon w stronę domyślnej przeglądarki Microsoftu). Najczęściej wynika jednak z zastosowania czynnika ludzkiego w procesie budowy owych aplikacji i usunięcie usterki sprowadza się do zrobienia czegoś TheRightWay™.

Jeśli boisz się, że twoja aplikacja nie zadziała na niczym poza dwoma testowanymi komputerami, to masz poważny problem. Albo cierpisz na paranoję, albo faktycznie aplikacja nie nadaje się do publikacji nawet w fazie alfa. Jeśli jednak uważasz, że wykrywanie przeglądarek innych niż testowane jest remedium na twoje bolączki, to masz już dwa problemy.

Po pierwsze, nigdy nie przetestujesz aplikacji w każdej konfiguracji przeglądarka + system operacyjny. Nawet gdyby się okazało, że wszędzie działa bez problemu, jeżeli nie pozwolisz ludziom tego sprawdzić, to wątpliwości pozostaną do końca życia. Ludzie, którzy w towarzystwie cieszą się największym autorytetem komputerowego guru i — tym samym — mają największą szansę zareklamować twój produkt wirusowo, często używają mniej popularnego oprogramowania. Ograniczając się do najpopularniejszej trójki, odcinasz się od nich na zawsze.

Po drugie, wyrzucanie gości, jeszcze zanim przekroczyli próg, to bardzo niegrzeczna metoda na powiedzenie komuś mamy was tam, gdzie słoneczko nie świeci. Jeśli aplikacja może rozpadać się na tyle, że nie da się jej używać, to wystarczy grzeczne ostrzeżenie, że za tabliczką spacery odbywamy na własną odpowiedzialność. Dużo więcej zyskasz, jeśli użytkownicy będą mieli szanse zgłosić konkretne usterki. Pomyśl, ile czasu twoi pracownicy muszą spędzić na szukaniu usterek przy dodawaniu obsługi kolejnej przeglądarki. Teraz pomnóż to przez liczbę zaangażowanych testerów i podziel przez liczbę użytkowników aplikacji. Trochę mniej, prawda? Użytkownicy pracują dla ciebie za darmo.

Jeśli jesteś pewien, że twoja aplikacja nie działa poprawnie z konkretną przeglądarką, to masz dwa wyjścia:

  1. Napraw aplikację. Z biznesowego punktu widzenia to jedyna sensowna odpowiedź na powyższy problem.
  2. Jeśli powyższe nie ma sensu, to wykrywaj przeglądarkę, w której aplikacja nie ma szans zadziałać, a nie te, w których testy przeszły pomyślnie.

Do upartych, jak autorzy pokazanego we wstępie buzzworda, apeluję, by przynajmniej wykrywanie zaimplementowali prawidłowo. Gecko to Gecko, czy będę używał Firefoksa, Flocka, Słitaśnej Przeglądarki Patrysa i niezależnie od systemu operacyjnego.