SlideShare a Scribd company logo
Zigzagging around in mobile app
development
explore the major pitfalls in mobile app development
about me
2
+Francesca Cuda
@FrancyCuda
“Mobile will overtake fixed Internet access”
3
eBay Inc. confidential
4
Come up with a mobile first strategy
5
The unforgiving user
Quick to download – Quick to delete
74%downloaded apps are only opened once
40% deleted after the first use
6
5 pitfalls in mobile app
development
7
Build only features, ignore user experience
8
1
- Mobile is not just another screen
- Approach of replicating desktop feature in mobile app results in
cumbersome and unintuitive UX
- Clarify your target audience and its motivation – listen to the users and their
pain points
• Simplify the process
• App should be quick and easy to learn
• Focus on delighting the users instead of frustrating them
• Map out wireframes and user journeys (ask outside of the techno geek
team!)
9
Build only features, ignore user experience1
Gumtree experience in Dec 2012 – 2 stars in the Google play store
10
Build only features, ignore user experience1
Gumtree experience in Dec 2014 – 4.5 stars
11
Build only features, ignore user experience1
12
Rely on post-launch crashes2
71% of mobile users delete the app because of a crash
13
Rely on post-launch crashes2
- Testing should not be something that you do between development and
launch
- Tests need to be automated
- Tests need to be done on multiple area
14
Rely on post-launch crashes2
Gumtree example
15
Rely on post-launch crashes2
Gumtree example
16
Not testing real user on real devices3
0%
percentage of your app users that use emulator to run your app
17
Not testing real user on real devices3
TESTING CATEGORY REAL DEVICE
User interaction Fingers on a screen
Real occurring events Battery
consumption/charging/interrupts
Overall performance Easy, fast, realistic
Hardware - chipset Able to test LE-silicon with low clock-
frequency rate
Hardware - display Different density, color and quality of
the display
Hardware - memory Able to test on high/low end device
Hardware - sensor Able to test accelerometers, geo-
location, and push notification
Software – OS version OS customization (OEM)
Manufacturer skin
Network Slow connection
18
Not testing real user on real devices3
19
Test only functionalities…forget about performance4
Performance directly affects the user experience; a bad performing app can show
latency issues, not loaded images or out of memory errors
Techniques:
- Screen overdraw
- Hierarchy viewer
- Traceview and dmtracedump
- Tracking allocation of memory
20
Test only functionalities…forget about performance4
21
Test only functionalities…forget about performance4
BEFORE AFTER
ACTION
Analysis and
improvement of UI
rendering time.
RESULT
Measure time
93.19%
Layout time
92.6%
Draw time
73.17%
22
Test only functionalities…forget about performance4
ACTION: Flattened UI by removing and optimize layers
RESULT : From 17 layers per SRP item to 10 layers per item
From 35 layers per SRP page to 21 layers
23
Test only functionalities…forget about performance4
ACTION: Optimize read/write operation with local cache content (better cleanup process, review
data structure and storage process)
RESULT : Time execute operation for Search Result Page 68% after first optimization
24
Why should I care about security on apps?5
Report for FireEye Mobile Security - July 2014
- When storing data…prefer internal storage and encryption
- Minimize the number of permissions your app requests
- Perform input validation to prevent script injection
- Be extra-careful when using webview (setJavascriptEnabled())
- Prefer https over http
- Do you like logs?
25
Why should I care about security on apps?5
ProGuard
http://proguard.sourceforge.net/
Nogotofail
https://github.com/google/nogotofail
26
7
To recap…
• Consider the user experience and not just the functionalities
• Invest in pre-launch testing
• Test with real users on real devices
• Test for performance
• Care about security
• Pay attention to user feedback
27
Thank you!
28
+Francesca Cuda
@FrancyCuda
Download the app
http://goo.gl/uCFE9j

More Related Content

What's hot

Graphical user-interface
Graphical user-interfaceGraphical user-interface
Graphical user-interface
Estiak Khan
 
CSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 DocumentationCSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 Documentation
Salocin Dot TEN
 
Windows Phone 7 Platform Overview
Windows Phone 7 Platform OverviewWindows Phone 7 Platform Overview
Windows Phone 7 Platform OverviewNguyên Phạm
 
Introduction To Usability
Introduction To UsabilityIntroduction To Usability
Introduction To Usability
Ovidiu Von M
 
How to define an effective mobile development strategy
How to define an effective mobile development strategyHow to define an effective mobile development strategy
How to define an effective mobile development strategy
Mrinal Singh
 
User interface design
User interface designUser interface design
User interface design
Naveen Sagayaselvaraj
 
