Как дизайнеру сделать приложение с помощью ChatGPT

Я дизайнер, и я разработал iOS-приложение с помощью #ChatGPT . Хочу рассказать, как правильно работать с Джепетто, ведь к нему нужен особый подход.

Джепетто (так называет его мой коллега) дал дизайнерам суперсилу — запускать проекты без разработчиков. Теперь можно сделать прототип или полноценный пет-проект самостоятельно.

Как дизайнеру сделать приложение с помощью ChatGPT

Мое приложение называется MYSLF. Оно помогает устраивать свидания с собой — особое время для рефлексии и восстановления. Вот что оно умеет.

Предлагает идеи свиданий. Я постоянно опрашиваю людей, собираю идеи и добавляю их в приложение, чтобы каждое свидание было интересным.

Помогает не забивать на себя. Бывает сложно остановиться и выдохнуть —приложение напомнит, если свиданий давно не было.

Поощряет сохранять воспоминания. Сохраняйте заметки и фотографии во время свидания. Будет приятно вернуться к ним в будущем.

Посмотрите, что получилось.

Скачать в App Store

Придется стать программистом. Ну, почти

Я начал разработку MYSLF с того, что сформулировал хотелки и попросил Джепетто сделать приложение. Конечно, это не сработало, ведь ChatGPT не может написать приложение за вас — он может только помочь.

Да, чтобы написать приложение с помощью ChatGPT придется стать почти настоящим программистом. Несмотря на то, что код вы не пишите, архитектура проекта и выбор технического решения все равно за вами. И, поскольку ChatGPT выдает только текст (внезапно, код — это текст), все манипуляции в среде разработки делаете тоже вы.

Как дизайнеру сделать приложение с помощью ChatGPT

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

У меня была ситуация, когда тормозило создание превью свидания. Картинка для превью в MYSLF создается так: делаются скриншоты двух первых заметок, получившиеся картинки поворачиваются на произвольный угол, накладываются друг на друга и «запекаются» в одну. Код Джепетто тормозил, потому что запекал картинку после каждого шага. Я заметил это и исправил ошибку.

Вы можете не знать, что делает конкретный кусок кода, но понимать его логику и место в архитектуре проекта — ваша ответственность. Чтобы было проще, начните разработку от общего к частному.

  • Опишите возможности приложения, его структуру и ограничения. Попросите Джепетто рассказать о вариантах реализации и рисках.
  • Попробуйте реализовать каркас — действуйте по принципу прогрессивного джипега. Во-первых, так вы познакомитесь с основами разработки, во-вторых, сразу поймете, насколько выбранный вариант работоспособен. Мне понадобилось несколько итераций, прежде чем получилось сделать MYSLF как надо.
  • Продолжите движение от общего к частному. К этому моменту Джепетто уже забыл, какой проект делает, зато у вас появилось четкое понимание.

Не стесняйтесь просить у ИИ помощи и задавайте вопросы по любому поводу: как создать файл, что делает код, где найти нужную настройку. Постепенно вы освоите необходимый минимум, и работа пойдет быстрее. Разработка с ChatGPT похожа на изучение языка в Duolingo — учишь теорию на практике.

Как дизайнеру сделать приложение с помощью ChatGPT

Как общаться с ChatGPT

С Джепетто можно общаться на обычном языке. Он хорошо переваривает недосказанность и туманные формулировки, но чем ближе к конечному коду, тем точнее должен быть запрос.

Существует множество баек, как писать запросы к ChatGPT. Работая над MYSLF, я пришел к такому формату.

  • Начинал диалог с контекста: «Представь, что ты опытный iOS-разработчик». Я пробовал писать просто «ты опытный iOS-разработчик», но Джепетто душнил: «я не разработчик, а языковая модель».
  • Задавал технические ограничения: «Разрабатываем приложение для iOS14 и выше c использованием Storyboard, без сторонних библиотек».
  • Нумеровал каждое требование: например, «1) Сделай лейбл, 2) выведи в лейбл текст».
  • В конце писал «не пропусти ни одно из N требований», потому что в объемных запросах Джепетто любит «забывать» часть задания.

Дальше про сториборд и сторонние библиотеки можно не напоминать. В рамках диалога Джепетто сохраняет контекст.

Как дизайнеру сделать приложение с помощью ChatGPT

Часть задач проще решить через интерфейс среды разработки. Попросите Джепетто дать подробную инструкцию, но имейте ввиду, что знания базовой модели ChatGPT ограничены январем 2022 года. Если у вас платная GPT-4, сделайте запрос с использованием поиска Bing. Джепетто «прочитает интернет» и выдаст актуальный гайд.

Как дизайнеру сделать приложение с помощью ChatGPT

Джепетто умеет не только отдавать, но и принимать код. Можно поэкспериментировать с решением и, в случае неудачи, скормить ИИ предыдущий рабочий вариант со словами «давай вернемся к этому коду». Если в какой-то момент вы сами начнете программировать, Джепетто поможет исправить ошибки.

Как дизайнеру сделать приложение с помощью ChatGPT

Вообще, не стесняйтесь вмешиваться в работу ИИ и ставить под сомнение его предложения. Даже если предложение корректное, всегда можно попросить Джепетто «сделать попроще», чтобы лично для вас код стал понятнее.

Как дизайнеру сделать приложение с помощью ChatGPT

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

Как дизайнеру сделать приложение с помощью ChatGPT

У него есть лимиты

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

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

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

Он может зайти в тупик, но не признается

Джепетто до последнего старается решить задачу, даже если зашел в тупик. Тогда он начинает фантазировать или скакать между неработающими вариантами. У меня как-то случился такой диалог.

— Вариант А не подходит, выдает ошибку.

— Прошу прощения, тогда попробуйте вариант Б.

— Тоже не работает.

— Простите, вот вариант А.

— Но мы только что его пробовали, он выдает ошибку.

— Точно, прошу прощения. Попробуйте вариант Б.

и т. д.

Скорее всего, это означает, что ваша задача не имеет решения и нужен другой подход.

Он фантазер

Напомню, что ChatGPT — языковая модель, а не настоящий разработчик. В большинстве случаев Джепетто пишет работоспособный код, но иногда придумает несуществующие функции. Это могут быть функции, которые вы еще не написали, или, что забавнее, — функции, якобы встроенные в iOS.

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

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

Он все равно классный!

Сталкиваясь с ошибками и ограничениями Джепетто, неизбежно раздражаешься. В такие моменты полезно вспомнить, что перед тобой — магия.

Что дальше?

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

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

В общем, начните дружить с Джепетто, а если уже дружите, расскажите о своем опыте.

Ну и, конечно, попробуйте MYSLF.

Скачать MYSLF в App Store

Как дизайнеру сделать приложение с помощью ChatGPT
66
3 комментария

Спасибо, что поделились. Познавательно)

Копирайтерам и маркетологам с крутыми идеями, вероятно, теперь тоже можно собраться с мыслями и набросать своих проектов)

1

Звучит и выглядит оч круто. Хотелось бы еще по больше узнать про процесс верстки. А то вы не рассказываете каким волшебным образом код из Джепетто превратился в приложение доступное в IOS

Спасибо! Кодом можно верстать: пишете на свифте "синяя кнопка по центру экрана", и она появляется. Также есть Interface Builder — инструмент визуальной верстки, когда экран собирается почти как в графическом редакторе. Джепетто может написать инструкцию, как добавить ту же синюю кнопку через интерфейс-билдер

1