Как стать автором
Обновить

Как мы уменьшили размер приложения ВТБ Онлайн с многомиллионной аудиторией в 2 раза

Время на прочтение5 мин
Количество просмотров9.1K
Всего голосов 26: ↑16 и ↓10+6
Комментарии46

Комментарии 46

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

А есть чем гордиться-то?
Банальное банковское приложение занимает после оптимизаций "всего" 220 мБ.
Зачем такой бешеный объем нативных библиотек?
Что там происходит внутри? Там видеоклипарт внутри?

Присоединяюсь к вопросу. Причем, без сарказма, хотел бы узнать подробный разбор. И это касается не только ВТБ. Сбер, Тинькофф, Альфа - у всех 250+ мб.

Я просто от мобильной разработки далёк. Занимаюсь вебом, у нас веб-приложение занимает пару мегабайт (и то мне кажется, что это много). Но это plaintext. Я всегда думал, что нативные приложения за счет компиляции будут выигрывать.

Конечно, я не учитываю медиа-ресурсы, но неужели их там ТАК много?

Да. Их так много. Вы на разрешение устройств посмотрите. Просто одна фоновая картинка в разрешении современного устройства (без сжатия) это 8 мегабайт. Понятно что там сжатие используется. Но там же не одна картинка.

Я вот лично в банковские приложения залезаю не для того, чтобы на картинки пялиться. Мне бы и заливка фона зашла более чем.

Лично про вас ничего не могу сказать, но в целом - на простые интерфейсы пользователь реагирует плохо.

НЛО прилетело и опубликовало эту надпись здесь
Тоже поддержу. От приложения в первую очередь требуется очевидность действий, во втором уже свистелки — перделки.
Касательно приложения банка, я пользовался/наблюдал как пользуются родственники и ВТБ и Сбером, второй интуитивно понятнее. И вызывает меньше вопросов.

Выборка есть, но вам я её не покажу. Потому что не имею желания попасть под нарушением NDA ради рандомного обсуждения в инете.

НЛО прилетело и опубликовало эту надпись здесь

да они просто пнг жать не умеют, вот и все отмазы.

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

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

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

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

Как что? Анализ и передача ваших контактов, звонков, местоположения и всей другой конфиденциальной информации, без доступа к которой приложение отказывается работать.. Я думал, только Сбер хочет "БигДату" нахаляву, но нет...

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

без доступа к которой приложение отказывается работать

К слову, именно сабжевому приложению требуется только доступ к звонкам.
Приложеньки других банков, которыми недавно пользовался (росбанк, тиньков), не требуют даже этого.

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

Про «похудение» приложения — ну тут особо хвалиться нечем, это надо было сразу делать. А то понапишут bloatware с кучей рекламы, а потом героически борются: смотрите, мы тут расчистили уголок от мусора, что сами и навалили.
Я честно говоря прифигел удивился, когда ВТБ в марте предложил мне обновиться и закачать пакет на 450 ГБ.
Но может кому-то полезно будет, минимум натолкнёт на эту же мысль.
И сделайте уже в настройках опцию «Показывать собственные средства без учёта кредитного лимита». Несколько карт ваших, навязали ещё когда их везде пихали, а дебетовые не хотели давать — теперь приходится вычитать кредитный лимит что бы понять, сколько там денег. И он ещё разный везде…
закачать пакет на 450 ГБ.

Вы не опечатались? O_o

Действительно, МБ же ))
Спасибо!

Охренеть. Что такого можно напихать в банковское приложение на 220 МБ? Да еще выдавать это за достижение, мол раньше вообще полгига было...

Там же написано, что 220 Мб - это бандл для 4 архитектур. Под конкретную архитектуру будет сильно меньше. А что такого понапихали? Ну вот эта страничка хабра у меня закачала почти 7 Мб ресурсов. И ВТБ тут не особо-то и выделяются.

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

Это пользователи сказали, что они хотят пыщ-пыщ?

за пользователей говорят маркетологи)

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

почему нет доп опций в безопасности для меня загадка.

Ну типа того, посмотрите какая доля пользователей какого-нибудь телеграм вкорячивает всякие стикеры по которым подчас вообще хрен поймешь чего они означают. Или зайдите на что-нибудь типа пикабу и увидите, что 2/3 постов вставляют текст картинкой. Откройте хабр и увидите гребаные кдпв, которые в большинстве постов вообще никакого отношения к теме поста не имеют. Запускаешь такой minikube и наслаждается разноцветными смайликами в консоли. Эта срань везде. И если ты ей не соответствуешь, то выглядишь в лучшем случае устаревшим.

ок, по "windows 95" под каждую архитектуру получается.

Загрузим APK на VirusTotal и посмотрим список библиотек:


lib\arm64-v8a\libBarcodeScannerLib.so
lib\arm64-v8a\libRSSupport.so
lib\arm64-v8a\libbarhopper_v3.so
lib\arm64-v8a\libcardioDecider.so
lib\arm64-v8a\libcardioRecognizer.so
lib\arm64-v8a\libcardioRecognizer_tegra2.so
lib\arm64-v8a\libface_detector_v2_jni.so
lib\arm64-v8a\libmaps-mobile.so
lib\arm64-v8a\libopencv_core.so
lib\arm64-v8a\libopencv_imgproc.so
lib\arm64-v8a\librsjni.so
lib\arm64-v8a\librsjni_androidx.so
lib\arm64-v8a\libtensorflowlite_jni.so
lib\arm64-v8a\libwebrtc-lib.so
lib\arm64-v8a\libwh_services.so
lib\arm64-v8a\libzingaya.so