Ux presentation-i net - https://uxvietnam.com
Ux presentation-i net - https://uxvietnam.comUx presentation-i net - https://uxvietnam.com
Ux presentation-i net - https://uxvietnam.com
Khoi Pham
 
WRITE CLEAR TEXT AND MESSAGES
WRITE CLEAR TEXT AND MESSAGESWRITE CLEAR TEXT AND MESSAGES
WRITE CLEAR TEXT AND MESSAGES
Dhanya LK
 
Mobile user interface
Mobile user interfaceMobile user interface
Mobile user interfaceRichard0302
 
SELECT THE PROPER KINDS OF WINDOWS
SELECT THE PROPER KINDS OF WINDOWSSELECT THE PROPER KINDS OF WINDOWS
SELECT THE PROPER KINDS OF WINDOWS
Dhanya LK
 
Devmento발표100525
Devmento발표100525Devmento발표100525
Devmento발표100525jinwook shin
 
Camera and imaging APIs on Series 40
Camera and imaging APIs on Series 40Camera and imaging APIs on Series 40
Camera and imaging APIs on Series 40
Microsoft Mobile Developer
 
Ux ui presentation2
Ux ui presentation2Ux ui presentation2
Ux ui presentation2GeneXus
 
Mobile UI Design – User Centered Design and UI Best Practices
Mobile UI Design – User Centered Design and UI Best PracticesMobile UI Design – User Centered Design and UI Best Practices
Mobile UI Design – User Centered Design and UI Best Practices
OXD
 
5 tips for better multiplatform user experience
5 tips for better multiplatform user experience5 tips for better multiplatform user experience
5 tips for better multiplatform user experience
UX247
 
Phoenix Emulator PPT
Phoenix Emulator PPTPhoenix Emulator PPT
Phoenix Emulator PPTVineet Kumar
 
Future of UX Mini-presentation
Future of UX Mini-presentationFuture of UX Mini-presentation
Future of UX Mini-presentationSimon Metcalfe
 
Intro - Forum Nokia & Mobile User Experience
Intro - Forum Nokia & Mobile User ExperienceIntro - Forum Nokia & Mobile User Experience
Intro - Forum Nokia & Mobile User Experience
Andreas Jakl
 
User Interface Design
User Interface DesignUser Interface Design
User Interface Design
Gil Pasiona
 
Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits
 Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits
Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits
Ranosys Technologies
 

What's hot (20)

Graphical user-interface
Graphical user-interfaceGraphical user-interface
Graphical user-interface
 
CSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 DocumentationCSE 5930 Assignment 2 Documentation
CSE 5930 Assignment 2 Documentation
 
Windows Phone 7 Platform Overview
Windows Phone 7 Platform OverviewWindows Phone 7 Platform Overview
Windows Phone 7 Platform Overview
 
Introduction To Usability
Introduction To UsabilityIntroduction To Usability
Introduction To Usability
 
How to define an effective mobile development strategy
How to define an effective mobile development strategyHow to define an effective mobile development strategy
How to define an effective mobile development strategy
 
User interface design
User interface designUser interface design
User interface design
 
Ux presentation-i net - https://uxvietnam.com
Ux presentation-i net - https://uxvietnam.comUx presentation-i net - https://uxvietnam.com
Ux presentation-i net - https://uxvietnam.com
 
WRITE CLEAR TEXT AND MESSAGES
WRITE CLEAR TEXT AND MESSAGESWRITE CLEAR TEXT AND MESSAGES
WRITE CLEAR TEXT AND MESSAGES
 
Mobile user interface
Mobile user interfaceMobile user interface
Mobile user interface
 
SELECT THE PROPER KINDS OF WINDOWS
SELECT THE PROPER KINDS OF WINDOWSSELECT THE PROPER KINDS OF WINDOWS
SELECT THE PROPER KINDS OF WINDOWS
 
Devmento발표100525
Devmento발표100525Devmento발표100525
Devmento발표100525
 
Camera and imaging APIs on Series 40
Camera and imaging APIs on Series 40Camera and imaging APIs on Series 40
Camera and imaging APIs on Series 40
 
Ux ui presentation2
Ux ui presentation2Ux ui presentation2
Ux ui presentation2
 
Mobile UI Design – User Centered Design and UI Best Practices
Mobile UI Design – User Centered Design and UI Best PracticesMobile UI Design – User Centered Design and UI Best Practices
Mobile UI Design – User Centered Design and UI Best Practices
 
5 tips for better multiplatform user experience
5 tips for better multiplatform user experience5 tips for better multiplatform user experience
5 tips for better multiplatform user experience
 
