GrabDuck

Интервью с создателем Juick

:

Juick Если вдруг вы ещё не слышали про Juick: это сервис микроблогов, основанный на технологии Jabber/XMPP, которым можно пользоваться прямо из вашего любимого IM-клиента. Подробнее...

Я, Антон Угнич — руководитель Juick.com, предложил своим читателями поиграть в «интервью»: они задали вопросы о сервисе и здесь я предлагаю вашему вниманию ответы на некоторые из них.

@lsd: Как появилась идея создать Juick и почему такое название?
Однажды, в далеком 2008-ом году, мне надоело нажимать Ctrl-V, рассылая по контакт-листу своим друзьям и знакомым очередную интересную ссылку, и я решил сделать сервис, который будет делать это за меня.
Jabber/XMPP был и остается единственным открытым популярным IM-протоколом, что позволяет заниматься разработкой сервиса, а не исправлять бесконечные ошибки после очередного обновления проприетарного протокола.
Что касается названия «Juick», то его придумали на одном нейминг-сервисе за деньги. Главным условием был свободный короткий домен в зоне .com. Чаще всего люди расшифровывают его как «Jabber, qUICK», но, если честно, я и сам не знаю, что это название означает. :)

@ivan101: Зачем он нужен?
Jabber — это, в первую очередь, обмен личными сообщениями между двумя людьми. Juick же позволяет общаться любому количеству пользователей. Это очень удобно, если нужно задать вопрос или поделиться новостью.
Кроме обычных текстовых сообщений, Джуик позволяет передавать фотографии и видео-ролики, указывать гео-координаты для сообщения. Согласитесь, намного проще собрать друзей в кафе, отправив им фотографию аппетитной пиццы или запотевшего бокала с пенящимся напитком янтарного цвета, и указав точку на карте, где вы их ждете. ;)
Кроме того, в Джуике очень удобно вести дневник: с любого jabber-клиента, с любого мобильного устройства. Как только вас посетила мысль или что-то произошло — сразу же можно записать.

@lsd: Сколько человек участвовало в разработке Джуика?
Непосредственно над сервисом работаю я один. Но Juick — это не только сайт и jabber-бот, это ещё и плагины к популярным IM-клиентам, множество сервисов и сайтов, над которыми работают десятки людей со всего мира. Так что, нас много. :)

@tilarids: Опиши техническую часть, обеспечивающую работу сервиса. Количество серверов, их роли, использованные технологии и ЯП.
Несмотря на то, что в базе уже почти 2 млн. сообщений и каждый день прибавляется более чем 10 тыс. новых, Juick всё ещё работает на весьма скромном VPS. Впрочем, скоро будем переезжать на выделенный сервер, там гораздо дешевле добавить оперативной памяти, которой для СУБД нужно довольно много.
Большая часть кода написана на Perl, в некоторых местах используется C++. Роль jabber-сервера исполняет jabberd2, СУБД — MySQL, веб-сервер — nginx.
Чуть позже постараюсь сделать отдельную подробную статью об архитектуре Джуика. ;)

@al1k: Сколько места сейчас занимают все данные Джуика? И в %% соотношении, если возможно. Посты\Комментарии\картинки\аудио\видео.
Текстовые сообщения в БД занимают примерно 0.5Гб, из них четверть — посты, остальное — комментарии.
5 тыс. фотографий с превью занимают около 1Гб. Возможность отправлять видео и аудио появилась позже, «весят» эти файлы немного больше 200Мб.
А ещё на сервере хранятся аватары 8 тыс. пользователей в 3-х размерах, получается более 150Мб.

@mightymind: Как монетизируется Juick?
На Джуике нет ни одного надоедливого баннера или рекламной ссылки. Проект монетизируется исключительно через платные аккаунты с расширенными возможностями. Главной такой возможностью является отправка неограниченного числа фотографий и видео. Медиа-контент потребляет довольно много ресурсов и трафика, поэтому вполне разумно и справедливо, что активное использование этих ресурсов должно быть оплачено.
Есть ещё кое-какие планы по получению прибыли, связанные с геолокацией, но пока об этом рано говорить.

@Heni: Каковы шаги по будущему развитию Juick, какие фичи будут меняться или добавляться к сервису?
Несмотря на то, что есть масса интересных идей, в ближайшем будущем все силы будут направлены на доработку и улучшение существующих функций: поиск по сообщениям и пользователям, расширенный вывод визитных карточек (VCard) пользователей, XMPP API, геолокация.
Как я уже говорил, Juick — это не только сайт и бот, а ещё и множество клиентов, через которые пользователи «общаются» с сервисом. XMPP — очень гибкий протокол с огромным количеством разнообразных функций, но иногда реализация этих функций в клиентах оставляет желать лучшего. Поскольку Juick является чуть ли не единственным крупным сервисом, активно использующим расширенный функционал XMPP, приходится самому общаться с разработчиками клиентов: вместе искать ошибки, уговаривать внедрять новые функции и т.д. Этому направлению и в будущем будет уделяться много внимания. Например, недавно я предложил денежное вознаграждение за доработку популярного открытого клиента Bombus, планирую в том же духе и дальше помогать OpenSource сообществу.

@baadoo: Планируется ли гейтование в другие сервисы (ЖЖ, Delicious, Twitter и т.п.) или это будет уделом сторонних сервисов?
Уже довольно давно работает кросс-постинг в Twitter и Facebook. Планов по созданию новых «гейтов» нет, но архитектура сервиса и использование простых форматов данных (RSS и XMPP основаны на XML) позволяют любому желающему сделать кросс-постинг в любой другой сервис. Например, на основе исходного кода упомянутого выше бота для кросс-постинга в Twitter.

@nixon89: Будет ли специальный клиент для Джуика? Вроде были какие-то слухи, про то что вы его делаете.
Это не просто слухи, я регулярно пишу об этом в блоге и выкладываю сборки. :)
Я занимаюсь клиентами для J2ME телефонов и устройств на платформе Android. Также в планах есть «настольный» клиент для Windows/Linux/MacOS, кое-какие наработки уже есть, но пока показать нечего.
Думаю, читателям Хабра будет интересно узнать, что эти три клиента используют для работы с XMPP одну и ту же Java-библиотеку, которая без модификации кода работает на J2ME, Android, Windows, Linux и MacOS: Juick/XMPP API.

@Totktonada: Планируется ли открыть исходники, когда Juick станет идеальным, а пользователей станет много?
Juick — это не набор скриптов, вроде Wordpress, а централизованный сервис, причём довольно сложный. Поэтому, пользы от открытия исходного кода будет немного. В то же время, для открытия кода предварительно нужно его должным образом оформить, сделать хотя бы минимальную документацию и т.п. — это всё требует довольно много времени.
Там, где это уместно, я всегда стараюсь внести вклад в дело Open Source: отправляю патчи для джаббер-серверов, клиентов и библиотек, выкладываю исходники своих программ. Думаю, от этого пользы получается гораздо больше.

На сегодня всё. :) Скоро постараюсь порадовать вас статьей об архитектуре и внутреннем устройстве сервиса с кучей технических подробностей, которые вы так любите. А пока вы можете завести свой блог на Джуике и записаться в ряды поклонников компании на Хабре. ;)