Для приема видео я использовал подсмотренный в защитном устройстве поместья вариант камеры — он мне понравился. Только улучшил его, чтобы качество картинки было максимальным. При общении перед пользователем разворачивается невидимое инфоплетение-камера, которое в общем-то направлено на него и передает картинку не только абонента в полный рост, но и фон (есть еще пара таких плетений, мониторящих сферу вокруг камеры, но об этом — тссссс! Это секретный админский функционал!). Мне показалось забавным, что пользователю, прежде чем ответить с включенной камерой, надо будет серьезно постараться, чтобы при желании скрыть то, что находится за ним, и никаких настроек я не стал выводить (злобному разработчику лучше знать, что нужно обычному пользователю!). При этом плетение привязано к человеку, и даже в движении картинка будет достаточно стабильной. Ну и можно просто без видео общаться как мысленным проговариванием, так и звуком.
Второй сложный момент — внесение кого-то в список контактов. Понятно, что каждый "аппарат" автоматом генерирует свой внутренний уникальный номер на основе множественных параметров информструктуры абонента. Но вот как сделать так, чтобы два человека могли внести друг друга в свои списки абонентов? Просто по имени или изображению — сложно, долго, дополнительный функционал анализа писать на сервере, тем более, что разумные могут быть разными, с разными языками, близнецы, аура не показатель для крутых магов, просто номера вводить не интересно и прочая прочая прочая… В общем, самый простой вариант — оба должны у себя в списках вызвать функцию добавления и пожать друг другу руки. Тут происходит точная привязка через информструктуры и решается вопрос с картинкой абонента — просто у каждого делается стоп-кадр из его видео-подсистемы и отсылается противоположной стороне. А дальше при общении с кем-то другим можно перекидывать ему копию абонента из своего списка. Тому, кого копируют, идет вызов, и если он согласен, то происходит внесение в списки абонентов уже у третьих лиц без необходимости личной встречи. А с учетом того, что связь постоянная — выходит более-менее рабочая система.
На сервере я сделал постоянную круговую запись происходящего со всеми абонентами, указав серверу, что при исчерпании четверти памяти стирать старые записи, но почему-то мне кажется, что писать он будет долго и долго… Хотя надо будет все же предусмотреть на сервере фильтр, чтобы не писать ненужную фигню. Сделал на всякий случай, чтобы было. А вот абонентам совершенно необязательно знать, что пишутся не только их разговоры, но и происходящее вокруг них (не только то, что передается мессенджером в канал связи абонентов), ибо не хочется, чтобы возникали вопросы, а где собственно все это хранится? Умные и так зададутся этим вопросом… Ну не этим прямо, а сопутствующими, но вряд ли они решат, что где-то настолько велики мощности, что все пишется или подслушивается. Кстати, вполне вероятен вариант, что маги или чародеи поостерегутся пользоваться моим устройством. Хотя не факт: у меня на родине тоже все пишется-подслушивается, но почему-то никто не перестает пользоваться этими удобными штучками.
И последняя сложность — установка программы общения. Ручками-то я могу это сделать, но если предположить, что этим можно торговать или просто, чтобы все ставилось без моего участия, то я вижу только три варианта. Первый — сделать несколько амулетов инициации, а люди будут к ним приходить и инициироваться. Тогда можно будет поставить несколько таких амулетов в разных странах. Второй вариант — продавать одноразовые амулеты инициации (или многоразовые?) и, соответственно, нужен амулет по созданию таких мелких инициирующих устройств. Третий вариант — сделать все по вирусной технологии или просто запрограммировать сервер (а ведь есть и другие сервера, до которых я еще не добрался!), чтобы он промаркировал всех живых людей на планете и автоматом установил им такой мессенджер. Хм… забавный мир получится — любому разумному при рождении будет полагаться подобный мессенджер… М-да…