Pull to refresh

Фудкорт изнутри. Или как программист делал фудкорт

System Analysis and Design *Development for iOS *Development of mobile applications *
Всем привет!

У меня давно была мечта открыть свой ресторан, а к любой мечте нужно по-тихоньку двигаться.
Этим летом я сделал первый шаг — открыл фуд-корт на маркете «4 сезона».
Большую часть времени работал мобильным разработчиком и поэтому не обошлось без приложение для телефона, статистики, да и вообще UX-наработок в создании стенда и оформлении продукции.

image

Будет всё:
  • про рынок,
  • идея,
  • мобильное приложение,
  • дизайн, лого,
  • UX и юзабилити в оффлайне,
  • ссылка на код,
  • линк в AppStore.


Итак, привет всем кто зашёл!

Статья начнется в стиле самоинтервью – намного легче и удобнее читать структурированную информацию, а при написании намного проще отвечать на подготовленные вопросы, поэтому вот вам список вопросов и дальнейших тем:
  • Что такое фуд-корт?
  • Что такое маркет?
  • Что нужно для участия?
  • Сколько это стоит?
  • Кто такие организаторы?
  • Что нужно делать на маркете?
  • Два зайца одним выстрелом
  • Проблемы участников маркета
  • Проблемы организаторов
  • Мобильное приложение
  • Требования к мобильному приложению
  • Интерфейс
  • Сторонние либы
  • Интро/обучение
  • Почему Swift?
  • Анимации
  • Лого
  • Дистрибуция
  • Результаты/Выводы

Что такое фуд-корт?


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

Что такое маркет?


Маркет — это модное слово для «ярмарки выходного дня» или мини-фестиваля.

Что нужно для участия?


На очень простеньких маркета (в котором участвовал автор статьи на момент повествования) ничего нужно, ну максимум паспорт, чтобы подписать псевдо-контрактик. Отмечу, что санитарная книжка, книга жалоб, ИП — это всё не про фудкорты. Тут вас могут кормить неизвестными залежалыми продуктами, резать немытыми руками — так что всё на свой страх и риск. (Автор статьи конечно же исключение и нисколько не говорит, что подобное имеет место во всех аналогичных заведениях).

Сколько это стоит?


Зависит от маркета и организаторов.
Участие на «4 сезона» за 2 выходных дня стоило 10к рублей. Понятие площади и места там не было.
«Ламбада-маркет» уже имеет стоимость порядка 10к за день.
Периодические тематические фудкорты в Сокольниках и ПГ могут стоит до 25к за день в праздники или 25к за обычные выходные. Площадь фиксированная — в вашем распоряжении один домик.
Первый Веган-фест в парке Сокольники стоил от 5000р за 1 кв.м. Стоимость увеличивалась в зависимости от кв.м. и «проходимости» предложенного участка (об этом будет ниже отдельно).

Кто такие организаторы?


Это некоторые лица, которые занимаются организацией мероприятия. Они договариваются о сроках, условиях, арендуют пространство, предусматривают проводку и обеспечение электричеством, светом, могут ставить павильоны или тенты.
Собственно все вопросы вы решаете с ними, а не с администрацией парка или ArtPlay напрямую.
Договор вы тоже подписываете с ними.

Что нужно делать на маркете?


В общем на маркете нужно что-то продавать.
Так как вы уже заплатили некоторую сумму за участие и скорее всего потратились на товар или работы по его приготовлению (если вы только не продаете воздух или проводите лотерею).
Ещё данное мероприятие можно рассматривать как неплохую рекламу, можно даже ничего не продавать.
Например, на маркете «4 сезона» участвовал экстрасенс 14-его сезона битвы на ТНТ.

Два зайца одним выстрелом


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

Проблемы участников маркета


  • Участники (это те, кто продают свою позиции) сильно рискуют (особенно те, кто продают скоропортящиеся товары, как еда и напитки).
  • Организатор говорит некоторую абстрактную цифру, которая называется «проходимость», например: 5000 человек в день. Что это значит для участника? — Ничего.
  • Можно ли из этого «преувеличенного», «абстрактного» числа приблизительно понять сколько человек пройдет у твоего прилавка, сколько что-то купит, чтобы понять сколько тебе продукции нужно закупить, сколько пространства, техники тебе нужно? — Почти нет.
  • К концу дня всегда куча вопросов: сколько выручка, сколько прибыль, сколько позиций продано, сколько еще ингредиентов есть на завтра, что люди покупали, а что нет?

Проблемы организаторов


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

Мобильное приложение


Как человеку, который в IT уже более 6 лет сразу же в голову пришла идея попытаться решить эти проблемы в первую очередь для себя:
  • Узнать сколько человек прошло мимо моего корта
  • Узнать сколько позиций я продал и каких именно
  • Точно знать выручку на текущий час в течение всего дня — потому что от этого зависит насколько сильно нужно рвать жопу волосы и придумывать как увеличить оборот продаж.

Так как в последнее время я iOs-разработчик, то сразу понял, что мне нужно мобильное приложение, а если я занимаюсь этим совсем не один, то такая проблема может быть у всех участников и это приложение нужно и им.

Требования к мобильному приложению


Приложение должно считать следующую статистику:
  • Человек прошел
  • Человек заинтересовался
  • Человек купил

Список продукции в течение дня сильно не меняется (не считая sale-off в последние часы работы), поэтому список своей продукции можно заблаговременно завести в приложение, возможно, есть необходимость быстро изменять цену.
Явно выполняется следующее неравенство:
Количество прошедших >= количество заинтересовавшихся >= количество купивших
Значит, мы поняли приоритетность действий.
Мы постоянно заняты (людей мало, процессы еще не отлажены) то продажей, то готовкой, то сдачей, то рекламой, поэтому количество кликов в приложении должно быть минимально.
Приложение должно уметь очень быстро показать суммарную выручку, ходовички, непродаваемые позиции (может быть пора изменить их цену) и может быть что-то еще.
Приложение должно быть надёжным — естественно данные сохраняются при выгрузке из памяти, если приложение упало, то никакие данные не должны пострадать и так далее.

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

Не ТЗ на разработку, но для нашего проекта подходит отлично.

Интерфейс


На скрине снизу Interface Roadmap (Делал в Sketch, серый фон только для различимости белых экранов):

image

Main — это главный экран, на нём 3 основные кнопки: посчитать прошедшего посетителя, заинтересовавшегося и оформить продажу. Приложение всегда лежит перед тобой с включенным экраном, поэтому сложность совершения основных действий — 1 клик.
При клике на нижнюю кнопку — происходит переход к экрану Purchase и далее возврат к Main

Экран Positions служит для составления списка товаров (наименование и цена). Так как список может быть (да и должен быть) сформирован заранее, то на этот экран в течение нашего рабочего дня нам переходить нужно крайне редко.

Экран Stats — это доступ к реал-тайм статистике, она состоит из нескольких экранов и первый из них сразу отвечает на вопрос «Сколько мы заработали?». Также можно по piechart диаграмме сообразить, что мы успешно продаем, а что нет, или перейти к более детальной «списковой» форме.

Сторонние либы


  • CorePlot — для рисования диаграммы,
  • Amplitude — аналитика.
  • Crashlytics + Fabric — для сбора крешей.


Интро/обучение


Понятно, что разрабатываемое ПО — специализированное и нужно только целевой аудитории, то есть участникам фудкортов, выставок, маркетов.
Так как приложение переходит из частного собственного пользования в продакшн для группы людей, то конечно же нужно показать им возможности приложения и обучить как им пользоваться.
Изначально была идея делать при первом запуске листалку из не более 6-ти слайдов, где компактно и понятно объяснить, что происходит в приложении и для чего оно нужно.
После того как я показал данный вариант хорошему дизайнеру/UX-еру услышал в ответ, что это неправильный формат и моя листалка больше подходит для предоставления информации, что нового, например, в апдейте и никак не закрепляет те действия, которые пользователь должен сделать.

Поэтому в итоге было реализовано интерактивное обучение в виде поэтапного прохода всего процесса от занесения позиции до её продажи и получении статистики.
Хорошо или плохо, хочу попросить оценить вас. В конце сделал опросник =)

