Я выпустил Simplphoto — бесплатное приложение для iPhone, в котором собрал три вещи, которых мне не хватало: ручную камеру, stop motion и коллажи.

Все началось от идеи уменьшить вмешательство ИИ в процесс фотосъемки, поэтому в Simplphoto сделан упор не на «магическое улучшение», а на более понятный и контролируемый процесс съёмки.

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

  • ISO;

  • Shutter speed; 

  • Привычные соотношения сторон (16:9; 4:3; 1:1) и вытянутое соотношение (21:9);

  •  Монохромный режим;

  • Две кнопки — quick settings, позволяющие вернуться к базовым настройкам (если заигрался с ручными) в зависимости от степени освещенности кадра (для удобства разделение на Bright/Dark) [Фото №1, №2]

Фото № 1. Настройки камеры [Раздел Camera]
Фото № 1. Настройки камеры [Раздел Camera]
Фото № 2. Настройки камеры [Раздел Camera] продолжение
Фото № 2. Настройки камеры [Раздел Camera] продолжение

Отдельно добавлен Stop Motion — второй раздел. Мне хотелось, чтобы короткую покадровую анимацию можно было собрать быстро и удобно благодаря тем же ручным настройкам, которые представлены в разделе Camera [Фото №3&4]. 

Фото №3. Настройки камеры [Раздел Stop Motion]
Фото №3. Настройки камеры [Раздел Stop Motion]
Фото №4. Настройки камеры [Раздел Stop Motion] продолжение
Фото №4. Настройки камеры [Раздел Stop Motion] продолжение

Третий раздел — Collage, в нем возможно делать коллажи из набора от 2 до 6 снимков с их различным расположением [Фото №5] и финальным соотношением сторон коллажа [Фото №6].

Фото №5. Параметры раздела Collage — компоновка [Раздел Collage]
Фото №5. Параметры раздела Collage — компоновка [Раздел Collage]
Фото №6. Параметры раздела Collage — соотношение сторон [Раздел Collage]
Фото №6. Параметры раздела Collage — соотношение сторон [Раздел Collage]

Также добавлена функция задания цвета заднего фона из стандартного интерфейса выбора цвета (+пипетка для выбора цвета с фотографий коллажа) [Фото №7].

Фото №7. Параметры раздела Collage — выбор цвета заднего фона коллажа пипеткой [Раздел Collage]
Фото №7. Параметры раздела Collage — выбор цвета заднего фона коллажа пипеткой [Раздел Collage]

Фотографии в коллаже можно масштабировать для изменения расстояния между фотографиями [Фото №8]. 

Фото №8. Параметры раздела Collage — масштабирование фотографий в коллаже [Раздел Collage]
Фото №8. Параметры раздела Collage — масштабирование фотографий в коллаже [Раздел Collage]

Самая важная часть приложения скрывается в разделе настроек (Settings) [Фото №9].

Фото №9. Раздел настроек [Раздел Settings]
Фото №9. Раздел настроек [Раздел Settings]
Фото №10. Хранилище медиафайлов внутри приложения
Фото №10. Хранилище медиафайлов внутри приложения

Помимо отображения занятого места в хранилище (вид хранилища медифайлов приведён на фото №10) каждого изразделов здесь находится степень блокировки ИИ‑обработки снимков — всего три режима:

  • Full disable enhancers [Фото 9]: максимально жёсткий режим. Приложение отключает все доступные для конкретного устройства улучшатели изображения и старается минимизировать программное вмешательство в снимок. При этом обязательные элементы camera pipeline всё равно остаются: сенсор, ISP, демозаика, цветовое преобразование, калибровки камеры и формирование итогового файла. Это максимальное ограничение, возможное в рамках публичных возможностей iOS.

  • Medium level disable enhancers [Фото №11]: компромиссный режим. Приложение отключает часть доступных улучшателей, но сохраняет системные механизмы, необходимые для стабильной работы камеры и корректного формирования снимка. В этом режиме могут оставаться работа ISP, базовая обработка данных с сенсора, демозаика, цветовые преобразования, калибровки, JPEG/HEIF pipeline, сжатие и отдельные автоматические корректировки Apple, для которых iOS не даёт безопасного публичного переключателя.

    Фото №11. Средний режим ограничения вмешательства ИИ в обработке  [раздел Settings]
    Фото №11. Средний режим ограничения вмешательства ИИ в обработке [раздел Settings]
  • No disable enhancers [Фото №12]: режим без ограничений. Приложение не вмешивается в системную обработку, и камера работает ближе к стандартному поведению iOS: с автоматической оптимизацией кадра, шумоподавлением, коррекцией цвета, повышением детализации, HDR-обработкой и другими алгоритмами, которые Apple применяет на конкретной модели iPhone.

    Фото №12. Разрешено вмешательство ИИ в обработке [раздел Settings]
    Фото №12. Разрешено вмешательство ИИ в обработке [раздел Settings]

