Фотоприложения в 2020 году: интервью с создателями Halide и Spectre

Каково делать новые приложения в эпоху вычислительной фотографии?

Фотоприложения в 2020 году: интервью с создателями Halide и Spectre

Казалось бы, сейчас нет смысла в новых фотоприложениях для iOS. Рынок давно поделён, его главные игроки появились ещё десять лет назад: и Instagram для массовой аудитории, и ProCamera для взыскательных фотографов.

К тому же за эти десять лет заметно улучшились снимки, которые можно получить штатным приложением камеры без установки сторонних. И чем тогда можно увлечь людей, чтобы они были готовы платить сотни рублей?

Но Бен Сандофски и Себастиан де Уит своим примером показывают, что это возможно. Три года назад они вдвоём сделали iOS-приложение Halide Camera для продвинутых пользователей, и в итоге оно стало их основным источником заработка. А в 2019-м выпустили второе приложение Spectre Camera для съёмки с большой выдержкой — и получили от Apple титул «приложение года».

Бен и Себастиан приезжали на нашу конференцию о мобильной разработке Mobius — тогда мы в онлайн-трансляции расспросили их и о специфике современной мобильной фотографии, и о том, как командой из двух человек конкурировать с гигантами. А теперь решили для аудитории vc.ru сделать текстовую русскоязычную версию этого интервью.

Второй слева — Бен, третий слева — Себастиан
Второй слева — Бен, третий слева — Себастиан

Фотоспецифика

Пожалуй, главным трендом мобильной фотографии последних лет стало развитие вычислительной фотографии (computational photography). Что вы думаете о нём?

Бен: Популярность вычислительной фотографии объясняется тем, что оборудование смартфонов дошло до своего предела, без увеличения размера сенсоров дальше улучшать некуда. И при этом многие пользователи хотят просто нажать на кнопку и получить оптимальный результат, а не возиться с RAW-файлами.

Поэтому существует потребность в автоматической обработке изображения при низком освещении, в технологиях вроде Deep Fusion от Apple.

Но это не значит, что вычислительная фотография может всё. Точно так же, как в своё время Polaroid, тоже решавший задачу одной кнопкой, не сделал DSLR устаревшими. Более того, благодаря Polaroid появился новый рынок людей, которые изначально не были профессиональными фотографами, но благодаря простоте технологии заинтересовались ей, а потом стали покупать более сложные камеры и разбираться в тонкостях фотографии как творчества.

Я очень сомневаюсь, что когда-либо появится ИИ, способный принять творческое решение за пользователя. Без человеческого взгляда тут не обойтись.

Презентуя Deep Fusion, Фил Шиллер произносил громкие слова вроде «mad science». Но со стороны неочевидно: действительно ли это даёт масштабные улучшения?

Себастиан: Многое зависит от того, когда снято фото. Эффект от Deep Fusion самый большой в сумерки, когда уже стемнело, но ночь еще не настала. Я видел примеры, на которых это заметно улучшило детализацию фотографии. Но есть сложность с тем, что в метаданных фотографии не остаётся никакой информации о том, был ли использован при её съёмке Deep Fusion. И глядя на фотографию в интернете, зачастую это нельзя однозначно сказать.

Раньше смартфонная фотосъёмка уступала «зеркалкам» во всём, кроме компактности камеры. А с развитием вычислительной фотографии получается, что теперь у телефонов есть не только недостатки, но и преимущества перед DSLR?

Себастиан: Да, согласен. Теоретически Sony могли бы сделать свои фотоаппараты настолько же «умными», как iPhone или Pixel. Проблема в том, что полнокадровый сенсор генерирует такой объём данных, который сейчас просто невозможно быстро обработать. Поэтому небольшой размер сенсоров в телефонах парадоксальным образом является преимуществом.

Фотоприложения в 2020 году: интервью с создателями Halide и Spectre

Небольшой размер сенсоров в телефонах парадоксальным образом является преимуществом

Наше приложение Spectre дало бы потрясающие результаты, если бы такое можно было использовать на полнокадровой камере — исчезла бы необходимость в штативе. Но пока это невозможно. Для этого нужно было бы в течение трёх секунд обрабатывать по 30 фото в секунду, каждое в 42 мегапикселя, а затем выполнить их слияние.

Есть камеры от Hasselblad и от Phase One, которые умеют выполнять подобное, но на них это занимает около 15 минут. Так что думаю, что телефоны умнеют значительно быстрее камер.

Бен: Очень многое из того, что сейчас умеют телефоны, объясняется тем, что они не могут использовать большие сенсоры. В iOS 13 стало возможным вести съёмку несколькими камерами одновременно. Несколько лет назад стали использовать данные о глубине (depth data), позволив делать боке с их помощью.

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

И тут возникает такой вопрос. Если телефоны «из коробки» снимают всё лучше, то не сокращается ли число пользователей, которым нужно что-то большее и которые заинтересованы в сторонних фотоприложениях? Или, наоборот, с улучшением камер спрос только растёт?

Бен: Хороший вопрос. Конкретно у нас число пользователей однозначно растёт, хотя устройства и становятся «умнее». Я думаю, что Apple открыли для всех новый рынок: люди, которые раньше себя не считали фотографами, начали фотографировать штатным приложением iPhone, втянулись в это занятие и решили попробовать нечто более сложное. И эта волна поднимает всех.

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

А если Apple в своём стандартном приложении камеры творит всё больше «вычислительной магии», означает ли это, что сторонним приложениям нужно прикладывать всё больше усилий просто для того, чтобы с этим конкурировать? И теряет ли актуальность из-за этой «автомагии» формат RAW, который совсем не про автообработку?

Бен: Нужно отдать должное Apple, в iOS 13 они сделали доступными очень много API. И благодаря этому сторонние приложения тоже могут использовать Deep Fusion.

А в случае с RAW мы получаем наибольший объём данных, и по-прежнему остаются причины сохранять изображение в RAW — например, в будущем ничего не потеряется. Предположим, у вас есть фотография, снятая до появления экранов с широкой палитрой. Если она была сохранена в RAW, то теперь вы можете отобразить её, пользуясь достижениями технологии, которых не было на момент съёмки. Вдохнуть новую жизнь в старое фото.

Но, с другой стороны, если вы хотите просто нажать на кнопку и получить оптимальный результат, то можно просто использовать приложение Apple, да.

Себастиан: Стоит добавить, что по умолчанию у нас сохраняется как файл RAW, так и JPEG, прошедший обработку камеры, так что позднее у пользователя сохраняется выбор из обоих вариантов.

К вопросу о том, что Apple даёт сторонним приложениям доступ к Deep Fusion: а насколько открытыми для сторонних разработчиков в целом являются технологии Apple, связанные с фото? Многого ли можно достичь с публичными API? Есть ли функции, к которым вам хотелось получить доступ, но не удалось?

Бен: У нас возникли трудности из-за отсутствия доступа к RAW в случае со сверхширокоугольной камерой iPhone 11. Так что, Apple, если вы смотрите это интервью...

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

В случае с камерами Apple делает доступным огромный объём данных, с которыми большая часть разработчиков даже не умеет работать. У них можно узнать подробности устройства камеры, фокусное расстояние вплоть до пикселя — это рай для исследователей компьютерного зрения. Так что в том, что касается API камер, Apple на удивление открыты — ну вот за исключением RAW у сверхширокоугольных камер.

Себастиан: Когда мы жалуемся людям из Apple на то, что к чему-либо нет доступа, они обычно говорят не «этого никогда не будет», а «надеемся обеспечить это в будущем».

А что бы вы сделали, если бы могли принимать решения в Apple? В первую очередь, видимо, предоставили доступ к RAW для сверхширокоугольных камер, а во вторую?

Себастиан: Думаю, я сделал бы более доступной информацию о том, выполняется ли Smart HDR или Deep Fusion. В данный момент у разработчика нет возможности определить, включены ли они.

Бен: Каждый год я жду обновлений в iPhone с легким чувством страха, потому что каждый раз приходится проделывать очень много работы. В сообществе разработчиков под iOS широко обсуждаются проблемы, связанные с документацией и неопределённым поведением. Здесь проблемы вызваны отчасти тем безумным темпом, с которой в iOS появляется новая функциональность.

Постоянно создаются новые API, чтобы разобраться, как именно ими пользоваться, требуется некоторое время. Иногда я осознаю, что решение для проблемы, над которой я бьюсь, существует уже год, а я просто о нём не знал. В огромном количестве новых возможностей иногда бывает сложно ориентироваться, в особенности если нету большого опыта работы с графикой. В общем, я бы уделил больше внимания не новым фичам, а документации.

А если бы вы проектировали iPhone следующего поколения и могли принимать решения о новом железе (хоть сделать пять камер), что бы хотелось?

Себастиан: Шесть камер! А если серьёзно, то лично мне хотелось бы, чтобы в нём был сенсор несколько большего размера. Думаю, время для этого уже подошло — размер сенсора в iPhone не менялся со времени выхода версии XR/XS.

Бен: Мне не приходит в голову ничего качественно нового. Я внёс бы только небольшие количественные изменения. Из-за того, как работают законы оптики, сверхширокая камера в iPhone обладает фиксированной фокусировкой, а было бы здорово иметь ручную фокусировку.

Учитывая, что сейчас уже представлены разные фокусные расстояния, было бы интересно сделать ещё линзу без ИК-светофильтра. Было бы здорово иметь возможность делать инфракрасные снимки. Это интересно довольно ограниченному кругу людей, и всё же с ресурсами Apple здесь точно можно было бы придумать много интересного.

Было бы здорово иметь возможность делать инфракрасные снимки

Никаких действительно существенных пожеланий у нас пока нет. Пускай продолжают в том же духе, но с большим разрешением и большей пропускной способностью.

Себастиан: Ещё здорово было бы сделать так, чтобы можно было выбрать приложение камеры, открываемой прямо с экрана блокировки. И чтобы для этого была специальная кнопка сбоку! (смеётся)

О возможности запустить Halide прямо с экрана блокировки часто просят пользователи, но я не думаю, что такая возможность когда-либо появится.

Фотоприложения в 2020 году: интервью с создателями Halide и Spectre

Бизнес-сторона

Вы немного обошли Apple на повороте, когда на iPhone XR портретный режим работал только для снимков людей, а ваше приложение Halide позволило снимать так и животных...

Себастиан: Да, на XR, где только одна камера, небольшая карта глубины, но её всё равно можно использовать. Наш режим не идеален — он не предоставляет предварительного просмотра в реальном времени. Позже, когда на смену iPhone XR пришёл iPhone 11, там Apple позволили портретную съёмку животных, но она появилась благодаря второй камере — то есть это было решение на уровне железа, а не софта, как у нас.

И поскольку при переходе от XR к 11 ваша фича теряет актуальность, возникает такой вопрос: не боитесь ли, что Apple со временем реализует остальные ваши возможности и сделает ваши приложения ненужными?

Бен: Это хороший вопрос, и это опасение присутствует у многих разработчиков iOS-приложений. Прежде чем начинать работу над чем-то, мы всегда пытаемся проанализировать, чем вызвано отсутствие такой функциональности у Apple: может быть, у них просто не дошли руки до того, чтобы закрыть пробел? Они ограничены во времени на каждый релиз.

Хороший пример: многие компании предлагали отслеживание менструального цикла для Apple Watch и строили бизнес на этом, а потом Apple реализовали это сами, сделав сторонние приложения ненужными.

Но ведь Apple Watch изначально создавалось как устройство для слежения за здоровьем, так что рано или поздно такая функция неизбежно должна была там появиться. Когда Apple Watch только вышли, было много пользовательского возмущения из-за того, что её там не было с самого начала.

Прежде чем создавать приложение, нужно хорошо подумать «добавят ли это Apple». И я сомневаюсь, что Apple включит функциональность Spectre в работу камеры, там и так очень много фич. С точки зрения проектирования продукта это было бы неправильным решением.

