Вчера вышел 10й файрфокс. Для большинства разработчиков, это конечно не новость. Уверена, что все как и я давно следят за планом выхода на офф сайте: https://wiki.mozilla.org/Features/Release_Tracking. А те кто не следит, успели прочитать обзор на хабре.
Чтож, хотя это никому не интересно, я выскажу своё отношение к браузеру.
Файрфокс для меня и моих коллег - является инструментом №1 в работе. Кроме удобных расширений, типа web-developer toolbar, httpfox, и html validator браузер имеет ряд нативных инструментов, таких как подсветка кода, удобный style editor в nightly версиях и доступный в свежем релизе инспектор html. Так же огромным плюсом является низкое потребление памяти. Например для одинаковых 20 вкладок фф потребляет 330 мб, а свежий хром 585, т.е. почти в 2 раза больше. (В опере 383). Файрфокс более старый и привычный браузер, хотя UX-сотрудники mozilla всячески пытаются сделать его непривычным и отбить нелояльных пользователей.
Что касается частой смены релизов, которое так обсуждают на хабре, в духе "Опять новый фарфокс, вот в советское время он так часто не выходил", то я считаю частую смену мажорной версии нормальным решением. И кстати соответсвующим духу mozilla, вспомним, что браузер Netscape - пропустил выход 5й версии когда вышел ie6. Если почитать например про нумерацию версий программного обеспечения в википедии, то можно найти ряд ещё более экзотических примеров. Например Опера, по абсолютно глупым причинам с 10й версии указывает в строке User-agent - версию 9.80. А так, я считаю всем уже всё равно какой цифры браузер. Хотя конечно правильнее было бы выпускать одну версию в квартал, как планировалось, а не одну версию в 6 недель как сейчас. Мне кажется, что в будущем файрфокс либо будет именовать версии номером года и месяца (как убунта например), либо придумает новое название, как photoshop cs.
Какие-то революционные перемены должны произойти и в быстродействии. По моим субъективным меркам Файрфокс является весьма медленным браузером по сравнению с Оперой и Хромом. Дело в том, что несмотря на то что файрфокс выигрывет в скорости на ряде математических действий - работа с Dom и CSS у него поставлена весьма плохо.
Одним из таких изменений должен стать проект electrolysis, который на начальном этапе позволил сделать Out-of-process plugins, а в конечной позволит сделать Out-of-process tabs, как это сделано в хроме. Т.е. быстродействие конкретной вкладки перестанет зависеть от других вкладок и вообще от их количества.
Также разработчикам нужно серьёзно переструкрутировать их базу данных, например places.sqlite, потому что сейчас например работа с закладками превращается в кошмар, когда их собрано более тысячи штук. Пока что разработчики фф пытаются начать взаимодействие собственно с разработчиками sqlite чтобы оптимизировать работу с ней, либо вообще отказаться от этой библиотеки.
Что касается прочего быстродействия, то разработчикам нужно перестать гнаться за количеством багов, а смотреть на качество. В баглисте текущего релиза http://www.mozilla.org/en-US/firefox/10.0/releasenotes/buglist.html всего несколько багов затрагивающих быстродействие. Складывается впечатление что разработчикам проще писать новый код, чем вносить правки в старый. Неужели проще было вводить поддержку html5-элемента <bdi>, чем ввести поддержку input[type=number], или сделать хотя бы черновую поддержку других input элементов? Почему поддержка <video> и <audio> появилась довольно быстро несмотря на сырость, а по каким-то вопросам идёт многолетнее ожидание окончательной спецификации?
Ну и конечно заявление о том что большинство дополнений файрфокс теперь по-умолчанию совместимо с файрфокс - для меня звучит как шутка. =)
Я постоянно слежу за развитием любимого браузера, и всячески желаю ему скорейшего развития. Хотя пока поводов для радости мало, сейчас на рынке браузеров важна не скорость разработки, а ускорение - когда мозилла поправит все текущие баги и введёт новые фичи - хром введёт их ещё больше и разрыв между браузерами только увеличится.
Спасибо моим коллегам за помощь в написание статьи.
Сегодня, мой друг и коллега Cavin прислал мне ссылку на статью с хабра — «Браузеры запутались в блочной модели для таблиц». Я считаю, что эта статья в полной степени показывает мои мысли о том, что в россии специалистов любого профиля очень мало.
Пару недель назад вышел Файрфокс 4. Народ делал браузер полтора года, поэтому не написать о нём я не могу, Mike Beltzner обидится (шутка).
Похвала
Всю похвалу файрфоксу попытаюсь уместить в начале статьи, чтобы не мешать критике, но и чтобы никуто вдруг не подумал что мне файрфокс не нравится. О том, как я люблю файрфокс я и так регулярно пишу в статьях (не сарказм): файрфокс для разработчика незаменим, несмотря на встроенную в Chrome панель разработчика, у файрфокса есть плагины без которых невозможно жить: Web-developer toolbar, Html validator, Adblock, удобный лог js-ошибок, и кстати веб-консоль для разработчиков тоже прикрутили (плагины пока всё равно лучше), гугл кстати предоставляет некоторый функционал консоли Хрома, как расширение к расширению Firebug. Т.е. Файрфокс это очень добротная бронемашина, на которую можно легко поставить как пулемёт, так и межконтинентальные ракеты, не говоря уже о тюнинге в виде поисковых плагинов, скинов, и легкой раскраски вместо них (Personas).
Файрфоксом я пользуюсь уже много лет, потому что когда я наконец поняла что IE совсем плох, были альтернативы только в виде глючной оперы и надстроек над IE, вроде MyIE. Поэтому я пересела на Netscape 7, с него на тяжеловесный mozilla suite, а затем собственно на отколовшийся от него phoenix, который потом переименовали в firebird и наконец в firefox. И до сих пор довольна им. В 4 версии он достаточно хорошо поддерживает CSS3 и HTML5, у очень многих свойств из css-transition убран префикс -moz который использовался ранее, на этом похвалы браузеру хочу закончить. И перейти к основной части статьи
Критика FF4
Баги в программах, как известно, можно исправлять бесконечно. В файрфокс 4 разработчики настолько устали от полуторогодовой разработки браузера, что чрезвычайно спешили выпустить уже хоть что-то релизное. Последние пару месяцев руководство мозиллы вообще запретило заниматься какими-то багами кроме имеющих статус Blocking. К релизу не пофиксили даже их - полторы сотни остались незакрытыми.
Самый показательный баг - регрессия производительности при отображении главной страницы дополнений - about:addons, там в ифрейме грузится внешняя страница с сайта addons.mozilla.org, скроллинг которой ужасно тормозит даже на топовых компьютерах (баги 623615, 626536, 625253). В результате пользователи Firefox 3 сменят окошко удобного, быстрого и понятного менеджера дополнений на страницу, которая, во-первых, тормозит, во-вторых, плохо отображается в скинах версии 3го файрфокс. Да, вся куча скинов оказалась несовместимой с новой версией, а найти что-то хорошее из текущего выбора очень сложно. Тем же кто принудительно использует старые скины придётся терпеть некрасивый addon manager и отсутствие бекграундов под модальными диалогами js (alert, confirm, prompt).
В программе также были сделаны очень неприятные изменения в плане usability о которых я уже писала - это убрана строка состояния, и объединены кнопки stop-reload. Впрочем это можно пофиксить дополнением status-4-evar и перестановкой кнопок на панели навигации.
Планы развития Firefox
Планы развития браузера можно почитать на странице Firefox/Roadmap - MozillaWiki. Главное что мозилла, наконец решила выпускать более частые релизы. Это очень здорово, если конечно не продиктовано стремлением набрать номер побольше, а то IE9, Chrome 10, Opera 11... Просто это позволит быстрее поддержку новых возможностей для сайтостроителей, сейчас мы до сих пор должны писать -moz-border-radius пока все пользователи не перейдут на FF4. Не знаю, насколько это удастся команде разработчиков, но nightly билд уже имеет номер 4.2a. Команда наконец принялась разгребать малозначительные баги, каждый день исправляется по 40-50 штук (на rss исправлений можно читать тут Firefox Daily, уже год как читаю).
Будет развиваться проект Electrolisys разделяющий задачи и сущности браузера, начальным этапом был out-of-process-plugin который вынес всё отображение плагинов, таких как flash, из основного процесса браузера. В конечном итоге разработчики стремятся выделить каждую вкладку в отдельный процесс. И заодно улучшить расход за распределением памяти в них. Я думаю это будет здорово, потому что у меня обычно открыто 20-30 вкладок, и почему-то через некоторое время нужды памяти файрфокса увеличиваются и он начинает кушать гигабайт и в попытках умерить аппетит начинает кушать процессорные ресурсы, приходиться его перезапускать. Также это будет положительно влиять на стабильность и безопасность вкладок.
Большая ставка также делается на мобильные устройства и социальность. Ну куда ж без них.
P.S.
Вот в целом всё что я хотела сказать о файрфоксе на текущий момент. Обычно друзья и коллеги просят меня написать меня о чём-то конкретном, или провести какое-то исследование. Из более чем сотни моих читателей обычно комментариев единицы. Но это конечно не останавливает меня раскрывать тут профессиональные секреты и делиться опытом =). Написание будущих статей вы можете ускорить, попросив в комментариях написать меня на какую-нибудь конкретную тему. Например это могут быть:
Сегодня у меня философское настроение, и хочется посмотреть на известные всем графики и сделать очевидные всем выводы. =)
Реальное положение дел
Графики и данные я беру с сайта liveinternet.ru/stat/ru/browsers.html — там самая точная статистика использования браузеров в рунете. Точность статистики определяется числом счётчиков на сайтах, поэтому я не знаю как сайты вроде statcounter.com или netapplications.com могут показывать хоть сколько-то точные данные (хотя как ни странно данные очень близки). Итак, рассмотрим первый график, как изменилась популярность IE за последние полгода.
Как видно из графика — доля IE6 — всего за полгода упала в 2 раза — это здорово! С 6.5% до 3%.
Доля IE7 тоже упала в 2 раза, с 12% до 7.5% — шикарно! На графиках можно заметить что результаты ie7 почти повторяют результаты ie6 с разницей в год. Можно делать прогнозы.
Доля ie8 — за полгода не изменилась (разница всего 0.5%), можно ожидать медленный рост — как результат перехода людей с windows xp на windows 7.
Но прогнозы на данных за полгода давать сложно, давайте посмотрим как изменилась картина за 2.5 года!
Здесь можно дать прогноз на популярность IE в целом. В начале сентября сумма IE6+IE7+IE8 составляла 59.4% — это почти две трети рынка, ie был очень популярен. Сейчас суммарная доля опустилась до 27%, т. е. эксплорер занимает всего четверть рынка — он больше не король рок-н-рола. Браузер который когда-то обыграл netscape, сейчас стремительно катиться вниз.
И он не поднимется!
На это повлияло два важных события. Первое из них хорошо описал Джоэль спольски — в статье «Как Microsoft проиграла битву за API» (2005 год). Суть в том что Интернет Эксплорер — побочный, не прибыльный продукт, за его разработку Майкрософт ничего не получает; он похож на notepad и paint — есть более хорошие текстовые и графические редакторы. Наличие в операционной системе IE — совершенно не ключевой момент покупки этой системы, а вот сама windows — это основной источник прибыли MS, поэтому в попытке замедлить экспансию Web среди приложений майкрософт свернула все свои разработки в области dhtml и hta, и на пять лет оттянула обновление IE до седьмой версии. Результат мы видим сейчас — никто не хочет пользоваться браузером который на пять лет отстаёт от остальных. Даже IE9, по мнению сотрудников Mozilla отстаёт на пару лет. Лично я считаю что ie9 очень хороший браузер, но я не смогла его посмотреть, и это говорит о втором важном событии почему эксплорер сдаёт позиции.
Майкрософт не хочет поддерживать старые платформы. Корпорации очень-очень важно продать как можно больше свеженьких копий Windows 7, так что распространение нового IE9 для windows XP не входит в их планы. А на текущий момент распространённость windows XP в два раза больше чем windows 7. Теперь давайте посчитаем, сколько пользователей может перейти на новый ie9 — из пользователей старых версий IE это сможет сделать только треть, если очень захочет конечно. На практике пользователи ie6 и ie7 должны переставить операционную систему чтобы пользоваться ie9, а они не захотят, потому что не поставили даже ie8. Также я не знаю ни одного примера кто перешёл бы с альтернативных браузеров обратно на IE, ведь для этого IE должен быть «ну очень хорош». Я сомневаюсь что доля ie9 когда-нибудь достигнет хотя бы до 10% в россии.
А пока давайте радоваться, ie6 умер, ie7 умрёт к концу года, чем не праздник =).
Сегодня мы прикрутили к блогу поиск. Сам модуль поиска в движке был, но он искал только в обычных страницах и каталоге, а по новостям не искал. Сейчас ищет - это здорово. Адрес http://usabili.ru/search/news/. Будем считать это подарком бложику на двухлетие.
А теперь собственно обещанная вам 23 февраля статья.
Сейчас я поведаю вам о технологии Opensearch, с которой я играюсь уже неделю. Эта технология позволяет для любого сайта содержащего поиск, интегрироваться в панель поиска браузера. Особенность также в том, что поиск можно не только интегрировать как саму форму, но и обозначить страницу с которой можно загружать поисковые подсказки (suggestions). Например в Firefox это выглядит так:
За последний год, мной было найдено множество багов в браузерах, во время вёрстки, поэтому, чтобы вы не думали что я ничем не занимаюсь, я хочу привести некоторые из них.
Восьмого апреля компании Мозилла, Опера и Майкрософт подали на рассмотрение в W3C спецификацию формата файла "WOFF File Format 1.0". Заявка была опубликована 19 апреля http://www.w3.org/Submission/2010/03/.
Производители браузеров и растущее количество производителей шрифтов договорились на общий формат веб-шрифтов, который завершит эру кроссбраузерной несовместимости, начавшуюся когда IE4 и Netscape 4 впервые добавили поддержку загружаемых шрифтов в 1997.
В то время, и Microsoft и Netscape разработали несовместимые друг с другом решения. Netscape поддерживал, (и в последствии отказался) формат Bitstream’s Portable Font Resource (PFR). Интернет эксплорер использовал формат Embedded Open Type (EOT).
Десять лет спустя, Apple добавила в WebKit и Safari возможность подключения сырых шрифтов, т.е. TrueType или OpenType. Firefox и Opera последовали примеру, но использование было на практике ограничено бесплатными шрифтами и специальными сервисами обфускации типа Typekit, так как производители шрифтов категорически против того, чтобы позволять их интеллектуальная собственность была размещена "как есть" на страницах. Обычно большой размер файлов и различия связанные с поддержкой HTTP компрессии у разных пользователей добавили практических проблем.
В марте 2008, Microsoft подала заявку на стандартизацию EOT в W3C. Несмотря на большое количество существующих установленных EOT-совместимых IE, большое количество разногласий помешали формату Microsoft стать стандартом шрифта для веба.
Летом прошлого года, усилиями дизайнеров Тала Леминга (Tal Leming) и Эрика ван Блокланда (Erik van Blokland), и представителя Мозиллы Джонатана Кью (Jonathan Kew), появился WOFF - открытый формат сетевого шрифта, уже содержащий в себе компрессию. Если сравнивать формат с обычным сжатым в gzip форматом TTF или OTF, новый формат не сильно отличается, однако я думаю, что изначально сжатый формат будет очень полезен тем, кто ещё не научился настраивать gzip на сайте.
Напомню что начиная с версии 3.6 файрфокс понимает этот формат, и рекомендует его для использования. В опере и эксплорере данная поддержка появится в будущих версиях.
Также файл может содержать в себе метаданные в формате XML, полезные чтобы получше узнать что это за шрифт и откуда.
Целый месяц не писала, но сегодня спешу вас порадовать товарищи, т.к. знакомый многим Эрик Мейэр (http://meyerweb.com/eric/), редактор CSS3, добавил в спецификацию CSS3, предложенные специалистами (IE-team) из майкрософт, новые атрибуты. Эти атрибуты уже долгое время используются в браузере Internet Explorer, сами разработчики рассматривают их как дополнение к CSS2.1. Вот краткий список этих атрибутов по группам.
-ms-interpolation-mode (надо сказать, что в других браузерах этот атрибут всегда принимает значение bicubic, равно как и в блоках со значением zoom: 100%;)
Те кто использует альфа версию firefox 3.7 знают что разработчики решили для вставки флеша и прочих гадостей использовать отдельный процесс. В windows он называется mozilla-runtime.exe.
В будующем это позволит экранировать всякий флеш и т.п. от контента браузера. Примерно как предписывается обрабатывать iframe в html5. Что-то типа песочницы (sandbox).
Поскольку этот плагин только недавно появился, то имеются недочёты. На сайтах с флешем, или swfobject - он грузит процессор на 100% (одно из ядер). Когда его прибиваешь, всё нормально.
Я прочитала, что если по каким-либо причинам вы не хотите пока использовать эту особенность, то можете отключить её настройкой в about:config