Что за Gemma 4?
Одним из не очень громких, но, на мой взгляд, важных анонсов Google I/O была поддержка Gemma 4 прям из IDE.
Android Studio и раньше поддерживала локальные модели, но теперь можно просто скачать себе подходящую модель напрямую, чуть ли не как SDK. В итоге вы получаете вполне приличного ИИ-ассистента.
Как я и сказал, модель локальная: подойдёт, если не хочется платить за подписки или использование сторонних моделей запрещено корпоративными правилами. Ну и вообще, тренд с локальными моделями мне нравится.
И хоть Gemma 4 и не самая топовая в бенче — всё равно будет полезной для разного рода задач.
Для запуска надо прилично RAM, так что бояре с 48+ гигами оперативы снова в тренде.
Одним из не очень громких, но, на мой взгляд, важных анонсов Google I/O была поддержка Gemma 4 прям из IDE.
Android Studio и раньше поддерживала локальные модели, но теперь можно просто скачать себе подходящую модель напрямую, чуть ли не как SDK. В итоге вы получаете вполне приличного ИИ-ассистента.
Как я и сказал, модель локальная: подойдёт, если не хочется платить за подписки или использование сторонних моделей запрещено корпоративными правилами. Ну и вообще, тренд с локальными моделями мне нравится.
И хоть Gemma 4 и не самая топовая в бенче — всё равно будет полезной для разного рода задач.
Для запуска надо прилично RAM, так что бояре с 48+ гигами оперативы снова в тренде.
👍13
Что у нас по AI-переводам? 🤖
Сколько бы я ни разрабатывал приложения — проблема локализации всегда стояла остро. До недавнего времени существовало два основных пути:
🟢 путь самурая — наймём агенство профессиональных переводчиков, которые будут в теме нашего контекста и обеспечат высокое качество;
🟢 путь ронина — а зачем нам переводчики, давайте машинные переводы сделаем, это лучше, чем ничего;
Первый вариант — дорогой и долгий, при этом качество не всегда было безупречным. Второй — бюджетный, но уровень перевода оказывался совсем низким.
С недавних пор у нас появился третий путь: а давайте натравим AI, чтобы он сам делал переводы, модели ж уже весьма умные. Или нет? Поделюсь своим опытом.
Для работы с переводчиками у нас использовалась платформа CrowdIn. По сути, при работе с переводчиками это было удобным хранилищем для строк. А ещё была неплохая поддержка CI, что позволяло отправлять и получать переводы без ручного участия команды разработки.
С приходом эры AI платформа добавила поддержку нейросетевых моделей. Можно подключать свои ключи API и использовать любые подходящие модели.
В результате текущий workflow выглядит так:
🟢 загружаем новые строки;
🟢 обогащаем контекст с помощью встроенного инструмента harvester: по сути, это команда, которая добавляет описание к каждой строке (например: «эта строка используется для кнопки «Вперёд» на экране авторизации»). Считаю это критически важным этапом;
🟢 запускаем перевод.
Для генерации контекста можно использовать модель попроще, а для финального перевода — более мощную и дорогую.
На выходе получилось очень достойно: надо было добавить пару правил по поводу того, что не стоит переводить и шаг за шагом добавлять языки, иногда проверяя переводы носителем, если есть возможность. Оцениваю фичу по качеству на 8 из 10, а по деньгам — 10 из 10. Даже с самой дорогой моделью на переводах.
Так что если у вас есть подобная задача — смело интегрируйте удобное для себя готовые решение, благо их на рынке сейчас много. Или навайбкодьте своё, чего уж.
Сколько бы я ни разрабатывал приложения — проблема локализации всегда стояла остро. До недавнего времени существовало два основных пути:
Первый вариант — дорогой и долгий, при этом качество не всегда было безупречным. Второй — бюджетный, но уровень перевода оказывался совсем низким.
С недавних пор у нас появился третий путь: а давайте натравим AI, чтобы он сам делал переводы, модели ж уже весьма умные. Или нет? Поделюсь своим опытом.
Для работы с переводчиками у нас использовалась платформа CrowdIn. По сути, при работе с переводчиками это было удобным хранилищем для строк. А ещё была неплохая поддержка CI, что позволяло отправлять и получать переводы без ручного участия команды разработки.
С приходом эры AI платформа добавила поддержку нейросетевых моделей. Можно подключать свои ключи API и использовать любые подходящие модели.
В результате текущий workflow выглядит так:
Для генерации контекста можно использовать модель попроще, а для финального перевода — более мощную и дорогую.
На выходе получилось очень достойно: надо было добавить пару правил по поводу того, что не стоит переводить и шаг за шагом добавлять языки, иногда проверяя переводы носителем, если есть возможность. Оцениваю фичу по качеству на 8 из 10, а по деньгам — 10 из 10. Даже с самой дорогой моделью на переводах.
Так что если у вас есть подобная задача — смело интегрируйте удобное для себя готовые решение, благо их на рынке сейчас много. Или навайбкодьте своё, чего уж.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤2👎1
R8 retrace
На днях отлаживал баг в тестовой сборке и заметил применение крутой технологии — R8 retrace. Как-то я упустил момент её релиза, а ведь теперь Android Studio подтягивает её автоматически.
Наверняка у вас в проектах используется R8. При создании релизной сборки генерируется файл mapping.txt. Он используется, например, в Firebase Crashlytics, чтобы превратить обфусцированный код в читаемый стектрейс.
Так вот, сейчас если собрать релизную (а может и тестовую, если вы её тоже делаете с R8) и установить её на устройство, которое подключено к IDE, то можно увидеть сразу корректный стектрейс. Студия сама подцепит, если есть mapping и покажет всё, что нужно для дебага.
Хотя может фича уже давно в проде, а я только обнаружил.
На днях отлаживал баг в тестовой сборке и заметил применение крутой технологии — R8 retrace. Как-то я упустил момент её релиза, а ведь теперь Android Studio подтягивает её автоматически.
Наверняка у вас в проектах используется R8. При создании релизной сборки генерируется файл mapping.txt. Он используется, например, в Firebase Crashlytics, чтобы превратить обфусцированный код в читаемый стектрейс.
Так вот, сейчас если собрать релизную (а может и тестовую, если вы её тоже делаете с R8) и установить её на устройство, которое подключено к IDE, то можно увидеть сразу корректный стектрейс. Студия сама подцепит, если есть mapping и покажет всё, что нужно для дебага.
Хотя может фича уже давно в проде, а я только обнаружил.
Android Developers
R8 retrace | Android Studio | Android Developers
R8 retrace is a standalone tool used to reconstruct original stack traces from obfuscated ones by matching class and method names in a mapping file to their original definitions.
🔥20❤5
Mesh Gradients
Люблю красивый UI, и вот — ещё одна интересная фича в стандартной библиотеке Compose.
Mesh-градиенты — это градиентывнезапно , которые делают переходы с помощью сетки. Она может быть нелинейной, благодаря чему градиент выглядит необычно. Получается плавная, перетекающая цветовая масса. Гугловый пример мне напоминает чем-то бензин, который попал в лужу.
Для создания существует MeshGradientPainter. В нём можно настроить множество параметров: количество цветов, характеристики сетки и итоговую форму.
Часто встречаю приложения с градиентами, поэтому считаю, что такая анимация выглядит очень достойно.
Детальнее можно почитать тут.
Люблю красивый UI, и вот — ещё одна интересная фича в стандартной библиотеке Compose.
Mesh-градиенты — это градиенты
Для создания существует MeshGradientPainter. В нём можно настроить множество параметров: количество цветов, характеристики сетки и итоговую форму.
Часто встречаю приложения с градиентами, поэтому считаю, что такая анимация выглядит очень достойно.
Детальнее можно почитать тут.
Android Developers
Mesh gradients | Jetpack Compose | Android Developers
This document describes how to use Mesh gradients in Jetpack Compose to create complex, multi-directional color transitions.
👍18🔥4❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Важный вопрос
Как думаете, юзеры удивятся, если увидят такой ввод пароля в банковском приложении?
Если что — вот код.
Как думаете, юзеры удивятся, если увидят такой ввод пароля в банковском приложении?
Если что — вот код.
😁41👍13🔥8
Handy
Если вы искали качественную и бесплатную замену Wispr (популярный нынче инструмент для транскрибации), то вот вам Handy.
Плюсов много:
• бесплатный;
• opensource;
• распознавание голоса происходит прям на устройстве;
• такой же простой и понятный.
По ощущениям работает похуже: если Wispr делает распознавание на 10 из 10, то Handy я поставлю 8. Но… opensource и бесплатно зато. Считаю, что это золото, а не тулза.
Если вы искали качественную и бесплатную замену Wispr (популярный нынче инструмент для транскрибации), то вот вам Handy.
Плюсов много:
• бесплатный;
• opensource;
• распознавание голоса происходит прям на устройстве;
• такой же простой и понятный.
По ощущениям работает похуже: если Wispr делает распознавание на 10 из 10, то Handy я поставлю 8. Но… opensource и бесплатно зато. Считаю, что это золото, а не тулза.
Handy
Handy is a cross platform, open-source, speech-to-text application for your computer
👍15💯3
Про ИИ приложения
Вы спрашивали себя, как понять, навайбожено приложение или сделано своими руками?
Выделил несколько признаков:
• эмоджи там, где обычно стандартные иконки;
• тёмная тема, с синими градиентами на кнопках;
• англицизмы;
• в логах куча ошибок;
• обычно тупящий UI;
• ошибки типа «some error happened»;
Ну а если ИИ сделал — обычно всё чётко.
Вы спрашивали себя, как понять, навайбожено приложение или сделано своими руками?
Выделил несколько признаков:
• эмоджи там, где обычно стандартные иконки;
• тёмная тема, с синими градиентами на кнопках;
• англицизмы;
• в логах куча ошибок;
• обычно тупящий UI;
• ошибки типа «some error happened»;
😁107🗿5😢1
Про привычные иконки
Если сегодня спросить, какую иконку лучше использовать для поиска, большинство наверняка вспомнит лупу.. Но так было не всегда. И, мне кажется, что история её появления довольно любопытная.
В блоге Рэймонда Чена есть история, как в Windows 3.0 появилась программа для просмра справки (WinHelp). В ней появилась панель быстрых действий со следующими элементами:
• index с указателями;
• back со следами;
• browse со стрелками вперёд и назад;
• поиск с лупой.
Сегодня этот символ кажется очевидным, но тогда графический интерфейс был в новинку, и метафора считывалась далеко не всеми. В англоязычных странах образ Шерлока Холмса, ищущего улики с лупой, понятен каждому. А в других культурах он был далеко не столь узнаваемым.
Команда WinHelp даже получила вопрос от зарубежных коллег: зачем на иконке поика нарисована сковородка?
В итоге панель изменили и оставили только надписи, чтобы избежать недоразумений.
Если сегодня спросить, какую иконку лучше использовать для поиска, большинство наверняка вспомнит лупу.. Но так было не всегда. И, мне кажется, что история её появления довольно любопытная.
В блоге Рэймонда Чена есть история, как в Windows 3.0 появилась программа для просмра справки (WinHelp). В ней появилась панель быстрых действий со следующими элементами:
• index с указателями;
• back со следами;
• browse со стрелками вперёд и назад;
• поиск с лупой.
Сегодня этот символ кажется очевидным, но тогда графический интерфейс был в новинку, и метафора считывалась далеко не всеми. В англоязычных странах образ Шерлока Холмса, ищущего улики с лупой, понятен каждому. А в других культурах он был далеко не столь узнаваемым.
Команда WinHelp даже получила вопрос от зарубежных коллег: зачем на иконке поика нарисована сковородка?
В итоге панель изменили и оставили только надписи, чтобы избежать недоразумений.
😁18👍10❤1🤔1
Про Encrypted Client Hello
На днях Google выпустил отличную новость для любителейшапочки из фольги приватности. В свежем Android 17 появилась поддержка Encrypted Client Hello, или ECH.
Когда вы подключаетесь к какому-либо сайту, даже по HTTPS, имя сайта зачастую всё ещё можно определить по SNI и DNS. То есть оператор связи или владелец сети может узнать, к какому сайту вы обращаетесь, даже не имея доступа к содержимому трафика. Это плохо: можно использовать эти данные для не корыстных целей, будь то скам или реклама.
ECH решает часть этой проблемы, шифруя ClientHello и скрывая SNI. А в связке с зашифрованным DNS становится значительно сложнее определить, какой именно сайт вы посещаете.
В Android 17 такая поддержка добавилась вместе с Private DNS из коробки, да и OkHttp 5.5.0 уже поддерживает эту фичу.
Теперь надо, чтобы такой стандарт поддержали сайты, а «операторы связи» не мешали внедрению. Чую будет не просто.
На днях Google выпустил отличную новость для любителей
Когда вы подключаетесь к какому-либо сайту, даже по HTTPS, имя сайта зачастую всё ещё можно определить по SNI и DNS. То есть оператор связи или владелец сети может узнать, к какому сайту вы обращаетесь, даже не имея доступа к содержимому трафика. Это плохо: можно использовать эти данные для не корыстных целей, будь то скам или реклама.
ECH решает часть этой проблемы, шифруя ClientHello и скрывая SNI. А в связке с зашифрованным DNS становится значительно сложнее определить, какой именно сайт вы посещаете.
В Android 17 такая поддержка добавилась вместе с Private DNS из коробки, да и OkHttp 5.5.0 уже поддерживает эту фичу.
Теперь надо, чтобы такой стандарт поддержали сайты, а «операторы связи» не мешали внедрению. Чую будет не просто.
Medium
Closing a Critical Internet Privacy Gap for Billions of Users: Android 17 Rolls Out ECH Support
When you launch an app or visit a website, you likely assume your connection is private. In reality, a critical privacy gap remains. Even…
👍12❤3😁3🔥1🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
Новый iPhone вышел на днях, вы помните?
Наверное, самым ярким вау-эффектом после презентации осталась анимация открытия и закрытия нового iPhone.
Кто-то может подумать, что такую анимацию нельзя повторить на Android, а оказывается — чуть-чуть AGSL shaders + Jetpack Compose + работы с сенсорами — и вот, готовая анимация.
Если честно, не знаю, зачем оно нужно, может только как вау-эффект
Наверное, самым ярким вау-эффектом после презентации осталась анимация открытия и закрытия нового iPhone.
Кто-то может подумать, что такую анимацию нельзя повторить на Android, а оказывается — чуть-чуть AGSL shaders + Jetpack Compose + работы с сенсорами — и вот, готовая анимация.
Если честно, не знаю, зачем оно нужно, может только как вау-эффект
👍27🔥9🤩1
Кстати, вчера забыл про очень важный день...
Деньпогонщиков нейронок программиста!
С нашим профессиональным праздником нас, хоть и на день позже. Несмотря на непростые и тревожные времена — желаю вам держать руку на пульсе, профессионально расти, находить работу мечты и делать свои топовые проекты.
С праздником!
День
С нашим профессиональным праздником нас, хоть и на день позже. Несмотря на непростые и тревожные времена — желаю вам держать руку на пульсе, профессионально расти, находить работу мечты и делать свои топовые проекты.
С праздником!
❤18👍4
Google выкатили ARTEMIS
Эта инструмент, который превращает обычный текст в реальные действия на Android-устройстве. По сути, это полноценный агент, который жмёт по кнопкам, как человек.
Что умеет:
• Cross-приложения — например, на демо показали: «построй маршрут в Maps и посчитай суммарное время, потом открой YouTube и включи Coldplay». Вроде даже работает
• Мультимодальный поиск элементов — сначала пробует по индексу, если не вышло — по координатам и визуально. В общем, старается не упасть на ровном месте
• MCP для IDE — Antigravity, Claude Code, Windsurf напрямую рулят тестовым девайсом и собирают Logcat + скриншоты
• Два режима — Flash (реактивный цикл, 3–5 сек на шаг) и Pro (проверка цели перед каждым действием, восстановление после блокировок)
Результат на AndroidWorld от Google Research — 99%+ выполненных задач из сотни многошаговых сценариев.
Запуск простой:
Скрипт сам поставит ADB, scrcpy, FFmpeg и Python-зависимости, поднимет локальный сервер на
Для IDE есть нативный MCP-сервер:
И отдельный файл
Мне кажется, что если всё работает именно как заявлено — это прям топовое обновление в рамках автоматизации Android-тестов.
Что думаете?
Эта инструмент, который превращает обычный текст в реальные действия на Android-устройстве. По сути, это полноценный агент, который жмёт по кнопкам, как человек.
Что умеет:
• Cross-приложения — например, на демо показали: «построй маршрут в Maps и посчитай суммарное время, потом открой YouTube и включи Coldplay». Вроде даже работает
• Мультимодальный поиск элементов — сначала пробует по индексу, если не вышло — по координатам и визуально. В общем, старается не упасть на ровном месте
• MCP для IDE — Antigravity, Claude Code, Windsurf напрямую рулят тестовым девайсом и собирают Logcat + скриншоты
• Два режима — Flash (реактивный цикл, 3–5 сек на шаг) и Pro (проверка цели перед каждым действием, восстановление после блокировок)
Результат на AndroidWorld от Google Research — 99%+ выполненных задач из сотни многошаговых сценариев.
Запуск простой:
git clone https://github.com/google/artemis.git && cd artemis
./start.sh
Скрипт сам поставит ADB, scrcpy, FFmpeg и Python-зависимости, поднимет локальный сервер на
localhost:8000 с визардом подключения, зеркалом экрана и песочницей для промптов.Для IDE есть нативный MCP-сервер:
uv run artemis mcp --install all
И отдельный файл
rules.md — чтобы ассистент вёл себя как senior mobile QA-инженер и не выдумывал несуществующие элементы интерфейса.Мне кажется, что если всё работает именно как заявлено — это прям топовое обновление в рамках автоматизации Android-тестов.
Что думаете?
GitHub
GitHub - google/artemis: ARTEMIS turns natural-language instructions into reliable Android automation. It automates end-to-end…
ARTEMIS turns natural-language instructions into reliable Android automation. It automates end-to-end workflows, captures logs, and integrates seamlessly with AI coding assistants such as Antigravi...
🔥15❤6👍5👎1🤩1
Похоже, есть что посмотреть на выходных
Недавно вышло интервью с
Слышал разные мнения о Джейке, но для меня он является «отцом» многих крутых библиотек на самой заре Android и очень сильным инженером.
В интервью он рассказывает про Kotlin, про увольнение из Google, про текущее место работы и как он его выбрал. И, конечно же, про ИИ.
Олды, кто помнит Actionbar Sherlock?
YouTube
Kotlin 2026: Layoffs, AI, Google — Is the Golden Age Over? Jake Wharton Explains
Jake Wharton quit his job at Cash App in November 2025, in the middle of massive tech layoffs. After that, he published nine values for his next employer, number one was "No AI." Jake explains why and what else made the list.
Vitaly talked to Jake about:…
Vitaly talked to Jake about:…
❤14🔥6👍4