Себастиан: Самое близкое к Spectre, что может появиться у Apple — это расширение Live Photos. Ведь Live Photos — это не просто комбинация фото и видео. Apple старается сделать так, чтобы фотография захватывала как можно больше, и чтобы её можно было позднее изменить. И уже сейчас в Live Photos можно использовать эффект долгой выдержки, но там нет той гибкости и тех инструментов, которые предоставляет Spectre.

Я думаю, что у нас всегда будет своя ниша среди пользователей, в то время как Apple вынуждены находить решения, которые будут удовлетворять всех. Мы можем оставаться актуальными, ориентируясь на более узкие группы людей, как делаем в Halide. А если Apple и попытается скопировать Halide, мы сможем предоставить нашим пользователям ещё больше контроля над изображением. Это даёт нам определённую безопасность.

Apple — это гигант, и в других компаниях бывают сотни мобильных разработчиков, а вас всего лишь двое. Тяжело ли это? В чём главная трудность?

Себастиан: Главная трудность — говорить «нет».

Главная трудность — говорить «Нет»

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

Я не знаю, что бы я сделал, если бы под моим началом оказалось 100 разработчиков. Попросил бы их построить пристройку к дому, наверное.

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

Если говорить конкретно об Apple, то они известны как раз небольшим размером команд разработки. Не знаю, так это сейчас или нет, но ходили слухи, что над мобильным Safari работало всего пять человек (я сейчас говорю не о WebKit, не о фреймворках, а о пользовательском приложении). Меня этот факт поражает.

Себастиан: Я раньше работал в Apple и по своему опыту могу подтвердить, что там действительно очень маленькие команды, и это позволяет фокусировать усилия на самом важном.

Но у этого есть и обратная сторона: нам приходится отказываться от многих замыслов из-за того, что нас всего двое.

Бен: Здесь ещё играет роль тот факт, что мы не привлекали сторонний капитал. Когда в компании работает 100 программистов, у таких компаний обычно есть инвесторы, перед которыми нужно отвечать «почему вы не делаете то-то». Нельзя просто говорить инвесторам «нет». А у нас меньше ресурсов, но зато мы ответственны только перед самими собой.

Звание «приложение года» звучит маняще, наверняка многим iOS-разработчики хотелось бы его получить — как вам удалось его добиться, что помогает этому?

Бен: Когда мы писали это приложение, не стремились добиться именно этого звания. Сначала планировали сделать его просто небольшой фичей внутри Halide, потом превратили в отдельное приложение.

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

Старайтесь, чтобы приложение было простым, красивым, отточенным, как если бы Apple писали его сами.

Себастиан: Если хотите подружиться с Apple (или же Google), полезно демонстрировать их железо, быть эксклюзивными для iOS и интегрироваться с их новейшим софтом. Apple сейчас много внимание уделяет машинному обучению и тому подобным вещам, у Googlе могут быть свои приоритеты.

Бен: Обращайте внимание не только на фичи, но и на accessibility. На первый взгляд может показаться, что в приложении для камеры это не так уж и важно, но на самом деле существует довольно крупное сообщество фотографов с проблемами зрения, у них проходят свои выставки. А в Apple очень внимательно относятся к этой проблеме, хотя она и не приносит много денег.

Не забывайте также о локализации. В целом, даже если какими-то вещами заниматься нерационально с точки зрения прибыли, но при этом они важны для компании, им нужно уделять внимание.

Ваш пример может послужить вдохновением для каких-нибудь разработчиков, которые захотят уйти с нынешней работы и тоже вдвоём сделать приложение своей мечты. Что бы вы посоветовали таким людям?

Бен: В первую очередь не делать этого! Людям кажется, что можно просто создать классное приложение, оно обретёт популярность, и вы за один день станете миллионером.

Есть документальные фильмы вроде «Indie Game: the Movie». Фильм отличный, но если начать изучать вопрос и посмотреть предысторию авторов успешных инди-игр, то увидите, что они чаще всего десятилетиями работали в компаниях, делающих игры.

Некоторые обладали известностью благодаря своей работе на Newgrounds. Они наработали репутацию и не останутся без еды, если созданная ими игра не окажется популярной.

Так что на различные примеры успеха нужно смотреть трезво. Если бы я бросил всё и начал свой бизнес сразу после школы, это была бы катастрофа — я тогда был очень плохим разработчиком.

Мой опыт работы под руководством профессиональных людей в течение 15 лет сделал меня значительно продуктивнее. Так что не довольствуйтесь поверхностным взглядом, старайтесь оценивать ситуацию глубоко, и не принимайте скороспелых решений.

Фотоприложения в 2020 году: интервью с создателями Halide и Spectre

Если бы я бросил всё и начал свой бизнес сразу после школы, это была бы катастрофа

Себастиан: К этому я бы добавил: не полагайтесь на то, что ваш продукт обретёт успех. Когда мы начинали работу над приложением, оно нам было важно само по себе, и именно поэтому мы провели над ним столько времени и потратили столько сил. Это было воплощение моего приложения мечты.

Если ваше приложение понравилось ещё кому-то — отлично, но никогда нельзя быть уверенным в том, что первоначальная популярность не спадет позднее. Чаще всего приложения переживают короткий пик популярности в самом начале своего жизненного цикла, а затем их использование падает до очень низких цифр, и под конец приложение вовсе сходит с рынка.

Мы же стараемся сделать использование нашего приложения стабильным, потому что без стабильного дохода тяжело. Когда мы только начинали работу над этим приложением, я был фрилансером и не рассчитывал, что смогу благодаря нему перестать работать над чем-то ещё. Прошло полтора года, прежде чем мы это сделали. Потому что настал момент, когда совмещать работу над приложением и другими вещами стало невозможно.

Фокусировать все усилия только на своем приложении можно только тогда, когда есть финансовая безопасность. Нужно убедиться, что доход действительно реален, потому что успех приходит далеко не сразу.

Рынок приложений для фотографирования довольно тесен. Казалось, что новое приложение не сможет конкурировать с теми, которые уже набрали пользователей. Тем не менее, вам удалось успешно зайти на этот рынок. Как вы думаете, остаются ли по-прежнему такие возможности и в 2020 году?

Себастиан: Возможности есть. Приложений существует действительно много, а вот хороших приложений — значительно меньше. Если есть силы и желание, то можно сделать приложение, которое обладает уже существующей на рынке функциональностью, но при этом работает значительно более качественно.

Бен: До скачка популярности мобильных телефонов уже существовало очень много производителей камер — Canon, Nikon, Sony. И сколько автопроизводителей? Инновациям всегда есть место. Я очень рад был бы появлению новых идей на рынке. У нас есть чёткое представление о том, каким должно быть фотоприложение, свой взгляд на вещи, но всегда полезно взглянуть под новым углом.

Много инноваций есть и за пределами фотомира. Мне очень интересно было бы сделать хорошее приложение для фитнеса. К сожалению, мы этим не занимаемся. Может, когда-нибудь в будущем, когда у нас будет своя империя, доберёмся и до этого. Пока же мне очень интересно смотреть, как другие программисты решают различные проблемы в своих приложениях.

Спасибо за ответы. Возможно, кто-то это увидит и станет вашим конкурентом!

Себастиан: Ничего страшного.

Бен: Мы только рады.

С момента, когда было взято интервью, в команде произошло изменение: Бен и Себастиан впервые наняли человека, и теперь их трое. А ещё они начали экспериментировать с лидаром из iPad Pro — судя по всему, в айфонах лидар тоже скоро появится, так что в приложениях могут возникнуть новые ниши.

Если после интервью захотелось узнать от них ещё больше — о создании Spectre они подробно рассказали на Mobius:

Также Бен выступил там с более хардкорным техническим докладом для iOS-разработчиков:

А мы тем временем готовим следующий Mobius — если вы мобильный разработчик, там наверняка сможете узнать что-то полезное.

99
2 комментария

Спасибо за отличный материал. С Беном пересекался в NY на награждении Apple Best of 2019

2
Ответить

Забавно: стоило нам опубликовать этот текст со словами «Пускай Apple продолжают в том же духе, но с большим разрешением и большей пропускной способностью»,

как вышла новость «Future iPhone Cameras Expected to Transmit High-Resolution Images at Faster Speeds»

Ответить