Pull to refresh

Интервью с создателем IM-стартапа «Digsby» Стивом Шапиро

Self Promo
image

2-го декабря интернет-журнал Lifehackers.com опубликовал список лучших программных продуктов 2008 года в категории «Новые и обновлённые». В одном ряду с такими грандами как Firefox 3, Google Chrome, Google Android и iPhone2 мы можем видеть изображение скромного, но очень обаятельного парня в кепочке. Имя ему «Digsby».
Это далеко не первая награда мульти-протокольного мессенджера с поддержкой социальных сетей и почты (подробнее о его возможностях можно узнать на официальном сайте или из этого поста на Хабре). Уже в апреле продукт получил 4 из 6-ти наград IM Best Awards 2008 (и это при том, что бета-релиз состоялся только в марте!).

На прошлой неделе мне довелось пообщаться с автором и руководителем проекта Digsby в одном лице — Стивом Шапиро (Steve Shapiro). Текстом этой 15-минутной беседы я и хочу поделиться с хабрапользователями.

Изначально беседа задумывалась как видео-интервью, однако к моему глубокому сожалению произошёл сбой при записи звука (наши дорожки сильно наложились друг на друга). Я постарался хоть как-то исправить положение, но вышло всё равно не очень. Тем не менее, выкладываю ролик и некое подобие подкаста для тех, кому интереснее услышать ответы в оригинале. Остальным предлагаю свой вольный перевод стенограммы.

21csm: Стив, как долго ваша команда проработала над Digsby?

Steve: Ну, мы начали работу в марте 2006-го. У нас заняло два года разработать продукт, который можно было выпустить в качестве публичной Беты. Это довольно сложный продукт с точки зрения разработки, т.к. мы поддерживаем столько различных протоколов для IM, email и социальных сетей… Разработка и уровень квалификации во всех этих протоколах, обратный инжиниринг (там, где это было необходимым) — всё это заняло довольно много времени. Кроме того, мы сделали большой акцент на интерфейсе пользователя и постарались сделать Digsby настолько лёгким в использовании, на сколько это было возможным. И нам нужно было убедиться, что эти цели достигнуты прежде, чем выпущен публичный релиз.

21csm: Кто был автором идеи? Ну, знаете, идея не такая уж инновационная и в 2006-м это был всего лишь «ещё один мессенджер». Наверняка вокруг было много людей, говоривших: «Это не сработает».

Steve: Вообще говоря, идея возникла как курсовой проект. Я как раз получал степень MBA в RIT'е и проходил курс «Предпринимательство» («Entrepreneurship»). И весь этот курс был направлен на разработку бизнес-плана. Так что Digsby оказался моим курсовиком.

21csm: Круто! :) Поделитесь пожалуйста историей своего успеха.

Steve: С удовольствием, хотя мы всё ещё работаем над достижением успеха :) Безусловно, мы счастливы видеть полученные результаты: наш запуск в марте получился довольно успешным, мы слышим множество отличнейших отзывов, мы наблюдаем постоянный прирост пользователей… Всего несколько дней назад Lifehacker назвал нас в числе «Новых и обновлённых продуктов 2008». Другими продуктами в списке оказались Firefox, Google Chrome, Android, iPhone и это было просто потрясающе оказаться в одном ряду с такими брэндами! Мы гордимся тем, что забрались так далеко.
Знаете, история успеха — это просто сделать продукт, который служит истинным потребностям пользователей и сделать его максимально лёгким в использовании. В Digsby одной из задач, которые мы попытались выполнить, было облегчить для людей управление всем тем, что им приходится делать он-лайн. Ведь у многих несколько IM-аккаунтов, большинство народу имеет несколько почтовых аккаунтов: для работы и персональные, многие также используют социальные сети. Так что нашей главной целью было ощутить истинные потребности пользователей и постараться дать им возможность делать то, чего раньше они не могли, ну или хотя бы позволить им делать то же самое, но намного проще.

21csm: Что ж, если я правильно понял, Вы были главной движущей силой, продвигающей эту идею, и тем, кто заварил всю кашу.

Steve: Да, но меня нельзя назвать главным конструктором всего этого дела. Что касается идеи — да. Бизнес-план — туда же. Но вот программная разработка велась полноценной командой программистов. Сам я ничего не кодил.
У нас есть одна удивительная особенность IT-образования: все учебные программы на самом деле идут не менее 5 лет, т.к. требуют года совместной практической работы для того, чтобы получить диплом. Так что вся наша команда на самом деле состояла из «студентов-практикантов», которых нанимали без отрыва от учёбы, а потом они заканчивали универ и переходили на полную занятость. Все усилия по разработке полностью находятся в их руках. И, должен сказать, у нас тут просто чудесная команда!

