SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Delivering Mobile Apps
that Perform
As simple as that or not!
Team leader of Mobile Services
OutSystems
Rúben Gonçalves
NextStep 2013
NextStep 2013
What happen since then?
You’ve built tons of mobile apps!
Major Pains?
1. Different form factors
2. UI of the applicationa
3. Performance aaaaaa
BAD PERFORMANCE
“The app is slow…”
“It takes forever to load…”
“In the desktop is much faster…”
WHY?
Why is the app slow?
What and how can it be improved?
Performance Hurdles
Server
Code behind Servers configs Native shell Web app
Device
3G
Hybrid app
e.g. OutSystems Now
Infrastructure
Performance Hurdles
Server
Code behind Servers configs Native shell Web app
Device
3G
Infrastructure
Integrations
Synchronous integrations
Deadly sin!
BetterBad
Cache
Much BetterBetterBad
Preparation
Bad Better
Preparation
Bad Better
List_LateLoad
RichWidgets
Design for (perceived) performance
Load
information
already
available
Load remaining
asynchronously
Perceived Performance
how quickly a software
feature appears to
perform its task
Code behind
• Use Asynchronous integrations
• Use cache in the application
• Avoid Long and complex preparations
• Design for perceived performance
Obtain data later
Make them easier to load
Performance Hurdles
Server
Code behind Servers configs Native shell Web app
Device
3G
Infrastructure
Cache-control
Enables the server to specify which components are cacheable.
First load
2.66s
First load
1.0 MB
Subsequent loads
458ms
Subsequent loads
13.1KB
Cache-control
Enables the server to specify which components are cacheable.
78x smaller
5.8x faster
HTTP compression
Server compresses the data before sent it to the client
Source description: wikipedia
11.4 KB
4.2x smaller
47.9 KB
Redirects - HTTP 30x
Why avoid it? Pure waste of time!
Ajax call to
screen action
Redirect
Domain sharding
“Technique for splitting resources across multiple domains (…)
browsers are able to download more resources simultaneously”
Tricking the browser!
os.com
static1.os.com
static2.os.com
per domain
HTTP/2 will make domain
sharding obsolete
Server configs
• Enable HTTP compression
• Enable Cache-control
• Avoid Redirects - HTTP 302
• Avoid domain sharding
Must haves!
Performance Hurdles
Server
Code behind Servers configs Native shell Web app
DeviceInfrastructure
3G
Latency
Time interval between the request and the response
Source definition: wikipedia
Mobile
50 – 550ms
350 ms
Desktop
20 – 150ms
80ms
Bandwidth can
always be
increased but
latency cannot
be decreased
function of the electrical
characteristics of the circuit
Source: dslreports
Cloud Server location
Rule of thumb: pick a region closer to the users
• Lower network latency
• Quick response time
• Higher bandwidth
www.cloudping.info
CDN
“web servers distributed across multiple locations to deliver
content more efficiently to users”
“95,000 CDN servers in 72 countries”
Source definition: developer yahoo Source image and comment: volusion
How to use?
• DNS points to Akamai servers
• The Platform automatically adds
suffixes
Infrastructure
• Latency can be high on mobile
• Choose cloud server region based on user location
• Use CDNs if necessary
3G
Performance Hurdles
Server
Code behind Servers configs Native shell Web app
DeviceInfrastructure
3G
Cache-control
• Native Webview cache not
active by default
• OutSystems Now already has it
implemented
Bundle resources
• Embed static resources
• E.g. IMGs, Fonts
21s 4s
WITHOUT ADD-ON WITH ADD-ON
22s 4s
iPhone 5
Android 4.4
3G connection
5x
faster
5x
faster
9s 3s
16s 3s
Loading time
3x
faster
5x
faster
WITH ADD-ONWITHOUT ADD-ON
iPhone 5
Android 4.4
Wi-Fi connection
First-time access
Native shell
• Use OutSystems Now
• Pre-Bundle static resources - images, fonts…
Cache already active
Performance Hurdles
Server
Code behind Servers configs Native shell Web app
DeviceInfrastructure
3G
JavaScript
How do browsers work?
Scripts are parsed and executed immediately when the parser reaches a
<script> tag. The parsing of the document halts until the script has been
executed
Source: HTML5 rocks – how browsers work
Do you really need that
jQuery plugin?
Do you really need
widget?
Run scripts on Load
JavaScript
1,5x 3,9x 9,8x
DELL E6440
Chrome 42
237ms
IPhone 6 Plus
Safari
360ms
Nokia Lumia 925
IE 11
924ms
Samsung Tab4
chrome
2312ms
JavaScript in Mobile?
• Limited resources - cpu, memory, bandwidth…
• Different browsers - different JS engines
Test made on webkit.org
JavaScript
Source: bradshawenterprises
• SlideUp() / SlideDown()
• Show() / Hide()
• Animate()
• …
Animations
in your app
JavaScript
Simple example
Source: bradshawenterprises
JavaScript
jQuery
Source: bradshawenterprises
CSS3
JavaScript
jQuery
Source: bradshawenterprises
CSS3
40 events
~9500 events
~3s
JavaScript
• Google analytics
• Twitter
• Facebook
• Ads
• …
3rd party JavaScripts
Performance
Killers
Delay page load,
event if marked
as async
Why?
Solution?
Web app
• Avoid JavaScript animations
• JavaScript runs slower in devices
• Run JavaScript after load
• Beware JavaScript - your friend or killer
Complex rules
CSS
• [class^="grid-"]
• box-shadow
• transform
Depends of the
number elements
to be applied
Minimize the usage of these properties
CSS
@Import CSS
CSS
JS
Crucial for rendering
@import delays
page rendering
HTML
CSS
Unused code
Source: Ben Frain
• Add 3000 lines of unused code
• Change the colors of links
Remove half
~20% ~40% ~22% ~18% ~18%
CSS
Images
25 x 25 px 88 x 100 px
Don’t resize images
client-side
Web app
• Avoid complex CSS rules
• Avoid @imports
• Remove unused CSS
• Resize images server side
HTTP requests
They are bad!
“80% of the end-user response time is spent on the front-end”
“Most of this time is tied up in downloading all the components in the page”
Source: developer yahoo
But a necessary Evil!
HTTP requests
By far the biggest hurdle
71 requests
~8s to Load
17 CSS
25 JS
21 img
4 fonts
3G (750 Kbps 100ms RTT)
762 KB
downloaded
Your typical
OutSystems
Application
HTTP requests
The Platform enables modular code!
CSS Optimization
The Platform Amsterdam helps
Source: OutSystems community
Less HTTP Requests
Webblocks CSS
aggregation
Web app
• Reduce HTTP requests
 Avoid CSS in pages
 Minimize CSS in webblocks
 Minimize JavaScript in webblocks
 Beware of Themes inheritance
