Я думаю что программа DaisyDisk в целом не нуждается в представлениях, для тех же кто вдруг не знает про нее — вот наш обзор. Программа эта уже неоднократно получала премии за дизайн и функциональность, и даже была в списке лучших программ MacAppStore 2011 года. Естественно, мы не могли обойти это вниманием и не взять у разработчиков интервью, которое и представляем вашему вниманию.

Сколько человек сейчас работает над DaisyDisk?

Двое, как и было изначально. Время от времени мы привлекаем к работе помощников (вроде Екатерины Прокофьевой, нарисовавшей нам первый набор иконок или Юрия Артюха, сверставшего сайт), но основную работу все так же делают два человека.
Очень надеемся найти грамотного графического дизайнера, который помог еще выше бы понять планку :)

С чего начинался DaisyDisk, когда это было и как? Откуда появилась идея? Сколько потребовала разработка первой версии?

Идея сделать свое приложение под OS X возникла давно, еще с момента появления у меня первого макинтоша (Mac Mini c процессором G4 и Mac OS X 10.4). К тому времени у меня уже был достаточно большой опыт проектирования интерфейсов и сильное желание сделать продукт, на котором можно было бы проверить некоторые идеи. В 2008 году я познакомился с Олегом, программистом из Киева, которому некоторые из моих наработок показались интересными. Я предложил попробовать совместными усилиями создать приложение (связанное с обработкой графики), но не под Windows, а под Mac.

Уже после первых прототипов стало ясно, что вдвоем нам разработку достаточно амбициозного проекта с нуля не потянуть, а потому решено было переключиться на что-нибудь попроще. После непродолжительной дискуссии решили разрабатывать под Mac аналог Scanner 2, только более качественный и учитывающий специфику платформы.
Дело в том, что места на винчестере «миника» катастрофически не хватало и он довольно быстро оброс гроздью внешних дисков, не решавших, а лишь усугублявших проблему. Я честно перепробовал все доступные на тот момент дисковые сканеры, но они быстро выводили меня из равновесия скоростью работы и совершенно идиотским интерфейсом. То есть можно сказать, что первую версию программы мы делали для себя.

Набросок интерфейса DaisyDisk
Набросок интерфейса DaisyDisk

2 First Prototype
Первый прототип DaisyDisk

3 pre Alpha
Пре-alpha версия

На прототип ушла пара недель, затем несколько месяцев на «бету», а примерно через полгода, в начале 2009, DaisyDisk 1.0 была готова.

С какими интересными задачами пришлось столкнуться в ходе разработки?

Новым было все. Для Олега, много лет программировавшего под «дотнет» разработка DaisyDisk уже была интересной задачей. Помимо изучения «нового» языка и API ему пришлось как следует повозиться с геометрическими задачками, чтобы не только создать диаграмму, но и анимировать ее. Могу только восхищаться терпением Олега, раз за разом воссоздававшего по моим эскизам довольно хитрые элементы интерфейса, а затем доводившего их для полного соответствия с макетом.

Я сам потратил немало времени на доработку sunburst диаграммы и навигации по ней до ума, т.к. большинство исследователей и разработчиков почему-то останавливались на полпути, не тратя время на «мелочи». Олег даже сделал отдельную версию Daisy, в которой можно было бы в ручную подкрутить множество параметров и посмотреть, как они влияют на результат. А ситуаций с «а вот давай попробуем вот это» было предостаточно.

Интересной была и первоначальная реакция на приложение, в девяти случаях из десяти сводившаяся к фразе «а нафиг оно вообще нужно»? Мол да, прикольно, но вот есть Finder, есть консоль с du, да и винчестеры уже скоро будут вмещать петабайты данных. Наверняка подобные проблемы были и у разработчиков 1Password, мол все пароли можно хранить в текстовом файле или на бумажке…

Когда стало понятно, что DaisyDisk «полетит»?

Примерно через полгода после запуска приложение стало приносить доход, покрывавший издержки на разработку, а в 2010 позволивший нам посвятить разработке все время. «Полетела» Daisy с появлением Mac App Store. К тому времени мы полностью переписали движок и интерфейс приложения, которое с честной совестью можно было именовать второй версией.

4 Early Sketch
Ранние наброски второй версии

5 Daisy Disk 2
Интерфейс DaisyDisk 2

6 dd Best of 2011
DaisyDisk в списке лучших программ MacAppStore 2011 года

