 |

Как создавался Старчат
Проект Старчат начался весной 2001 года. Все началось с идеи, с которой я обратился к руководству «Артстайла», подкрепив ее наспех набросанным java-сервером и java-апплетом, демонстрирующими основы концепции системы интернет-конференций.
Задумка состояла в том, что в отличие от обычного чата, где все участники находятся в общей «комнате» и общаются друг с другом на равных, в Старчате один (или несколько) из них становятся VIP-ами и общение с ними отображается для всех остальных участников в отдельной области окна. Предполагалось, что в условленные промежутки времени в Старчат будут заходить в основном только для того, чтобы пообщаться с этими приглашенными персонами, потому наличие дополнительной области, отражающей их разговор с участниками, сделает его более наглядным. Таким образом, система должна была состоять из рабочего места VIP-а, рабочего места модератора, занимающегося фильтрацией поступающих к VIP-у сообщений и обычного чата, трансформирующегося в расширенный в момент входа VIP-а в систему.
Это позволяло оградить VIP-персону от нежелательных сообщений, которыми был полон каждый чат (всегда находились несколько таких участников, стремящихся сорвать конференцию). Модератор видел все сообщения, направляемые VIP-персоне и направлял некоторые из них в желательной последовательности «одним кликом». Приглашенный гость отвечал на поступающие вопросы и эти связки «вопрос-ответ» показывались в специально отведенной области интервью у всех участников чата.
Идея показалась руководству компании интересной и мы начали поиск кандидатур, готовых реализовать ее в лучшем качестве. Сам я с JAVAбыл знаком не настолько, чтобы написать ее самостоятельно и задача была отдана на аутсорс.
Занимался ею мой знакомый из Рязани из тех, кто был готов за предложенные деньги создать описываемую систему в требуемые сроки, он был лучшим. Первая версия чата действительно работала как задумано, но проблемы стали появляться на реальных конференциях. С java-апплетами появлялись непредвиденные проблемы в случае зависания «эксплорера» у участника его ник не пропадал из списка и система его больше не пускала в себя --приходилось делать периодическую проверку и отключать тех участников, которые не отзывались на «перекличку». По ходу мы усложнили механизм авторизации в первых версиях, разобравшись в протоколе обмена сообщениями, можно было «поломать» систему.
Старчат несколько раз переписывался при усложнении системы было очевидно, что нужно перерабатывать всю технологию.
Достаточно долгое время я проводил «Старчаты» как ведущий помогал приглашенным персонам отвечать на вопросы. Не все из них умели самостоятельно работать на компьютере, да и те, что умели, не всегда делали это быстро. Поскольку все ответы на задаваемые вопросы нужно было набирать, помогло мое умение быстро печатать. Почти всегда приходилось помогать формулировать свои мысли кратко и емко. Отчасти это обусловливалось первоначальными ограничениями на отправляемое сообщение, которое впоследствии было снято. Сложнее всего было с политиками их ответы не удавалось уменьшать и я слепо записывал за ними весь текст.
Интересно, что сообществом самих участников был создан фан-клуб Старчата по отдельному доменному имени StarPolice.Ru.
Программное обеспечение, лежащее в основе Старчата на тот момент, было очень нестабильным. Порой, понимая, что переписывать или разработывать правильный функционал нам никак не удастся в заданный бюджет, мы шли на запрещенный шаг делали различные «заплатки», увеличивающие общее работоспособное время чата: внешний «робот» опрашивал чат и как только не дожидался от него ответа, перезапускал сервер чата автоматически.
С «роботами» у нас были и развлечения. Как-то был написан «робот», появляющийся в чате под каким-то выдуманным для него ником. В случае, если кто-то писал в адрес робота приватное сообщение, он отыскивал во всей истории сообщений похожее на него и отправлял в ответ то, что отправляли реальные пользователи следом за найденным. Получалось очень похоже если спросить, где живешь, он отвечал каждый раз по-разному, но достаточно «живо». Было очень весело, если попытаться на него поругаться матом, можно предположить, что он отвечал в ответ это были просто потоки ругани. Ну можно предположить почему в реальном чате каждый второй на прямое оскорбление выдумывал не меньшее со своей стороны. Поиск в истории сообщений шел на максимальное совпадение слов анализировалось как много слов совпало и насколько точное совпадение зафиксировано.
Были и проекты, проводимые под эгидой Старчата, но без использования его механизма. Отчасти это обусловливалось тем, что механизм Старчата не мог работать с высокой вероятностью надежности, отчасти тем, что требования к таким конференциям не всегда были совместимы с концепцией Старчата.
Одной из таких конференций стал "Уральский информационный форум «Развитие единого информационного пространства России». Для него за один день был заново разработан функционал последнюю точку мы ставили в коде уже в первом часу ночи накануне утренней конференции. Несмотря на то, что система была выполнена на HTML, в течение набора ответа на проекционном экране «буква за буквой» должен появляться этот ответ. С грехом пополам на javascript мы сделали вполне работоспособным такой вариант. Ко всему прочему, были специальные интерфейсы для администраторов в четырех городах России. Не было времени даже связаться с ними и отладить систему нужно было просчитать все риски и принять все превентивные меры. Приезжаем за час до начала в Совет Федерации а там не открывается именно этот сайт. Все остальные без проблем. А этот нет. В чем дело так и не выяснили. Пришлось наспех открывать домен третьего уровня на другом сервере и быстро переносить весь проект, отлаживать его на новом домене и т.д. Первый раз он заработал уже за 3 минуты до начала конференции. Их хватило на отладку и настройку. Слава богу, но все прошло далее удачно.
 |
Позже была мной была разработана концепция «Старчат 2» на основе двухлетнего опыта работы с существующим Старчатом.
Ее концепция была более сложной: построение сети участник-вип-модератор-переводчик-транслятор берет на себя организатор, который также является еще одной ролью в системе. Таким образом, на базе одного портала можно проводить несколько конференций и все проводится в полностью автоматическом режиме организатор регистрируется сам и регистрирует привелигированных участников. Допустимо открывать свободный доступ для регистрации на конференцию непривелигированных участников всех тех, кто будет общаться с приглашенной «звездой».
Организатор самостоятельно проводит рекламную кампанию сайт только способствует ей. Вводится понятие транслятора это переводчик с одного потока на другой. Это может быть перевод с речевого потока на текстовый, с текстового на текстовый (языковой перевод) и др. Модератор привелигированный пользователь, решающий, какие сообщения отправлять дальше и какие изменения над ними проводить. Поскольку сеть модератор-вип-транслятор конструируется организатором самостоятельно, можно добавлять несколько переводов в разные стороны, например, приглашать участников из разных стран. Возможность включения в общение голосового потока дало бы более удобное взаимодействие с VIP-персоной ей достаточно называть номер сообщения и сразу давать голосовой ответ. Транслятор, возможно, территориально удаленный от VIP-персоны, переводит этот поток в текст, а другой транслятор, возможно, переводит на другой язык. В общем «чате» появляется уже переведнный вариант в тексте. Все вопросы проходят так же перевод при необходимости. Вот такая гибкая система.
Она бы могла быть достаточно масштабируема можно обрабатывать быструю речь за счет разнесения отдельных групп фраз, разделяемых паузами на разных трансляторов.
Такая система достаточно дорога для реализации, потому существует только в качестве идеи. Но если кому будет интересно ее развить я всегда открыт к общению. Конечно, масса идей осталась за пределами этого текста.
|