SlideShare a Scribd company logo
Instant App,
App Bundle,
In-App update
And On-Demand delivery
https://www.youtube.com/watch?v=0raqVydJmNE&feature=youtu.be&t=1676
Size Matters
https://medium.com/googleplaydev/shrinking-apks-growing-installs-5d3fcba23ce2
Picture from Android Dev Summit 18
App Bundle
On-Demand Delivery
Kaidee app
We have 43 features
How many features that not used
frequently in our app?
Features at install time (an idea)
- Browsing
- Posting
- Buy egg
- News Feed
- My Ad
- Me
Faster updates
Thanks..
Everything has a Cost
Technical Parts
Modularization
Kaidee Apps
Microservices
Our Current Architecture
Single Module
App
Home MyAd Chat
News
Feed
Me Listing
40+
Rogue Stalker
Single Module
App
Home MyAd Chat
News
Feed
Me Listing
40+
Rogue Stalker
Slow build..
Single Module
App
Home MyAd Chat
News
Feed
Me Listing
40+
Rogue Stalker
Slow build..
Unscalable..
Single Module
App
Home MyAd Chat
News
Feed
Me Listing
40+
Rogue Stalker
Slow build..
Unscalable..
Big code
base..
Non
Reusable
Single Module
App
Home MyAd Chat
News
Feed
Me Listing
40+
Rogue Stalker
Slow build..
Unscalable..
Big code
base.. Messy code
Non
Reusable
Just like Egar on Android
Modularization
(Microservices)
Benefits
https://jeroenmols.com/blog/2019/03/06/modularizationwhy/
1. Speeds up builds
2. Enable on demand delivery
3. Simplify development
4. Reuse module across apps
5. Experiment with new
technologies
6. Scale development teams
7. Enable refactoring
8. Simplifies test automation
Home MyAd Chat
News
Feed
Listing 40+
Core
Stalker
Base: Centralize colors, dimens, strings, drawables
Tracking
Mobile-ui
Home
MyAd Chat
News
Feed
Listing 40+
Core
Base: Centralize colors, dimens, strings, drawables
Mobile-ui
Home MyAd
Chat
News
Feed
Listing 40+
Core
Base: Centralize colors, dimens, strings, drawables
Mobile-ui
App Util API Header Authentication
Bigger view
Mobile UI
Home MyAd
Core
Base: Centralize colors, dimens, strings, ….
Mobile UI
Home MyAd
Core
Base: Centralize colors, dimens, strings, ….
Android Wear
Chat
Reuseable
Chat App
Instant App
Pro-tools
Vertical Team
Core Auto Property
Core
Authentication
Base Tracking
Car Posting??
Car Filter??
Car Listing??
Property Filter??
Property Posting??
Property Listing??
General
Posting
Listing
News feed
Vertical Teams
Sharing Code
Domain
(Business Logic)
Core : Can be used in many projects
Data
(Data Logic)
Cache Remote
Rogue2
- Can be shared between iOS &
Android
- This is the bridge to be cross
platform team iOS & Android
teams develop the core and code
review together
We spend ~70% of development time to
development the core each platforms
~(30%) UI ~(70%) Core
iOS
~(30%) UI ~(70%) Core
Androi
d
~(30%) UI ~(70%) Core
Web
The Team develop the core together
~(30%) UI
iOS
~(30%) UI ~(35%) Core
Androi
d
Productive
Import the core library and implement only UI as a native App to maintain user experience
~(30%) UI
Web
What we can do with the saved time?
BDD??
What we can do with the saved time?
BDD??
A/B Testing??
What we can do with the saved time?
BDD??
A/B Testing??
Improve
something??
How fast we can growth?
Use Case (We need a new feature?)
We need a new feature?
1. Make a new API (If needed)
2. Unit testing
3. Coding Review
4. Make a new Data layer
5. Unit testing
6. Coding Review
7. Implement new Domain Layer
8. Unit testing
9. Coding Review
10. Implement Presentation Layer
11. Unit testing
12. Coding Review
13. Implement UI
14. Unit testing + UI Testing
No ending....
With the existing core.
1. Implement presentation (UI)
1. UI testing (BDD)
1. Sleep...Sleep...Sleep…
1. Still sleeping?
1. Yes, I do.
Thank you.
Where should we start?
In Each Feature Module (Best case we have)
Presentation
Cache Remote
Rogue2
Feature
Domain Data
Tracking
Messy code
Phase 1 Move out the data concerns
Presentation
Cache Remote
Rogue2
Feature
Domain Data
Tracking
Messy code
In Each Feature Module (Best case we have)
Move to the core
Phase 2 Refactor Presenter & Domain
Phase 3 Move out core tracking
Phase 4 Move all features to module
Phase 5 Instant App
Phase 6 App Bundle
Phase 7 On-Demand Delivery
When to modularize?
Phase 8 In-app updates
Home MyAd Chat
News
Feed
Listing 40+
Core
Base: Centralize colors, dimens, strings, drawables, Generic UI Components
Legacy:
App Util API Header Authentication
WebView
Search
Suggestion
Advance
Filter
Save
Criteria
Buyer
Ad Detail
Common:
Feature modules:
References
● https://overflow.buffer.com/2018/12/20/getting-started-with-feature-modularization-in-android-apps/
● https://medium.com/exploring-android/on-the-journey-from-legacy-code-to-clean-architecture-rebuilding-the-buffer-android-
composer-63a1b55cc53f
● Modularization - Real-life example https://jeroenmols.com/blog/2019/04/02/modularizationexample/
● Modularization - Why you should care https://jeroenmols.com/blog/2019/03/06/modularizationwhy/
● https://stackoverflow.com/questions/33429784/how-to-start-an-activity-in-another-module-explicitly
● modular, instant, and dynamic (Google I/O '18) https://www.youtube.com/watch?v=0raqVydJmNE
● Modularizing Android Applications - Marvin Ramin @DroidCon 18 https://youtu.be/TWLkswxjSr0
● App Bundle Dev Summit 18 https://youtu.be/QdoEcfibG-s
● AirBnB use case @DroidConf 2018 https://youtu.be/jrnhIgFzgns
● About APK Size https://medium.com/googleplaydev/shrinking-apks-growing-installs-5d3fcba23ce2
● GDD Europe Instant App https://youtu.be/8YxemdlSGts
● Dev summit 18 Day 1 https://www.youtube.com/watch?time_continue=4082&v=Wkl9GmluS7E
● https://medium.com/googleplaydev/what-a-new-publishing-format-means-for-the-future-of-android-2e34981793a
Restructure
Code base
Core
Lib
Common
Libs
Core
Artifactories
UI
Module
First
Feature
Module Lint
More
Feature
Modules
First Dynamic
Feature
UI Testing on
Firebase
Test Lab
Instant
App
Core
Generator
Plugin
Shared
Pixel
Tracking
Android Road map 2019
Coding
Standard
Done
In-progress
To do

More Related Content

Similar to Modularization Kaidee App and new features roadmap for 2019

Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
Moataz Nabil
 
Build your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App EngineBuild your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App Engine
Jl_Ugia
 
Installing android sdk on net beans
Installing android sdk on net beansInstalling android sdk on net beans
Installing android sdk on net beans
Aravindharamanan S
 
MobSecCon 2015 - Dynamic Analysis of Android Apps
MobSecCon 2015 - Dynamic Analysis of Android AppsMobSecCon 2015 - Dynamic Analysis of Android Apps
MobSecCon 2015 - Dynamic Analysis of Android Apps
Ron Munitz
 
NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo...
NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo...NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo...
NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo...
Hafez Kamal
 
Pwning mobile apps without root or jailbreak
Pwning mobile apps without root or jailbreakPwning mobile apps without root or jailbreak
Pwning mobile apps without root or jailbreak
Abraham Aranguren
 
RobotStudiopp.ppt
RobotStudiopp.pptRobotStudiopp.ppt
RobotStudiopp.ppt
NhaTruongThanh
 
ie450RobotStudio.ppt
ie450RobotStudio.pptie450RobotStudio.ppt
ie450RobotStudio.ppt
NhaTruongThanh
 
summer file - Copy
summer file - Copysummer file - Copy
summer file - Copy
Rakesh Kumar
 
Jose l ugia 6 wunderkinder, momenta
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momenta
apps4allru
 
Automation Proposal_V1.0
Automation Proposal_V1.0Automation Proposal_V1.0
Automation Proposal_V1.0
Dao Nhỏ
 
Introduction To Android For Beginners.
Introduction To Android For Beginners.Introduction To Android For Beginners.
Introduction To Android For Beginners.
Sandeep Londhe
 
Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"
Fwdays
 
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
Institut Lean France
 
Synapseindia android apps application
Synapseindia android apps applicationSynapseindia android apps application
Synapseindia android apps application
Synapseindiappsdevelopment
 
Android tutorial1
Android tutorial1Android tutorial1
Android tutorial1
Милош Божовић
 
Codename one
Codename oneCodename one
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
NgLQun
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
i4consulting.org
 
CI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift DeploymentCI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift Deployment
Bintang Thunder
 

Similar to Modularization Kaidee App and new features roadmap for 2019 (20)

Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
 
Build your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App EngineBuild your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App Engine
 
Installing android sdk on net beans
Installing android sdk on net beansInstalling android sdk on net beans
Installing android sdk on net beans
 
MobSecCon 2015 - Dynamic Analysis of Android Apps
MobSecCon 2015 - Dynamic Analysis of Android AppsMobSecCon 2015 - Dynamic Analysis of Android Apps
MobSecCon 2015 - Dynamic Analysis of Android Apps
 
NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo...
NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo...NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo...
NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo...
 
Pwning mobile apps without root or jailbreak
Pwning mobile apps without root or jailbreakPwning mobile apps without root or jailbreak
Pwning mobile apps without root or jailbreak
 
RobotStudiopp.ppt
RobotStudiopp.pptRobotStudiopp.ppt
RobotStudiopp.ppt
 
ie450RobotStudio.ppt
ie450RobotStudio.pptie450RobotStudio.ppt
ie450RobotStudio.ppt
 
summer file - Copy
summer file - Copysummer file - Copy
summer file - Copy
 
Jose l ugia 6 wunderkinder, momenta
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momenta
 
Automation Proposal_V1.0
Automation Proposal_V1.0Automation Proposal_V1.0
Automation Proposal_V1.0
 
Introduction To Android For Beginners.
Introduction To Android For Beginners.Introduction To Android For Beginners.
Introduction To Android For Beginners.
 
Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"Philip Shurpik "Architecting React Native app"
Philip Shurpik "Architecting React Native app"
 
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
« Training Within Software » using Dojo and Mob Programming by Bernard Notari...
 
Synapseindia android apps application
Synapseindia android apps applicationSynapseindia android apps application
Synapseindia android apps application
 
Android tutorial1
Android tutorial1Android tutorial1
Android tutorial1
 
Codename one
Codename oneCodename one
Codename one
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
 
CI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift DeploymentCI CD Jenkins for Swift Deployment
CI CD Jenkins for Swift Deployment
 

Recently uploaded

CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
RamonNovais6
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
zubairahmad848137
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
Madan Karki
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
NazakatAliKhoso2
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
sachin chaurasia
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
LAXMAREDDY22
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
mamamaam477
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
Las Vegas Warehouse
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 

Recently uploaded (20)

CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 

Modularization Kaidee App and new features roadmap for 2019

Editor's Notes

  1. https://www.youtube.com/watch?v=0raqVydJmNE&feature=youtu.be&t=1676 Welcome to google play Instant, where You can get apps and now games instantly. And as you saw in the video, when you click Try Now, You’ll launch into a native app experience that is instant. And then you’ll have an option to install. And users are installing more because of this Try Now button. Let me explain how.
  2. But, in the new world, It now looks like this. So if you are already coming To the store to install, You’re going to continue to Install at the same rate you have before Information from Google I/O 2018 The CTR rate for install has not changed. But if you were starting to wander and think about leaving, You now have another option You have the Try Now Button. And that will launch you into the Instant experience So where we can see these Instant Experiences?
  3. In the old world, you’d see a store listing page like this Where the user has two options, Install or abandon. And users were abandoning, Because they weren’t ready to commit to100 mbs onto their phone Without playing the game or understanding the game fully.
  4. Well, clearly, from the play store, Where you’ll see not only Try Now, but collections And banners that launch directly into an instant app. But the opportunity was nothing to do with the play store. It was everything outside the Play Store Because that’s often where the decision is to install or abandon, And that’s where the biggest drop-off rates are.
  5. Let’s take ads for example In the old world, I click this ad, And I’d land in the Store listing page With an option to install. In the new world, I click this, and I land in the instant experience, With an option to install. In both worlds, I have to decide if I want to install or not, But now I get to play the game while I assess if this is worth it to be on my phone.
  6. And if I receive a SMS from a friend that says, Try out this new TV show, I start watching that TV show immediately, and then decide if I want to install the app.
  7. And if I’m looking for a new home on Google Search, I can actually find the home, land in the experience, Look at the images, assess if I like the property, And then determine if I want to install the app, The real estate app that got me all that information. Now this is great It’s a consumer first experience. We can expand beyond the Play Store This is a new acquisition channel.
  8. Mighty Battles 19% increase in installs just from Try Now button.
  9. 15% install coming from instant apps
  10. 30% install coming from instant apps So are instant apps just Driving users to install? No, they’re also having great Experiences for the user
  11. Wego, a travel app, is seeing 27% increase in convergence Within the travel app, Where you get new paid leads from the instant app.
  12. And Viki, a TV show app, is seeing monetizable watch time Increase by 5x https://developer.android.com/stories/instant-apps/vimeo?hl=en
  13. Since 2012, apps and games have grown 5x on average
  14. This is a warning from Play to uninstall apps The guy in the picture says that “Millions of people see things like this every day And they found that freeing up space is a major driver of uninstalls. ” This is a problem for people with low-storage devices, But it also a problem for people with high-end devices Who fill up their devices with HD content.
  15. One in five devices have very low storage and Are reaching the limit where they can’t install or update
  16. Google ran a user research study in 2017 To looking into why users in the US and UK uninstall apps. The leading reason apps were uninstalled straight away, Within a day, was quality. However, the leading reason apps or games were uninstalled after a month was free up space. Apps and games keep getting bigger Since 2012, apps and games have grown 5x on average
  17. Making our app big puts it at risk to suffer from all these downsides. Bigger app lose acquisitions, and bigger apps also get uninstalled to free up space.
  18. https://www.youtube.com/watch?time_continue=2&v=st9VZuJNIbw
  19. Dynamic features making our app even smaller Some big features in our app may be only used by only 10% of our users To avoid 90%-other percent pay of disk space for a feature they don’t use We can choose to extract it in what google calls a dynamic features
  20. Dynamic feature can be installed on demand when user requests them, Or we can choose to defer installation to a later time when the app goes to the background
  21. Facebook is using the dynamic feature in production already App size is really important for Facebook They evaluate the app size impacts of each new feature carefully to ensure that the benefit of the feature is worth the size increase. Dynamic feature means that they can build new features without increasing the size of app at install time
  22. Dynamic feature also help facebook with their high-end device strategy. Facebook is able to deliver advanced features to just supported devices. And they can also remove large features that are not used often to avoid taking up space on that device forever.
  23. Facebook told Google that dynamic feature work well when they’re working on a new feature that is separate from the main app. They have a separate team of engineers working on it. They can then add it to the app without increasing the base app size at install time.
  24. https://youtu.be/QdoEcfibG-s?t=1325 Here are some of examples of dynamic features That facebook has added to their apps. These are all features that are in production. For example, card scanning feature that only a small percentage of Facebook’s user are using, So, moving it to a dynamic feature avoids it taking up two megabytes on every user’s device for the lifetime of that app Another example is real time communication. By moving voice and video chat to dynamic feature, Only users with the devices that can support them, And who actually wants to use them, Need to download it.
  25. We can show a prompt to the user This flow is design for immediate, Critical use cases, such as user privacy Or revenue-affecting bugs. Which is fullscreen experience The user is expected to wait for the update to be applied. It’s an easy one to implement because Google api take care of restarting the app for us This is a standardized method that we can use with very little effort.
  26. Instead of that immediate update, We can also put together a flexible update, Which does not have to be applied straight away. The really cool thing about this API is that we can Completely customize the update flow so that it feels like part of our app. For example, we may choose to nudge users to Update with an inline flow, Like Google Chrome is doing in this example. Once the user accepts the update, The download happens in the background, So the user can keep using the app. And once the update is complete, it’s up to us and our app to decide how to prompt the user to restart, Or we can simply wait until the app goes into the background or is closed by the user. Google Chrome is testing this now, And Google inviting early access partners to start testing this with them as well. I think we have strong connection with Google we can ask them to be a early access partner, if you want.
  27. This is the best practice from Android Dev Summit last year.
  28. https://kotlinlang.org/docs/reference/native-overview.html
  29. https://kotlinlang.org/docs/reference/native-overview.html
  30. https://kotlinlang.org/docs/reference/native-overview.html
  31. https://kotlinlang.org/docs/reference/native-overview.html
  32. https://youtu.be/QdoEcfibG-s
  33. https://www.youtube.com/watch?v=httqEshs_Bk
  34. https://www.youtube.com/watch?v=QdoEcfibG-s&feature=youtu.be&t=1410
  35. https://www.youtube.com/watch?v=httqEshs_Bk