Platform tips
Notify Widget
Notify
Client Server
w6
w5
…
Layout
Page
Ajax refresh
Remember
Mobile Latency?
w6
w5
w4
w3
w2
w1
~350ms
Platform tips
• Increasingly heavier Ajax Requests
• DOM will increase
• Memory usage increase
Infinite scroll
Prefer pagination
when dealing with large amounts of data
Silk UI Framework
Tokyo Theme
• CSS optimizations
• Light weight JavaScript
• Mobile specific widgets
Web app
• Avoid Notify widget
• Avoid Infinite scroll pattern
• Use Tokyo Theme For mobile apps
Takeaways
Take the whole deck!
Mobile Performance
is easily affected
You won’t get it
right at first
Platform Amsterdam
is here to help
Thank you!
Either clap your hands or throw tomatoes! :)
Questions?
But easy ones, please!
Delivering Mobile Apps That Perform

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...
Stop Worrying about Prodweb001 and Start Loving i-98fb9856 (ARC201) | AWS re:...
 
"It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ...
"It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ..."It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ...
"It’s not only Lambda! Economics behind Serverless" at JAX Conference in Mai ...
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Just do it!
Just do it!Just do it!
Just do it!
 
High Availability in the Cloud - Architectural Best Practices
High Availability in the Cloud - Architectural Best PracticesHigh Availability in the Cloud - Architectural Best Practices
High Availability in the Cloud - Architectural Best Practices
 
Adopting Java for the Serverless world at Serverless Meetup New York and Boston
Adopting Java for the Serverless world at Serverless Meetup New York and BostonAdopting Java for the Serverless world at Serverless Meetup New York and Boston
Adopting Java for the Serverless world at Serverless Meetup New York and Boston
 
(ENT209) Netflix Cloud Migration, DevOps and Distributed Systems | AWS re:Inv...
(ENT209) Netflix Cloud Migration, DevOps and Distributed Systems | AWS re:Inv...(ENT209) Netflix Cloud Migration, DevOps and Distributed Systems | AWS re:Inv...
(ENT209) Netflix Cloud Migration, DevOps and Distributed Systems | AWS re:Inv...
 
Scott Guthrie's Windows Azure Overview
Scott Guthrie's Windows Azure Overview Scott Guthrie's Windows Azure Overview
Scott Guthrie's Windows Azure Overview
 
Zero Downtime with OSGi - Chicago Coder Conference 05-15-2015
Zero Downtime with OSGi - Chicago Coder Conference 05-15-2015 Zero Downtime with OSGi - Chicago Coder Conference 05-15-2015
Zero Downtime with OSGi - Chicago Coder Conference 05-15-2015
 
(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...
(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...
(SPOT302) Under the Covers of AWS: Core Distributed Systems Primitives That P...
 
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
 
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014
 
Java PaaS Vendor Survey - September 2011
Java PaaS Vendor Survey - September 2011Java PaaS Vendor Survey - September 2011
Java PaaS Vendor Survey - September 2011
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
IaaS azure_vs_amazon
IaaS azure_vs_amazonIaaS azure_vs_amazon
IaaS azure_vs_amazon
 
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...
(APP402) Serving Billions of Web Requests Each Day with Elastic Beanstalk | A...
 
AWS EC2 and ELB troubleshooting
AWS EC2 and ELB troubleshootingAWS EC2 and ELB troubleshooting
AWS EC2 and ELB troubleshooting
 
Adopting Java for the Serverless world at AWS User Group Pretoria
Adopting Java for the Serverless world at AWS User Group PretoriaAdopting Java for the Serverless world at AWS User Group Pretoria
Adopting Java for the Serverless world at AWS User Group Pretoria
 
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)Combining R With Java For Data Analysis (Devoxx UK 2015 Session)
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)
 
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
Building a CICD Pipeline for Container Deployment to Amazon ECS - May 2017 AW...
 

Ähnlich wie Delivering Mobile Apps That Perform

Practical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter SvenssonPractical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter Svensson
rajivmordani
 

Ähnlich wie Delivering Mobile Apps That Perform (20)

AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
 
Remix
RemixRemix
Remix
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless Edition
 
Cloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming CurriculumCloud Computing in Systems Programming Curriculum
Cloud Computing in Systems Programming Curriculum
 
KKBOX WWDC17 Security - Antony
KKBOX WWDC17 Security - AntonyKKBOX WWDC17 Security - Antony
KKBOX WWDC17 Security - Antony
 
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
 
The Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesThe Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devices
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless Edition
 
Finding Patterns in the Clouds - Cloud Design Patterns
Finding Patterns in the Clouds - Cloud Design PatternsFinding Patterns in the Clouds - Cloud Design Patterns
Finding Patterns in the Clouds - Cloud Design Patterns
 