Phoenix Emulator PPT
Phoenix Emulator PPTPhoenix Emulator PPT
Phoenix Emulator PPT
 
Future of UX Mini-presentation
Future of UX Mini-presentationFuture of UX Mini-presentation
Future of UX Mini-presentation
 
Intro - Forum Nokia & Mobile User Experience
Intro - Forum Nokia & Mobile User ExperienceIntro - Forum Nokia & Mobile User Experience
Intro - Forum Nokia & Mobile User Experience
 
User Interface Design
User Interface DesignUser Interface Design
User Interface Design
 
Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits
 Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits
Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits
 

Similar to DC4 - Zigzagging around in mobile app development

Android UI Design Tips
Android UI Design TipsAndroid UI Design Tips
Android UI Design Tips
Android Developers
 
Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1
Teamstudio
 
AR NATIONAL FLAGS
AR NATIONAL FLAGSAR NATIONAL FLAGS
AR NATIONAL FLAGS
Muhammad Faris
 
Designing for mobile user experience
Designing for mobile user experienceDesigning for mobile user experience
Designing for mobile user experience
Sameer Chavan
 
Characterizing and detecting performance bugs for smartphone applications
Characterizing and detecting performance bugs for smartphone applicationsCharacterizing and detecting performance bugs for smartphone applications
Characterizing and detecting performance bugs for smartphone applications
School of Engineering, HKUST
 
Mobile developement
Mobile developementMobile developement
Mobile developement
Lilia Sfaxi
 
Become a mobile developer from scratch
Become a mobile developer from scratchBecome a mobile developer from scratch
Become a mobile developer from scratch
Ruben Goncalves
 
Designing Rich Mobile Apps in a Fragmented World
Designing Rich Mobile Apps in a Fragmented WorldDesigning Rich Mobile Apps in a Fragmented World
Designing Rich Mobile Apps in a Fragmented World
Worklight
 
Lecture 2: Android Introduction
Lecture 2: Android Introduction Lecture 2: Android Introduction
Lecture 2: Android Introduction
Eyad Almasri
 
C maksymchuk android
C maksymchuk androidC maksymchuk android
C maksymchuk android
sdeconf
 
How To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGapHow To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGap
MobiDev
 
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
Lab Mobile Filkom UB
 
The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1
Teamstudio
 
Mobile User Experience
Mobile User ExperienceMobile User Experience
Mobile User Experience
Donna Lichaw
 
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...Paul Della-Nebbia
 
10 Mobile App Testing Mistakes To Avoid by Daniel Knott
10 Mobile App Testing Mistakes To Avoid by Daniel Knott10 Mobile App Testing Mistakes To Avoid by Daniel Knott
10 Mobile App Testing Mistakes To Avoid by Daniel Knott
Daniel Knott
 
UDSA Unit 4.pptx
UDSA Unit 4.pptxUDSA Unit 4.pptx
UDSA Unit 4.pptx
SrilekhaK12
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
MUFIX Community
 
Magnolia 5's new UX
Magnolia 5's new UXMagnolia 5's new UX
Magnolia 5's new UX
Andreas Weder
 
Quiz app android ppt
Quiz app android pptQuiz app android ppt
Quiz app android ppt
Aditya Nag
 

Similar to DC4 - Zigzagging around in mobile app development (20)

Android UI Design Tips
Android UI Design TipsAndroid UI Design Tips
Android UI Design Tips
 
Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1
 
AR NATIONAL FLAGS
AR NATIONAL FLAGSAR NATIONAL FLAGS
AR NATIONAL FLAGS
 
Designing for mobile user experience
Designing for mobile user experienceDesigning for mobile user experience
Designing for mobile user experience
 
Characterizing and detecting performance bugs for smartphone applications
Characterizing and detecting performance bugs for smartphone applicationsCharacterizing and detecting performance bugs for smartphone applications
Characterizing and detecting performance bugs for smartphone applications
 
Mobile developement
Mobile developementMobile developement
Mobile developement
 
Become a mobile developer from scratch
Become a mobile developer from scratchBecome a mobile developer from scratch
Become a mobile developer from scratch
 
Designing Rich Mobile Apps in a Fragmented World
Designing Rich Mobile Apps in a Fragmented WorldDesigning Rich Mobile Apps in a Fragmented World
Designing Rich Mobile Apps in a Fragmented World
 
Lecture 2: Android Introduction
Lecture 2: Android Introduction Lecture 2: Android Introduction
Lecture 2: Android Introduction
 
C maksymchuk android
C maksymchuk androidC maksymchuk android
C maksymchuk android
 
How To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGapHow To Create One App For All Platforms using PhoneGap
How To Create One App For All Platforms using PhoneGap
 
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
 
The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1
 
Mobile User Experience
Mobile User ExperienceMobile User Experience
Mobile User Experience
 
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
 
10 Mobile App Testing Mistakes To Avoid by Daniel Knott
10 Mobile App Testing Mistakes To Avoid by Daniel Knott10 Mobile App Testing Mistakes To Avoid by Daniel Knott
10 Mobile App Testing Mistakes To Avoid by Daniel Knott
 
UDSA Unit 4.pptx
UDSA Unit 4.pptxUDSA Unit 4.pptx
UDSA Unit 4.pptx
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
 
Magnolia 5's new UX
Magnolia 5's new UXMagnolia 5's new UX
Magnolia 5's new UX
 
Quiz app android ppt
Quiz app android pptQuiz app android ppt
Quiz app android ppt
 

DC4 - Zigzagging around in mobile app development

  • 1. Zigzagging around in mobile app development explore the major pitfalls in mobile app development
  • 3. “Mobile will overtake fixed Internet access” 3
  • 5. Come up with a mobile first strategy 5
  • 6. The unforgiving user Quick to download – Quick to delete 74%downloaded apps are only opened once 40% deleted after the first use 6
  • 7. 5 pitfalls in mobile app development 7
  • 8. Build only features, ignore user experience 8 1 - Mobile is not just another screen - Approach of replicating desktop feature in mobile app results in cumbersome and unintuitive UX - Clarify your target audience and its motivation – listen to the users and their pain points
  • 9. • Simplify the process • App should be quick and easy to learn • Focus on delighting the users instead of frustrating them • Map out wireframes and user journeys (ask outside of the techno geek team!) 9 Build only features, ignore user experience1
  • 10. Gumtree experience in Dec 2012 – 2 stars in the Google play store 10 Build only features, ignore user experience1
  • 11. Gumtree experience in Dec 2014 – 4.5 stars 11 Build only features, ignore user experience1
  • 12. 12 Rely on post-launch crashes2 71% of mobile users delete the app because of a crash
  • 13. 13 Rely on post-launch crashes2 - Testing should not be something that you do between development and launch - Tests need to be automated - Tests need to be done on multiple area
  • 14. 14 Rely on post-launch crashes2 Gumtree example
  • 15. 15 Rely on post-launch crashes2 Gumtree example
  • 16. 16 Not testing real user on real devices3 0% percentage of your app users that use emulator to run your app
  • 17. 17 Not testing real user on real devices3 TESTING CATEGORY REAL DEVICE User interaction Fingers on a screen Real occurring events Battery consumption/charging/interrupts Overall performance Easy, fast, realistic Hardware - chipset Able to test LE-silicon with low clock- frequency rate Hardware - display Different density, color and quality of the display Hardware - memory Able to test on high/low end device Hardware - sensor Able to test accelerometers, geo- location, and push notification Software – OS version OS customization (OEM) Manufacturer skin Network Slow connection
  • 18. 18 Not testing real user on real devices3
  • 19. 19 Test only functionalities…forget about performance4 Performance directly affects the user experience; a bad performing app can show latency issues, not loaded images or out of memory errors Techniques: - Screen overdraw - Hierarchy viewer - Traceview and dmtracedump - Tracking allocation of memory
  • 21. 21 Test only functionalities…forget about performance4 BEFORE AFTER ACTION Analysis and improvement of UI rendering time. RESULT Measure time 93.19% Layout time 92.6% Draw time 73.17%
  • 22. 22 Test only functionalities…forget about performance4 ACTION: Flattened UI by removing and optimize layers RESULT : From 17 layers per SRP item to 10 layers per item From 35 layers per SRP page to 21 layers
  • 23. 23 Test only functionalities…forget about performance4 ACTION: Optimize read/write operation with local cache content (better cleanup process, review data structure and storage process) RESULT : Time execute operation for Search Result Page 68% after first optimization
  • 24. 24 Why should I care about security on apps?5 Report for FireEye Mobile Security - July 2014
  • 25. - When storing data…prefer internal storage and encryption - Minimize the number of permissions your app requests - Perform input validation to prevent script injection - Be extra-careful when using webview (setJavascriptEnabled()) - Prefer https over http - Do you like logs? 25 Why should I care about security on apps?5 ProGuard http://proguard.sourceforge.net/ Nogotofail https://github.com/google/nogotofail
  • 26. 26 7
  • 27. To recap… • Consider the user experience and not just the functionalities • Invest in pre-launch testing • Test with real users on real devices • Test for performance • Care about security • Pay attention to user feedback 27