Хорошо, я объясню очевидные вещи. При этом я буду сильно упрощать, а местами еще и сильно врать, но опять же, ради простоты.
В миранде есть
* Контакт лист где видно пользователей диалога и чаты.
* Окно диалога.
* Окно мультичата.
* Вещи, которые несут второстепенный функционал (всплывающие окна, нотификаторы и т.д.).
* Протокол - то, что используя остальные сущности, позволяет общаться с внешним миром. НЕ дело протокола рисовать свое окно чата, к примеру. Или заниматься вопросами как хранить переписку, для этого база есть.
* База - хранилище настроекк и истории переписки. Причем мультичаты в ней не храняться, для логов используются текстовые файлы.
* Ядро - то, что заставляет все вышеперечисленное работать вместе.
Для понимания, каждый из вышеперечисленных модулей - это огромное количество кода и человекочасов на него потраченных.
Возьмем теперь ВК, для примера - работу с группами. У групп есть:
* Темы в которых идет, по сути, мультичат
* Фотографии группы, которые можно комментировать (мультичат)
* Видео группы, которые можно комментировать (мультичат)
* Стена на которой есть
** Посты
** Комментарии к ним ( по сути - мультичат)
То есть, если я задумаю реализовать, к примеру комментирование поста на стене, то сами комментарии будут отображаться как мирандовский мультичат, но чем тогда будет сама стена? Логично предположить, что она тогда станет контакт-листом с контактами-постами. Но куда девать тогда темы в группах? Тоже в клист, очевидно. А картинки и видео? Туда же, очевидно же. А сами группы? Они выше по иерархии чем посты на стене, чем картинки, чем видео. Оп-па, а у нас больше ничего нет (см начало поста). Но ведь групп-то у человека не одна, надо полагать? Их обязательно надо где-то хранить, нет? А ведь есть еще стена самого человека, его фотографии, его видео, есть еще стена с новостями, есть еще статьи... Это все можно комментировать и все такое. Это тоже нужно визуализировать, причем с помощью того, что у нас есть.
Кстати, пост на стене группы, в нем может быть вложение (картинка к примеру), его тоже можно отдельно комментировать. Это-то куда девать?
А куда складывать историю этого всего безобразия? В текстовые файлы? В базу, которая для этого не адаптирована?
Теперь эстетический момент. Все в курсе, что миранда не показывает картинки в окне диалогов и чатов, а так же видео? Посмотрите на любую стену группы и представте как это будет выглядеть в миранде. Чтобы полноценно полюбоваться на стену нужно все равно на сайт уходить, нет?
Ну и последний момент. Протокол ВК работает по API. Апи много что позволяет делать. В том числе работать и с группами и со стеной и с аудио и с видео - практически со всем, что есть на ВК. Но оно, для понимания не содержит механизмов, которые самостоятельно информируют о том, что где-то на комментарий Васи Пупкина, который он оставил к видео, выложенному на стену в какой-то группе появился комментарий. О ЛС - информирует, а об этом нет. Все эти обновления надо собирать "руками". То есть запрашивать изменения, по таймеру или еще как-то, как-то отличать новые от старых, как-то учитывать лайки и репосты... И чего, собственно говоря, ради?
Так что не стоит, не стоит превращать хороший ИМ клиент в черт знает что. Чего ради городить второй ВК, когда есть первый? Надеюсь, я все понятно объяснил и новых эротических фантазий на эту тему не возникнет.