Coding Robots логотипДрузья, спасибо вам большое за доброжелательную реакцию на идею с интервью. Мы решили сохранить рубрику и постараться сделать ее еженедельной. Сегодня мы предлагаем вам беседу с Дмитрием Честных. Он является разработчиком блог-клиента BlogJet для Windows. Дмитрий недавно представил программу Mémoires (см. наш обзор) — это его первая попытка выйти на рынок Mac-софта (если не считать виджет Mahalo). Mémoires получила лестные отзывы от Джона Грубера и TUAW. Мы говорили как на чисто «свитчерские» темы, так и про особенности перехода с Win-программирования.

Когда у тебя появился первый Mac? Какие были первые впечатления?
Первый Мак я купил в апреле 2005 года – это был 12″ iBook G4 (он и сейчас у меня есть, служит ноутбуком для поездок). Процитирую заметку из своего блога:

«Пропал в Макинтоше, скоро вернусь.

Нет, я не забросил свой блог — просто я купил Apple iBook :)

Ситуация похожа на появление у нас в доме первого цветного телевизора: когда его привезли, я неделю не выходил из дома (тогда были каникулы в школе) и целыми днями смотрел ТВ.»

Дмитрий Честных

Известно, что ты последнюю версию Blogjet разрабатывал уже только на Macbook Pro через Parallels. Известно также, что ты работаешь над «суперсекретной» shareware-разработкой для Mac OS X. :) Насколько сложен был переход от Win-программирования? Были ли какие-то грабли? И где проще создавать программные продукты?

Переход был очень сложным. Я стал изучать программирование Cocoa в 2005 году, но потом забросил это дело. Во-первых, мне надо было дальше развивать Windows-продукты, а во-вторых, мне казалось, что у меня не хватит терпения. Я программировал на многих фреймворках – Delphi, .NET, wxWidgets, и везде мне требовалось меньше месяца, чтобы «врубиться», потому что, в принципе, они все похожи – у всех примерно одинаковое API и идеология. Cocoa же, хотя и появилась раньше, чем эти фреймворки, использует другие принципы. Причем, я говорю именно о фрейморке, потому что изучение нового языка (Objective-C) для нормального программиста – не проблема (а кроме того, под Cocoa можно писать и на Ruby, и на Python).

И все-таки, в начале 2007 года, я решился изучить Cocoa как следует. От начала до момента, когда над головой загорелась лампочка, и я понял суть, прошло где-то два месяца. Дальше оказалось все проще – читай доки и пиши код.

Ну а после я понял, что Cocoa – это самый гениальный GUI фреймворк. Иногда, читая про очередную функцию, я выкрикивал «Wow!» – так все красиво там сделано. В некоторых случаях, чтобы добиться того, чего Cocoa-программер получает по умолчанию, Windows-программер будет писать несколько недель.

Какие бы ты выделил три самых сильных качества Mac OS X?

Я отброшу все обычные «удобство использования», «красота», «безопасность» и т.д., потому что это всем и так известно. Придумаю чего-нибудь оригинальное:

  • UNIX. Я использовал Linux с 1998 года. Правда, ни один линукс не стоял у меня больше трех месяцев :-) Так что я совсем не линуксоид. Но красоту UNIX понимаю. Но самое главное, что все нужные инструменты уже тут – PHP, Ruby, Python, Apache и т.п. (Ну а если вам они не нужны, то вы их и не заметите.)
  • Наличие прекрасных программ. Основной аргумент Windows-юзеров – то, что на Маке мало программ. Ага, для Windows их миллионы (или миллиарды?), но какие… Если бы я был из рода МакЛаудов, то переписал бы ВСЕ, что есть для Windows (кроме Skype, BlogJet и iTunes). Если бы я был президентом, я бы отменил мораторий на смертную казнь, но только для Windows-программистов. За последние 5 лет на Windows я перебирался с одного почтового клиента на другой, и ни один мне не нравился. То же самое с браузерами. С фотоархивом. IM. Календарем. На маке же я спокойно пользуюсь Mail, Safari, iPhoto, Adium, iCal и др. Это прелесть, а не программы.
  • Шорткаты. На маке много «режимных» клавиш – Control, Option, Command, Shift, Enter, Return (да, это две разные клавиши). Сначала я думал, что они дураки – зачем столько кнопок? Теперь-то я понимаю. Я никогда не был хорош в Mortal Combat, но на маке столько полезных «комбо», что – стоит их запомнить – можно вообще не трогать мышку.

