Да, это не очень удобно, согласен. В некоторых странах уже можно переключать язык. Как раз в ОАЭ сейчас можно выбирать между английским и русским, а скоро добавится арабский.
На скриншотах меню из России. Мы начали адаптировать приложение сильно раньше запуска в ОАЭ, когда даже меню ещё не было. Заходите в приложение чтобы посмотреть какие необычные пиццы наша команда придумала для Дубая (на ОАЭ можно переключиться вне зависимости от вашего местоположения).
Из всего этого я вижу, что нейросети всё еще находятся на уровне очень умных парсеров текстов. Для замены людей маловато, но уже можно круто прокачать поисковики и умные колонки :)
Развлекательные ретро работают как неплохой тимбилдинг на удаленке - вы весело проводите время со своей командой, становитесь ближе и дружнее. На ретро совсем не обязательно только и делать, что нудеть про то, что было не так за спринт.
Согласен, нужно помогать пользователю самым удобным для него способом.
Наши операторы чата отвечают именно в чате, каналы общения не перемешиваются, потому что за них отвечают разные команды.
А еще мы проводили эксперимент, где давали пользователю возможность выбирать способ обратной связи на его отзыв по заказу. Что интересно, распределение было примерно поровну между звонками и чатом. В будущем продолжим работу по этому направлению.
Чат, кстати, помогает нам обнаруживать недостатки UX - если много пользователей обращаются с вопросом, ответ на который можно найти в приложении, то значит нам пора поработать над улучшением отображения информации по этому вопросу.
Я с первого раза не смог понять - это у ребят так шутка затянулась, что они и язык, и приложение, и, даже, интерфейс командной строки сделали, или это прям серьезный набор инструментов.
Задумки у нас разные, но классно, что мысли сходятся :)
Согласен. Если уж умный дом на yaml натянули (привет, Home Assistant!), то и с рецептами проблем не будет. А если все-таки понадобится немного императивщины, то можно Jinja2 использовать.
можно тщательнее протестировать поведение UI unit-тестом presenter'а
Тесты presenter не могут проверить правильность реализации view (даже самой глупой).
Я тоже искал возможность сделать view максимально глупыми, чтобы как раз избежать тестирования UI, но потом обнаружил, что проще писать Espresso-тесты и запускать их на Robolectric, чем пытаться избежать этого, усложняя взаимодействие view и presenter.
Недавно у нас случилось нечто подобное: Avast Mobile стал определять наше Android-приложение как троян. Все, кто использует их движок (например встроенный антивирус у Huawei), соответственно, тоже.
Сначала мы отправляли отдельные apk в Avast для исключения, а потом договорились о фильтрации по fingerprint.
Самое интересное, что происходило это только в одной стране (у нас разные package name для разных рынков) и не сразу, а через время после релиза. Поэтому мы тоже предположили, что проблема могла быть вызвана конкурентами, хотя доказательств у нас не было (разве что сам Avast Mobile показывал у себя рекламу конкурентов :)).
Теперь при релизе один из шагов для QA-команды — просканировать приложение, скачав его из beta трека Google Play.
Я подозреваю, что Pair существует, чтобы можно было писать `mapOf(key1 to value1, key2 to value2)` и подобное. Инфиксная функция `to` как раз и создает пару.
Это одна из причин, по которым автору статьи и не нравится Котлин — чрезмерное использование «идеоматических» конструкций. В данной ситуации if будет более разумным выбором, на мой взгляд.
С какой-то версии в эмуляторе появились snapshots developer.android.com/studio/run/emulator#snapshots. С ними можно дополнительно ускорить запуск эмулятора, правда одновременно с этим замедляется его остановка (создается тот самый snapshot).
Интересно, насколько это ускорило бы запуск, без использования описанного в статье подхода.
Использую mitmweb для android. Есть сложность с просмотром траффика android 7 и выше (требуется вносить изменения в конфигурацию приложения), но это касается и Charles. А так отличная штука!
Исходя из названия, ожидал увидеть в статье описание технических проблем с которыми столкнулись ваши инженеры. Обычно компании рассказывают именно об этом, т.к. это повышает количество просмотров других разработчиков и, возможно, привлечет новых людей к вам в компанию.
Очень приятно! Рад, что статья вам полезна :)
Да, это не очень удобно, согласен. В некоторых странах уже можно переключать язык. Как раз в ОАЭ сейчас можно выбирать между английским и русским, а скоро добавится арабский.
На скриншотах меню из России. Мы начали адаптировать приложение сильно раньше запуска в ОАЭ, когда даже меню ещё не было. Заходите в приложение чтобы посмотреть какие необычные пиццы наша команда придумала для Дубая (на ОАЭ можно переключиться вне зависимости от вашего местоположения).
Из всего этого я вижу, что нейросети всё еще находятся на уровне очень умных парсеров текстов. Для замены людей маловато, но уже можно круто прокачать поисковики и умные колонки :)
Понимаю вас, не всем подходит свободный формат общения на звонках.
Мне вот как раз подходит, поэтому идея из статьи показалась отличной :)
Развлекательные ретро работают как неплохой тимбилдинг на удаленке - вы весело проводите время со своей командой, становитесь ближе и дружнее. На ретро совсем не обязательно только и делать, что нудеть про то, что было не так за спринт.
Согласен, нужно помогать пользователю самым удобным для него способом.
Наши операторы чата отвечают именно в чате, каналы общения не перемешиваются, потому что за них отвечают разные команды.
А еще мы проводили эксперимент, где давали пользователю возможность выбирать способ обратной связи на его отзыв по заказу. Что интересно, распределение было примерно поровну между звонками и чатом. В будущем продолжим работу по этому направлению.
Чат, кстати, помогает нам обнаруживать недостатки UX - если много пользователей обращаются с вопросом, ответ на который можно найти в приложении, то значит нам пора поработать над улучшением отображения информации по этому вопросу.
Меня эта тема еще с курса в институте интересовала - хотелось понять область применения таких языков. Рад, что мы нашли где они могут быть полезны :D
Я с первого раза не смог понять - это у ребят так шутка затянулась, что они и язык, и приложение, и, даже, интерфейс командной строки сделали, или это прям серьезный набор инструментов.
Задумки у нас разные, но классно, что мысли сходятся :)
Согласен. Если уж умный дом на yaml натянули (привет, Home Assistant!), то и с рецептами проблем не будет. А если все-таки понадобится немного императивщины, то можно Jinja2 использовать.
А еще remember, remember не забыть! Ведь состояние - это неотъемлимая часть декларативного подхода.
Мне кажется, это возможно, но может потребоваться ввести более высокоуровневые абстракции вроде Бульона и Зажарки :)
Тесты presenter не могут проверить правильность реализации view (даже самой глупой).
Я тоже искал возможность сделать view максимально глупыми, чтобы как раз избежать тестирования UI, но потом обнаружил, что проще писать Espresso-тесты и запускать их на Robolectric, чем пытаться избежать этого, усложняя взаимодействие view и presenter.
Сначала мы отправляли отдельные apk в Avast для исключения, а потом договорились о фильтрации по fingerprint.
Самое интересное, что происходило это только в одной стране (у нас разные package name для разных рынков) и не сразу, а через время после релиза. Поэтому мы тоже предположили, что проблема могла быть вызвана конкурентами, хотя доказательств у нас не было (разве что сам Avast Mobile показывал у себя рекламу конкурентов :)).
Теперь при релизе один из шагов для QA-команды — просканировать приложение, скачав его из beta трека Google Play.
Интересно, насколько это ускорило бы запуск, без использования описанного в статье подхода.