Интервью с разработчиками файлового менеджера Фрегат

Файловый менеджер – это инструмент
профессионального пользователя
Андрей Сергеев

Фрегат является мощным и одним из самых популярных файловых менеджеров, по крайней мере, на территории xUSSR. Его разрабатывают два российских программиста Александр Бузаев и Андрей Сергеев. Андрей любезно согласился ответить на мои вопросы, связанные с прошлым, настоящим и будущим Фрегата.

Надеюсь, что мои вопросы, как собственно и ответы Андрея, будут интересны и пользователям Фрегата и тем, кто только собирается с ним познакомиться. Это уже вторая моя статья, посвященная этому замечательному файловому менеджеру. В первой статье цикла я рассказал о функциональных возможностях и преимуществах Фрегата.

Здравствуйте, Андрей. Спасибо что согласились ответить на мои вопросы.
Здравствуйте, Даниил.

Какие файловые менеджеры вы сами использовали до начала работы над Фрегатом? Был ли в их числе легендарный Dos Navigator?
Использовали Norton, потом перешли на Volcov Commander и закончили Dos Navigator’ом.

Расскажите историю возникновения Фрегата.
Когда стало окончательно ясно, что Dos Navigator’а под Windows не будет, мы попробовали FAR. Но его представления об отображении файлов категорически не совпадали с нашими, в плане прижатых к имени расширений и цветовых групп. Деваться было некуда, ибо Windows Commander не устраивал нас по эстетическим соображениям.

Откуда появилось название Фрегат? Что оно означает?
Название подбирали долго. Почти весь день… Через пол дня стало понятно, что все варианты Navigator и Commander уже заняты. Но морское направление было заявлено. Шхуна показалось слишком утлой, крейсер – слишком тяжелым. Фрегат по габаритам подошел.

Когда была выпущена самая первая публичная версия? Какая у нее была функциональность и возможности?
Первая версия была выпущена в начале ноября 2001 года. Она умела копировать (иногда), переносить файлы (реже) и, временами, удалять. К версии 1.02 у меня сохранилась история изменений:

[*] Отключение Tag sign теперь влияет и на показ символа скрытого файла.
[+] В режиме «таблица» теперь правильно показываются описания компьютеров в сети.
[-] Не сохранялся alarm в Scheduler в режиме Custom.
[+] К часам добавлен хинт и возможность по правой кнопке вызывать Scheduler, а также менять скин.

Надо сказать, что первая публичная версия вышла где-то месяцев через 8 разработки и несла на борту практически полный набор утилит.

Работа над Фрегатом это ваша основная деятельность или вы занимаетесь ею в свободное от основной работы время?
Лучше сказать, что мы занимаемся основной работой в свободное от Фрегата время.
P.S. Специально для шефа: Ну конечно же, Фрегат мы пишем исключительно ночами. Примерно от 2 до 5 утра. :-)

Когда и почему возникло желание переписать Frigate 3 с нуля?
Поддержка второго Фрегата стала слишком сложной. Висели старые решения, появившееся еще тогда, когда нам казалось, что процедура копирования занимает около 10 строк (сейчас за копирование, собственно, файла отвечают около 7 модулей общим объемом около 4000 строк). Кроме того, незначительная ошибка во второстепенном модуле сказывалась на работе всего Фрегата, поскольку он шел одним модулем. Ну и, наконец, нам хотелось особенно тяжелые модули (типа работы с базами данных, просмотра изображений и т.д.) отделить от основного ядра, чтобы уменьшить инсталляционный пакет. Как известно, добрыми намерениями вымощена дорога в ад…

На каком языке программирования написан 3-й Фрегат?
Delphi 6.

Вы можете как-то сравнить популярность Фрегата с другими файловыми менеджерами? Какие ближайшие конкуренты есть у него на территории xUSSR и заграницей?
Если не считать Windows Explorer, то FAR и Total Commander имеют популярность, достигнуть которой нам, по разным причинам, вряд ли суждено. На сегодняшний момент, компании начинают уходить с этого рынка – файловый менеджер – это инструмент профессионального пользователя. Таких становится все меньше и меньше, а запросы у них все выше. Мы стараемся им соответствовать.

Можно ли как-то получить регистрацию бесплатно, что-то сделав для разработчиков?
Лучше для Фрегата :-) Мы всегда открыты для предложений – новые цветовые схемы, активное участие в тестировании, да мало ли что еще. Пишите – договоримся. Однако, при сегодняшней стоимости Фрегата в 300 рублей, надо очень мало ценить свое время, чтобы получить регистрацию бесплатно. :-)