21csm: Какая платформа лежит в основе программной реализации Digsby — C++? Какой фреймворк был использован для разработки UI?

Steve: Digsby полностью написан на Python'е. Да, я вижу вашу улыбку :) На C++ было бы намного веселее всё это писать, и тем не менее мы выбрали более быстрый инструмент. Использование высокоуровневых языков имеет множество преимуществ: при работе с сетью, в управлении данными, которые генерируются нашим огромным списком протоколов. GUI написан при помощи библиотеки wxPyhton, которая, в свою очередь, является надстройкой над wxWidgets. Так что гуишная библиотека сама по себе написана на C++. Но взаимодействуем мы с ней из питоновского окружения. И это позволило нам контролировать всё, что нужно и сделать GUI на питоне, несмотря на то, что фундамент, на котором всё держится, на самом деле C++. Так что нам удалось получить лучшее из обоих миров: быстродействие C++ и простоту, и удовольствие от разработки на Python.
Другая сторона вопроса заключается в том, что и wxPython и Python сам по себе полностью кросс-платформенные. Так что наш код работает на Windows, MacOS и Linux. Поскольку у нас относительно небольшая команда, мы решили сделать сначала релиз для Windows. Как только эта версия будет достаточно стабильна, мы выпустим релизы для Mac'а и Linux.

21csm: Каков был размер вашей первоначальной команды?

Steve: Мы начали с четырьмя разработчиками. Затем стали быстро расти, т.к. осознавали масштабы проекта. Сейчас команда состоит из семи человек. Возможно, мы ещё немножко расширимся со временем, но взрывного роста не планируется.

21csm: У вас все члены команды присутствуют локально?

Steve: Неа. Большинство, конечно, тут, но некоторые работают удалённо. Когда мы видим кого-то с впечатляющим уровнем квалификации в определённой области, когда нужно сделать какой-то подпроект и этот человек кажется наиболее подходящим кандидатом, мы можем взять его.
Вообще, удалённая работа не представляет из себя каких-либо проблем. Мы используем IM для общения, Skype и всё такое. Технологии сделали доступной возможность удалённой работы над проектами вроде этого. Особенно, когда есть система контроля версий. Над программным продуктом вполне эффективно может работать команда, члены которой находятся в самых разных местах.

21csm: Какой процесс вы используете при разработке?

Steve: Нечто похожее на Agile. Мы, конечно же, используем ревью кода.
У нас каждую неделю выходят альфа-билды, которые мы стабилизируем и отдаём пользователям. У Digsby встроенная система авто-обновлений, так что когда бы мы там ни выпустили апдейт, при следующем логине у вас будет самая свежая версия.

21csm: Как много продуктивных часов вы тратили в день до выхода первого публичного релиза?

Steve: Наш рабочий день заканчивается в восемь вечера, но людям так нравится работать над проектом, что они постоянно остаются дольше. Команда трудится в поте лица и за неделю у нас выходит приличное количество часов.

21csm: Больше 40?

Steve: Да, да. Обычно у нас получается 55-60 часов в неделю в среднем по команде.

21csm: И сейчас?

Steve: Да, то же самое. Знаете, мы у нас так много запросов на выпуск версий под Mac и Linux, что мы стараемся добиться необходимых результатов как можно быстрее.

21csm: Расскажите чуть больше о ревью кода.

Steve: Мы просматриваем ревизию за ревизией в SVN, который используется в качестве системы контроля версий. Для управления проектом мы используем TRAC — это просто отличный продукт! Мы определённо рекомендуем остальным его использовать. Мы просматриваем каждую ревизию. Все участники команды стараются описать результаты, которых они пытались достичь своим кодом, с каким тикетом он связан и т.п. Мы все проводим ревью кода и одно из его преимуществ в том, что баги находятся до того, как они попадают к пользователям. Но самое главное — абсолютно вся команда отлично знакома с протоколами и прочими важными аспектами проекта. Это отлично, когда у тебя возник какой-нибудь баг в AIM обратиться за помощью к товарищам по команде, которые тоже разбираются в этом протоколе.

21csm: После того, как вам пришлось углубиться в структуру различных IM клиентов какой из них стал Вам наиболее ненавистен?

Steve: :) Да… протоколы бывают разные. Вот с Google Talk, например, который на Jabber'е основан, работать одно удовольствие. Он просто отлично сделан, хорошо стандартизирован и не нужно никакого обратного инжиниринга.
Наверное, самый ненавистный — это MSN. Он, пожалуй, наиболее сложный из всех. В частности, из-за особенностей своей структуры. Каждый раз, когда вы начинаете новый разговор с кем-то MSN коннектится к новому серверу, вместо того, чтобы вести какой-то один пул для обмена сообщениями, этот протокол является самым ненавистным сейчас, потому что после запуска в работе с ним возникло больше всего багов. Но когда мы только начинали, я бы назвал самым ненавистным Oscar (который используют ICQ и AIM). Прежде всего потому, что там абсолютно всё в бинарном виде. Там исходники совершенно нечитабельные и с ними очень трудно работать. Приходилось глубоко в них копаться.