Почему Swift?


Конечно приятный синтаксический сахар (например, guard), компактность по сравнению с obj-c, плюс сторонник строгой типизации.
Протокольность Swiftа позволила сделать очень удобные решения, например, на Main и Stats есть одна и та же кнопка, реализацию которой получилось хорошо реализовать на протоколе с дефолтной имплементации. Как раз про данный функционал приводил код в предыдущей статье.

Анимации


Анимации были не важны, важен был MVP и UX: кликов должно быть мало, кнопки крупные и видные, когда нажимаешь на плюсик/минусек, то пальчик не загораживает число и т.д.
Единственное, что я себе позволил как UX-эксперементатор — это новый тип перехода от главного экрана к списку товаров и статистике.
Не хотел (не получались) обычных кнопок на navigation bar — не удобно тянуться, маленькие и так далее. Лишние элементы на экран тоже особо не лезли. Поэтому решил попробовать решение с переходами по свайпу. (Свайп уже вроде бы рутинный жест).
Выглядит это вот так:

image
Это эксперимент, нет пока однозначности удобно ли это или нет.
Исходники, кстати, выложил — можно пользоваться.

Лого


Так как дизайнером не являюсь, то создавать такую важную вещь, как логотип, иконку и Default-screen пришлось создавать самому. В общем в голове была самая навязчивая идея связать идею со словом «Food». Были идеи оживить буквы, но тогда была проблема в сочетаемости толщины шрифта и вообще стиля. Далее идёт список некоторых промежуточных вариантов:
imageimageimageimageimageimageimageimage
Вариант, который в итоге в продакшне:
image

Дистрибуция


Самый резонный вопрос при разработке любого продукта: кому он нужен и как люди про него узнают?
Вряд ли люди с хабры являются проженными фудкортерами и владельцами торговых точек (хотя надеюсь я кого-то вдохновил).
Самые 2 крупные канала (причем уже проверены в действии на «предзаказах»):
1) Обход участников фестивалей вживую и раздача им буклетов с ссылкой на мобильное приложение,
2) Электронная рассылка участникам через организаторов (нужно согласие и интерес организаторов),
3) Каналы в специализированных сообществах — но их крайне мало, это не сильно развитая ниша в России.

Результаты/Выводы


1) Разработка приложения заняло много времени (в первую очередь из-за основной работы и других проектов).
2) Приложение долгое время пользовались на стадии MVP-продукта с базовых функционалом и без дизайна — это позволило отказаться от некоторых начальных предположений,
3) Если ты не дизайнер — то очень много времени уходит на интерфейс и UX,
4) Фудкортеры — нищеброды, поэтому изначальная идея с монетизацией приложения пока отложена + делать его платным тоже в начале невыгодно, так как нужно привлечь какую-то группу активных постоянных пользователей,
5) Проверки в AppStore стали занимать намного дольше времени,
6) У приложения было 2 реджекта: 1-ый из-за того, что в название приложения было засунуто слишком много слов, которые Apple посчитал лишним ASEO,
3.4 Details
Your app name to be displayed on the App Store includes keywords or descriptors, which are not appropriate for use in an app name.
Specifically, the following words in your app name are considered keywords or descriptors:
Count traffic and attendance, get statistics and reports on the fly during the day:revenue, average bill, conversion, total count. Make better — more sales, customers, goods, profit.

2-ой реджект был из-за наличия Complication в часах, хотя по факту их не было, билд не прошёл из-за наличия в pliste файла пустово массива с complication.

P.s. Спасибо за прочтение! Посмотреть и оценить конечный вариант интро можно тут.
Only registered users can participate in poll. Log in, please.
Посмотрел интро в приложении?
12% Посмотрел — понятно, решение норм 9
4% Посмотрел — понятно, но нужно уметь повторять, если забыл 3
6.67% Посмотрел — ничего не понял, реализация УГ 5
40% Не посмотрел 30
52% О чём вообще речь? 39
75 users voted. 42 users abstained.
Tags:
Hubs:
Total votes 8: ↑4 and ↓4 0
Views 13K
Comments 2
Comments Comments 2

Posts