О коммуникаторе

У человека есть любимый интерфейс к текстовому общению с друзьями.

Это может быть Миранда, irssi, Xchat, mcabber.

Во всех них есть приватные и неприватные окна текстового диалога.

Разной степени хммм... продуманности. :)

Собственно, идеальный текстовый коммуникатор ОБЯЗАН быть не "клиентом с интерфейсом к пользователю", а "гейтом между любимой пользовательской софтиной и всеми прочими протоколами" ПЛЮС средства управления оным гейтом.

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

Любимому интерфейсу же гейт должен (в идеале) отдавать:

для любой сущности типа "ник человека в контакт-листе":

  1. окно/таб общения с текущей перепиской и индикацией состояния
  2. историю переписки с оным ником с таймстампами и пометками - по каким протоколам происходило общение.
для любой сущности типа "публичное место":
  1. окно/таб общения с префиксами ников участников
  2. список ников участников в этом окне
  3. лог.
В "правильном" с моей точки зрения коммуникаторе контакт приблизительно вида Qkowlew.vcf должен содержать все контакты и протоколы. И любое сообщение от этого контакта по любому из протоколов должно попадать в одно окно с заголовком Qkowlew.

Причём протоколы могут быть однонаправленными.

Выбор направления отправки:

  1. протокол и контакт, с которого пришло последнее сообщение, если он двунаправленный и в онлайне в данный момент
  2. контакт, на который я отправлял предыдущее свое сообщение этому человеку, если в онлайне в данный момент
  3. контакт, заданный как приоритетный онлайновый для данного контакта, если он в онлайне в данный момент
  4. Любой контакт для отправки этому человеку, который в онлайне в данный момент
  5. если все в оффлайне - приоритетный канал для отправки оффлайн-сообщений.

на смартфоне это обязано быть интегрировано с СМСками, ММСками.

Я задрался каждый раз вспоминать, что теряет оффлайн-сообщения, а что - нет, где какое и что там вообще!!!!

Пример дополнения VCF формата

направления:
# не принимаем и не передаём вообще
r только принимаем по этому каналу
x только передаём по этому каналу
b и передаём, и принимаем по этому каналу

тип канала:
i только онлайн
B онлайн/оффлайн
o только оффлайн

приоритет:
d приоритетный для онлайна
D приоритетный для оффлайна

проверенность канала:
+ проверен, работает
X ложная информация о канале

уровень доверия:
N эквивалент публичному сообщению в агрессивной среде
n эквивалент публичному сообщению в обычной среде
p низкий уровень приватности, потенциально возможен доступ посторонних
P высокий уровень приватности, доступ посторонних маловероятен

BEGIN:VCARD
VERSION:2.Q
N;CHARSET=UTF-8:Яковлев;Сергей;;;Сергеевич
TEL;SMS:+79164949759;DBbp+
TEL;SMS:+79260874026;Bbp+
TEL;VOICE:+79164949759;#
TEL;VOICE:+79260874026;#
TEL;VOICE;HOME:+74954524103;#
TEL;VOICE;WORK:+74957889066;#
TEL;PAGER:383091334;bBp
EMAIL:q@inbox.ru;bBnD+
EMAIL:q@rinet.ru;oxP+
EMAIL:q@sksys.net;#X
EMAIL:qkowlew@jabber.ru;bid+
URL;HOME:http://qkowlew.org/
URL;WORK:http://gfns.net/
URL;WORK:http://7889066.ru/
X-NICKNAME;CHARSET=UTF-8:Радагнар, Ку, Куковлев,
  Ночной Сторож
BDAY:19650910
END:VCARD


© 2011 Sergej Qkowlew, Public Domain