Как стать автором
Обновить

Виджет для комментариев «В Контакте»: багрепорт

Время на прочтение3 мин
Количество просмотров6.4K
Хочу поделиться сказом о том, как мы у себя на сайте внедряли виджет для комментариев «В Контакте» и что из этого вышло. Сразу скажу, что мое уважение к разработчикам этого виджета упало весьма и весьма низко, почти пробив уровень плинтуса – в день программиста это будет весьма символично.

Update: Друзья, больше спасибо всем за участие — еще вчера в виджете были исправлены основные ошибки; думаю, что это исключительно благодаря публикации здесь.

В моих глазах Хабр еще раз подтвердил свою репутацию IT-ресурса №1, надеюсь, что и в ваших тоже. Еще раз спасибо всем поддержавшим, а также разработчикам виджета!

Но обо всем по порядку.

Виджет был аннонсирован Павлом Дуровым ночью в пятницу, в 2 часа с лишним. В пятницу днем мы попробовали развернуть этот виджет: одну страницу только с кодом виджета, другую в «песочнице», то есть, на тестовой версии сайта.

Проблема с JSON


«Чистая» страница (только с кодом виджета) нормально открылась во всех браузерах, на которых тестируем (IE, Firefox, Opera, Safari, Chrome), настала очередь песочницы.

Первым же выдал желтую карточку IE, жалуясь на то, что какой-то объект внезапно оказался null. ОК, заряжаем Eclipse и разбираем минимизированный код.

Наш сайт использует mootools для некоторых вещей, поэтому очевидно было, что есть проблема с ним. Так и получилось – mootools считает, что объект JSON надо представлять не так, как ждет виджет.

Вывод 1: распространенность mootools гораздо больше, чем виджета. Неужели нельзя было проверить перед релизом?

Решение 1: собираем кастом mootools, без включения JSON, благо mootools для JSON мы не использовали, и ничего от этого на сайте не порушилось.

Проблема браузера


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

Поскольку мы стараемся быть наиболее совместимым сайтом, то сразу же изменения были откачены обратно. Стало понятно, что нужно тестирование на покрытие, то есть, виджет не вел себя корректно во всех браузерах.

Вывод 2: если виджет не поддерживает какие-то браузеры, то можно было бы об этом предупредить, а еще лучше – «В Контакте» могли и сами провести тесты на покрытие.

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

И вот тут-то полезли косяки.

IE6 и IE7, если виджет видел незалогиненный «В Контакте» человек, уводил страницу в постоянную перезагрузку; этот глюк до сих пор не исправлен. Хотите проверить? Легко. Возьмите IE7 и попробуйте открыть статью с сайта «Взгляд» (предварительно разлогинившись из «В Контакте»).

Дальше – больше. В Opera 9 виджет просто не работал. Opera 9.5 вылетает насмерть, при попытке открыть сайт с виджетом. 9.64 уже работает. Safari 3.0 тоже выдает бесконечные перезагрузки страницы. Firefox 2.0 тоже выдает бесконечные перезагрузки.

Да, я понимаю, Вы скажете, мол, мало народу ходит со старого Safari и Opera с Firefox, но простите, пользователей с IE6 и IE7 до сих пор полно.

Так почему не сообщил?


А теперь попробуйте связаться с кем-нибудь из программистов из «В Контакте» и объяснить это. Те, кто это пробовали, знают, что это сложнее, чем взойти на Эверест.

В свое время у «В Контакте» была достаточно серьезная проблема модерации iframe-приложений, думаете, хоть с кем-то удалось тогда связаться? Ни с кем. Социальная сеть «В Контакте» позволяет легко связаться с кем угодно, кроме разработчиков. Когда у нас были проблемы с виджетами Яндекса, мы мило решали проблемы по обычному телефону, что было очень удобно.

Аналогичная ситуация видна и сегодня. Мне нравится тот виджет, что они сделали, но блин, сделали не очень хорошо и не идут на контакт. Надеюсь, эта публикация поможет привлечь к этому внимание, а также поможет тем, кто решится внедрять этот виджет у себя.

Спасибо, что прочли; еще раз с днем программиста, друзья!
Теги:
Хабы:
+109
Комментарии86

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн