• Авторизация


О мгновенных сообщенцах 17-10-2009 11:57 к комментариям - к полной версии - понравилось!


Современные мгновенные сообщенцы (англ. instant messenger), такие как ICQ, Jabber, AIM, Mail-агент, несмотря на своё название, являются симплексными.
Вообще, всё общение в интернете является симплексным. Электронная почта была создана на основе реальной, и характер общения там эпистолярный, а не разговорный. Причём письма ведь доставляются почти мгновенно, редко когда случаются существенные задержки. Но не хватает интерактивности. Пока ещё человек проверит почту, откроет другое окно, наберёт ответ и отправит его... В итоге, никто не станет по mail писать репликами типа: "Приветкакделачтоделаешь". Нет, станут писать развёрнутое письмо.
Мгновенные сообщенцы доставляют сообщения ни быстрее, ни медленнее, чем почта. Но они более интерактивные: переписка идёт в одном окне, сообщение отправляется одним кликом. Это действительно ускоряет общение. Если характерное время реакции на почту - часы, то на такое сообщение -- от секунд до минут. Но всё равно. Это совсем не похоже на телефонный разговор. Скорее, на общение по рации. Это не диалог, а набор монологов, каждый из которых нельзя прервать. Набрал сообщение -- и ждешь, пока собеседник прочитает, подумает, наберёт ответ, поковыряет в носу и только потом отправит. Нельзя понять, молчит собеседник или набирает ответ. Нельзя ответить на конкретную фразу, только на всё сообщение. Так что, разговор тут симплексный, а не дуплексный.
Но почему бы и не сделать его дуплексным? Программа будет перехватывать все нажатия клавиш, сделанные, пока окно переписки в фокусе, и сразу посылать их собеседнику. Окно переписки также будет состоять из двух форм. В нижней набирается свой текст, а в верхней появляется текст собеседника. Если собеседник стёр что-то, оно же стирается и в своём окне. Разумно при этом всегда хранить историю на обоих сторонах, которая позволить на произвольное количество шагов откатить как своё сообщение, как и сообщение собеседника. Если текст набирать не с клавиатуры, а копипастом, то и появляться он будет сразу. Аналогично, если выделить кусок текста и стереть сразу, то и у собеседника он сотрётся за один шаг. X-статусы, информация пользователя, аватарки, передача файлов, игры и видеочятик прилагаются.
Говорят, такое уже было. Во-первых, оно было в ранних версиях ICQ. Во-вторых, периодически встречается в мгновенных сообщенцах для локальных сетей. Почему-то оно так и не прижилось. Но всегда можно попробовать ещё раз!
У меня есть целый комплекс идей относительно реализации. Зачем делать сервера, когда можно сделать одноранговую сеть? Конечно, разрешение адресов всё равно будет централизованным, но и тут можно поизвращаться, что-нибудь придумав. По крайней мере, логично при добавлении собеседника в контакт-лист (делается централизованно), в кэш записывается его IP, и он считается валидным до тех пор, пока по нему не исчезает возможность связаться. Тогда происходит запрос серверу. Но и тут можно сделать иначе: заставить каждый клиент отслеживать свой внешний IP, и при его изменении отправлять новое значение всему контакт-листу. Без набора серверов всё равно не обойтись, но такими мерами можно свести их влияние к минимуму. Сеть получится не убиваемой. Разумеется, одноранговые соединения не позволяют писать в оффлайн, но это и логично -- программа-то интерактивная! Хитрый план, как осуществлять аутентификацию, я не разработал, но книга Брюса Шнайера "Прикладная криптография" мне поможет. Зачем нужна аутентификация на сервере, если сообщения всё равно одноранговые? Нужная цифровая подпись, которую клиент собеседника имеет возможность самостоятельно проверить. Тонкое место: тут опять нужен сервер открытых ключей. Но ведь можно и без этого. Вот придут маски-шоу, разобьют монтировками серверы открытых ключей. И что? Ну будут висеть предупреждения: "Не могу определить, от кого пришло сообщение". IP всё равно известен. Небольшая брешь в безопасности -- но огромная надёжность.
Вот только кому нужен ещё один протокол. Это, конечно круто, но в такой системе изначально никого не будет, и никто туда не пойдёт, поэтому что нее с кем общаться. Поэтому нужна (по крайней мере на начальном этапе) обратная совместимость с существующими популярными протоколами. Как вариант, первыми в голову приходят транспорты, как с Jabber на ICQ. Не очень удобно, но сразу имеем свой протокол. А можно сначала реализовать поверх существующего протокола, на свой (с обязательной обратной совместимостью) переходить потом. Скажем, поверх Jabber реализовывать. Теоретически, возможно и поверх ICQ, но тут вступает в игру AOL. который очень любит менять версии проктокола без сохранения совместимости, что не есть хорошо.
Ну и про пиар не надо забывать. Реклама на башогре в стиле "Надоело писать не в то окошко? Попробуй %IM_brand%!". Набеги на форумы тринадцатилетних девочек (основная аудитория IM). Ну и прочие милые действия.
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник О мгновенных сообщенцах | Positron - Проекция мысли | Лента друзей Positron / Полная версия Добавить в друзья Страницы: раньше»