Pull to refresh

Comments 168

Подскажите пожалуйста, есть ли какая-нибудь методика определения «тяжести» баннера? Или стоит только на показатели своего компьютера ориентироваться?
К сожалению, я пока что не встречал методики оценки «тяжести» баннеров. Но мы можем определить основные тезисы в этом топике ;)
Я могу предложить ориентироваться на процессоры Intel Atom, которые сейчас активно используются в нетбуках. Они ведь в первую очередь предназначены для веб-серфинга.
Кстати, радует что баннеры на Хабре достаточно скромны по ресурсоемкости.
UFO just landed and posted this here
Да Вы вспомните банер с крутящейся пачкой денег в правой части экрана! Он был чрезвычайно прожорлив! Сейчас вроде я сменил системник на новый и не замечаю таких банеров. А тогда на 3000+ Атлоне он у меня показывал 100% нагрузку.
Флеш-баннер как ещё один повод проапгрейдить комп. Будущее становится страшным :)
Это не вы комп сменили — это они обновли баннер. У меня раньше тоже на 6000+ он тормозил
Думаю, что в качестве критерия отбора самых тяжелых мультяшек, можно анализировать площадь подвижных элементов во флеш-ролике, а также суммарную площадь полупрозрачных элементов, и количество слоев, отображаемых сквозь полупрозрачные элементы.
Мне кажется, довольно сложно это все анализировать на глаз. Нет, конечно, я-то лично смогу увидеть, тормозит ли этот баннер или нет. Но ведь нужно еще и рекламодателю как-то это объяснить.
Так ведь не на глаз мерять, а скриптом, который посчитает эти параметры флешовины.
достаточно и одного Bitmap с несколькими сточками кода чтобы нагрузить машину под завязку. так что количество мувиков и прозрачноесть не критерий, особенно ежели для них включен bitmap cache
В требованиях к флэш-баннерам в Яндекс.Реклама: advertising.yandex.ru/trebovaniya3.xml
Для тестирования уровня загрузки процессора рекламными материалами используется специально выделенный компьютер (Intel Pentium M processor Ultra Low Voltage 753, тактовая частота – 1,2 ГГц, 512 МБ оперативной памяти и 8-128 МБ видео памяти) c установленной Windows XP. Компьютер настроен стандартным образом для работы в офисе.
Для тестирования загрузки процессора загружается специальная страница, содержащая только тестируемый баннер. Другие программы при этом не запущены.
Для оценки загрузки используется стандартный TaskManager.
При таком тестировании баннер не должен потреблять более 50% процессорных ресурсов согласно данным в закладке Performance в Task Manager (UpdateSpeed установлен в значение High).
Считается, что баннер требует слишком много ресурсов, если загрузка более 50% ресурсов процессора происходит в течение заметного времени (доли/единицы секунд) или максимальная загрузка процессора в пике составляет более 70%.
Оптимизация использования оперативной памяти не производится, дополнительные утилиты или резидентные программы при старте не загружаются. После входа в систему объем памяти, занятой различными системными процессами, составляет порядка 62-63 МБ по данным Task Manager.
ИМХО 50% ресурсов на один баннер — перебор. Если пара таких баннеров встретится на странице, у пользователя не будет возможности пользоваться сайтом без трудностей.
Я бы указал нагрузку не более 40% в пике и не более 10% в среднем на таком процессоре.
Да, вот это уже хоть какая-то попытка стандартизировать отбор. 50% на один банер много, мне кажется. Хотя и процессор по нынешним временам не сильно мощный.
зато на ноутах сейчас стоит полно менее мощных атомов.
40% все равно многовато.
10 в среднем. 40 — в пике. Я думаю это вполне адекватно.
Если пара таких баннеров встретится на странице
Ладно на странице, а у кого открыто по 10-15 закладок? :)
флэш с неактивных страниц выполняется с меньшим приоритетом.
Тем не менее выполняется, причём, судя по нагрузке, выполняется он с меньшим приоритетом только внутри браузера — один браузер с… тью вкладками пытается забрать весь процессор, браузер и игра делят его примерно пополам, одна игра берёт порядка 75%.
под линухом один флеш рендерит все страницы, т.е. больше чем определенное количество процессора оно не съест
Простого способа отдать всему флэшу не более, чем, например, 20% CPU (при наличии другой нагрузки) всё равно нет. Браузер со флешом в 20-ти неактивных вкладках и какая-нить другая прога будут (по дефолту) делить процессор поровну.
имхо стоит принять методику «кушает Х% ресурсов на eeepc 100х ХХ». Ведь именно это — наиболее подходящая по мнению вендоров конфигурация для серфинга обыденных сайтов.
для firefox есть аддон flashblock выводит вместо любого флэша кнопку для запуска по желанию. соответственно рекламы меньше и ресурсы системы(заряд батареи ноутбука например) тратятся меньше
Если кто, как и я, первый раз об этом аддоне слышит — прямой линк https://addons.mozilla.org/ru/firefox/addon/433 — реально систему разгружает при открытых 30 вкладках (из них 10 хабр :) )
Спасибо. А я про него как то и забыл совсем :(
Совсем память дырявая стала :(
Кстати, такое же чудо имеется и для Хрома.
офтоп, конечно, но я так и не понял как ставить расширения для Хрома — папку Extensions вижу, но никакого интерфейса в самом Хроме для работы с ними не нашёл — что я делаю не так? Версия —
«Вы используете самую последнюю версию Google Chrome (3.0.195.33)»
Нужно ставить бету 4й версии. В меню с гаечным ключом появится пункт «Расширения».

Ставятся расширения щелчком по ссылке на расширение в браузере.
Вот оно что, спасибо
Да, я не очень люблю этот аддон но вынужден им пользоваться, потому что с ним стало _возможно_ пользоваться многими сайтами.
вот за это я и люблю всяческие баннерорезалки! (noscript)
Без них вообще в интернет нельзя ходить последние годы.
если поставите ещё себе flash debug player, которым мне необходим, с ним вообще невозможно, тонны ошибок лезут как тараканы с каждого баннера
Надо еще учесть, что в Макоси и Линуксе флеш ещё в 2 раза сильнее тормозит.
Так и сделал: в Camino (вроде тот же Firefox, только назад пуговичкой) выключил отображение флеша.
вы счастливый… по моему этот форум уже положили, и не протестим даже)
как-то око за око получилось)
Кстати, давно мучает вопрос. Вы не знаете причину того, что загрузка показывается больше 100%? Это макосевый ps так на два ядра реагирует? Или политика самой макоси в отображении загрузки проца такая?
Хм, не сказал бы 10, с включённым аппаратным ускорением летает… Не думаю что в винде быстрее!
Как думаете, куда лучше переместить: в веб-разработку или в flash?
лучше оставить в клиентской оптимизации :)
браузер с flashblock'ом разве не выход?
Да, но это устранение последствий, а причин. Не все ведь пользователи пользуются подобными расширениями.
да, но все-таки это доступная и реальная опция, нежели предложение о стандарте флеша.
Медитации всегда отнимают много сил :)
В нашей фирме флаш отдел так и называем — «бенчмарк отдел».
На подконтрольном мне сайте я всячески отпинываюсь от предлагаемых флеш баннеров. Ибо они — зло. И должны отмереть как класс. Именно из-за своей прожорливости.
Если бы… Пока есть спрос — не умрут (
UFO just landed and posted this here
Я склонен считать тормоза Flash проблемами самой технологии Flash. Не настолько все сложно, чтоб столько ресурсов жрать. Не у всех дуалкор, у некоторых нетбуки с атомом и это необходимо учитывать. По-моему технология Flash уже давно нуждается в оптимизации
Да, флеш не совершенен. Но куда более не совершенны руки баннероделов. Баннеры — чаще всего первое (еще чаще и последнее), чем занимаются юные флешеры. Отсюда тысяча багов, триллионы непонятно откуда взявшихся ключевых кадров, маски в масках масками погоняют и т.п. У грамотных флешеров и баннеры нормально бегают.
Криворукие никуда не денутся. Это аксиома. Довольно простая (с точки зрения криворуких) технология = масса тормозных роликов.

Я все же склонен считать, что раз проблема существует (пусть дело и не в самом Flash) то стоит придумать методы ограничения влияния тормозов Flash на систему в целом. Кривой ролик пускай себе тормозит, это не должно сказываться на работе браузера и ОС.
UFO just landed and posted this here
Было бы неплохо, если бы не активный flash ролик мог тратить не более xx% процессорного времени, а активный (на котором сейчас фокус) — сколько нужно (для flash-игр). Но на сколько я понимаю технической возможности относительно просто это сделать нет.
Зато точно можно сделать, чтобы все потоки, созданные флэшем, имели idle приоритет. В таком случае процессы с нормальным приоритетом не подвисали бы в случае чего…
Лучше бы, чтобы неактивный ролик останавливался совсем

Ибо смысл? Кому показывать будем?

Но на сколько я понимаю технической возможности относительно просто это сделать нет.

мм… на основании чего-то файрфокс (к примеру) запускает же процесс плеера?
Кстати да, наверное в 90% случаев ролик на не активной вкладке, свернутом окне и т. п. никому не нужен. Но, например, слушать иногда хочется музыку в фоне, а флэш проигрыватели сейчас распространены — кастомизация нужна, типа опции «Play in background»
у грамотных флэшеров баннеры в гифках :)
Благо стандарту 20 лет уже с гаком :)
Проблема не в самом флеше. Я видел очень тяжелые по графике флеш-игры, которые жрали относительно немного ресурсов. Проблема в криворуких баннероделах, которые ни какпли не думают о том, сколько ресурсов жрет их баннер.
у меня танкионлайн при 100% загрузке одного ядра выдают всего 15фпс :(
Так там же «три-дэ» на пол экрана :)
Проблема в криворуких баннероделах, которые ни какпли не думают о том, сколько ресурсов жрет их баннер.


Но куда более не совершенны руки баннероделов. Баннеры — чаще всего первое (еще чаще и последнее), чем занимаются юные флешеры.


фокус заключается в том, что по мере выпрямления рук «юный флешер» переходит с банеров на «прожорливые игрушки», а вакантное место барнероклепателя заполняется таким-же криворуким падаваном как и предыдущий некоторое время назад. потом его руки становятся еще прямее, игрушки тормозят меньше и он переходит на очередную ступень вверх, а его место занимает бывший банероклепатель, место которого занимает очередной косолапый неофит.

просто так делаются банеры — за копейки и неквалифицированным персоналом.

за сим ограничения на ресурсы перспективнее. а если конкретному приложению нужно больше ресурсов — пусть просит у юзера. как доступ к камере или микрофону.
>а если конкретному приложению нужно больше ресурсов — пусть просит у юзера. как доступ к камере или микрофону.

Хорошо бы это относилось не только к флэшу :)
Угу, вот попробовали сделать запрос административных привилегий для приложений — UAC. Сколько было возмущений вплоть до истерик, помните? ;) А ведь это вещь которая крайне редко нужна приложениям.
А вы предлагаете сделать аналогичную штуку для запроса системных ресурсов? :)
Ну не настолько буквально, что каждый такт процессора надо разрешать. Но от какого-нить настраиваемого средства задающего вопрос «Приложение XXX использует 100% CPU уже N секунд. Хотите ограничить использование CPU этим приложением работе других приложений» я бы не отказался. Сейчас приходится возиться с приоритетами в Диспетчере задач, но слишком грубо получается, да и неудобно.