21csm: С какой наиболее сложной технической проблемой вам приходилось сталкиваться?

Steve: Да знаете, я как-то и не назову какую-то одну проблему самой сложной. В принципе, ни разу не было такого, чтобы мы упёрлись во что-то, застряли и не могли сдвинуться с места. Команда очень одарённая и мы слаженно работаем вместе, это позволяет успешно справляться с проблемами.

21csm: Назовите свой самый любимый баг :)

Steve: Или мой самый нелюбимый :)) Нам довелось наблюдать очень интересный баг… У некоторых пользователей Windows Vista x64 когда они в настройках отключали тени для курсора если Digsby был запущен, explorer.exe начинал кушать 10-20% CPU. Когда вышла 32-битная версия Висты, там тоже была эта проблема, но они выпустили хот-фикс, который её решал. А на x64 эта проблема всё ещё вылазит у некоторых людей. Это один из тех мистических багов, когда в операционной системе происходит что-то неладное и мы пытаемся выяснить, чем это вызвано.

21csm: Что является наиболее увлекательной частью вашей работы?

Steve: Я бы сказал, наиболее увлекательная часть — это слышать все эти отзывы от пользователей, пожалуй, это наиболее ценная часть. Всякий раз, когда мы получаем от кого-то email или видим чьи-то твиты о Digsby, слышим позитивные отклики о том, как он делает их более эффективными, о том, как они любят этот продукт — это самая стоящая часть всей нашей работы. Это наполняет нас энергией и придаёт большее ускорение.

21csm: У вас есть инвесторы или dotSyntax LLC самостоятельно инвестирует в Digsby?

Steve: Да, у нас двое бизнес-ангелов. Когда я закончил свой бизнес-план для Digsby, я начал связываться со всеми, кого знал, чтобы выяснить, есть ли у них какие-то контакты среди потенциальных инвесторов стартапов.

21csm: Что помогло вам привлечь их?

Steve: Я представил им основную идею, особенность продукта и результаты, которых планировал достичь. Так я подошёл к вопросу финансирования. Просто используйте личные контакты, чтобы привлечь инвестиции для своей компании.

21csm: Есть ли у Вас планы по монетизации Digsby?

Steve: Да. У нас множество идей. Но сейчас мы всё ещё нацелены на увеличение пользовательской аудитории и совершенствование продукта. Тем не менее, мы твёрдо знаем, что хотим оставить Digsby бесплатным и свободным от рекламы.

21csm: Что на счёт глобального финансового кризиса?

Steve: :) Мне не кажется, что мы испытываем его действие напрямую. Если бы мы имели дело с продажей рекламы, то сейчас нам бы пришлось наблюдать за падением уровня доходов. Если сейчас вам требуется финансирование, его намного труднее получить по сравнению с возможностями двухлетней давности. Но поскольку мы всё ещё на довольно ранней фазе и сосредоточены на росте, кризис не так сильно повлиял на нас как на остальные, более крупные компании.

21csm: Когда линуксоиды, наконец, получат свою версию Digsby?

Steve: Ммм… у нас сейчас нет конкретных временных прогнозов. Тем не менее, должен сказать, что сделать версию под Linux намного проще. Вообще, это настоящая дилемма. С одной стороны, у Маков очень уникальная операционная система, особенно в том плане, что пользователи Маков ожидают от программ определённого поведения, GUI должен выглядеть по-особенному. С Маком всё будет не так просто, и понадобится намного больше родных GUI-элементов для релиза под Mac. Я не готов сказать, какую из версий мы выпустим первой, но сделать её для Линукса нам будет определённо проще. И у нас множество запросов на обе эти операционные системы. Так что мы всё-таки посмотрим, какая будет более востребованной, и попробуем выпустить их одну за другой как можно скорее.
Говоря о времени, у нас нет пока определённой даты. Приближаются два публичных релиза. Оба баг-ориентированные. Затем будут один или два, ориентированные на новые фичи. У нас также множество запросов на реализацию дополнительных возможностей: групповой чат, лучшая интеграция с твиттером… Опять же, мы планируем сконцентрироваться на наиболее востребованных из них. После выхода всех этих релизов мы станем посвящать намного больше времени версиям для Мака и Линукса. Когда поймём, что наш продукт достаточно стабилен и мы готовы перемещаться на другие платформы.
Tags:DigsbyIMinterview
Hubs: Self Promo
Total votes 43: ↑42 and ↓1+41
Views480

Popular right now