Для нас «двойка»была не просто очередным обновлением, а скорее переосмыслением проекта. К моменту начала активной работы над ней у нас уже было значительно больше знаний и умений, чем в 2008 году, потому возникло естественное желание вывести программу на более высокий уровень. Спустя пару недель после запуска Mac App Store DaisyDisk попала в топ популярных платных приложений и пока что в нем остается.

Мы знаем, что DaisyDisk существует в двух версиях: продающейся с сайта и в AppStore. Они отличаются? Что вы думаете про Sandbox и что планируете по его поводу предпринимать?

С аппстором история довольно интересная. Еще до его запуска Apple объявила, что в магазин смогут попасть лишь программы, соответствующие набору критериев, среди которых — невозможность получения прав суперпользователя). Шаг, в принципе, разумный, т.к. в этом случае вероятность повреждения системы приложением будет меньше. Для DaisyDisk эти ограничения вылились в невозможность сканирования диска с правами администратора, что полезно владельцам компьютеров с несколькими учетными записями.

Сейчас мы позволяем свободно мигрировать с Mac App Store версии на «обычную», достаточно лишь выслать нам подтверждение покупки (сама Apple не предоставляет разработчикам никаких данных о покупателях). Т.е. для конечного пользователя большой разницы в том, где куплена программа нет, он всегда может получить полнофункциональную версию.

История «песочницы» вообще может стать основой детектива. Анонсированная на WWDC технология при ближайшем рассмотрении оказалась очень сырой, а Apple несколько раз переносила сроки ее введения. Разработчики новинку встретили без восторга. Кто-то слал письма в спортлото багрепорты, кто-то радовался тому, что удалось найти «костыль»… Судя по последним данным, для приложений, уже имеющихся в магазине, нововведение будет необязательным, что не может не радовать, т.к. иначе значительную часть приложений Mac App Store пришлось бы убирать или же переписывать заново.

Сама по себе задумка с изоляцией приложений неплохая, но вот в нынешнем виде способна принести не меньше вреда, чем пользы. Мне как разработчику было бы приятнее иметь возможность выбора между сертификацией и «песочницей» (да, я знаю про Mountain Lion), иначе через пару лет мы получим OS X, в которой не будет работать ничего, кроме браузера и пары несложных игрушек. Любимые всеми Parallels Desktop, Adobe CS и т.д. требуют значительной интеграции в систему, а потому заставить их работать в «песочнице» малореально.

Почему вы не сделали функцию автоматической очистки, это же удобно?

Я вообще противник излишней автоматизации в том, что непосредственно касается сохранности пользовательских данных. В случае автоматической чистки ситуация усугубляется тем, что пользователь далеко не всегда знает/понимает, нужны ли ему те или иные файлы, которые насобирала «умная» программа, а сама программа чаще всего слишком тупа для того, чтобы сделать правильный выбор.

Помните истории с over 9000 оптимизаторов, «чистилок реестра», «настройщиков» и т.д. под Windows? Даже если отбросить откровенный malware, после «оптимизации» компьютер нередко начинал работать хуже, время от времени тормозить, подвисать и т.д. А все из-за того, что «заботливая» программа удалила системный компонент или вычистила из реестра записи, которые влияли на работоспособность стороннего софта. Зато пользователь рад, в полной мере наслаждаясь эффектом плацебо: система стали «чище», «лучше», «быстрее», а все проблемы списывались на «замусоривание» с последующим «лечением». И так до очередной переустановки Windows.

С ростом популярности продукции одной фруктовой компании миллионы свитчеров радостно ломанулись на Mac и вдруг с ужасом обнаружили, что привычных «настройщиков» и «оптимизаторов» для него нет. Коль есть потребность, то скоро появляется и средство для ее удовлетворения. Устанавливаются программы «оптимизации» памяти, сомнительные антивирусы и «чистилки». История повторяется и вот уже новоиспеченный пользователь макбука занимается переустановокой системы. В такие моменты даже «песочница» не кажется больши́м злом.

Возвращаясь к очистке диска… Вы знаете, как работают современные «клинеры», точнее, какие средства есть у них в запасе?

Самый простой способ «очистки» — удаление временных файлов вроде кэшей браузера или архивных записей в журналах. Они действительно занимают некоторое место на диске и в редких случаях могут накапливаться. Освобождается при этом место? Да. Только оно очень быстро будет занято новыми временными файлами.

Можно еще уменьшить размер приложений, удалив из них «лишние» языковые пакеты или обрезав fat binaries. Выигрыш на папке Программы может достигать 30%. Неплохо? Неплохо. Разве что стоит помнить пару моментов. Во-первых, после загрузки обновления размер приложения снова вырастет. Во-вторых, часть приложений, имеющих встроенную защиту целостности после подобных «оптимизаций» просто перестанет запускаться. Загвоздка в том, что вы об этом не узнаете вплоть до тех пор, пока не попробуете это самое приложение запустить.

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

