Ссылки о веб-разработке за октябрь 2014

доступность против поддержки браузеров

мы часто совершаем серьёзную ошибку, расставляя приоритеты задач при разработке сайтов. Мы говорим: «3% наших посетителей используют этот браузер, это вроде бы и мало, но они нам тоже важны, поэтому мы будем этот браузер поддерживать». Числа разнятся, это может быть и 1%, но где-то 5% — это гарантированный пропуск в список поддерживаемых.

ошибка состоит не в том, что мы помним про эти браузеры. Ошибка в том, что мы забываем о 10% людей, которые используют разные браузеры, но одинаково страдают от низкого уровня доступности наших сайтов. И это ещё оптимистичная оценка, есть цифры пострашнее. Microsoft провёл исследование "The Wide Range of Abilities and Its Impact on Computer Technology". По его результатам у 9% пользователей серьёзные проблемы со зрением. У каждого четвёртого «просто» проблемы со зрением.

сравните, сколько усилий вы затрачиваете на поддержку 5% браузера, с тем, сколько усилий вы прилагаете для поддержки 26% посетителей с нарушениями зрения. И 24% тех, у кого проблемы с точными движениями.

оптимизация перенаправлений

многие сайты используют перенаправление посредством HTTP-кодов 301, 302. По сути, сервер говорит клиенту «я тебя понял, но лучше запрос формулировать вот так». В этом не было бы проблемы, если б скорость света была бесконечной. А в нашей вселенной это приводит к дополнительному пробегу сигнала от клиента к серверу и обратно и потерям времени.

вчера вечером мне пришла в голову мысль, что для многих клиентов этот процесс можно было бы оптимизировать, отдавая конечную страницу сразу, но с маленьким куском яваскрипта, который делал бы подмену адреса на canonical URL уже в браузере. Утро вечера мудренее, и сегодня я хорошо представил разнообразные проблемы, которые от этого возникают. Зато понял, каким должно быть решение.

в spdy вроде уже есть, а в http2 должна быть поддержка server push. Так что в случае перенаправления сервер может просто сразу же писать в то же соединение ответ на ещё не случившийся запрос с правильным адресом. Чистота стандарта соблюдена, браузер получил всё необходимое с первым ответом сервера, все довольны.

← предыдущий месяц