Обращаюсь в первую очередь к администрации @pikabu, но и всех остальных разработчиков интерфейсов это тоже касается. Вы задолбали с этой фигнёй. Вот простой пример, который меня бесит довольно давно. Даже в пределах одной страницы я вижу два варианта кнопок управления постом:
Я уже писал своё мнение ранее, но тестирование длится уже полгода и вот что я имею вам сказать по этому поводу:
A/B-тесты менее информативны, чем здравый смысл. Например, может быть сверхполезная кнопка, которая используется при этом раз в пятилетку. Или как в примере выше кнопка может быть необходимой, но неудобной и вы об этом не узнаете из статистики нажатий. Кроме того рядовой пользователь не всегда способен отличить неудобное от непривычного.
Меня не спросили. Я не давал согласие на бесплатное тестирование ваших идей. Постоянно меняющие своё положение элементы интерфейса уже вызывают раздражение.
Если уж вы хотите сравнить два варианта чего-либо — дайте пользователю выбор. Ещё один переключатель в настройках не затратит больше ресурсов, чем A/B-тестирование. При этом статистика с этого переключателя будет гораздо лучше кореллировать с реальными предпочтениями пользователей.
Мне видится проблемой, что дизайнеры, маркетологи и прочие причастные считают, будто A/B-тестирование — это такой инструмент, который работает с коллектиыным бессознательным и позволяет управлять толпой. На самом же деле это средство для сбора статистических данных очень низкого качества, которые дают огромный простор для вольных интерпретаций и неверных выводов.
Короче, я понимаю, что все так делают, но и голову надо тоже включать. В примере выше очевидно, что второй вариант лучше Его давно пора оставить, как единственный, ну или сделать опцию явной, если это кому-то нужно.
Но что можно увидеть в таком тесте? Если я захочу свернуть или оценить пост, то я сделаю это при обоих вариантах интерфейса. Время оценивать тоже некорректно, ведь вы не знаете, ищу ли я кнопку или думаю о чём-то своём. Если же проверяемая гипотеза какая-то неочевидная и не связана напрямую с этими элементами, то и с реальностью она скорее всего тоже не связана.
Короче, как обычно, делайте хорошо, а вот так не делайте.
Вот прошло уже 11 месяцев с тех пор, как я запустил первую beta-версию приложения. На данный момент она успешно опубликована в App Store и Google Play Market. По сути это всё ещё бета, и в этом посте я буду делиться разработкой следующих версий, что, по моему мнению, намного интереснее, так как продукт уже готов и находится в продакшене.
1/2
Страница zoomies в App Store / Google Play
Надеюсь, такой формат поста зайдёт пикабушникам.
Какие цели я преследую и почему решил написать это приложение. Я давно и много раз начинал side-проекты, но ни один из них не доводил до конца и, честно признаться, большинство из них были банальными - доска объявлений, to do list. Я даже начинал писать книгу (обожаю фантастику и писал про космос) 😉 Но в этот раз я твёрдо решил довести дело хотя бы до MVP, а в итоге дошёл до релиза.
Я не рассчитываю на большую аудиторию или популярность, мне скорее хочется проверить себя.
Доведу ли я дело до конца
Зарелизю ли
Справлюсь ли с разработкой и CI/CD гитом и прочее
Смогу ли я продержаться хотя бы год в магазинах, набрав хотя бы 100 пользователей?
Основная цель данного приложения - найти друга или партнёра не только для себя, но и для своего питомца. Питомец может быть любым - домашним или даже экзотическим животным, а алгоритмы поиска подберут подходящий вариант.
Выбор вида питомца
Но знакомство питомцев не является самоцелью, и пользователю не обязательно иметь питомца - он может просто зарегистрироваться и не добавлять никаких животных. По сути, это дополнительная функция.
Также есть профи-аккаунт, когда пользователь может указать, что он профессионал в той или иной области, например:
Конечно, я не буду запращивать никаких пруфов пока что.
Таким образом, это не просто очередное приложение для знакомств, но и удобная площадка для поиска местного грумера / ветеринара / кинолога или человека, который присмотрит за вашим питомцем, пока вы в отпуске.
Скриншоты интерфейса:
1/7
Итак, теперь к самой интересной части - у меня вообще нет собственного backend, только cloud-решения: Vercel + Supabase + GitHub + GitHub Actions для автоматического деплоя в Play Market и App Store по тегам.
На данный момент первая версия в сторах соответствует 37 версии по тегам. Всё, что ниже, — это попытки собрать и довести до ума первый релиз.
Весь алгоритм поиска построен на фильтрах и совпадениях. За это отвечают Database Functions и функция find_users_v_17 — версия 17 как раз последняя, которая возвращает список пользователей, подходящих под заданные критерии.
Конечно, я пытался внедрить векторную БД, но для MVP это оказалось слишком сложно и ресурсоёмко. Планирую попробовать добавить AI в будущих версиях.
1/5
Фронтенд построен на Capacitor 7, что позволило мне иметь одну code base для всех платформ - iOS и Android. Я очень хотел публиковаться везде, но пилить одну версию на Swift, а другую на React Native в одиночку показалось мне путём в никуда.
Конечно, из-за этого пришлось отказаться от классических свайпов, как в условном Tinder, и выбрать формат ленты, как на Пикабу 🙂 Из-за проблем с производительностью Capacitor не позволяет сделать такие красивые и эффектные свайпы без тормозов и лагов.
Из других полезных вещей, которые я использую бесплатно: встроенная аутентификация по OTP-кодам от Supabase и сервис Resend - 3000 писем в месяц бесплатно. Был прикручен Twilio для авторизации по СМС, но он оказался слишком дорогим - около 0.20 доллара за сообщение, поэтому я его убрал.
Самые большие сложности были с нативной авторизацией через Apple и Google, так как раньше я с этим не сталкивался. Конкретно с этими типами входа я провозился около двух месяцев.
Публикация. Google требует сначала запустить приложение в Closed Testing - только для тебя и друзей по приглашению, затем пройти Internal-тестирование, и только после этого можно податься на публикацию. При этом приложение обязано соответствовать всем требованиям: иметь Policy, Terms of Conditions, не нарушать Google Guidelines и находиться в режиме тестирования минимум 14 дней с как минимум 20 живыми активными пользователями. Задача казалась почти невыполнимой - где сейчас взять 20 друзей? Да ещё чтобы они хотя бы раз в день открывали приложение.
С Apple оказалось проще. Нужно также соответствовать всем требованиям и возрастным ограничениям, но дополнительно, из-за специфики приложения, я был обязан внедрить чёрный список и бан пользователей, игнор в личных сообщениях и формы жалобы на неприемлемый контент и поведение. Примеры - на скриншотах ниже.
1/2
Мой первый отказ в публикации был из-за этого.
Всего Apple отказала один раз, а Google - пять раз. Причина отказа у Google каждый раз была одна и та же.
1/2
Не прошло и двух месяцев.
Хочу добавить, что Apple просит AUD 199 в год за аккаунт разработчика — без него опубликовать приложение невозможно. У Google, кажется, около AUD 20, но платёж единоразовый.
Общие расходы (AUD):
Apple — 199 в год Google — 20 (единоразово) Supabase — 50 в месяц (пока на подписке, не знаю, насколько меня хватит, чтобы не вернуться на бесплатный тариф) Домен — 12 в год Google testing — 100 Аренда Cloud Mac — 35 в неделю (арендовал одну неделю для тестов) Twilio — 15 разово на тестовые СМС
В заключение: практически каждый вечер с 6 до 23 я в одиночку работал над приложением. Но благодаря тому, что изначально выбрал правильный стек, ни разу не пришлось всё переделывать с нуля или кардинально что-то переписывать. Также хочу отметить что приложение бесплатное, и таковым останется навсегда и никакой рекламы вообще ни в каком виде я не терплю.
Я рад любой критике, отзывам, оценкам и советам. Это моё первое приложение, и я безумно рад представить его пикабушникам и вообще всему миру. Даже как-то волнительно, уф 🙂
На этом, пожалуй, закончим первую часть. А во второй предлагаю выбрать, что вам интереснее разобрать подробнее.
Дописываю android приложение для художественных встреч 🎨 и сейчас провожу тестирование на прочность (отказоустойчивость + валидация ввода). Поучаствуйте, кому интересно.
Если можете/умеете как-то сломать приложение, нарушить его логику, то прошу поучаствовать.
Мне интересно: 1. Что и где отваливается, падает, криво отображается. 2. В каких случаях (что ввели, сколько, как).
Или просто пожамкайте кнопки, потыкайте списки, позаполняйте профиль или встречи.
В таком случае мне интересно: 1. На сколько интерфейс user-friendly 2. Нужно ли добавлять инструкцию, подсказки? 3. Если да, то куда?
Его отчаяние - это отчаяние скрипача-виртуоза, попавшего в цех роботов-сборщиков. Его слух, настроенный на мелодию багов, не может уловить логику в грохоте падающих тестов. Он - последний гуманитарий в мире цифр, последний романтик в царстве чистой прагматики. Каждый его «реран» - это не действие, это жест. Жест отчаяния, призыв к миру: «Я здесь! Я жив! Пусть я ничего не понимаю, но я не сдаюсь!». И пайплайн в ответ молчаливо мигает ему красным светом, как одинокий маяк на берегу безжизненного океана кода.
Суть в том, что его навык - мыслить как пользователь - оказывается невостребованным, и он чувствует себя слепым в мире, где всё видят сквозь код.
Итак, ты наконец-то успешно прошел собес, подписал оффер и завтра твой первый рабочий день на позиции Инженер по тестированию.
Ждать, когда тебе позвонит коллега и скажет что делать?
Да!
Но только на 10% ДА.
Тебе должны дать доступы к корпоративным софтам. Обычно это занимает от 2-7 дней и далеко не в каждой компании ты можешь на это повлиять.
За это время ты должен познакомиться с командой. Лично напиши тимлиду и договорились о звонке. Тема звонка: «Расскажи кратко о проекте, что делаем, на какой стадии, какие есть нюансы. Расспроси немного о команде». Собери у него пул источников, которые ты можешь начать изучать уже сейчас, касаемо проекта.
Спроси контакт тех админа, к кому обращаться в случае технических вопросов.
Найди тимлида по QA и запроси документацию по особенностям флоу тестирования в данной компании.
Спроси контакт того, к кому можно обращаться по вопросам тестирования.
Доступы получены.
Открывай ТМС систему, где тестеры пишут тест-кейсы. Почитай, пройди несколько ТК с целью выявления нюансов работы.
Проведи исследовательское тестирование своего проекта (если до тебя уже что-то было написано). Найди баги, предложи фича реквесты, попробуй хотя бы.
Изучи всю документацию своего проекта, не засиживайся долго в доках, старайся как можно скорее приступить к реальным задачам. Но на этом этапе выбирай самые простые и маленькие (это если ты не один тестер на проекте).
Во-первых, ChatGPT может дать вам базовые знания по теории тестирования. Это безусловно поможет новичкам быстрее влиться в профессию, а Джунам и мидлам закрыть пробелы.
Во-вторых, ИИ может предложить примеры тест-кейсов и сценариев для разных ситуаций, что ускорит процесс тест-дизайна.
В-третьях, чат может предоставить информацию о популярных инструментах и фреймворках для ручного и авто тестирования, что поможет начинающему тестировщику выбрать подходящие инструменты
В-четвертых, ИИ может вам даже помочь найти баги, особенно в автотестирование. Но здесь нужно быть очень внимательным, т к может быть утечка данных. При устройстве на работу вы подписываете NDA, который нарушать лучше не стоит. Плюс вас могут вычислить безопасными компании. Поэтому с ИИ лучше общайтесь общими данными и филигранно применяйте их в своей работе.
В-пятых, ИИ может помочь в подготовке к собеседованиям на позицию тестировщика. Но тут есть важный момент, что чат перед этим нужно обучить, иначе он будет задавать тупые вопросы, которые с реальностью не имеют никакого отношения. Но здесь наш проект вам поможем!
Важно помнить, что, несмотря на полезность ChatGPT, он не должен быть единственным источником знаний. Важно практиковаться, обмениваться опытом с коллегами и постоянно расширять свои знания, используя различные ресурсы и методы обучения.
Вы пользуетесь чатом ЖПТ в работе или для личных дел?