Obecnie tempo powstawania nowych stron i aplikacji jest zawrotne. Korzystanie z sieci jest coraz łatwiejsze, szybsze i bardziej dynamiczne. Co więcej, uwalniamy się od kabli dzięki rozwojowi telefonów komórkowych z dostępem do internetu i kompaktowych netbooków, zapewniających nam połączenie ze światem niezależnie od miejsca, w którym się znajdujemy. Jednak to bogactwo internetowych zasobów ma również swoje wady. Zaawansowane techniki znakomicie działają w najnowszych przeglądarkach, obsługujących technologie oparte na CSS i języku JavaScript. Istnieje jednak mnóstwo urządzeń, które w najlepszym wypadku obsługują je tylko w ograniczonym stopniu, przez co wysiłki programisty mogą spełznąć na niczym. Projektanci i programiści stron internetowych muszą zatem pogodzić trzy wzajemnie wykluczające się cele. Chcą wykorzystać wszystkie dostępne i ekscytujące technologie, aby móc tworzyć przykuwające uwagę interaktywne strony, nie tracąc jednocześnie na ich dostępności. A wszystko to powinni osiągnąć, tworząc czysty i łatwy do utrzymania kod.