SlideShare a Scribd company logo
1 of 30
Download to read offline
JSON, Memory Usage & Interaction Design
Experience in Boosting Performance for an iOS / Android Application
Lucas Nguyen
VINOVA Pte. Ltd.
info@vinova.sg
About VINOVA
•  Vinova = Vibrant Innovators
–  iOS / Android / Windows Phone
–  For Singapore Enterprises & Organizations
•  2010 Founded in Singapore
•  2011 Representative Office in Hanoi
•  2012+ Push for Mobile Game
About ME
•  Lead Mobile Developer at VINOVA
•  3-year experience on Native iOS,
Android, and Cross-Platform
Technologies
•  Backend Web Services using
Ruby on Rails
Lucas Nguyen	
  
Great Client
Singapore Press Holdings (SPH) - 

Southeast Asia’s Leading Media Organization
Big PROJECT
•  Straits Times Online Mobile Print (STOMP)
•  Award-winning website & mobile app
•  Singaporean connecting, engaging and interacting
•  0.5m concurrent users at peak hours
•  1.8m page-views per day
MISSION
Revamp a very popular iOS & Android app to serve
end-users better, faster!
STOMP v1
 STOMP v2
Old Version
New version
Challenges:
•  Complex Design
•  Lots of Advertisement Banners
•  Old, Slow & Heavy APIs (14.7MB of XML in total)
1-Star Rating
 User Complains
Client’s Dissatisfaction
App Crashes & Hangs
When We Took Over The Project
What Did We Think?
F i n d 	
   	
   	
   t h e 	
   	
   	
   	
   s o l u t i o n 	
  
How Did We Solve The Problem?
1 2 3
XML to JSON Conversion
•  Heavy
•  Slow
•  Uncontrolled
•  Light
•  Fast
•  Controlled
Lightning Server
Remove reduntdant data
•  Full image URLs? NO!
•  Just need [id] and [token] to regenerate the URL
–  thumbnail: http://dswww.stomp.com.sg/site/servlet/
iphone/photo?photoId=#{id}
–  image: http://static.stomp.com.sg/site/servlet/
linkableblob/stomp/#{id}/data/#{token}-data.jpg
{!
id: "1668324” !
title: ”Butter Factory’s…”,!
thumbnails: […],!
images: […]!
}!
JSON Optimization
Article items:
•  Small
•  A lot
•  Need to parse first!
à Keep raw
Article detail:
•  Big
•  Need one at a time
•  Have more time to parse


à Gzip to binary à Encode base64
Our JSON format
•  Primary data for main screen
(categories & articles listing)
•  Secondary data for article detail screen
{!
id: "1668324” !
title: ”Butter Factory’s…”,!
}!
"eNp1VF2v2zYM/SuEnzYgTfz90bcVaDdcoN...“	
  
{!
"date" => "26 Mar 2013",!
"views" => "16160",!
"comments" => "53",!
"content" => ”A 61-year-old retiree…”,!
"photos" => [...]!
}!
Unpacked
Best compression method
Format	
   Size	
  (MB)	
   %	
  Remaining	
  
	
  Raw	
  XML	
   14.7	
  MB	
   100%	
  
(1)	
  Compact	
  JSON	
   6.0	
  MB	
   40%	
  
(2)	
  Compressed	
  &	
  Compact	
  JSON	
   3.8	
  MB	
   25%	
  
(3)	
  Compressed	
  &	
  Compact	
  BSON	
   2.9	
  MB	
   20%	
  
Best of both worlds:
•  ¼ size reduced
•  Easy to read
•  Easy to decode with popular libs

•  Much Faster & Lighter APIs
•  Easier to scale (using CDN)
•  Smaller Mobile Memory Usage
Watch Out for Memory Usage
Memory Usage
Memory Allocation
100	
  MB	
  	
  
20	
  MB	
  
using
 allocate
10	
  MB	
  