P.S. Чего мне в UAC не хватает, так возможности конкретному приложению разрешить навсегда «вносить изменения на компьютер», или каждый раз разрешать, или разрешить всем раз и навсегда
Как вы думаете, многие ли пользователи способны на понимание таких возможностей и многие ли будут их использовать? А ведь такие проверки — это тоже нагрузка, причем для большинства она будет лишней. Когда в следующий раз будете выставлять приоритеты, обратите внимание на загрузку процессора самим диспетчером задач.
Функционал ограничения ресурсов уже реализован в Resourse Manager, но недаром он присутствует только в серверных ОС и отключен по умолчанию — накладные расходы на отслеживание и контроль ресурсов весьма велики, не говоря уже о сложности настройки.

>P.S. Чего мне в UAC не хватает, так возможности конкретному приложению разрешить навсегда «вносить изменения на компьютер»
Дело в том что UAC был создан не только для безопасности, а еще и для того чтобы повлиять на разработчиков, чтобы те писали безопасные приложения. А они очень ушлые ребята. Если бы описываемый вами функционал был реализован — приложения при установке просто прописывали бы своим исполняемым файлам такую опцию, и их пасьянс продолжал бы отлично работать используя административные привилегии без всяких переделок ;)
Насчёт контроля ресурсов я понимаю, хочется просто иногда помечтать, чтоб компьютер делал ровно то, что тебе хочется, а не то, что ему в голову взбредёт, пускай и по моим указаниям, а то получается «заставь дурака Богу молиться — он и лоб расшибёт» :)

Насчёт UAC — может неправильно выразился, хочется чтобы когда спрашивает в первый раз была галочка «запомнить мой выбор для этого приложения», а не чтобы они там сами что-то прописывали.
>компьютер делал ровно то, что тебе хочется
Я думаю прогресс двигается именно к этому :)

>хочется чтобы когда спрашивает в первый раз была галочка
Состояние галочки должно где то сохраняться. Авторы установщика сделают это за вас, не показывая никакой галочки. Зачем лишний раз дёргать пользователя? Конечно он хочет пасьянс с административными привилегиями ;)
Система может запретить программам изменять эти данные программам без привилегий.
Я не просто так упоминал слово «установщик». Если в случае с баннерами это конечно можно сделать, в случае с софтом — практически нереально. Вы всё равно дадите административные права установщику чтобы поставить программу.
>Я думаю прогресс двигается именно к этому :)

По-моему ровно наоборот, если в уже далеком 89-м на Радио-86РК я знал чуть ли не с точностью до бита в IP, что в данный момент делает комп, в MS-DOS был процентов на 90 уверен, какая программа тормозит, то в последних версиях Windows и Linux я толком не знаю, какие процессы/сервисы/демоны запущены, не говоря о том, что не подозреваю за что они отвечают.
Ну это значит лишь то, что вы стали гораздо меньше разбираться в устройстве ОС. Что вобщем нормально, потому как они во-первых стали сложнее, а во-вторых они всё же удовлетворяют гораздо больше желаний пользователя не требуя от него понимания «как оно работает». Вот к примеру, IPv6 — гораздо сложнее чем v4, однако не требует практически никакой настройки на конечных точках.
Такая штука была несколько лет назад в KDE — апплет отслеживал вильно грузящие проц приложения и предлагал их убить. Но так как КДЕ сама по себе тормозная, то это окно выскакивало периодически, чем немало раздражало юзера.

И вообще, это не выход, то, что вы предлагаете, т к юзера это отвлекает, и крооме того, сама по себе загрузка процессора не опасна — запустите в фоне например консольное приложение, считающее число пи, у вас по прежнему все программы будт нормально работать. Проблема в том, что флеш мешает работе браузера, видимо из-за особенностей архитектуры.
Все очень просто. Грамотные флешеры весь вектор отрисовывают в битмап либо ручками, либо через BitmapData, а безграмотные еще и продублируют 25 громоздких векторных элементов вне зоны видимости, но в области прорисовки. Вне зоны видимости — это значит, что за границами видимой сцены.

Приведу небольшой пример. Тот баннер, что на мобайл-ревью находится по этой ссылке:
тынц!

Внимание вопрос: зачем же такой размер баннера и столько векторных элементов, если можно обойтись меньшим? Что я говорил про область отрисовки? Правильно. Вот пример криворукого баннеромейкера.