Можно попробовать сократить размер библиотеки iPhoto, выкинув «лишние» фотографии или заменив их версиями с меньшим разрешением. Только вот подумайте заранее, готовы ли вы в однин прекрасный момент осознать, что разом лишились архива снимков за несколько лет?

Вариантов довольно много, рассказывать о них можно долго. В большинстве случаев все сводится к двум: либо мы относительно безболезненно удаляем временные файлы, создавая видимость полезной работы (именно видимость), либо действительно освобождаем место, используя один из описанных выше способов. Только на этот раз цена любой ошибки будет высока: от неработоспособности отдельных приложений до потери пользовательских данных. А ошибки будут, можете не сомневаться. Просто потому, что невозможно учесть все факторы, а исключения добавляются уже постфактум. На том же MacUpdate за пару минут можно найти множество занимательных историй того, до какого состояния доводят OS X некоторые «оптимизаторы».

Так вот, возвращаясь к изначальному вопросу про автоматику. Я не готов на сделку с совестью и на игру в русскую рулетку с пользовательскими данными ради ложного спокойствия или выигрыша в пару гигабайт. Лучше уж пусть человек запустит Daisy и сам разберется, нужен ли ему старый архив или подборка подкастов за пять лет. Плюс практика показывает, что DaisyDisk работает гораздо эффективнее «автоматики».

Понятно, что с учетом функции удаления — использование DaisyDisk могло бы быть опасным, расскажите, как вы защищаете пользователей от этого?

Прежде всего у нас есть набор правил, определяющих, какие папки и файлы пользователь может удалять, а какие — нет. Большинство из них удалить в любом случае не удастся, но дополнительная страховка лишней не будет. Правила стараемся поддерживать в актуальном состоянии и хотя они не защитят от изобретательного дурака с правами администратора, вероятность «случайного» удаления компонентов системы минимальна. Кроме того, в любой момент можно просмотреть список файлов и папок, отмеченных (пользователем, самостоятельно) для удаления, а с помощью QuickLook убедиться, что выбор сделан правильно. Даже после того, как команда на удаление дана, у человека будет несколько секунд на ее отмену. В любом случае все файлы будут в целости и сохранности до тех пор, пока не начнется процесс удаления.

Планируете ли вы другие программы и другие платформы, или предпочитаете не распыляться?

По правде говоря, у нас нет особого интереса к Windows и Linux (а сделать DaisyDisk для iOS технически невозможно). Разработка Windows версии Daisy потребовала бы переписывания всего кода с нуля и создания нового интерфейса, соответствующего майкрософтовскому User Experience Guidelines. Это огромный объем работы, которая не обязательно окупится.

С Linux все еще проще: полное отсутствие вменяемых API для работы с графикой, значительная сегментация, отсутствие интерфейсных стандартов, невнятная ситуация с каналами продаж и склонность пользователей к «халяве». Спасибо, лучше уж Windows.

Другие программы, несомненно, будут. Сейчас в разработке находится несколько проектов и как только придет время, я обязательно о них расскажу. Спойлер: проекты будут под OS X, хотя в дальнейшем надеемся поработать и с iOS. Ну и «ромашку» мы забрасывать не собираемся, ближайшие обновления уже детельно расписаны.

Как вы думаете, с учетом постоянного роста объемов жестких дисков — каким будет будущее DaisyDisk?

Светлым и радостным :) Нет, смотрите сами. Скорость роста объемов дисков в последние годы заметно снизилась, а аппетиты пользователей и поставщиков контента только выросли.
Игры нынче занимают до трех десятков гигабайт, HD фильмы — немногим меньше. Хотите музыку без потери качества — будьте добры выделить до полугигабайта на альбом…
Ой какой медленный этот диск, а заменим-ка его на SSD. Отличная идея! Теперь места стало меньше, а стоимость хранения гигабайта заметно подросла.
Т.е. замечательная сказка о том, что скоро будут доступны быстрые копеечные хранилища огромных объемов данных так и осталась сказкой. Зато пользователи становятся все более мобильными, предпочитая ноутбуки, диски которых далеко не резиновые, а их замена может оказаться непростой задачей. Хотите скинуть весь мусор в «облака»? Даже с эталонным провайдером будет это небыстро, да и стоимость подобного решения будет сравнима со стоимостью нового диска. Не говоря уже о таких мелочах, как vendor lock-in или вопросы хранения личных данных.

Share.