Hpc lunch and learn
Hpc lunch and learnHpc lunch and learn
Hpc lunch and learn
 
Practical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter SvenssonPractical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter Svensson
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
20120306 dublin js
20120306 dublin js20120306 dublin js
20120306 dublin js
 
Service workers your applications never felt so good
Service workers   your applications never felt so goodService workers   your applications never felt so good
Service workers your applications never felt so good
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 

Mehr von Ruben Goncalves

Mehr von Ruben Goncalves (12)

Programming as a form of art
Programming as a form of artProgramming as a form of art
Programming as a form of art
 
Building frameworks: from concept to completion
Building frameworks: from concept to completionBuilding frameworks: from concept to completion
Building frameworks: from concept to completion
 
Mobile Location workshop
Mobile Location workshopMobile Location workshop
Mobile Location workshop
 
Creating Mobile Apps like a BOSS
Creating Mobile Apps like a BOSSCreating Mobile Apps like a BOSS
Creating Mobile Apps like a BOSS
 
Dos and Don'ts on the road to Mobility
Dos and Don'ts on the road to MobilityDos and Don'ts on the road to Mobility
Dos and Don'ts on the road to Mobility
 
The real impact of mobility on your business apps
The real impact of mobility on your business appsThe real impact of mobility on your business apps
The real impact of mobility on your business apps
 
Top front-end techniques for OutSystems
Top front-end techniques for OutSystemsTop front-end techniques for OutSystems
Top front-end techniques for OutSystems
 
Hardcore Mobile integrations
Hardcore Mobile integrationsHardcore Mobile integrations
Hardcore Mobile integrations
 
Become a mobile developer from scratch
Become a mobile developer from scratchBecome a mobile developer from scratch
Become a mobile developer from scratch
 
Usability session @ SEI Universidade do Minho
Usability session @ SEI Universidade do MinhoUsability session @ SEI Universidade do Minho
Usability session @ SEI Universidade do Minho
 
CSS workshop @ OutSystems
CSS workshop @ OutSystemsCSS workshop @ OutSystems
CSS workshop @ OutSystems
 
Grids and Visual hierarchy for developers
Grids and Visual hierarchy for developers Grids and Visual hierarchy for developers
Grids and Visual hierarchy for developers
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Delivering Mobile Apps That Perform

Hinweis der Redaktion

  1. Good morning! Welcome to the Performance in Mobile Apps session! (This was the original name, until it reached the marketing team) Hopefully many of you that are here have been building mobile apps. In this session we’ll try to go thru what affects the performance and how we can deal with it.
  2. But before we start…. How many of you were in NextStep 2013?
  3. Two years ago, I was trying to persuade you to go mobile, while recommending you do and don’t when going mobile. So the next question is ….
  4. You might have heard comments like those…. The bad news here is, If you didn’t hear, that’s probably because you’re not trying hard enough! Cause as soon as you leave the PoC app, things start to get tough, performance wise.
  5. So during this session we’ll go thru each one of the areas that affect the performance in mobile. -- Hopefully when the new performance monitor comes to live, it will helps exactly in this. -- This is the part where I do the disclaimer… Typically I’m like “how am I going to fill in 30 minutes?” but this time was more like “How am I going to fit this in 30 min?!?” Somethings were oversimplified or simply cut of the presentation so that it could actually fit.
  6. These limits were established in 1999 in the HTTP/1.1 specification by the Internet Engineering Task Force (IETF). The intent of the limit was to avoid overloading web servers and to reduce internet congestion. The commonly used limit is no more than two simultaneous connections with any server or proxy.
  7. Serving GPRS (General Packet Radio Service) Support Node Gateway GPRS Support Node
  8. http://www.webkit.org/perf/sunspider/sunspider.html
  9. http://benfrain.com/css-performance-revisited-selectors-bloat-expensive-styles/
  10. Unlike other technologies, unused code in css is a performance killer.
  11. And must be asking… why does this happens?