Записал вводное видео про регулярные выражения

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

https://youtu.be/b-EkpnLINKw

Если кратко. Регулярные выражения помогают искать в тексте куски по сложному шаблону. Например, шаблон /[0-9]+/ найдёт в тексте все цифры, которые повторяются один или более раз подряд.

Но это самый простой случай. В примере я разбираю как работает вот такое выражение: /^(Смартфон\s)?(Apple)\s([a-z ]+)\s(\d+)GB\s(.*)\(([^(]+)\)\s([\d ]+)\sруб.$/igm.

Регулярные выражения помогают обрабатывать большие объёмы данных и приводить их к читаемому виду.

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

Кратко про решение

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

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

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

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

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

Идеальное решение, когда инструмент сделает всю работу сам: сфотографирует, укажет геопозицию, поможет определиться с классификацией проблемы, чтобы пользователю осталось только добавить краткий комментарий.
Как сделать все эти шаги минимальными усилиями... конечно же при помощи дополненной реальности!
Наводим камеру на неправильно припаркованный автомобиль, ставим виртуальный пин, тем самым указываем точное местоположение проблемы, камера телефона угадывает, что это автомобиль, предполагает доступные варианты ошибок: при этом пользователь не видит огромный чеклист всех возможных вариантов, а лишь один или парочку близких по смыслу категорий; пользователь выбирает подходящую ошибку тапая по экрану.
Таким образом, после выбора нужной категории ошибки, телефон уже знает её геопозицию, автоматически делает фотографию и помогает определиться с категорией, то есть 3 из 4 обязательных шагов заполняются автоматически. Пользователю остается только написать комментарий к ошибке, а ещё лучше, сказать его голосом.
За счет того, что большую часть нагрузки берет на себя телефон, всё внимание наблюдателя может быть сосредоточено на исследуемой улице.

Но что делать с проблемами, которые не укажешь одной только точкой? Например, отсутствие тротуара на протяжении всей улицы, или область с повышенным трафиком пешеходов?

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

Команда это важно

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

У нас этого не произошло, и на это было две причины.

Первая, и самая большая — я не хотел делиться работой. Я поставил себе глобальную цель использовать учебу как трамплин для раскачки своих навыков (я писал об этом ранее https://t.me/bukhtiyar/152), поэтому мне было в кайф брать на себя как можно больше нагрузки, а не быть менеджером команды. В итоге ребята, увидев мой запал, вместо того, чтобы включиться в конкуренцию за работу над проектом, отступили и дали мне полный карт-бланш.

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

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

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

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

Итак, PROFI.RU

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

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

Часть первая. Бизнес модель.

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

Давайте рассмотрим этот процесс подробнее.

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

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

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

Например, я, как исполнитель, вижу подходящую заявку на услугу, оплачиваю стоимость заявки (примерно от 20 до 200 рублей) и жду, когда меня выберут. Если меня выбрали, то сумма заявки возвращается, если нет — деньги сгорают.

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

Сегодня профи.ру находится в переходном этапе от традиционной модели с комиссией к автоматизированному аукциону.

Часть вторая. Зонтичный бренд

Еще одной важной особенностью сервиса, которую мы узнали от заказчика, является большое количество различных направлений — вертикалей бизнеса. Платформа PROFI.RU образовалась путем объединения нескольких уже существующих сервисов по поиску репетиторов, спортивных тренеров, врачей и т.д. — образовав тем самым, так называемый, зонтичный бренд.

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

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

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

Часть третья. Legacy

Из-за особенностей, описанных выше, а именно из-за того, что сервис образовался путем слияния разных бизнесов, вытекает еще одна не самая приятная особенность — большое техническое наследование, или technological legacy. Это означает, что платформа, на которой строится профиру за всю свою историю существования (а это больше 10 лет) обросла огромным количеством костылей и ограничений. БОльшая часть интерфейсных (и не только) проблем сервиса связанна именно с этим — любое изменение дается долго и дорого.
Поэтому бриф, который озвучил Андрей, был про свежий взгляд без привязки к грузу технических ограничений.

Итого

После общения с заказчиком мы выделили три главных особенности профиру:

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

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

Мини-кейс

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

Например, как решить проблему того, что люди часто не заканчивают курс лекарств до конца?

Конечно же ввести геймификацию!
Главная проблема заключается в том, что довольно сложно принимать большое количество одинаковых лекарств постоянно, это просто надоедает. Но можно пойти другим путем и разделить одинаковые лекарства на две группы — 90% оставить как было, а 10% сделать другим цветом и разместить их в самом конце, сказав, что их прием ОБЯЗАТЕЛЕН.

Профит!

В Usethics написали о том, как объединить подход персонажей и Jobs to be done

JTBD описывает потребности пользователя по формуле: когда X, я хочу Y, чтобы Z. «Когда я не знаю, как добраться до места (X), я хочу быстро узнать направление (Y), чтобы прийти, куда нужно (Z).

Во подходе персонажей первое место занимает персонаж: как Х, я хочу Y, чтобы Z. «Как турист (X), я хочу быстро узнать направление (Y), чтобы прийти, куда нужно (Z)». Персонажи рассказывают о пользователях продукта, а «работы» сообщают об их ключевых целях.

Подходы можно объединить: установки влияют на вероятность возникновения разных ситуаций, а ситуации влияют на конкретный опыт. На верхнем уровне — персонажи (основные типы пользователей), затем — «работы» (задачи персонажей в рамках определённых обстоятельств), а в основании — конкретные переживания пользователя на разных этапах пути.

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

Объединённый подход:

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

2. Проводим интервью, где оцениваем участников с точки зрения выделенных свойств, узнаём контекст, делим работу на составляющие («подработы»). Например: Подготовка ко сну → Планирование подъёма утром → Засыпание → Сон → Пробуждение → Подъём. Это не обязательно должна быть последовательность.

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

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

5. Составляем карту пользовательского опыта для каждого персонажа. В ней могут быть слои опыта: цели/потребности, опасения, действия, барьеры, инструменты, эмоции.

6. Profit (выявляем инсайты о проектируемом продукте).

https://medium.com/usethics-doc/b35d4174cea3

Синхронизация с заказчиком

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

Есть три отличных метода, как на ранних стадиях показать заказчику то, что его ждет на выходе (ну а нашем случае самим понять куда мы движемся)

Вот эти три метода:
-пресс релиз
-идеальный день пользователя
-design challenge

Пресс-релиз
Это описание вашего продукта/редизайна, которое вы могли бы дать профильным СМИ, или приложить в качестве описания для магазина приложений. Пресс-релиз — это взгляд на текущую работу из будущего, как будто работа уже завершена и вы готовитесь к релизу.

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

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

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