Знаю, что некоторые фанаты скупают практически все от Apple- лэптопы и десктопы, iPod, iPhone, Apple TV и т.п. Много ли у тебя продуктов Apple?

  • MacBook Pro 17″ Core 2 Duo 2.33 GHz, 2 GB RAM
  • iBook 12″ PowerPC G4 1.2 GHz, 512 MB RAM
  • iPod Shuffle (2nd generation)
  • Mighty Mouse
  • Apple Keyboard
  • AirPort Express

Coding Robots выпустили бета-версию Mémoires, отличной программы для персонального дневника. Ты сначала ее пытался продавать, а потом сделал бесплатной. Недавно в блоге ты советовался с пользователями насчет будущего Mémoires. Как ты считаешь, сложнее ли зарабатывать shareware-разработчику Mac-софта?

Я думаю легче. Во-первых, рынок не такой заполненный, как для Windows, а значит, легче пробиться. Во-вторых, Мак-юзеры платят за софт (не все, конечно, но думаю, процент пиратства меньше). В-третьих, пользователи чаще апгрейдят операционку. Vista, конечно, экстремальный пример, но все же – какой процент пользователей на нее перешло? А некоторые еще сидят на Windows 95!

Насчет Mémoires, кстати, история такая. Я писал большой секретный проект. Немножко устал его программировать и решил «отдохнуть» – за одну ночь написать программу для ведения дневника. И у меня это получилось (Cocoa рулез). На следующий день я ее отполировал и, когда был в Германии, выложил на сайт, сделав страничку для preorder (правда, преордеры на самом деле были простой подпиской на рассылку о выходе). Но никому не сказал, кроме твиттер-контактов, потому что не был уверен, стоит ли ее дальше развивать. Потом решил дальше писать большой секретный проект, а Mémoires выпустить в свободное плавание в качестве freeware. Не тут-то было. Про программу написали гиганты Daring Fireball и TUAW, за первые пару дней было 6000 скачиваний, начали приходить feature requests, сообщения о багах. Я принял решение развивать ее дальше и отложить большой секретный проект. Естественно, надо на что-то жить, поэтому спросил пользователей, не будут ли они против, если я сделаю ее платной. So far, только один сказал, что не заплатит (и вообще не понимает, зачем мы выпустили продукт, когда уже есть два), остальные все не против.

Нет планов перенести Blogjet на Mac? Все-таки некоторые вещи у тебя сделаны лучше, чем у конкурентов (прежде всего загрузка картинок)

Если честно, я устал программировать блог-клиенты. Это не в том плане, что я дальше не буду выпускать BlogJet или что наша компания не выпустит мобильный BlogJet :), а к тому, что это реально сложно. Сложно делать клиент, когда ты не контролируешь серверную часть, и когда спецификации API написаны так, что их можно интерпретировать как угодно. В итоге, когда кто-то из WordPress или Six Apart что-то намудрит в своем коде, нам сыпятся баг-репорты. А мы сделать-то ничего не можем, проблема в серверной части…

Есть ли программы, на которые ты бы мог порекомендовать обратить внимание свитчерам?

Все что есть в Mac OS X, плюс Adium, Colloquy, Cyberduck и TextMate. Ну и Parallels, если есть что-то очень необходимое/корпоративное, что не работает на Mac OS X. Плюс кодеки Perian и Flip4Mac.

***

Спасибо Дмитрию за интересную беседу и успехов ему на «маковском» shareware-рынке. :)

А теперь немного о планах. Я думаю в будущих интервью стоит отойти от свитчерских вопросов и пораспрашивать про то, как известные в своей области профессионалы используют «маки» в работе. Что думаете?