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

Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
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
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
Rahul
 
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
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
shahdabdulbaset
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
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
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
JamalHussainArman
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
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
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))
shivani5543
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 

Recently uploaded (20)

Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
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...
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
 
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
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
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
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
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
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 

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