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

Поисковая строка браузера на стероидах — Твиттер-клиент TwIEVSer

Время на прочтение 4 мин
Количество просмотров 1K

Про Open Search и Visual Search


Панель быстрого поиска браузера должна использоваться для поиска. В 95% это Google или Яндекс. Хотя, искать можно по любому конкретно взятому сайту, если его владелец прикрутит интерфейс в формате OpenSearch.

Все очень просто — при нажатии Enter браузер клиента переходит на сформированный адрес вида mysite.ru/search?q={something}. Уже во время набора поискового запроса, мы можем получать подсказки в виде выпадающего списка, который формируются сервером в формате JSON. Всё это замечательно работает, к примеру, в Firefox.

Одной из основных фишек Internet Explorer 8 является Visual Search — в целом, тот же Open Search, но в формате XML с расширенными возможностями. Подсказки могут быть разбиты на категории, содержать в себе короткие описания и изображения, а также показывать превью результата в маленьком окошке.

А что если подойти к этой строчке с другой стороны?



Недавно я написал TwIEVSer.


У Twitterа очень хороший API и много его клиентских реализаций, особенно на PHP.

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

Работает. Особенно в IE8.

Сразу скажу, что основным мотиватором к написанию чего-то-такого явился объявленный ранее конкурс аддонов для IE8.

Поиск по конкретному сайту


По поводу визуального поиска в первую очередь подумалось:
  • Мало кто отключит свой основной поисковник (гугл/яндекс/етц)
  • Привязываясь к конкретному сайту ограничиваемся лишь его аудиторией

Подробнее про внутресайтовый поиск. Ок, у всех есть несколько любимых сайтов. Скажите честно, вы чаще пользуетесь поиском на них, чем в том же гугле/яндексе?
В IE8 есть иконки, но переключение между ними отнюдь не быстрое — нужно использовать мышь.

В Google Chrome эту задачу решили так: Префикс поиска + tab. В опере пробел. Очень удобно. Почему бы не повторить?

Снаружи и наш поисковый сервис и Visual Search «большого поиска» выглядят почти одинаково. Так давайте при наборе пользователем «g тапочки из мха» выдавать результаты поиска гугла по запросу «тапочки из мха». :)

Теперь давайте использовать это НЕ по назначению


Длина сообщения твиттера ограничена 140 символами. Один пост выглядит как набор имя-аватар-сообщение. Вполне можно притянуть к поисковым подсказкам, а в случае ИЕ8 все просто в шоколаде — покажем и аватарку, и ник и сообщение. :)

TwIEVSer — Tw [ Internet Explorer Visual Search ] er


Сабж устанавливается на сервер, «притворяется» поисковым сервисом и позволяет вам использовать твиттер. На данный момент можно:
  • Читать твитленту
  • Писать в твиттер, писать личные сообщения
  • Логиниться-разлогиниваться
  • Грабить корованы

Логин и пароль передаются на сервер твиттера в открытом виде, поэтому внимательные пользователи сразу заподозрят что-то неладное — «PHP скрипт, установленный где-то у черта на рогах, будет знать мой пароль!». Верно, поэтому скрипт можно скачать и установить у себя.

Логин и пароль можно задать явно в скрипте, а можно залогиниться прямо из браузера, набрав в поиске l login password--, не нажимая enter. "--" — терминатор, символизирующий окончание ввода, он же используется при написании сообщения. При этом, логин и пароль сохраняются в «зашифрованном» Cookie.

Подводные камни


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

Медленный твиттер медленный. Вы наверняка часто подолгу ждали, пока он загрузится. Очень важная характеристика поисковых суджестов — мгновенная выдача. Плюс у нас есть накладные расходы на связь твиттер — php-скрипт — браузер.
Файрфокс, судя по всему, вообще не любит ждать дольше одной секунды и просто ничего не выдает. ИЕ8 более толерантный. :)

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

Дальнейшее развитие скрипта


Разумеется, по большей части это всё Прув Оф Экзистенс. Но моим друзьям идея понравилась. Если установить по-умолчанию яндекс и время от времени, не отвлекаясь на сторонние клиенты или twitter.com, читать свою твитленту или обновлять статус — эта штука вполне имеет право на жизнь. Если кто-то будет всерьез использовать скрипт, дайте мне знать, я его с удовольствием буду развивать дальше (особенно, если выиграю приз на конкурсе. :D xbox есть, подсоединять некуда.).

Например, можно добавить действий — поиск, просмотр ленты конкретного пользователя, чтение своих личных сообщений, удаление последнего поста… Можно сделать самообновление PHP скрипта (уже сейчас проверяется наличие новых версий), конфигурирование через веб-интерфейс, шифрацию паролей в cookie через закрытый-открытый ключ (lol).

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

Вконцесловие


Это лишь один пример нестандартного подхода к использованию поисковой строки браузера. Но зато уже реализованный.

Если вам понравилось, или вы даже собираетесь ЭТО использовать, можете проголосовать за меня на сайте ReMIXа (cheerz).

P.S. Специально во избежание хабраэффекта поставил публичную версию скрипта на несколько временных серверов. Пожалуйста, прочтите описание перед использованием — это НЕ копипаста.
Баги, конечно, есть! Буду исправлять. :)


@varyen
Теги:
Хабы:
+4
Комментарии 3
Комментарии Комментарии 3

Публикации

Истории

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн