dc4 - zigzagging around in mobile app development

28
Zigzagging around in mobile app development explore the major pitfalls in mobile app development

Upload: francesca-cuda

Post on 28-Jul-2015

93 views

Category:

Mobile


1 download

TRANSCRIPT

Zigzagging around in mobile app developmentexplore the major pitfalls in mobile app development

2

about me

+Francesca Cuda @FrancyCuda

3

“Mobile will overtake fixed Internet access”

eBay Inc. confidential4

5

Come up with a mobile first strategy

6

The unforgiving user

Quick to download – Quick to delete

74% downloaded apps are only opened once

40% deleted after the first use

7

5 pitfalls in mobile app development

8

Build only features, ignore user experience 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!)

Build only features, ignore user experience 1

10

Gumtree experience in Dec 2012 – 2 stars in the Google play store

Build only features, ignore user experience 1

11

Gumtree experience in Dec 2014 – 4.5 stars

Build only features, ignore user experience 1

12

Rely on post-launch crashes 2

71% of mobile users delete the app because of a crash

13

Rely on post-launch crashes 2

- 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 crashes 2

Gumtree example

15

Rely on post-launch crashes 2

Gumtree example

16

Not testing real user on real devices 3

0%

percentage of your app users that use emulator to run your app

17

Not testing real user on real devices 3

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 devices 3

19

Test only functionalities…forget about performance 4

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 performance 4

21

Test only functionalities…forget about performance 4

BEFORE AFTER

ACTIONAnalysis and improvement of UI rendering time.

RESULTMeasure time93.19%

Layout time92.6%

Draw time73.17%

22

Test only functionalities…forget about performance 4

ACTION: Flattened UI by removing and optimize layersRESULT : 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 performance 4

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

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?

Why should I care about security on apps? 5

ProGuardhttp://proguard.sourceforge.net/Nogotofailhttps://github.com/google/nogotofail

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

28

Thank you!

+Francesca Cuda @FrancyCuda

Download the apphttp://goo.gl/uCFE9j