Какими принципами вы руководствуетесь, когда выбираете, что вы будете реализовывать в следующих версиях фрегата? Играют ли роль пожелания, замечания или предпочтения пользователей?
Разумеется. Рассматриваются все пожелания. Оцениваются трудозатраты, размеры аудитории, по нашему мнению, заинтересованной в новой возможности. Смотрим, насколько органично это войдет во Фрегат. В большой степени, поэтому мы отказались пока от написания телефонной книги и шедулера – все-таки, вещи слабо связанные с файловым менеджером, требующие большого объема работы и имеющие массу аналогов на рынке.

Как вы отлавливаете ошибки? Используются ли какие-то специальные средства или приемы?
Прием один – угрюмо смотришь в монитор и думаешь, как такое может быть, потому что, очевидно, этого быть не может :-). Когда приходит идея, пишется скрипт, повторяющий какое-либо действие. Если он проходит без ошибок, значит – смотрели не там. Зато сейчас я могу быть твердо уверен, что Фрегат без ошибок выдерживает 100000 входов-выходов в директорию. Очень помогают баг-репорты от пользователей – если на картинке одно и то же окошко, понятно где искать.

Используете ли вы во Фрегате компоненты сторонних производителей, сколько, какие именно?
Да, львиную часть компонент, присутствующих на рынке Delphi (замечу, что все они лицензионные). В первую очередь это ElPack от Eldos (теперь LMD). Для картинок используется ImageEn. Для редактирования текста – Dream Editor, для внутреннего движка БД – EasyTable, для работы с архивами – ZipTV, и так далее. Правда, должен заметить, что практически все библиотеки нам пришлось усердно править иногда вместе с их разработчиками, иногда, к сожалению, без…

Почему существует 3 разных комплектации Фрегата, с чем это связано?
С объемами, с ценами. Frigate Lite – полностью бесплатный. Можно сказать, рекламная версия. Она может практически все, но, по идее, должна оставлять желание иметь чуть больше. Для этого есть Frigate Standard, который уже способен решить практически все проблемы пользователя. Для самых привередливых, существует Frigate Professional, в состав которого включены модули уже чисто профессиональные и обычному пользователю мало нужные – сравнение файлов, работа с БД…

Можно ли писать для Фрегата плагины?
Можно, но, кажется, довольно сложно. Фрегат основан на COM-архитектуре и имеет достаточно продвинутое API. Поскольку мы стремились к тому, чтобы все плагины вписывались во Фрегат органично, то даже простейший плагин должен поддерживать достаточно много.

Существуют ли уже плагины, разработанные сторонними разработчиками?
Мы сейчас пошли несколько по другому пути – мы заказываем на сторону некоторую функциональность (обычно, в виде компоненты), а потом уже сами оформляем ее в плагин.

С версии 3.19 появилась поддержка плагинов Total Commander’a. Как возникла такая идея? В каком объеме поддерживаются эти плагины, какие из них можно использовать?
Есть достаточно интересные возможности у плагинов тотал коммандера до которых у нас руки дойдут не скоро. И мы решили реализовать их поддержку Фрегатом. Сейчас поддерживаются плагины файловой системы. В будущем планируется поддержка архивных плагинов и плагинов просмотра.

Почему список изменений при выпуске новых версий столь скромен? Изменений действительно нет, или вы сообщаете только о самых крупных?
Изменений много, но часть из них описать просто очень сложно, например «Исправлена AV при вызове редактора, при нахождении в конце таблице файлов в FTP в момент перечитывания, при QuickView в соседней панели». Крупные же изменения делаются не сразу, они просто скрыты от конечного пользователя, а во время работы так к ним привыкаешь, что просто в голову не приходит, как это их не было в прошлой версии :-). Но мы стараемся.

Чем порадуете пользователей в ближайших версиях? Несколько слов о планах на будущее.
В первую очередь, Фрегат – это файловый менеджер. Значит, будут добавляться и расширяться функции работы с файлами и документами. Разрезание/Склейка файлов, конвертация документов из разных форматов, работа с Multimedia-информацией. Планируем также расширить Фрегат модулями отчетов по файлам/директориям. Возможно, добавится каталогизатор. Ну и, конечно, понемногу будут добавляться мелкие полезные утилитки. А то как-то скучно без них. :-)

Андрей, спасибо за ответы.
Вам тоже спасибо, и всего лучшего.