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