Хинт: Как увидеть векторные элементы? — они гладенькие и красивые. А растровые — пикселованые при изменении масштаба.
мда уж точно. а так как плеер скоро будет задействовать железо на новом уровне, то скоро думаю простым баннером можно полностью затормозить всю систему, так что синие экраны из-за флеша скоро станут реальностью
У меня уже файрфокс падает иногда :(
UFO just landed and posted this here
но все таки в флеше есть и плюсы… Машинариум, саморост… и все :(
Quake Live еще вроде на флеше.
Не на флеше он. Там свой отдельный плагин ставится.
Вот за это я и не переношу флэш.
Не подскажете как бы в хроме (или в опере) под линухом получить функционал аналогичный flashblock под FF?
Чтобы по умолчанию весь флэш был отключен и включался только по желанию.
для хрома есть плагин
Ну вы меня удивляете: хром под линукс поставить смогли, а поставить расширение chrome flashblock уже не можете.
UFO just landed and posted this here
Лечим проблему головной боли гильотиной? :)

Была где-то в сети «человеческая» блокировка флэша в Опере средствами то ли UserCSS, то ли UseJS, с возможностью подгрузки нужного ролика. Первая же нагугленная ссылка. Ещё много всего можно нагуглить по запросу «opera flash block» :)
<offtop>Забавно: лисоводы учат опероводов блокировать флэш в Опере %)</offtop>
UFO just landed and posted this here
«Блокировать только то что хочешь заблокировать» — эдак замучишься каждый баннер (или хост) в блокировку добавлять. Вариант «заблокировать все, но при желании показывать нужные» по-моему выглядит немного привлекательнее.
UserJS — выполняется при каждой загрузки страницы — лишние тормоза (которые скажутся например при восстановлении 30 вкладок) — лучше имхо, в настройках отключить флеш, а на ютубе включить ручками в свойствах сайта.

Да и вообще концепция UserJS имхо дурная (выполнение при загрузке страницы, часто они много ходят по ДОМу, а ведь страница может быть большой) — накапливаясь у пользователя, они делают работу браузера медленнее и медленнее.

Ну а urlfilter — суем туда счетчики статистики, Яндекс- и Гугл-рекламу — уже половина сайтов быстрее грузиться будут.
>UserJS — выполняется при каждой загрузки страницы — лишние тормоза (которые скажутся например при восстановлении 30 вкладок)

По сравнению с восстановлением сессии с неотключённым флэшем эти «тормоза» покажутся сущим пустяком ;)
Естественно, всегда есть более радикальные варианты, приводящие к ускорению загрузки страниц:
* отключить флэш в настройках (как Вы сказали);
* вообще удалить флэш (как говорили выше);
* отключить ещё и JS вдобавок;
* выкинуть Оперу и поставить lynx;
* выкинуть компьютер.

Каждый сам выбирает наиболее подходящий вариант :)
Эмм, в опере флеш отключается «из коробки», можно также настроить работу флеша только для отдельных сайтов. Еще в опере есть встроенная фильтрация контента по url-маске — можно отключить конкретный флеш на любимом сайте.
Операсты и сами знают свой браузер
Я в курсе, что есть фильтрация контента по url-маске и всё такое, но…

>в опере флеш отключается «из коробки», можно также настроить работу флеша только для отдельных сайтов.

Я говорю о возможности включить определённый ролик по желанию. Не «ролики на отдельном сайте», а «отдельный ролик на сайте» — почувствуйте разницу. Т.е. грузим сайт — флэши не грузятся, но стоят «заглушки», по клику на каждую из которых ролик таки подгрузится (сходили бы по ссылке ради приличия, там же всё показано).
UFO just landed and posted this here
И еще с машинками вроде тоже был не фонтан.
UFO just landed and posted this here
Какой-то совсем страшный банер — он грузит все ядра проца.
Как бы не было каким-нить maleware или распределенкой.
Согласен про то, что страшный. На моем Core2Quad @2.4 тоже все ядра практически под 100%…
Поставил вам плюс, т.к. в поседней вкладке открыта именно эта страница с форума онлайнера с этим же самым баннером, от которого едва удалось удрать: машина вообще не реагировала на мои действия. В таком же недоумении.
UFO just landed and posted this here
Ответ почему первый баннер грузит процессор и все его ядра.

Флешка написана на AS2. Кружочки вокруг мидитирующего чела реализована вот таким кодом:

На цифры 5.000000E-001 не обращайте внимания, это нормальные числа, просто декомпилятор их так отображает.

FPS для ролика стоит 40. То есть каждые 1/40 секунды выполняется код с циклом.

Вся анимация построена с помощью библиотеки анимации TweenLight. Она не самая быстрая, но все же за счет большого количества анимации с прозрачностью и положением (x/y) приносит свои тормоза. Тип анимации — easeIn/easeOut/easeInOut, тоже не быстрые при работе.

Код ужасен. На мой взгляд было правильным для баннерно-обменных сетей иметь хорошего AS программиста, и баннеры отправлялись не скомпилированными, а в виде исходных кодов, которые этот программист мог бы просмотреть и проверить. К тому же мне не понятно, есть в баннерных сетях проверка что и куда отправляет флешка. Думаю написать микромодуль для баннера, чтобы загружать откуда нибудь урл сайта для DDOS и направлять на него множество запросов на загрузку, проще простого.
декомпилятор только под виндой есть?
а то можно было бы автоматизировать оптимизацию Flash :)
Нельзя, даже бы если был. Во флеше очень многое зависит от версии плеера в котором выполняется код, а на данный момент для разработчиков целевыми являются 9 и 10 семейство плееров (около 40 подверсий на обоих). Часто тормоза при исполнении появляются в неожиданных местах и в коде который в предыдущих версиях плееров отрабатывался быстро.
с Javascript ситуация еще хуже, однако есть Google Compiler :)
О нет. Я имею дело с обоими технологиями. Вы себе приставить не можете бешенство разработчика, когда создается программа скажем в течении года и перед самым выпуском Адоб, вываливает новую версию плеера с пофикшеным мажорным багом безопасности (следовательно советует всем обновится). И в ней ваш по максимуму оптимизированный код работает в несколько раз хуже. И понять почему, и где что менять не знаешь, а если продукт over 9000 строк кода, это вообще ад.

Кстати отношение к флешу как к тормозной технологии проистекает именно из этого (ну и плюс криворукие разработчики, которым пофигу как работает приложение — стандартная отмазка «У меня все работает хорошо»). Я сейчас как раз работаю над фреймворком (правда это скорее библиотека с слабосвязанными частями или совсем не связанными), которая позволяет на низком уровне (в обход конечного разработчика), обходить косяки адоба, и использовать наработки по оптимизации, до которых разработчики доходят через 2-3 года программирования.
будет весьма интересно взглянуть
Пока проект в состоянии альфы. Сейчас я работаю над системой UI компонент, в принципе это единственное, что отделяет проект от публичной беты. Если интересно, в профайле есть мой скайп.
Новость на хабре будет? ;-)
flasm и flare есть под никсы. до 8-й версии SWF разбирают довольно толково. flasm — дизасемблер, flare — декомпилятор. собирать обратно можно flasm'ом или mtasc'ом
Сначала подумал, что вы автор этого ужаса )
Нет, что вы. Я б себе за такое руки откусил.
обе за один укус? :)
это невозможно анатомически, даже одну придется некоторое время грызть.
Из практики: во многих баннерных сетях баннеры настолько не-тщательно модерируются, что можно, например, сфокусировать на какой-нибудь вполне приличный ресурс показ баннера, который отлично пройдет сегодня модерацию с тем, чтобы в полночь, подобно оборотню :), превратиться в «сиськи-письки, ткни меня сюда».
Странно, зачем там 40 FPS, неужели 15 для баннера не хватило бы?
Зато он обновляется быстрее, чем это замечает человеческий глаз… в теории… и видимо, только у мейкера в пробирочных условиях. Другой причины не вижу.
> На мой взгляд было правильным для баннерно-обменных сетей иметь хорошего AS программиста

А вы уговорите хорошего программиста (например, из студии из теглайна :) ) рисовать баннеры за $3 или отзыв?))
я думаю это реально, если упрашивающий будет блондинкой с 5м размером :)
Мысль в другом, по-моему, была — анализировать (и отклонять при необходимости) код баннеров, предоставленных клиентами
UFO just landed and posted this here
они уже есть :) Особенно, в западном интернете: видимо, у них холоднее :)
У них Рождество раньше на неделю, чем у нас НГ
Именно Онлайнер в свое время окончательно убедил меня установить баннерорезку. Что-то не очень хорошо там с баннерами. :(

В реальности, бороться с этим ###ном можно, наверное, только одним способом: распространяя на всех профтусовках информацию о том, во сколько раз дороже привлечь 1 нового посетителя по сравнению с тем, сколько можно заработать на 1 показе ###нобаннера, после которого пользователь плюнет и найдет более дружественный ресурс. Причем аналогичную же работу надо вести и в среде заказчиков этой дряни.

Наверное, пора все-таки собраться и сделать бесплатно распространяемую презентацию в жанре «ужас рекламодателя: как ваша интернет-реклама отпугивает ваших же клиентов»
Людям, которые полстраницы завешали баннерами не особо нужны эти посетители. у них 50 таких проектов, каждый дает по 1000 р — вот и прибавка к зарплате.
не отключай баннеры — поучавствуй в глобальном потеплении!
А когда-то на страницах были файлы gif, а когда-то даже не анимированные :)
Вы удивительно терпеливые люди. Я уже давно хожу по интернету Оперой с фильтром самых наглых сетей, отключенным флешем и яваскриптом (иногда еще и без картинок) — и нарадоваться не могу. Ессно, на адекватных сайтах типа ютуба флеш включен.

На livejournal и habrahabr без яваскрипта тяжко, потому пришлось мерзкие баннеры вручную внести в бан-лист :) Стоит ли говорить, что Яндекс- и Гугл- реклама, как самая популярная, там уже давно?

99% сайтов флеш не нужен (ну только если вы не поклонник современных низкобюджетных рекламных технологий).

за отключенный JS все веб-разработчики дружно посылают Вам луч ненависти: прикиньте, им сайты еще и для таких, как Вы, делать нормальными :)
А что я им должен посылать за мигающие картинки и текстовую рекламу посередине нужной мне статьи?)) Или пользоваться их никому не нужным аяксом, которым они пытаются скрыть плохо написанный и тормозящий код (и из-за которого не работает функция «открыть в новой вкладке»)? Или ждать пока загрузятся 10 яваскрипт-файлов (поверьте, это не редкость), чтобы увидеть наконец страницу?

А еще бывает, что из-за ошибок в яваскрипт-коде в некоторых браузерх страница не отображается ((

А вот разработчики, использующие graceful degradation, выигрывают вдвойне: и пользователи вроде меня рады, и поисковые роботы :) А уж разработчикам, избегающим возможности использвоания яваскрипта, надо памятник ставить, их так мало осталось!
>А что я им должен посылать за мигающие картинки и текстовую рекламу посередине нужной мне статьи?))

Благодарность (в виде клика по рекламе) за создание/публикацию нужной вам статьи ;)

Насчёт чистоты, скорости и т. п. кода многих сайтов согласен, а вот насчёт аякса и поисковиков — в реальных проектах не использовал, но для экспериментов стратегия типа «в html коде страницы должен быть только контент, навигацию и прочую UI „муть“, включая рекламу и т. п., грузим аяксом» вполне хорошо себя показала — сайт с аяксовой навигацией был выше в выдаче, чем с обычной хетемеловой. Нагрузка на разработчика правда выше, особенно при желании организовать кешерования менюшек и прочих фич на обеих (клиент и сервер) сторонах, чтобы избежать по… дцать http запросов и n*… дцать SQL при каждой загрузке страницы.

А вот проблема graceful degradation практически (насколько я смог разобраться) не решаема в общем случае. Вот если бы можно было гарантированно определить поддержку JS клиентом в момент запроса страницы на стороне сервера, чтобы моментально определить какую версию ему давать (да еще избежать при этом бана за клоакинг :) )… Но, увы, даже по User Agent нельзя этого понять
> «в html коде страницы должен быть только контент, навигацию и прочую UI „муть“, включая рекламу и т. п., грузим аяксом» вполне хорошо себя показала — сайт с аяксовой навигацией был выше в выдаче, чем с обычной хетемеловой

Правильно, потому что отношение полезного контента к бесполезному во втором случае выше. Но раз вы не показываете «всякую рекламу» поисковику, зачем вы ее показываете мне? Потому я на таком сайте яваскрипт и не буду включать, мне она тоже не нужна. А навигация — я пришел на ваш сайт из поисковика на конкретную страницу, за чем-то конкретным, и по другим страницам я не пойду, тем более что наверняка ваш сайт переполнен всякой рекламой и ненужной информацией :)

> А вот проблема graceful degradation практически (насколько я смог разобраться) не решаема в общем случае.

Расскажите это тем, кто придумал этот термин. Она решается в большинстве случаев, было бы желание и руки не крыивые. Или приведите пример распространенного элемента сайта, который невозможно реализовать без явскрипта.

Сорри, не мог раньше ответить…

Основы SEO я знаю (как, думаю, и большинство хабрачеловеков), можно не рассказывать почему чисто контентная страница выше в выдаче :) А вам рекламу я показываю, чтобы компенсировать свои усилия на размещение той информации, которая вам нужна. Можно было бы в нашей стране жить (или хотя бы существовать) на базовое пособие по безработице — не показывал бы, но увы :( А навигация — не все посетители приходят с поисковиков или по прямым ссылкам на страницу с инфой и, получив нужную информацию, сайтом больше не интересуются. Я часто, найдя нужную мне инфу на сайте с гугла или по ссылке, оставляю сайт в закладках, если по той же навигации вижу, что есть еще интересные в принципе материалы, но читать которые у меня в данный момент нет возможности или желания (так я попал когда-то на хабр, кстати говоря, гуглил что-то конкретное, но увидел, что тут много интересного — забумаркил — без навигации, включая «похожие материалы», «прямой эфир», облако тегов и т. д. это врядли бы произошло).

Я не говорил, что невозможно реализовать какую-то привычную всем функциональность (меню, последние новости, наиболее популярные материалы, опросы и т. п.) без яваскрипта (и других «динамических» технологиях), но «статическое» (на уровне получения страницы браузером) дублирование функциональности («фреймы», подгружаемые аяксом и те же «фреймы» в <noscript>) сводит на нет все попытки оставить чисто контентую страницу для поисковиков, минимальный трафик (и, между делом, минимальную нагрузку на сервер) и максимальное удобство для постоянных посетителей с включенным JS (коих большинство).

Есть большое желание сделать так, чтобы посетителям (реальным людям, но не поисковикам) не желающим или не имеющим возможности использовать JS, отдавалась страница со «статической» функциональностью, а всем остальным только с динамической, но, видимо, руки кривые. Может знаете способ, работающий в 100% случаев, как-то определить на стороне сервера в момент запроса включен ли (и есть ли вообще) в браузере посетителя JS? Или, хотя бы, на стороне клиента определить, что JS отключен (только для браузеров, поисковики не трогать :) ) и перенаправить такого пользователя на «статическую» страницу? Причем не наоборот, перенаправлять пользователя со включенным JS на «динамическую» страницу не нужно. Если знаете, то поделитесь, хотя бы, ссылкой и graceful degradation сайтов в сети будет больше ;) Хотя, если вы придёте на такой мой сайт за контентом, то увидите вроде бы ненужную вам навигацию, рейтинги, рекламу и т. п., выполненную в «статике». Вы уж определитесь, нужен ли вам полный аналог «аяксового» сайта когда вы без JS или вам нужен только чистый контент без всякой «мути» ;)
Кстати, вот навигацию то вы как раз зря убираете, там же внутренняя перелинковка идет. Теги и «последние комментарии» по моему чисто для СЕО и придуманы, так что тут еще вопрос, стоит ли их делать яваскриптом.

p.s. На пособие по безработице как раз можно оплачивать хостинг и доменчики изредка покупать ;)
Особой пользы от внутренней «навигационной» (в отличии от «контекстной» в основном тексте) перелинковки не наблюдал. Да и не убирал ещё ничего, поскольку рабочих сайтов с подобным функционалом не делал, лишь концепт :)

Вообще я пытался сказать, что при грамотной реализации «аяксовые» сайты для простого (с не отключенным JS ;) ) пользователя уж не хуже «статических», по крайне мере после первой прогрузки, когда максимум вспомогательных блоков закешируется локально и при навигации (со сменой адресной строки, с «открыть в новой вкладке» и возможностью добавить в букмарки) будет загружаться быстрее, чем аналогичный «статический»
Ну что касается скорости — есть способ: выкинуть все эти ненужные блоки, а меню ограничить минимумом пунктов :) Вот тогда все это будет и грузиться замечательно и никаких извратов не потребует. В общем, я за минимализм ))

UFO just landed and posted this here
Не вижу ни одной причины, почему Google Wave должен тормозить на любом современном компьютере (включая Atom-ы). Никаких тебе сложных вычислений, никакого обилия анимации.
Если причина медлительности Google Wave — постоянные обновления, чтобы отображать изменения «по мере набора», то уж извините, я бы эту фичу отключил, все-таки производительность важнее, а адекватно обновляться можно и раз в 30 секунд.
UFO just landed and posted this here
> Я так подозреваю, что реальная причина — слабый интернет-канал/компьютер.

Давайте вы своим тяжеленным фаерфоксом, или ИЕ, или Хромом —на выш вкус, будете открывать по 30 вкладок, и в каждой будет незаблокированные флеш-ролики. Тут вам бз 8-ядерного процессора точно не обойтись. Если вы неспешно за чашечкой чая почитываете New York Times в единственной вкладке на своем 2ядерном компьютере — можно ничего не отключать.

> Пора давно снять розовые очки и понять, что есть определенное состояние технологий передачи и генерирования контента. Вот какое есть, такое и есть.

Ок, большой процент (думаю, 80-90) веб-разработчиков — люди, не слышавшие слов «клиентская оптимизация», которые используют эти «современные» технологии абсолютно бездумно и безответственно. Тут же упомянутые не раз баннермейкеры, неделю назад освоившие флеш-редактор. Объяснять им, что комфортное для меня время загрузки страницы не должно превышать полсекунды-секунду, в общем-то бесполезно. А мириться с тормозами — не собираюсь.

Еще они любят вместо того, чтобы ручками писать скрипты, накачать фреймворков и бесплатных плагинов к ним (да, файлы никто потом не склеивает и не сжимает, так и подключают по 6 штук в заголовок).

Их можно понять, многие из них работают либо за копеечную зарплату, да еще и фрилансом подрабатывать пытаются, понятно, что тут больше сделал — больше заработал, а всякие оптимизации заказчику не нужны.

В общем, веб делают непрофессионалы. И у меня тут 2 варианта: мириться с тормозами, косяками и прочим, или самому как-то сделать использование сети удобнее, что я и делаю :)

> Ведь JS+Flash при грамотном использовании (это я опять о позиции egorinsk) позволяют творить удивительные вещи на современном ПО и оборудовании, зачем от них отказываться?

Давайте будем справедливыми: Flash нужен на 1-2% сайтов с медиаконтентом (видео и аудио), JS на максимум 5% (всякие там автозаполнения при поиске, но это не жизненно важно. Гугл как-то находит нужную информацию без всяких скриптов).

Большинство сайтов, на которые я попадаю — прочесть стаью, обсуждение в форуме, или там скачать торрент — мне не нужен там ни флеш, ни яваскрипт и правда не нужны всякие выезжающие меню и мигающие всеми цветами радуги аватарки. И всякие «информеры» от левых сайтов и надоедливая Яндекс-реклама тоже меня не интересуют, да.

И отдельно замечу по поводу аякса. Есть случаи, где использование аякса более чем оправданно — например, голосование за топик, добавление в избранное. Но нередки ислучаи, когда аяксом пытаются «замаскировать» тормозной скрипт на сервере, или создать видимость ускорения загрузки сайта. Надо ли говорить, что это приносит кучу других сложностей, вроде ухудшения навигации и отключения возможностей. например открыть аякс-ссылку в новой вкладке.

И последнее, что касается т.н. веб-приложений, вроде Meebo, Last.fm, Gmail (использую Thunderbird) или Google Reader (использую версию для iPhone, там меньше информационного мусора :) ) — они и правда тормозят, можно конечно валить на железо и прочее, но HTML/JS/CSS и их реализации в браузерах не совершенны (веритикальное выравнивание попробуйте сделать в css, или прижать фоновый спрайт к правой границе бокса), на сайтах с тысячами элементов и картинок в DOMе это проявляется особенно заметно. То есть пользвоаться ими я могу, но например, держать круглосуточно открытой вкладку с музыкой/видео/аяксом — не рискну, с большой вероятностью она будет течь памятью и тормозить другие вкладки. А уж как весело Опера блокируется, когда внутри срабатывает сборщик мусора!
Иногда просто хочется отблагодарить владельцев ресурса за полезный/интересный контент — мне не сложно кликнуть, а им приятно :) Но ставя тяжелую рекламу (текстовую и обычную графику я таковой не считаю) на свой сайт они просто вынуждают меня её отключать, тем самым лишая меня простой возможности их отблагодарить.
Это не благодарность, а диверсия какая-то:), люди оплачивают например адсенс, чтобы получить целевых посетителей, а получают кого? Таких вот как вы «благодарных»
Диверсия по отношению к рекламодателю — согласен, но благодарность я испытываю не к нему :) Да и стараюсь не «благодарить» по совсем не интересным мне ссылкам, стараюсь заходить туда, где действительно есть что-то интересное для меня, например хостинг. А учитывая, что тот же Адсенс довольно точно таргетируется по моим личным интересам, то рекламодатели «попадают» не больше, чем если бы я увидел их объявление в результатах поиска.

