NoNaMe :: Улучщение функционала NNM (cкрипт NNM Make It Comf

Пока разработчики портала NNM занимаются улучшением сайта, некоторые пользователи негодуют по поводу скорости этого процесса.

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

В очередной раз обдумав это я решил повлиять на ситуацию самостоятельно. Для этого написал JavaScript файл который добавляет самый насущный функционал на сайт nnm.ru, работая на стороне пользователя.

----------------------<cut>----------------------

Схема его работы заключается примерно в следующем:
Оригинальный сайт NNM -> Браузер пользователя -> Скрипт NNM Make It Comfortable -> Удобный сайт NNM <-> Пользователь.

Весь этот процес от пользователя скрыт, и после установки скрипта ему кажется что он работает с оригинальным сайтом NNM.ru который внезапно изменили в лучшую сторону.

Итак какой же функционал добавляет скрипт?

Работоспособный пейджинг в коментах
Больше пользователя не кидает в верх страницы по нажатию на кнопку перехода к следующей порции коментов.

Поиск
Поиск на сайте работает. Ищет не только в материалах доков но и по всему сайту в целом (например в карточке пользователя).

Я нашел Багу!
Теперь эта кнопка работает. Вы можете отправить информацию об ошибке или предложение по развитию сайта/скрипта. Пока весь этот материал приходит только на мое мыло, но администрации/разработчики при желании с их стороны могут быть также подписаны на данную форму обратной связи.

Реклама
Очистка от рекламы самый щекотливый вопрос так как напрямую затрагивает интересы администрации. Поэтому здесь я вынужден был пойти на компромис — банные все таки скачиваются (что бы не повлиять на число показов), но пользователю не отображаются. Если же администрации интересны клики, а не показы, то в следующей версии скрипта я могу включить добровольную функцию autoclick которая будет раз в день автоматически кликать по баннерам не заметно для пользователя (с минимальным расходом трафика). А вообще этот вопрос остается открытым. Хотя для меня лично политика администрации не совсем понятна, ведь с такой посещаемость они давно могли иметь хорошие деньги на google ads.

Врезки новостей NNM на главной
Честно говоря не понял зачем они вообще нужны. Слишком уж старые там посты рекламируют.

В принципе разработчики могут включить этот функционал на портал простым приписыванием скрипта на необходимые странички. Но бесспорно лучше написать специализированный код которые будет тесто взаимодействовать с серверной кодом.

Процесс установки скрипта сильно зависит от браузера.

FireFox & Co — любителям этого браузера невероятно повезло =) так как именно в тот момент когда я сел писать данный скрипт используемая мною Opera взяла и отвалилась, переустановка не помогла... Но так я кроме всего прочего web разработчик у меня установлены все основные браузеры. Поэтому в условиях отстутствия оперы стал писать на FF 2.01 о чем собственно говоря не жалею. Итак установка для пользователей огненной лисы и браузерах основанных на ее коде (Flock и любые другие где возможна установка расширения Greasemonkey), крайне проста и сводится к щелчку по двум ссылкам:
Установка Greasemonkey
Установка скрипта NNM Make It Comfortable

Несчастным обладателям остальных браузеров я бы посоветовал скачать FireFox 2.
Те кто не хотят менять шило на мыло читают дальше.