Жду Вашего опыта использования приложения и надеюсь, оно окажется полезным. 

Приложение уже доступно в App Store

Комментарии (8)


  1. p-oleg
    05.05.2026 12:27

    У меня вопрос вот какой.

    А реально ли в полностью ручном режиме заставить камеру айфона выдавать световой импульс вспышкой?
    Поясню - я использую айфон в подводном боксе для соответственно подводного фото.

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

    На обычных фотиках проблем нет - выставил принудительное срабатывание встроенной вспышки фотика - внешняя его подхватила по оптокабелю, кадр освещен.

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

    Возможно, это какое-то низкоуровненовое ограничение камер айфона?


    1. Vasilii_Andreev Автор
      05.05.2026 12:27

      В Вашем сценарии речь идёт именно о срабатывании внешней подводной вспышки по оптическому кабелю от короткого импульса вспышки iPhone. Для этого нужен не постоянный фонарик (torch), а именно фото-вспышка (flash). В iOS это делается через AVCapturePhotoSettings.flashMode = .on: перед съёмкой кадра приложение явно запрашивает у системного фото-пайплайна принудительный импульс вспышки. Если текущая камера iPhone и выбранный режим съёмки поддерживают flashMode = .on, то iPhone должен дать короткий flash-импульс при кадре, и внешняя вспышка может сработать по оптическому кабелю. Но это не полноценная ручная синхронизация как у фотоаппарата с hot-shoe/X-sync: приложение не управляет точной длительностью импульса, моментом импульса и возможной предвспышкой — эти вещи остаются внутри системного пайплайна iOS.

      В моём приложении вспышка реализована именно через этот системный механизм: при положении вспышки ONприложение перед каждым кадром выставляет flashMode = .on, если текущий AVCapturePhotoOutput сообщает, что этот режим поддерживается. То есть это не просто переключатель в интерфейсе и не включение фонарика, а прямой запрос штатной фото-вспышки iPhone через AVFoundation. Поэтому для вашего сценария приложение подходит: iPhone будет пытаться дать короткий flash-импульс, от которого внешняя подводная вспышка может сработать по оптическому кабелю. Но важно уточнить: ON в приложении означает “приложение принудительно запрашивает фото-вспышку”, а не “iPhone обязан физически пыхнуть при любых условиях”. Если конкретная камера, линза, формат кадра или режим съёмки не поддерживает flashMode = .on, приложение не может обойти это системное ограничение iOS. Также приложение не управляет длительностью импульса, точным моментом срабатывания и возможной предвспышкой, поэтому это не полный аналог ручной X-sync-синхронизации у обычной камеры.


      1. p-oleg
        05.05.2026 12:27

        Спасибо за развернутый ответ.

        Хотелось бы уточнить этот момент:

         Если конкретная камера, линза, формат кадра или режим съёмки не поддерживает flashMode = .on, приложение не может обойти это системное ограничение iOS

        Я использую iPhone 11, будет ли принудительная вспышка работать на его основной камере? Какие параметры в приложении нужно выбрать для этого - формат кадра, режим съемки и так далее? Или только экспериментально пытаться угадать?


      1. p-oleg
        05.05.2026 12:27

        Попробовал фоткать вашим приложением.

        Увы чуда не случилось. Это я про свою цель.

        Ставлю настройки например iso 100 shutter 1/50, вспышка выключена, фоткаю. Смотрю инфо о фото - все правильно, сфоткано с этими настройками.

        Теперь то же самое, но выспышка включена. И в итоге получается shutter уже другой.

        Мне-то нужно чтобы вспышка никак не меняла мои настройки. Она мне нужна только чтобы внешняя от нее пыхнула.


        1. Vasilii_Andreev Автор
          05.05.2026 12:27

          Спасибо за полезный тест приложения, отвечу на оба комментария:

          Для iPhone 11 я бы проверял этот сценарий в максимально “простом” режиме: основная камера 1x / Wide, обычная фотосъёмка, без stop-motion/серийности, формат 4:3, вспышка ON, ручные ISO/shutter выставлены заранее. Это конфигурация с наибольшим шансом, что iPhone действительно даст штатный короткий flash-импульс, который внешняя подводная вспышка сможет увидеть по оптическому кабелю.

          Но Ваш тест, похоже, как раз подтвердил системное ограничение iOS: при включении flashMode = .on iPhone не использует вспышку как независимый “световой сигнал”, а включает её как часть собственного flash/exposure-пайплайна. Поэтому система может менять итоговую выдержку, даже если в приложении до этого были выставлены ручные ISO/shutter. Приложение запрашивает именно фото-вспышку, не фонарик, но публичный API Apple не даёт режима “пыхнуть встроенной вспышкой и вообще не трогать экспозицию”. Для вашей задачи — запуск внешней вспышки без изменения ручных настроек — это, к сожалению, означает, что сценарий на iPhone надёжно не работает.

          У меня была версия приложения, где я пытался полностью запретить вмешательство в изменение настроек, но в 9/10 случаев - отказ.

          Исправить это полностью можно будет только если Apple расширит публичный API камеры и даст разработчикам независимое управление flash-импульсом: без пересчёта экспозиции и без изменения ручных ISO/shutter. Буду отслеживать данный момент, чтобы сразу внести изменения.


  1. parakhod_1
    05.05.2026 12:27

    Hey claude code, write me my own Adobe Project Indigo.

    Можно табличку со сравнением фич, и что у вас получилось лучше чем у них?
    По PI если что очень не понравилось – телефон греется как утюг даже на preview (собсна там в основном походу и греется), плюс ужасно криво выходил из lock screen, так что снимать приложение и перезапускать постоянно приходилось.


    1. Vasilii_Andreev Автор
      05.05.2026 12:27

      Спасибо за комментарий. Об индиго узнал впервые от Вас, поскольку разработку приложения начал ещё в конце лета 2025 и тогда не знал о его существовании.

      Сравнивать Simplphoto и Adobe Project Indigo напрямую не совсем корректно: это приложения с разной философией. Indigo — это вычислительная камера: она снимает серию кадров, объединяет их, применяет computational photography/AI-look и за счёт этого пытается получить более высокий динамический диапазон, меньше шума и более “зеркальный” вид. Adobe прямо пишет, что Indigo при каждом снимке захватывает серию кадров и объединяет их, а также использует computational photography и AI для финального кадра. 

      Simplphoto сделан в другую сторону: не “улучшить” фотографию за пользователя, а дать максимально предсказуемый ручной снимок с минимизацией автоматических улучшателей там, где это разрешает iOS и конкретная модель iPhone. Поэтому я бы не стал говорить, что Simplphoto лучше Indigo по качеству финальной картинки в сложных HDR/low-light сценах — без лабораторных тестов это было бы нечестно. Но в сценариях, где важны контроль, стабильность и отсутствие тяжёлого вычислительного пайплайна, у Simplphoto есть сильные стороны.

      Преимущества:

      1. Перегрев и нестабильная работа: разработка Simplphoto началась осень 2025, за это время приложение было протестировано на различных моделях, разными людьми (в том смысле, что каждый из пользователь представлял определённую возрастную группу), на различных операционных системах (17.7, 18.7.2, 26.4.2) и с различным состоянием аккумулятора (85%, 76%, 72%). В результате добился отсутствия ошибок при стандартном использовании. У индиго нагрузка выше из-за серии фотографий и последующего их объединения в буфере.

      2. Реалистичность картинки: приведу пример снимков ночью без постороннего освещения

      Фото на стандартную камеру
      Фото на стандартную камеру
      Фото Simplphoto
      Фото Simplphoto

      У индиго написано, что live viewfinder показывает только приближение к финальному фото: цвета и тона могут отличаться от результата.

      3. Вмешательство ИИ: в симплфото оно сведено к минимуму, исключением являются жёстко контролируемы Apple параметры, которые нельзя изменить (ситуация в комментариях p-oleg к моему посту). У индиго прямо вмешательство ИИ в финальный результат снимка.

      4. В Simplphoto есть дополнительные режимы Stop motion и collage

      Короткий ответ: лучше контроль, проще пайплайн, меньше вычислительной нагрузки и нет цели навязать AI/computational look


      1. parakhod_1
        05.05.2026 12:27

        Честно признаться последний раз с API iOSной камеры работал 10 лет назад (ровно десять лет назад, в 16м году, ещё ObjC) так что честно даже не знаю какой контроль он сейчас даёт (но зная Apple догадываюсь что много они зажали и оставили исключительно для своих родных приложений).

        Indigo мне не зашёл если честно (хоть и много пытался). Вот все те недостатки что я перечислил, а достоинств-то особо не нашёл. Результат так себе.

        Я в результате (16 pro max) просто стандартное приложение камеры переключил в режим HEIF + RAW (переключаю, вернее, когда куда-то ездим), а потом если уж особо хочется, допиливаю RAW в лайтруме. Который есть что на телефоне, что на компе. Для моего унылого инстаграмчика более чем достаточно.

        Но да, на стандартном приложении контролы не очень удобные и очевидные. В своё время конечно как привыкнешь к зеркалке, так всегда и тянет немножко подкрутить.

        Гляну что у вас ))