using
 allocate
20	
  MB	
  
Before	
  
AHer	
  
Load remote data one-by-one
If load 3 ~ 5 categories at the same time 
à Allocate 10MB ~ 25MB simutaneously
à Memory Warning
Release memory allocated for off-screen list items
Smartphone’s screen is small

à  No need to show more than 5
categories at once
à  Release all invisible components
to reduce memory usage
1
2
3
4
5
Photos are dangrous, just like girls
•  Only load visible photos!
•  Large photo is beautiful, but:
–  Take more bandwidth
–  Take more memory & GPU to render

Photos
 Quan9ty
 Avg.	
  Size
 Memory	
  Usage
high res.
 20	
  ~	
  24
 ~30KB
 10MB	
  ~	
  15MB
low res.
 20	
  ~	
  24
 ~05KB
 03MB	
  ~	
  04MB
ad banners take LotS of memory
1MB	
  Image	
  
+	
  
memory	
  for	
  Views	
  
Interaction DesiGn
Don’t Follow the
Design Strictly
One mission per screen
One	
  big	
  screen:	
  
ArTcle	
  +	
  Comments	
  
ArTcle	
   Comments	
  
Separate	
  
•  Not everyone needs to see
comments
•  Better UX
•  Lighter UI
User is touching, not clicking, make it easy
•  Original designed button is small 

à hard to see and touch
•  Make it wider!
Original
 Wider
Test on low-end devices
iPhone-5
 iPhone-4S
 iPhone-4
 iPhone-3GS
1GB
 512 MB
 512 MB
 256 MB
Dual-core 1.2 GHz
 Dual-core 1 GHz
 1 GHz
 600 MHz
Don’t Believe in Anything ...
•  No assumptions
•  Update 3rd party libraries
usually

•  APIs won’t work 100%
•  Handle exceptions
Thank you!
http://vinova.sg/summerschool
http://vinova.sg/internship


ĐÔI LỜI NHẮN NHỦ CÁC BẠN SINH VIÊN
Vibrant Innovators
Những người đổi mới đầy nhiệt huyết

More Related Content

What's hot

Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Russ Fustino
 
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...Damian OSuilleabhain
 
Responsive Email Design
Responsive Email DesignResponsive Email Design
Responsive Email DesignAnna Yeaman
 
Word press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp PresentationWord press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp PresentationAngela Samuels
 
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...Fabien Marry
 
Increasing downloads, ratings and revenues
Increasing downloads, ratings and revenues Increasing downloads, ratings and revenues
Increasing downloads, ratings and revenues BlrDroid
 
How to optimize your blog for mobile traffic
How to optimize your blog for mobile trafficHow to optimize your blog for mobile traffic
How to optimize your blog for mobile trafficgroceryalerts
 
Dnn connect dnnmobi-slides
Dnn connect dnnmobi-slidesDnn connect dnnmobi-slides
Dnn connect dnnmobi-slidesashishpd
 
Capable Web: Chrome Apps and Firefox Webapp
Capable Web: Chrome Apps and Firefox WebappCapable Web: Chrome Apps and Firefox Webapp
Capable Web: Chrome Apps and Firefox WebappFred Lin
 
Session 1. iOS developers enthusiasts session
Session 1. iOS developers enthusiasts sessionSession 1. iOS developers enthusiasts session
Session 1. iOS developers enthusiasts sessionGAME Studios
 
HTC desire 516 review
HTC desire 516 reviewHTC desire 516 review
HTC desire 516 review91mobiles
 
Eye candy for your iPhone
Eye candy for your iPhoneEye candy for your iPhone
Eye candy for your iPhoneBrian Shim
 
Developing the Windows Phone User Experience
Developing the Windows Phone User ExperienceDeveloping the Windows Phone User Experience
Developing the Windows Phone User ExperienceKaushal Bhavsar
 

What's hot (19)