Opera
Та как скрипт писал в соответствии со стандартами W3C, то по большему счету он без изменений заработает под Opera User JS.
Но заработает не весь функционал. Дело в том что в скрипте я обращаюсь к внешним доменам (во время поиска к гуглу, а во время внесения баги к http://anketa.atis-online.ru), а из user js это запрещено как в опере так и фаерфоксе, но в фаерфоксе сущетвует Greasemonkey который предоставляет просто читерскую функцию GM_xmlhttpRequest. В принципе для оперы есть емулятор Greasemonkey в виде отдельного user js, информация об этом есть здесь (там необходимо три файла скачать a-lib-stacktrace.js, a-lib-xmlhttp-cd.js, aaa-greasemonkey-functions.user.js), теоретически это все можно
заставить заработать, но так как опера у меня все еще в дауне ищется человек знающий JS который мог бы этим занятся. Еще одна проблема работы скрипта под оперой заключается в скрытии баннеров, скрываются они крайне медленно, что как мне объяснили разработчики оперы в беседе на irc.opera.com скорее всего объясняется тем что для поиска определенных мест в html респонзе оригинального сайта nnm.ru я пользовался document.evaluate (то есть XPath запросами), они считают что перфоманс можно поправить и работу скрипта ускорить за счет замены таких обращений на навигацию по DOM&#96у типа document.firstChild.nextSibling ... etc и document.getElementById/Name/TagName, в общем на оптимизацию под оперу требуется время, так что вопрос с поиском человека/людей, отвечающих за поддержку Oper-ативной версии скрипта остается открытым.
Сейчас же без всяких правок данный скрипт для пользователей оперы будет делать следующее: нормальный пейджинг в коментах, скрытие баннеров (медленное).

Скрипт качается все там же Установка скрипта NNM Make It Comfortable.

Internet Explorer
По многим причинам нельзя пройти мимо этого браузера.
На данный момент скрипт даже частично не работает под IE, поэтому ищется человек которому было бы интересно занятся переносом функционала скрипта на IE. Если такого человека не найдется, я займусь этим сам, правда в ущерб внесению в текущий скрипт нового функционала.
Сразу скажу что в отличии от Opera&#96ы для IE существует специальная версия Greasmonkey — Greasmonkey IE.
Поэтому подключить скрипт они могут, но вот работать он по той же причине не будет, я использовал document.evaluate (для XPath запросов), а IE в этом плане стандарту не отвечает, поэтому что бы заставить IE работать с этим скриптом прийдется его немного по рефакторить (либо заюзать эмулятор от нашего соотечественника [url=hthttp://glazkov.com/archive/2004/04/06/168.aspx]Дмитрия Глазкова[/url] ) — потому как кроме всяких там document.evaluate встречаются еще addEventListener и другие вещи не поддерживаемые IE. К счастью магическая функция GM_xmlHttpRequest в Greasemonkey IE есть, но вот всяких мелочей для поддержки IE подправить прийдется довольно много.

Что ожидается в ближайших версиях скрипта:
+ исправления календаря
+ исправление ситуации с javascript ссылками на новость
+ приведение в порядок подборки, на данный момент она совсем не отвечает моим представлениям о том как она должна работать на самом деле
+ возможно слежение за обновлением скрипта и автоматическое предложение скачать последнюю версию
+ возможно доработка пункта 'жалоба', после нажатия на который будет происходить скидывание информации на централизованный сервер откуда потом будет браться информация о том стоит ли отображать сообщение при выводе комментариев или нет ("возможно" — потому что я не знаю работает он сейчас или нет).
+ личная почта (опять же через централизованный сервер)
+ чат
+ приведение в порядок редактора новостей (вставление ссылки открывает новое окно, что не очень удобно, кроме того после использования любой кнопке почему то кидает вверх сообщения)
+ то что посоветую пользователи nnm/администрация

Ес-но что во время разработки нового функционала я буду следить за изменениями на сайты (что бы там не говорили он все таки развивается), корректируя по ходу свои планы. Но если не найдутся люди желающие поддерживать альтернативные браузеры типа IE и Opera&#96ы, мне прийдется заниматься этим самому, что замедлит процес внедрения описанных выше возможностей.

Контакты:
E-Mail: kaflan @ mail . ru
MSN: kaflan@atis.ws
ICQ: 195007021
Skype: kaflan

Источник: http://nnm.ru/blogs/kaflan/uluchwenie_funkcionala_nnm_ckript_nnm_make_it_comfortabe/

Яндекс.Метрика Rambler's Top100

© 2000–2012 NoNaMe