Имеется авторизация пользователя. Имеется регистрация пользователя. Сначала регистрируются пользователи. Потом один из них авторизируется и с ним создается диалог, для которого выбирается любой неавторизированный пользователь. Диалог проходит только с двумя пользователями. Пользователей можно сколько угодно создавать. Диалогов соответственно тоже. Можно по имени собеседника находить текущий диалог. Можно переключаться по каждому диалогу между всеми имеющимися. В каждом диалоге можно помимо стандартных текстовых сообщений, отправлять друг другу картинки звуковые сообщения и текстовые сообщения со смайлами. В сообщениях есть статус прочитано в виде картинки из двух галочек. Он ставится после того, как собеседник на них ответил. В противном у сообщений стоит статус чтение из одной галочки. В каждом диалоге у всех сообщений от автора диалога отмечается время их создания. Любое сообщение в каждом диалоге можно удалять. Если собеседник просматривает сообщения пользователя и на них отвечает, то он тоже в статусе Online.