Top 10 Android Apps
Top 10 Android AppsTop 10 Android Apps
Top 10 Android Apps
 
Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)
 
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...
 
Smartphones
SmartphonesSmartphones
Smartphones
 
Responsive Email Design
Responsive Email DesignResponsive Email Design
Responsive Email Design
 
Word press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp PresentationWord press theme and plugins WordCamp Presentation
Word press theme and plugins WordCamp Presentation
 
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
 
Why Mobile Matters | Avvo Webinar
Why Mobile Matters | Avvo WebinarWhy Mobile Matters | Avvo Webinar
Why Mobile Matters | Avvo Webinar
 
Increasing downloads, ratings and revenues
Increasing downloads, ratings and revenues Increasing downloads, ratings and revenues
Increasing downloads, ratings and revenues
 
How to optimize your blog for mobile traffic
How to optimize your blog for mobile trafficHow to optimize your blog for mobile traffic
How to optimize your blog for mobile traffic
 
Dnn connect dnnmobi-slides
Dnn connect dnnmobi-slidesDnn connect dnnmobi-slides
Dnn connect dnnmobi-slides
 
2015 Web Design Trends
2015 Web Design Trends 2015 Web Design Trends
2015 Web Design Trends
 
Why go mobile
Why go mobileWhy go mobile
Why go mobile
 
Capable Web: Chrome Apps and Firefox Webapp
Capable Web: Chrome Apps and Firefox WebappCapable Web: Chrome Apps and Firefox Webapp
Capable Web: Chrome Apps and Firefox Webapp
 
Session 1. iOS developers enthusiasts session
Session 1. iOS developers enthusiasts sessionSession 1. iOS developers enthusiasts session
Session 1. iOS developers enthusiasts session
 
HTC desire 516 review
HTC desire 516 reviewHTC desire 516 review
HTC desire 516 review
 
Eye candy for your iPhone
Eye candy for your iPhoneEye candy for your iPhone
Eye candy for your iPhone
 
Cafaholic ppt
Cafaholic pptCafaholic ppt
Cafaholic ppt
 
Developing the Windows Phone User Experience
Developing the Windows Phone User ExperienceDeveloping the Windows Phone User Experience
Developing the Windows Phone User Experience
 

Viewers also liked

HassettAutomotive.org_2009 AAA Cell Phones And Driving Research Update
HassettAutomotive.org_2009 AAA Cell Phones And Driving Research UpdateHassettAutomotive.org_2009 AAA Cell Phones And Driving Research Update
HassettAutomotive.org_2009 AAA Cell Phones And Driving Research UpdateHassett of Wantagh FLM
 
Last man standing
Last man standingLast man standing
Last man standinglargehat
 
Sail regulation governance 101018
Sail regulation governance 101018Sail regulation governance 101018
Sail regulation governance 101018SAIL
 
Overview on Biometrics by Ch.Ravikumar & Priya N
Overview on Biometrics by Ch.Ravikumar & Priya NOverview on Biometrics by Ch.Ravikumar & Priya N
Overview on Biometrics by Ch.Ravikumar & Priya NRavikumar Chilmula
 
Square for Jimmy John's
Square for Jimmy John's Square for Jimmy John's
Square for Jimmy John's Julie Bourne
 
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIP
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIPISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIP
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIPISCRAM Events
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujomaleta-01
 
El internet y las redes sociales
El internet y las redes socialesEl internet y las redes sociales
El internet y las redes socialescaro_19
 
HassettAutomotive.org_2009 AAA Aggressive Driving Research Update
HassettAutomotive.org_2009 AAA Aggressive Driving Research UpdateHassettAutomotive.org_2009 AAA Aggressive Driving Research Update
HassettAutomotive.org_2009 AAA Aggressive Driving Research UpdateHassett of Wantagh FLM
 

Viewers also liked (20)

HassettAutomotive.org_2009 AAA Cell Phones And Driving Research Update
HassettAutomotive.org_2009 AAA Cell Phones And Driving Research UpdateHassettAutomotive.org_2009 AAA Cell Phones And Driving Research Update
HassettAutomotive.org_2009 AAA Cell Phones And Driving Research Update
 
Last man standing
Last man standingLast man standing
Last man standing
 
Sail regulation governance 101018
Sail regulation governance 101018Sail regulation governance 101018
Sail regulation governance 101018
 
Overview on Biometrics by Ch.Ravikumar & Priya N
Overview on Biometrics by Ch.Ravikumar & Priya NOverview on Biometrics by Ch.Ravikumar & Priya N
Overview on Biometrics by Ch.Ravikumar & Priya N
 
Square for Jimmy John's
Square for Jimmy John's Square for Jimmy John's
Square for Jimmy John's
 
Design Value that Sticks: Practical Experience with Mandatory Advisory Design...
Design Value that Sticks: Practical Experience with Mandatory Advisory Design...Design Value that Sticks: Practical Experience with Mandatory Advisory Design...
Design Value that Sticks: Practical Experience with Mandatory Advisory Design...
 
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIP
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIPISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIP
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIP
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Madrid Spring 2014
Madrid Spring 2014Madrid Spring 2014
Madrid Spring 2014
 
Wvu uof l
Wvu uof lWvu uof l
Wvu uof l
 
Sesion 5 nataya
Sesion 5 natayaSesion 5 nataya
Sesion 5 nataya
 
Sesion 4 narrativa san ricardo
Sesion 4 narrativa san ricardoSesion 4 narrativa san ricardo
Sesion 4 narrativa san ricardo
 
El internet y las redes sociales
El internet y las redes socialesEl internet y las redes sociales
El internet y las redes sociales
 
Fingerprints images
Fingerprints imagesFingerprints images
Fingerprints images
 
HassettAutomotive.org_2009 AAA Aggressive Driving Research Update
HassettAutomotive.org_2009 AAA Aggressive Driving Research UpdateHassettAutomotive.org_2009 AAA Aggressive Driving Research Update
HassettAutomotive.org_2009 AAA Aggressive Driving Research Update
 
Cantabria SP2014
Cantabria SP2014Cantabria SP2014
Cantabria SP2014
 
Reinforcer assessment
Reinforcer assessmentReinforcer assessment
Reinforcer assessment
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Jacinto jesus alfaro
Jacinto jesus alfaroJacinto jesus alfaro
Jacinto jesus alfaro
 
Teoria De Restricionees
Teoria De RestricioneesTeoria De Restricionees
Teoria De Restricionees
 

Similar to Vietnam Mobile Day 2013: JSON, Memory Usage & Interaction Design

Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An IntroductionTyler Johnston
 
Use Case: integrating a complex e-commerce site - Frenchtoday.com
Use Case: integrating a complex e-commerce site - Frenchtoday.comUse Case: integrating a complex e-commerce site - Frenchtoday.com
Use Case: integrating a complex e-commerce site - Frenchtoday.comOlivier Karfis
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesAndy_Gaskell
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Nuxeo
 
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone GapCreating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone GapFITC
 
Beyond the Desktop: Sites and Apps for Phones and Tablets
Beyond the Desktop: Sites and Apps for Phones and TabletsBeyond the Desktop: Sites and Apps for Phones and Tablets
Beyond the Desktop: Sites and Apps for Phones and TabletsWebvanta
 
Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Indiginox
 
Vn mobile day2013 - zalo sharing
Vn mobile day2013 - zalo sharingVn mobile day2013 - zalo sharing
Vn mobile day2013 - zalo sharingThanh Dao
 
What is your mobile strategy?
What is your mobile strategy?What is your mobile strategy?
What is your mobile strategy?Emily Massey
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesMaximiliano Firtman
 
Windows Phone Dev Day Bournemouth Presentation
Windows Phone Dev Day Bournemouth PresentationWindows Phone Dev Day Bournemouth Presentation
Windows Phone Dev Day Bournemouth PresentationJames Mundy
 
Building Mobile Apps with HTML, CSS, and JavaScript
Building Mobile Apps with HTML, CSS, and JavaScriptBuilding Mobile Apps with HTML, CSS, and JavaScript
Building Mobile Apps with HTML, CSS, and JavaScriptJonathan Stark
 
Isomorphic Aplication with Javascript
Isomorphic Aplication with JavascriptIsomorphic Aplication with Javascript
Isomorphic Aplication with JavascriptHengki Sihombing
 
[Vietnam Mobile Day 2013] - Developing a mobile messenger for the audience of...
[Vietnam Mobile Day 2013] - Developing a mobile messenger for the audience of...[Vietnam Mobile Day 2013] - Developing a mobile messenger for the audience of...
[Vietnam Mobile Day 2013] - Developing a mobile messenger for the audience of...AiTi Education
 
Introduction to iPhone App Development - midVentures DESIGN+DEVELOP
Introduction to iPhone App Development - midVentures DESIGN+DEVELOPIntroduction to iPhone App Development - midVentures DESIGN+DEVELOP
Introduction to iPhone App Development - midVentures DESIGN+DEVELOPKeyLimeTie
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonnyLama K Banna
 

Similar to Vietnam Mobile Day 2013: JSON, Memory Usage & Interaction Design (20)

Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An Introduction
 
Use Case: integrating a complex e-commerce site - Frenchtoday.com
Use Case: integrating a complex e-commerce site - Frenchtoday.comUse Case: integrating a complex e-commerce site - Frenchtoday.com
Use Case: integrating a complex e-commerce site - Frenchtoday.com
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone GapCreating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
 
Beyond the Desktop: Sites and Apps for Phones and Tablets
Beyond the Desktop: Sites and Apps for Phones and TabletsBeyond the Desktop: Sites and Apps for Phones and Tablets
Beyond the Desktop: Sites and Apps for Phones and Tablets
 
Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?
 
Vn mobile day2013 - zalo sharing
Vn mobile day2013 - zalo sharingVn mobile day2013 - zalo sharing
Vn mobile day2013 - zalo sharing
 
What is your mobile strategy?
What is your mobile strategy?What is your mobile strategy?
What is your mobile strategy?
 
Simple mobile Websites
Simple mobile WebsitesSimple mobile Websites
Simple mobile Websites
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices
 
Windows Phone Dev Day Bournemouth Presentation
Windows Phone Dev Day Bournemouth PresentationWindows Phone Dev Day Bournemouth Presentation
Windows Phone Dev Day Bournemouth Presentation
 
Building Mobile Apps with HTML, CSS, and JavaScript
Building Mobile Apps with HTML, CSS, and JavaScriptBuilding Mobile Apps with HTML, CSS, and JavaScript
Building Mobile Apps with HTML, CSS, and JavaScript
 
Mobile web performance dwx13
Mobile web performance dwx13Mobile web performance dwx13
Mobile web performance dwx13
 
Php ey final
Php ey finalPhp ey final
Php ey final
 
Isomorphic Aplication with Javascript
Isomorphic Aplication with JavascriptIsomorphic Aplication with Javascript
Isomorphic Aplication with Javascript
 
[Vietnam Mobile Day 2013] - Developing a mobile messenger for the audience of...
[Vietnam Mobile Day 2013] - Developing a mobile messenger for the audience of...[Vietnam Mobile Day 2013] - Developing a mobile messenger for the audience of...
[Vietnam Mobile Day 2013] - Developing a mobile messenger for the audience of...
 
Introduction to iPhone App Development - midVentures DESIGN+DEVELOP
Introduction to iPhone App Development - midVentures DESIGN+DEVELOPIntroduction to iPhone App Development - midVentures DESIGN+DEVELOP
Introduction to iPhone App Development - midVentures DESIGN+DEVELOP
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonny
 

More from GameLandVN

Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian women
Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian womenMobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian women
Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian womenGameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...GameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in India
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in IndiaMobile Game Asia 2015 Ho Chi Minh City: Mobile game market in India
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in IndiaGameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...GameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...GameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...GameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video ads
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video adsMobile Game Asia 2015 Ho Chi Minh City: Rewarded video ads
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video adsGameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in Vietnam
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in VietnamMobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in Vietnam
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in VietnamGameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetization
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetizationMobile Game Asia 2015 Ho Chi Minh City: Predictive monetization
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetizationGameLandVN
 
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creation
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creationMobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creation
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creationGameLandVN
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureGameLandVN
 
Windows app & Microsoft's support
Windows app & Microsoft's supportWindows app & Microsoft's support
Windows app & Microsoft's supportGameLandVN
 
Kinh nghiệm phát triển Captain Strike
Kinh nghiệm phát triển Captain StrikeKinh nghiệm phát triển Captain Strike
Kinh nghiệm phát triển Captain StrikeGameLandVN
 
Microsoft BizSpark
Microsoft BizSparkMicrosoft BizSpark
Microsoft BizSparkGameLandVN
 
Microsoft Azure Introduction
Microsoft Azure IntroductionMicrosoft Azure Introduction
Microsoft Azure IntroductionGameLandVN
 
OGDC 2014: Animation workflow with Spine in Tiny Busters
OGDC 2014: Animation workflow with Spine in Tiny BustersOGDC 2014: Animation workflow with Spine in Tiny Busters
OGDC 2014: Animation workflow with Spine in Tiny BustersGameLandVN
 
OGDC 2014: Vietnam Smartphone game market 2013 overview
OGDC 2014: Vietnam Smartphone game market 2013 overviewOGDC 2014: Vietnam Smartphone game market 2013 overview
OGDC 2014: Vietnam Smartphone game market 2013 overviewGameLandVN
 
OGDC 2014: Speed up and make quality for your 3d models
OGDC 2014: Speed up and make quality for your 3d modelsOGDC 2014: Speed up and make quality for your 3d models
OGDC 2014: Speed up and make quality for your 3d modelsGameLandVN
 
OGDC 2014: Sky Garden Mobile conceptualization: From PC to Mobile
OGDC 2014: Sky Garden Mobile conceptualization: From PC to MobileOGDC 2014: Sky Garden Mobile conceptualization: From PC to Mobile
OGDC 2014: Sky Garden Mobile conceptualization: From PC to MobileGameLandVN
 
OGDC 2014: One-Man Studio: How to make a game prototype
OGDC 2014: One-Man Studio: How to make a game prototypeOGDC 2014: One-Man Studio: How to make a game prototype
OGDC 2014: One-Man Studio: How to make a game prototypeGameLandVN
 

More from GameLandVN (20)

Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian women
Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian womenMobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian women
Mobile Game Asia 2015 Ho Chi Minh City: Mobile games for Asian women
 
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...
Mobile Game Asia 2015 Ho Chi Minh City: Vietnam online mobile game market ins...
 
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in India
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in IndiaMobile Game Asia 2015 Ho Chi Minh City: Mobile game market in India
Mobile Game Asia 2015 Ho Chi Minh City: Mobile game market in India
 
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...
Mobile Game Asia 2015 Ho Chi Minh City: Building a sustainable eSports ecosys...
 
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...
Mobile Game Asia 2015 Ho Chi Minh City: An overview of the mobile game market...
 
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...
Mobile Game Asia 2015 Ho Chi Minh City: Monetization strategies in Southeast ...
 
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video ads
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video adsMobile Game Asia 2015 Ho Chi Minh City: Rewarded video ads
Mobile Game Asia 2015 Ho Chi Minh City: Rewarded video ads
 
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in Vietnam
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in VietnamMobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in Vietnam
Mobile Game Asia 2015 Ho Chi Minh City: The role of a game publisher in Vietnam
 
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetization
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetizationMobile Game Asia 2015 Ho Chi Minh City: Predictive monetization
Mobile Game Asia 2015 Ho Chi Minh City: Predictive monetization
 
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creation
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creationMobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creation
Mobile Game Asia 2015 Ho Chi Minh City: The roadmap of IP creation
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
 
Windows app & Microsoft's support
Windows app & Microsoft's supportWindows app & Microsoft's support
Windows app & Microsoft's support
 
Kinh nghiệm phát triển Captain Strike
Kinh nghiệm phát triển Captain StrikeKinh nghiệm phát triển Captain Strike
Kinh nghiệm phát triển Captain Strike
 
Microsoft BizSpark
Microsoft BizSparkMicrosoft BizSpark
Microsoft BizSpark
 
Microsoft Azure Introduction
Microsoft Azure IntroductionMicrosoft Azure Introduction
Microsoft Azure Introduction
 
OGDC 2014: Animation workflow with Spine in Tiny Busters
OGDC 2014: Animation workflow with Spine in Tiny BustersOGDC 2014: Animation workflow with Spine in Tiny Busters
OGDC 2014: Animation workflow with Spine in Tiny Busters
 
OGDC 2014: Vietnam Smartphone game market 2013 overview
OGDC 2014: Vietnam Smartphone game market 2013 overviewOGDC 2014: Vietnam Smartphone game market 2013 overview
OGDC 2014: Vietnam Smartphone game market 2013 overview
 
OGDC 2014: Speed up and make quality for your 3d models
OGDC 2014: Speed up and make quality for your 3d modelsOGDC 2014: Speed up and make quality for your 3d models
OGDC 2014: Speed up and make quality for your 3d models
 
OGDC 2014: Sky Garden Mobile conceptualization: From PC to Mobile
OGDC 2014: Sky Garden Mobile conceptualization: From PC to MobileOGDC 2014: Sky Garden Mobile conceptualization: From PC to Mobile
OGDC 2014: Sky Garden Mobile conceptualization: From PC to Mobile
 
OGDC 2014: One-Man Studio: How to make a game prototype
OGDC 2014: One-Man Studio: How to make a game prototypeOGDC 2014: One-Man Studio: How to make a game prototype
OGDC 2014: One-Man Studio: How to make a game prototype
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

Vietnam Mobile Day 2013: JSON, Memory Usage & Interaction Design

  • 1. JSON, Memory Usage & Interaction Design Experience in Boosting Performance for an iOS / Android Application Lucas Nguyen VINOVA Pte. Ltd. info@vinova.sg
  • 2. About VINOVA •  Vinova = Vibrant Innovators –  iOS / Android / Windows Phone –  For Singapore Enterprises & Organizations •  2010 Founded in Singapore •  2011 Representative Office in Hanoi •  2012+ Push for Mobile Game
  • 3. About ME •  Lead Mobile Developer at VINOVA •  3-year experience on Native iOS, Android, and Cross-Platform Technologies •  Backend Web Services using Ruby on Rails Lucas Nguyen  
  • 4. Great Client Singapore Press Holdings (SPH) - 
 Southeast Asia’s Leading Media Organization
  • 5. Big PROJECT •  Straits Times Online Mobile Print (STOMP) •  Award-winning website & mobile app •  Singaporean connecting, engaging and interacting •  0.5m concurrent users at peak hours •  1.8m page-views per day
  • 6. MISSION Revamp a very popular iOS & Android app to serve end-users better, faster! STOMP v1 STOMP v2
  • 8. New version Challenges: •  Complex Design •  Lots of Advertisement Banners •  Old, Slow & Heavy APIs (14.7MB of XML in total)
  • 9. 1-Star Rating User Complains Client’s Dissatisfaction App Crashes & Hangs When We Took Over The Project
  • 10. What Did We Think? F i n d       t h e         s o l u t i o n  
  • 11. How Did We Solve The Problem? 1 2 3
  • 12. XML to JSON Conversion •  Heavy •  Slow •  Uncontrolled •  Light •  Fast •  Controlled Lightning Server
  • 13. Remove reduntdant data •  Full image URLs? NO! •  Just need [id] and [token] to regenerate the URL –  thumbnail: http://dswww.stomp.com.sg/site/servlet/ iphone/photo?photoId=#{id} –  image: http://static.stomp.com.sg/site/servlet/ linkableblob/stomp/#{id}/data/#{token}-data.jpg {! id: "1668324” ! title: ”Butter Factory’s…”,! thumbnails: […],! images: […]! }!
  • 14. JSON Optimization Article items: •  Small •  A lot •  Need to parse first! à Keep raw Article detail: •  Big •  Need one at a time •  Have more time to parse
 à Gzip to binary à Encode base64
  • 15. Our JSON format •  Primary data for main screen (categories & articles listing) •  Secondary data for article detail screen {! id: "1668324” ! title: ”Butter Factory’s…”,! }! "eNp1VF2v2zYM/SuEnzYgTfz90bcVaDdcoN...“   {! "date" => "26 Mar 2013",! "views" => "16160",! "comments" => "53",! "content" => ”A 61-year-old retiree…”,! "photos" => [...]! }! Unpacked
  • 16. Best compression method Format   Size  (MB)   %  Remaining    Raw  XML   14.7  MB   100%   (1)  Compact  JSON   6.0  MB   40%   (2)  Compressed  &  Compact  JSON   3.8  MB   25%   (3)  Compressed  &  Compact  BSON   2.9  MB   20%   Best of both worlds: •  ¼ size reduced •  Easy to read •  Easy to decode with popular libs •  Much Faster & Lighter APIs •  Easier to scale (using CDN) •  Smaller Mobile Memory Usage
  • 17. Watch Out for Memory Usage Memory Usage
  • 18. Memory Allocation 100  MB     20  MB   using allocate 10  MB   using allocate 20  MB   Before   AHer  
  • 19. Load remote data one-by-one If load 3 ~ 5 categories at the same time à Allocate 10MB ~ 25MB simutaneously à Memory Warning
  • 20. Release memory allocated for off-screen list items Smartphone’s screen is small à  No need to show more than 5 categories at once à  Release all invisible components to reduce memory usage 1 2 3 4 5
  • 21. Photos are dangrous, just like girls •  Only load visible photos! •  Large photo is beautiful, but: –  Take more bandwidth –  Take more memory & GPU to render Photos Quan9ty Avg.  Size Memory  Usage high res. 20  ~  24 ~30KB 10MB  ~  15MB low res. 20  ~  24 ~05KB 03MB  ~  04MB
  • 22. ad banners take LotS of memory 1MB  Image   +   memory  for  Views  
  • 23. Interaction DesiGn Don’t Follow the Design Strictly
  • 24. One mission per screen One  big  screen:   ArTcle  +  Comments   ArTcle   Comments   Separate   •  Not everyone needs to see comments •  Better UX •  Lighter UI
  • 25. User is touching, not clicking, make it easy •  Original designed button is small 
 à hard to see and touch •  Make it wider! Original Wider
  • 26. Test on low-end devices iPhone-5 iPhone-4S iPhone-4 iPhone-3GS 1GB 512 MB 512 MB 256 MB Dual-core 1.2 GHz Dual-core 1 GHz 1 GHz 600 MHz
  • 27. Don’t Believe in Anything ... •  No assumptions •  Update 3rd party libraries usually •  APIs won’t work 100% •  Handle exceptions
  • 30. Vibrant Innovators Những người đổi mới đầy nhiệt huyết