P.S. Правда, заметил, что те же хостинги, рекламирующиеся в адсенсе, как правило, предлагают более дорогие услуги, чем их конкуренты, на которых выхожу при простом гуглении или чтении каких-либо обзоров. За десяток лет воспользовался только одним хостером по рекламе, основная причина — ценовая политика.
UFO just landed and posted this here
Я, может быть, немного не в теме сегодняшней рекламы в интернете, но — если пропускают такой ужас, и если деньги платятся за клики по рекламе, то что мешает разработчикам этого шедевра эмулировать на каждом кадре клик по нему
(new HTTPRequest(где_деньги_дают)).send() или что-то вроде
Можно неплохой ddos устроить за разумные деньги.
«шедевр» — это баннер? разработчики баннера платят деньги за клик по нему :)

а если «шедевр» — это сайт, на котором показывается баннер, то всяческие накрутки очень неплохо научились отслеживать
Просто нужно уметь делать грамотные баннеры. Мы умеем.
А у меня писька 25см.
Флэш — это чужеродное убожище, которое давно пора либо изгнать из браузеров, либо с толком в них интегрировать. Проведем простой эксперимент: поставим фокус на флэш-объекте и попробуем применить любую из горячих клавиш браузера, например ctrl+t. Облом-с! Существующая практика внедрения в браузер чужеродного кода, действия которого никак из этого браузера не контролируются ни по потреблению системных ресурсов, ни по правам доступа — это такая черная дыра во всей системе, перед которой отдыхают даже самые знаменитые майкрософтовские уязвимости. Главная проблема флэша в том, что он непрозрачен для пользователя и замкнут на себя — если ненужный баннер или фишинговую ссылку можно легко опознать в коде и отключить, то с флэшьём так просто не сделаешь, и оно представляет собой идеальную среду для быстрого распространения сетевой заразы. Высшей степенью маразма являются сайты, сделанные на flash целиком, но об этой патологии лучше выскажутся соответствующие специалисты клиники им. П. П. Кащенко. «Вебмастеров» же, залепляющих свои сайты флэшовым дерьмом как раз по центру видимой области, закрывающих ими хотя бы на время основной контент, рекомендую побыстрее продвигать в очереди на отправку в биореактор.
Я за изгнание, этот страшный сон разума другого не заслуживает. Флеш — ему нет больше веры :)
>>>действия которого никак из этого браузера не контролируются ни по потреблению системных ресурсов

Особенно наглым был шаг, когда из флеш-плеера исключили возможность понижать качество рендеринга. Может кто к курсе, как можно выставить дефолтный уровень качества для флеша?
Ресурсоемкий флэш — это только самая выпуклая грань проблемы, которую бы я назвал «Прелесть хайтека». Тьма-тьмущая разработчиков преисполнены прелестью высоких технологий, суперпроцессоров, стапицот гектаров оперативки на их машине и совершенно забывают, что детище их вполне может запускаться не в тепличных условиях четырехпроцессорной шарманки с 4 гигами оперативки, а полудохлом 1100 целероне о 128 метрах памяти и убогой встроенной видяхе.

P.S. По этому поводу есть у меня заметочки в черновиках, но собрать их в статью, да привесить к ней мораль все не выходит. Может соберусь к новому году.
P.P.S. Использую немного старомодное понимание слова «прелесть» — преисполненность лестью, обман.
старый-добрый noscript и здесь спасает. хабра-кодеры его очень не любят конечно, а вот пользователи наоборот ценят за то что защищает от всяких хакерских атак (xss и т.п.) и не тормозит бравзер.
У меня на маке стоит «ClickToFlash». Он идет как плагин к сафари и отрубает все flash банеры/видео/прочее.

Поищите подобное, наверняка есть.
Писал несколько раз в «Офис Чипа и Дэйла» о том, что баннер робокассы (с летающими банкнотами) ужасно грузит проц — по_хре_ну
Что показательно — такие тормозные баннеры хорошо запоминаются. Об этом баннере здесь уже не в первый раз говорят =)
Помнится был топик по этому поводу тут (про другие флешбанеры на хабре), и там даже объявлялся разработчик, который обещал оптимизирвоать и даже что-то облегчил во флшеке в тот раз.
пока есть замечательный Adblock Plus, я брожу по сети без беспокойства!
В то время как производители железа стараются предложить нам удобные нетбуки и мобильные устройства, некоторые горе-вебразработчики гробят все накорню, уменьшают полезность этих устройств, клепая сайты, которые даже полноценную десктопную машину на колени ставят.
Сайты — это полбеды, в конце-концов их можно и не посещать, хотя бы из принципа. Главное, что вполне нормальные сайты, подключая сторонний «контент» (рекламные и баннерообменые сети, информеры и т. д.) не могут, как правило, контролировать что конкретно будет отображаться. И если в момент тестирования сайт может быть очень легким, до в дальнейшем может прийти объект, как раз ставящий на колени десктоп, а разработчик об этом даже не узнает.
Спасибо, что напомнили,
пойду в опере отключать
Задолбало!
Sign up to leave a comment.

Articles