exelens 02.06.2011 14:14
WeИнтервью — Vacuum и его создатель
Как понимаю это тоже из закормов родины =)Тоже получено от zereal
Мы Вас совсем не знаем. Как Вас зовут, кто Вы?
Здравствуйте, меня зовут Сергей, программирую я в основном на С и С++,раньше писал на паскале и бейсике. В свободное время, кроме работы над Вакуумом, я играю в баскетбол, смотрю кино или просто ничего не делаю :)
Как получилось, что Вы стали писать свой jabber-клиент? Вас чем-то не устраивали существующие или же просто хотелось попробовать свои силы?
Вообще есть расхожая шутка о том, что первые опыты программиста начинаются с плейера или im. Так что предыстория интересна:)
К тому моменту как я решил заняться Вакуумом я уже давно увлекался
написанием плагинов к джаббер клиенту JAJC, и идея написать свой
клиент уже давно обдумывалась мной. Архитектура модульного
кроссплатформенный клиента родилась в группе разработчиков
JRuDevels.org, в которой я состою с момента появления, и, насколько мне известно, аналогичного по архитектуре клиента не было в то время и не появилось до сих пор. Такая архитектура позволяет легко расширять и настраивать Вакуум под свои нужды, можно выгрузить или даже удалить плагины с ненужным функционалом или написать свой, при этом придётся разбираться не во всем коде клиента, а лишь в нужных интерфейсах, а за счёт того, что основные модули используют эти же интерфейсы, вы получаете практически неограниченные возможности интеграции вашего плагина в клиент.
Почему Ваш выбор пал именно на Qt, а не Gtk, или другие фреймворки? С чего Вы начали, что написали в первую очередь? Как создавалась архитектура приложения?
Для меня в выборе Qt решающими было несколько причин, первая это
широкие предоставляемые возможности, на втором месте так называемый "native look and feel" на поддерживаемых платформах, также не маловажным фактором склонившим меня в пользу Qt была поддержка этой библиотеки не сообществом энтузиастов, а коммерческой фирмой, что вселяло уверенность в дальнейшее её развитие. Сейчас я абсолютно уверен в правильности сделанного выбора.
Первым плагином, который я начал писать, кажется, был плагин настроек Settings, сейчас его уже нет. Архитектура приложения изначально была определена, а содержание интерфейсов наполнялось по мере развития проекта.
В чем подводные камни разработки именно на Qt? C какими трудностями пришлось столкнуться? Чего не хватало, а что было лишним?
На Qt писать легко и удобно, главное научиться пользоваться
документацией, и тогда никаких подводных камней не будет. Основные
трудности начинаются, когда какой-то нужной функции не оказывается в Qt, но тут можно воспользоваться преимуществами GPL и позаимствовать нужный код в другом приложении.
Вы занимаетесь разработкой Vacuum IM c 2006 года. Что изменилось за это время? И помогают ли Вам пользователи? Советую что-то или шлют фичер-реквесты?
Пользователи естественно помогают, оставляя свои отзывы на форуме
http://forum.jrudevels.org/viewforum.php?f=11 и указывая на найденные ошибки в трекере http://code.google.com/p/vacuum-im/issues/list.
Многие помогают выявить причины возникновения ошибки, тратя свое время на различные эксперименты с Вакуумом, за что им отдельное спасибо!
Почему VacuumIM именно jabber клиент, а не мультипротокольный? Ведь Вы сами используете ICQ?
Вакуум именно джаббер клиент в первую очередь из-за того, что мне не интересны другие протоколы,а ICQ я использую по инерции, через неё я уже давно ни с кем не общаюсь. К тому же в джаббере имеются транспорты практически по все IM-протоколы и дублировать их функционал в клиенте нет необходимости.
Первая версия Vacuum была написана под Linux или под Windows?
Вакуум изначально был кроссплатформенным клиентом, хоть и
разрабатывался под Windows.
Основной код Вы пишете один или есть товарищи-соратники-команда? :) Если есть, то кто они?
В основном код я пишу один, но уже есть те, кто помогает мне в этом не легком деле, за что им огромное спасибо. Подробнее об участниках проекта можно узнать по ссылке
http://code.google.com/p/vacuum-im/people/list
Вы добавили поддержку Adium стилей.Это был запрос пользователей или Ваше собственное решение?
Адиум стили изначально присутствовали в Вакууме, еще до публикации
кода, я решил их использовать из-за огромного количества готовых
стилей, которые можно найти по ссылке
http://www.adiumxtras.com/index.php?a=search&cat;_id=5. В их реализации нет ничего сложного, никакие дополнительные библиотеки не требуются, я их писал на основе документации по созданию стилей
http://trac.adium.im/wiki/CreatingMessageStyles и исходных кодов
самого Адиума.
Программирование это Ваша основная сфера деятельности? Или это просто для души?
Программирование это в первую очередь мое давнее хобби, ну и сфера
деятельности тоже.
А какие основные рабочие проекты Вы реализуете?
По работе я занимаюсь программированием POS терминалов, которые
предоставляют вам скидку, когда вы заправляетесь на заправках Лукойла по дисконтным картам.
Есть программирование, а есть кодинг. Для Вас эти понятия сходны или различны?
У меня нет ответа на этот вопрос, я не в курсе чем коддинг отличается от программирования.
Вы участвовали в других open-source проектах? Расскажете поподробнее?
Нет не участвую, все свободное время уходит на Вакуум.
Какую систему контроля версий Вы используете и почему? Git, svn?
В основном я использую SVN т.к. я хорошо с ней знаком и для неё
имеется огромное количество удобного и стабильного инструментария, а дополнительные возможности, которые предоставляют распределенные
системы контроля версий, сейчас не востребованы проектом.
За все время разработки Vacuum IM что было самое сложное?
Самое сложно для меня это подбор ресурсов, в основном иконок, и
правильное формулирование сообщений на английском языке, которым я, к сожалению, владею очень посредственно.
Есть что-то, помогающее Вам в разработке? Что-то, что дает Вам
вдохновение? Музыка может быть? Или чтобы написать код или исправить ошибку, надо просто сесть и сделать?
Программирование это мое хобби, по этому мне ничего не нужно для
вдохновения, для меня сложнее встать не доделав что-то, чем сесть и сделать.
Что должен делать программист каждый день, чтобы развиваться?
Нужно заниматься своим любимым делом - программировать.
Что у вас в планах? Какие новые языки или методы Вы хотели бы освоить?
В планах у меня научиться писать под Android, может это будет еще один джаббер клиент :), но я пока не определился, да и времени свободного пока очень мало.
Вы используете Linux в повседневной практике? А какой дистрибьютив и какой DE?
Линуксом я пользуюсь редко, в основном для исправления ошибок в
Вакууме проявляющихся только под Linux, для этих целей у меня есть
Ununtu с Gnome и KDE.
Когда создавался Vacuum, чему Вы уделили больше внимания — графической составляющей или коду?
При создании Вакуума я значительно больше внимания уделял
функциональности, из-за чего сейчас страдает юзабилити, по этому в ближайших планах как раз исправить эти недостатки, будет переделан интерфейс работы с историей, добавятся визарды для выполнения наиболее частых операций, появится больше настроек внешнего вида.
Какой язык программирования Вы считаете наиболее перспективным?
Перспективность языка программирования нужно рассматривать в контексте прикладной задачи, если вам нужна скорость и удобная работа с железом, то тут лучше подходит C и C++, если же нужно быстро написать небольшую утилиту для автоматизации повседневных действий, то лучше использовать интерпретируемые языки, например, питон.
Не собираетесь портировать Vacuum на мобильные платформы? Например, Android?
Нет, под мобильные платформы вакуум не рассчитывался, для них нужен совершенно другой интерфейс. Но не смотря на это Вакуум успешно собирается под Maemo и Meego, вот тут можно посмотреть
http://juick.com/Disabler/795023, http://juick.com/Disabler/801093,
также удалось собрать модули реализующие минимальный функционал XMPP под Symbian (без графического интерфейса)
Проекту Vacuum IM нужна финансовая поддержка?
Нет, финансовая поддержка сейчас не нужна, скорее нужны люди желающие принять участие в развитии проекта.
Здравствуйте, меня зовут Сергей, программирую я в основном на С и С++,раньше писал на паскале и бейсике. В свободное время, кроме работы над Вакуумом, я играю в баскетбол, смотрю кино или просто ничего не делаю :)
Как получилось, что Вы стали писать свой jabber-клиент? Вас чем-то не устраивали существующие или же просто хотелось попробовать свои силы?
Вообще есть расхожая шутка о том, что первые опыты программиста начинаются с плейера или im. Так что предыстория интересна:)
К тому моменту как я решил заняться Вакуумом я уже давно увлекался
написанием плагинов к джаббер клиенту JAJC, и идея написать свой
клиент уже давно обдумывалась мной. Архитектура модульного
кроссплатформенный клиента родилась в группе разработчиков
JRuDevels.org, в которой я состою с момента появления, и, насколько мне известно, аналогичного по архитектуре клиента не было в то время и не появилось до сих пор. Такая архитектура позволяет легко расширять и настраивать Вакуум под свои нужды, можно выгрузить или даже удалить плагины с ненужным функционалом или написать свой, при этом придётся разбираться не во всем коде клиента, а лишь в нужных интерфейсах, а за счёт того, что основные модули используют эти же интерфейсы, вы получаете практически неограниченные возможности интеграции вашего плагина в клиент.
Почему Ваш выбор пал именно на Qt, а не Gtk, или другие фреймворки? С чего Вы начали, что написали в первую очередь? Как создавалась архитектура приложения?
Для меня в выборе Qt решающими было несколько причин, первая это
широкие предоставляемые возможности, на втором месте так называемый "native look and feel" на поддерживаемых платформах, также не маловажным фактором склонившим меня в пользу Qt была поддержка этой библиотеки не сообществом энтузиастов, а коммерческой фирмой, что вселяло уверенность в дальнейшее её развитие. Сейчас я абсолютно уверен в правильности сделанного выбора.
Первым плагином, который я начал писать, кажется, был плагин настроек Settings, сейчас его уже нет. Архитектура приложения изначально была определена, а содержание интерфейсов наполнялось по мере развития проекта.
В чем подводные камни разработки именно на Qt? C какими трудностями пришлось столкнуться? Чего не хватало, а что было лишним?
На Qt писать легко и удобно, главное научиться пользоваться
документацией, и тогда никаких подводных камней не будет. Основные
трудности начинаются, когда какой-то нужной функции не оказывается в Qt, но тут можно воспользоваться преимуществами GPL и позаимствовать нужный код в другом приложении.
Вы занимаетесь разработкой Vacuum IM c 2006 года. Что изменилось за это время? И помогают ли Вам пользователи? Советую что-то или шлют фичер-реквесты?
Пользователи естественно помогают, оставляя свои отзывы на форуме
http://forum.jrudevels.org/viewforum.php?f=11 и указывая на найденные ошибки в трекере http://code.google.com/p/vacuum-im/issues/list.
Многие помогают выявить причины возникновения ошибки, тратя свое время на различные эксперименты с Вакуумом, за что им отдельное спасибо!
Почему VacuumIM именно jabber клиент, а не мультипротокольный? Ведь Вы сами используете ICQ?
Вакуум именно джаббер клиент в первую очередь из-за того, что мне не интересны другие протоколы,а ICQ я использую по инерции, через неё я уже давно ни с кем не общаюсь. К тому же в джаббере имеются транспорты практически по все IM-протоколы и дублировать их функционал в клиенте нет необходимости.
Первая версия Vacuum была написана под Linux или под Windows?
Вакуум изначально был кроссплатформенным клиентом, хоть и
разрабатывался под Windows.
Основной код Вы пишете один или есть товарищи-соратники-команда? :) Если есть, то кто они?
В основном код я пишу один, но уже есть те, кто помогает мне в этом не легком деле, за что им огромное спасибо. Подробнее об участниках проекта можно узнать по ссылке
http://code.google.com/p/vacuum-im/people/list
Вы добавили поддержку Adium стилей.Это был запрос пользователей или Ваше собственное решение?
Адиум стили изначально присутствовали в Вакууме, еще до публикации
кода, я решил их использовать из-за огромного количества готовых
стилей, которые можно найти по ссылке
http://www.adiumxtras.com/index.php?a=search&cat;_id=5. В их реализации нет ничего сложного, никакие дополнительные библиотеки не требуются, я их писал на основе документации по созданию стилей
http://trac.adium.im/wiki/CreatingMessageStyles и исходных кодов
самого Адиума.
Программирование это Ваша основная сфера деятельности? Или это просто для души?
Программирование это в первую очередь мое давнее хобби, ну и сфера
деятельности тоже.
А какие основные рабочие проекты Вы реализуете?
По работе я занимаюсь программированием POS терминалов, которые
предоставляют вам скидку, когда вы заправляетесь на заправках Лукойла по дисконтным картам.
Есть программирование, а есть кодинг. Для Вас эти понятия сходны или различны?
У меня нет ответа на этот вопрос, я не в курсе чем коддинг отличается от программирования.
Вы участвовали в других open-source проектах? Расскажете поподробнее?
Нет не участвую, все свободное время уходит на Вакуум.
Какую систему контроля версий Вы используете и почему? Git, svn?
В основном я использую SVN т.к. я хорошо с ней знаком и для неё
имеется огромное количество удобного и стабильного инструментария, а дополнительные возможности, которые предоставляют распределенные
системы контроля версий, сейчас не востребованы проектом.
За все время разработки Vacuum IM что было самое сложное?
Самое сложно для меня это подбор ресурсов, в основном иконок, и
правильное формулирование сообщений на английском языке, которым я, к сожалению, владею очень посредственно.
Есть что-то, помогающее Вам в разработке? Что-то, что дает Вам
вдохновение? Музыка может быть? Или чтобы написать код или исправить ошибку, надо просто сесть и сделать?
Программирование это мое хобби, по этому мне ничего не нужно для
вдохновения, для меня сложнее встать не доделав что-то, чем сесть и сделать.
Что должен делать программист каждый день, чтобы развиваться?
Нужно заниматься своим любимым делом - программировать.
Что у вас в планах? Какие новые языки или методы Вы хотели бы освоить?
В планах у меня научиться писать под Android, может это будет еще один джаббер клиент :), но я пока не определился, да и времени свободного пока очень мало.
Вы используете Linux в повседневной практике? А какой дистрибьютив и какой DE?
Линуксом я пользуюсь редко, в основном для исправления ошибок в
Вакууме проявляющихся только под Linux, для этих целей у меня есть
Ununtu с Gnome и KDE.
Когда создавался Vacuum, чему Вы уделили больше внимания — графической составляющей или коду?
При создании Вакуума я значительно больше внимания уделял
функциональности, из-за чего сейчас страдает юзабилити, по этому в ближайших планах как раз исправить эти недостатки, будет переделан интерфейс работы с историей, добавятся визарды для выполнения наиболее частых операций, появится больше настроек внешнего вида.
Какой язык программирования Вы считаете наиболее перспективным?
Перспективность языка программирования нужно рассматривать в контексте прикладной задачи, если вам нужна скорость и удобная работа с железом, то тут лучше подходит C и C++, если же нужно быстро написать небольшую утилиту для автоматизации повседневных действий, то лучше использовать интерпретируемые языки, например, питон.
Не собираетесь портировать Vacuum на мобильные платформы? Например, Android?
Нет, под мобильные платформы вакуум не рассчитывался, для них нужен совершенно другой интерфейс. Но не смотря на это Вакуум успешно собирается под Maemo и Meego, вот тут можно посмотреть
http://juick.com/Disabler/795023, http://juick.com/Disabler/801093,
также удалось собрать модули реализующие минимальный функционал XMPP под Symbian (без графического интерфейса)
Проекту Vacuum IM нужна финансовая поддержка?
Нет, финансовая поддержка сейчас не нужна, скорее нужны люди желающие принять участие в развитии проекта.
Вопросы? Пожелания? Ворожения? В комменты плиз.
eugenez 02.06.2011 17:53 #
+ 1 -
Спасибо автору за отличный клиент. После пробы Vacuum полностью отказался от Psi+, пользуюсь больше года дома и на работе, доволен как слон. Как-то так.