Сканер штрих-кодов, распознание лица, VOIP-телефония, компьютерное зрение, карты, Kaspersky Mobile Security SDK. Всё ли из этого используется — ХЗ, но библиотеки лежат.

Требую продолжения этой статьи, пожалуйста не останавливайтесь!

Можно ещё раза в 4 уменьшить

Можно, конечно) Как раз продолжаем работать над этим, и уже в ближайших версиях размер приложения будет значительно меньше, чем сейчас.

может сделаете версию для тех, кому дорога их приватность и приложение не будет требовать доступа к звонкам, контактам и т.д.? Мне не нужна ваша борьба с мошенниками или удобство перевода.. Кому надо переводить я сам скопирую из адресной книги. И уважение к клиентам проявите, и приложение будет ещё меньше размером ;)

А знаете, я скучаю по временам Windows CE / Win Mobile 5.
Приложения были лаконичными. Мессенджер? QIP Mobile - 1.3МБ. ICQ? 1МБ. Текстовый редактор? 200-300кБ. Пара утилит-виджетов? 16кБ.
Всё было легковесным и летало на медленных процах. Не жрало батарею и адекватно вело себя в фоне.

А сейчас что?
Телефон с 4ГБ оперативной памяти не может удержать в этой памяти три приложения (и рабочий стол). VK + Telegram ещё как-никак работают, но стоит запустить что-то дополнительно - мессенджеры выдавливает из памяти. Почему? "Потому что ты лох, вот почему" (с)

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

Чёт у них там вроди бы своя витруальнма машина, кэш которой при некоторых действиях, приходится чистить (угу, Davik). И подозреваю, что ВСЕ приложения изначально подразумевалось писать именно под него.
Так зачем тонны библиотек? Ах да... нельзя просто так взять и сделать на базе обычных библиотек.
Почему-то в WM всё работало нормально. Интересно, да?

>Почему-то в WM всё работало нормально. Интересно, да?

Далеко не всё, кривых приложений тоже хватало, особенно написанных на .NET CF. Но в целом работало всё быстрее, да.

да и без netcf были свои приколы.

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

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

У гугла был (есть?) интересный проект по обновлению хрома: высчитывался минимальный дифф (даже для бинарных файлов), он и скачивался.

Проблема в том, что это сложно. Намного проще заставить юзера скачать всё заново. Из этого же и растут все эти приложения на сотни мегабайт, просто потому что «так проще».

Особенно если версии выходит часто, нужно держать диффы между каждыми из них.

А точно с датами платежей в приложухе проблем нет? Когда 20 число суббота?

Хорошая тенденция, вы наверно единственные кто этим вопросом задался)

Спасибо!) Наверное, это вечный вопрос, которым задается абсолютное большинство сервисов, в том числе и мы. Тенденция продиктована развитием и доступностью определенных технологий - стараемся использовать их ради удобства клиентов.

Вот так смотришь на демосцену размером 4096 байт, а потом на подобные "приложения" и понимаешь, что где-то IT-индустрия свернула не туда. Хоть борьба за каждый байт и имеет чисто спортивный интерес, но это куда менее безумно, чем подобные "приложения".

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

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

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

Добрый вечер.Здорово конечно, что у вас есть улучшения в среде ВТБ.Но простите, у меня накипело! Почему, у меня до сих пор в вашем приложении втб он лайн для ПК - u версия для андройда уже напротяжении 2 месяцев балланс не уменьшается, точнее он уменьшается спустя 2-3 недели!?Как так происходит? Я обновил до последней версии с вашего сайте офф приложение до последней версии и ничего не изменилось , к3уки кеш чистил даже запускал на новом свежекупленном телефоне результат нулевой, по факту что в андройде, что десктопной версии все тожде самое .Балланс как был 10 тыс 000 руб на счету так и не уменьшается по сей день!? Хотя я трачу в неделю 1-2 раза небольшие суммы . Я писал вам в ТП но вы неделями обрабатываете заявку и внятного ответа не поступает. Я расстроен.

"Ваше обращение CR-95122** зарегистрировано и будет рассмотрено в срок до 09.09.2022. Мы уведомим Вас о результатах. Полина ∙ 14:01 Направлен запрос в техподдержку, ожидайте рассмотрения."

Вот и сейчас спустя 2 недели я защел в приложение с обновленным браузером яндекс и жаже проверил на гугл хром последней версии все тоже самое БАЛЛАНС не поменялся от слова совсем.

Я не удовлетворен вашей ТП и банком и скора буду расторгать с вами все карты и переходить в другой банк..

В сбере между прочим все работает четко-потратил 100руб. списалось тут же и балланс отображается он лайн!

У вас же он лайн не работает все плохо в общем...

Приложение очень медленное на андройде.И громоздкое!

Да, и где собственно ответ на мой запрос ? Чат в ЛК с вашим сотрудником я писал а в ответ был ли это сбой или еще что не поступало...

Идет вторая неделя и тишина.

Я смотрю даже на хабре не у меня одного такого проблемы ...

Атас ребята!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий