SlideShare a Scribd company logo
O SUCESSO DO SEU APP ESTÁ NOS
DETALHES
@SuelenGC
Sudeste
Suelen GC
github.com/suelengc
@suelengc
2006
2015
SOME NUMBERS
Existem mais de 1 milhão de aplicativos no
Google Play.
NÚMERO DE APPS
Agosto/2014
GROWTH OF NUMBER OF APP IN THE
GOOGLE PLAY STORE FROM DECEMBER 2009 TO JULY 2015
USUÁRIOS ATIVOS
Agosto/2014
NÃO BASTA TER UM
APLICATIVO, ELE
PRECISA SER O MELHOR!
DESIGN
Entre um feio e um bonito que faça a mesma
coisa, os usuários irão ficar com o bonito!
SEE MATERIAL DESIGN GUIDE LINES
Google already did the work of learning
how is the best way to interact and
show things to the users in the most of
cases.
Take advantage of that!
APPLY THE MATERIAL THEME
To apply the material theme in your
app, specify a style that inherits from
android:Theme.Material
USE CARDS
CardView lets you show pieces of
information inside cards with a
consistent look across apps.
USE LISTS WITH BEST PERFORMANCE
RecyclerView is a more pluggable
version of ListView that supports
different layout types and provides
performance improvements.
USE ANIMATIONS
Android 5.0 (API level 21) includes new
APIs to create custom animations in your
app in a more easiest way.
➤ Customize Touch Feedback
➤ Use the Reveal Effect
➤ Customize Activity Transitions
➤ Specify custom transitions and so on…
August/2015
August/2015
August/2015
MAINTAINING COMPATIBILITY
➤ Define and Provide Alternative Styles.
➤ Use the Support Library.
➤ Test your apps in many differents devices/android
versions.
➤ Knows what version supports which feature.
PERFORMANCE
of users have uninstalled
an app after a negative experience.
90%
PREFER STATIC OVER INSTANCE METHODS
If you don't need to access an object's
fields, make your method static.
Invocations will be about 15%-20%
faster.
USE STATIC FINAL FOR CONSTANTS
The compiler will be more efficient if
he know that variable will not be
changed.
*Valid for primitives types and String
AVOID INTERNAL GETTERS/SETTERS
Inside a class you should always access
fields directly. Leave getters/setters for
public interface.
Doing it, could be from 3 to 7 times
faster than invoking a trivial getter.
USE FOR-EACH LOOP SYNTAX
Use the for-each loop by default, but
consider a hand-written counted loop
for performance-critical ArrayList
iteration.
CONSIDER PACKAGE ACCESS INSTEAD OF
PRIVATE ACCESS WITH PRIVATE INNER CLASSES
Declare fields
and methods
accessed by inner
classes to have
package access,
rather than
private access.
AVOID USING FLOATING-POINT
As a rule of thumb, floating-point is
about 2x slower than integer on
Android-powered devices.
KNOW AND USE THE LIBRARIES
Do not reinvent the wheel. Know
what native API can offer to you
before implementing by yourself.
FEEDBACK
is the time that the
most people have patience to wait a
feedback from apps.
200ms
KEEPING YOUR APP RESPONSIVE
What Triggers ANR?
➤ No response to an input event (such as
key press or screen touch events)
within 5 seconds.
➤ A BroadcastReceiver hasn't finished
executing within 10 seconds.
KEEPING YOUR APP RESPONSIVE
Network or database operations, or
computationally expensive calculations
such as resizing bitmaps should be
done in a worker thread.
KEEPING YOUR APP RESPONSIVE
How to Avoid ANRs?
➤ Use AsyncTask.
➤ Do not NEVER! call Thread.wait()
or Thread.sleep().
➤ Use IntentService for long process.
FEEDBACK TIPS - WORK IN BACKGROUND
If your application is doing work in the
background in response to user input,
show that progress is being made (such
as with a ProgressBar in your UI).
FEEDBACK TIPS - HIGH CALCULATIONS
For games specifically, do calculations for
moves in a worker thread.
SMART
Pense em mobilidade. Lembre que seu app pode
aproveitar as principais características dos
dispositivos móveis, como câmera e GPS.
USE MOBILE RESOURCES - GEOLOCATION
Do not ask where the user is. Instead,
use Geolocation resources to discover
that.
USE MOBILE RESOURCES - DEEPLINKS
If users are accessing your site in mobile,
you must to turn possible open app with
the same information, but with a better
usage experience.
USE MOBILE RESOURCES - PERMISSIONS
Request only the necessary permissions!
Otherwise, a more suspicious user can
get scared and end up giving up
performing the installation.
MEÇA! MEÇA! MEÇA!
É importante coletar e avaliar algumas
informações importantes como: tempo entre
os acessos, acessos por dia, tempo de
permanência, uso das funcionalidades, etc.
Houston
temos um
problema!
“Não se pode melhorar aquilo que não
se pode medir!
MÉTRICAS DE USO
MÉTRICAS DE CRASH’S E ERROS E PERFORMANCE
“O “app perfeito” não deve ser visto
necessariamente como um destino,
mas sim como uma jornada.
Obrigada!
Sudeste
github.com/suelengc
Dúvidas?
Sudeste
github.com/suelengc
REFERÊNCIAS
➤ http://m.corporate.canaltech.com.br/noticia/apps/Desempenho-um-diferencial-competitivo-para-apps/
➤ http://exame.abril.com.br/tecnologia/noticias/especialista-do-google-da-dicas-para-o-desenvolvimento-de-um-app-de-
sucesso
➤ http://developer.android.com/intl/pt-br/training/material/compatibility.html#CheckVersion
➤ http://developer.android.com/intl/pt-br/training/articles/perf-anr.html#Avoiding
➤ http://developer.android.com/intl/pt-br/tools/debugging/systrace.html
➤ http://developer.android.com/intl/pt-br/tools/debugging/debugging-tracing.html
➤ http://developer.android.com/intl/pt-br/training/articles/memory.html
➤ http://developer.android.com/intl/pt-br/training/articles/perf-tips.html
➤ http://www.statista.com/statistics/266210/number-of-available-applications-in-the-google-play-store/
➤ http://www.statista.com/statistics/263795/number-of-available-apps-in-the-apple-app-store/
➤ http://www.tecmundo.com.br/sistema-operacional/60596-ios-android-windows-phone-numeros-gigantes-comparados-
infografico.htm
➤ http://tnh1.ne10.uol.com.br/noticia/tecnologia/2015/05/04/322692/como-criar-um-aplicativo-de-sucesso-e-fidelizar-
usuarios
➤ http://www.totalcross.com/blog/por-que-o-design-e-importante-para-o-sucesso-do-seu-aplicativo/
➤ http://www.rankmyapp.com.br/blog/fatores-essenciais-de-um-app-de-sucesso/
➤ http://opensignal.com/reports/2015/08/android-fragmentation/

More Related Content

What's hot

Instrumentation 101
Instrumentation 101Instrumentation 101
Instrumentation 101
Apkudo
 
Develop Android/iOS app using golang
Develop Android/iOS app using golangDevelop Android/iOS app using golang
Develop Android/iOS app using golang
SeongJae Park
 
Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016
Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016
Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016
将之 小野
 
App inventor workshop [App Academy]
App inventor workshop [App Academy]App inventor workshop [App Academy]
App inventor workshop [App Academy]
Kristian Langborg-Hansen
 
How to build Sdk? Best practices
How to build Sdk? Best practicesHow to build Sdk? Best practices
How to build Sdk? Best practices
Vitali Pekelis
 
Testing android apps with espresso
Testing android apps with espressoTesting android apps with espresso
Testing android apps with espresso
Édipo Souza
 
Testing Sucks, But It Doesn't Have To
Testing Sucks, But It Doesn't Have ToTesting Sucks, But It Doesn't Have To
Testing Sucks, But It Doesn't Have To
Apkudo
 

What's hot (7)

Instrumentation 101
Instrumentation 101Instrumentation 101
Instrumentation 101
 
Develop Android/iOS app using golang
Develop Android/iOS app using golangDevelop Android/iOS app using golang
Develop Android/iOS app using golang
 
Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016
Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016
Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016
 
App inventor workshop [App Academy]
App inventor workshop [App Academy]App inventor workshop [App Academy]
App inventor workshop [App Academy]
 
How to build Sdk? Best practices
How to build Sdk? Best practicesHow to build Sdk? Best practices
How to build Sdk? Best practices
 
Testing android apps with espresso
Testing android apps with espressoTesting android apps with espresso
Testing android apps with espresso
 
Testing Sucks, But It Doesn't Have To
Testing Sucks, But It Doesn't Have ToTesting Sucks, But It Doesn't Have To
Testing Sucks, But It Doesn't Have To
 

Similar to O sucesso do seu app está nos detalhes!

Guidelines for Android application design.pptx
Guidelines for Android application design.pptxGuidelines for Android application design.pptx
Guidelines for Android application design.pptx
debasish duarah
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
faizrashid1995
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
Luciano Amodio
 
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
DicodingEvent
 
Notes from Educator Pre-training Briefing 1 - Summary of AfG-toolset 2012-13
Notes from Educator Pre-training Briefing 1  - Summary of AfG-toolset 2012-13Notes from Educator Pre-training Briefing 1  - Summary of AfG-toolset 2012-13
Notes from Educator Pre-training Briefing 1 - Summary of AfG-toolset 2012-13CDI Apps for Good
 
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
IndicThreads
 
Android + training + philippines
Android + training + philippinesAndroid + training + philippines
Android + training + philippinesdiosa06
 
Android + training + philippines
Android + training + philippinesAndroid + training + philippines
Android + training + philippineskerwin1116
 
Flutter.pdf
 Flutter.pdf Flutter.pdf
Flutter.pdf
ssuser3fcae7
 
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdfGeekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf
NITHIN S.S
 
Manoj singhal resume
Manoj singhal resumeManoj singhal resume
Manoj singhal resume
Manoj Singhal
 
7 in app metrics in your app that you should not ignore
7 in app metrics in your app that you should not ignore7 in app metrics in your app that you should not ignore
7 in app metrics in your app that you should not ignore
Credencys Solutions Inc
 
001-Mobile Application.pptx
001-Mobile Application.pptx001-Mobile Application.pptx
001-Mobile Application.pptx
AhmedDarre
 
2011B1A7689G-TrishuDey-Report
 2011B1A7689G-TrishuDey-Report 2011B1A7689G-TrishuDey-Report
2011B1A7689G-TrishuDey-ReportTrishu Dey
 
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
Jeremy Johnson
 
Flutter App Performance Optimization_ Tips and Techniques.pdf
Flutter App Performance Optimization_ Tips and Techniques.pdfFlutter App Performance Optimization_ Tips and Techniques.pdf
Flutter App Performance Optimization_ Tips and Techniques.pdf
DianApps Technologies
 
Top 7 Angular Best Practices to Organize Your Angular App
Top 7 Angular Best Practices to Organize Your Angular AppTop 7 Angular Best Practices to Organize Your Angular App
Top 7 Angular Best Practices to Organize Your Angular App
Katy Slemon
 
14 Tips On How To Improve Android App Performance
14 Tips On How To Improve Android App Performance14 Tips On How To Improve Android App Performance
14 Tips On How To Improve Android App Performance
Andolasoft Inc
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformApigee | Google Cloud
 

Similar to O sucesso do seu app está nos detalhes! (20)

Guidelines for Android application design.pptx
Guidelines for Android application design.pptxGuidelines for Android application design.pptx
Guidelines for Android application design.pptx
 
Ramesh iOS Profile
Ramesh iOS ProfileRamesh iOS Profile
Ramesh iOS Profile
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
 
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
Baparekraf Digital Talent Day: Monitoring dan Coaching Penerima Fasilitasi BD...
 
Notes from Educator Pre-training Briefing 1 - Summary of AfG-toolset 2012-13
Notes from Educator Pre-training Briefing 1  - Summary of AfG-toolset 2012-13Notes from Educator Pre-training Briefing 1  - Summary of AfG-toolset 2012-13
Notes from Educator Pre-training Briefing 1 - Summary of AfG-toolset 2012-13
 
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
Performance in Android: Tips and Techniques [IndicThreads Mobile Application ...
 
Android + training + philippines
Android + training + philippinesAndroid + training + philippines
Android + training + philippines
 
Android + training + philippines
Android + training + philippinesAndroid + training + philippines
Android + training + philippines
 
Flutter.pdf
 Flutter.pdf Flutter.pdf
Flutter.pdf
 
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdfGeekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf
 
Manoj singhal resume
Manoj singhal resumeManoj singhal resume
Manoj singhal resume
 
7 in app metrics in your app that you should not ignore
7 in app metrics in your app that you should not ignore7 in app metrics in your app that you should not ignore
7 in app metrics in your app that you should not ignore
 
001-Mobile Application.pptx
001-Mobile Application.pptx001-Mobile Application.pptx
001-Mobile Application.pptx
 
2011B1A7689G-TrishuDey-Report
 2011B1A7689G-TrishuDey-Report 2011B1A7689G-TrishuDey-Report
2011B1A7689G-TrishuDey-Report
 
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
 
Flutter App Performance Optimization_ Tips and Techniques.pdf
Flutter App Performance Optimization_ Tips and Techniques.pdfFlutter App Performance Optimization_ Tips and Techniques.pdf
Flutter App Performance Optimization_ Tips and Techniques.pdf
 
Top 7 Angular Best Practices to Organize Your Angular App
Top 7 Angular Best Practices to Organize Your Angular AppTop 7 Angular Best Practices to Organize Your Angular App
Top 7 Angular Best Practices to Organize Your Angular App
 
14 Tips On How To Improve Android App Performance
14 Tips On How To Improve Android App Performance14 Tips On How To Improve Android App Performance
14 Tips On How To Improve Android App Performance
 
Designing and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps PlatformDesigning and Implementing a Multiuser Apps Platform
Designing and Implementing a Multiuser Apps Platform
 

More from Suelen Carvalho

Porque Métodos Ágeis não é pra você!
Porque Métodos Ágeis não é pra você!Porque Métodos Ágeis não é pra você!
Porque Métodos Ágeis não é pra você!
Suelen Carvalho
 
Scrum: Relembrando os por quês?
Scrum: Relembrando os por quês?Scrum: Relembrando os por quês?
Scrum: Relembrando os por quês?
Suelen Carvalho
 
Techtrends xp desafios da agilidade com trabalho remoto
Techtrends xp   desafios da agilidade com trabalho remotoTechtrends xp   desafios da agilidade com trabalho remoto
Techtrends xp desafios da agilidade com trabalho remoto
Suelen Carvalho
 
Introdução a Kotlin
Introdução a KotlinIntrodução a Kotlin
Introdução a Kotlin
Suelen Carvalho
 
Introdução a Android Instant Apps
Introdução a Android Instant AppsIntrodução a Android Instant Apps
Introdução a Android Instant Apps
Suelen Carvalho
 
Google IO'17
Google IO'17Google IO'17
Google IO'17
Suelen Carvalho
 
Construindo Times de Alta Performance - Produtos & Engenharia
Construindo Times de Alta Performance - Produtos & EngenhariaConstruindo Times de Alta Performance - Produtos & Engenharia
Construindo Times de Alta Performance - Produtos & Engenharia
Suelen Carvalho
 
Git Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differencesGit Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differences
Suelen Carvalho
 
Dynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris GameDynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris Game
Suelen Carvalho
 
Desenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia EducaçãoDesenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia Educação
Suelen Carvalho
 
Go lang
Go langGo lang
Supporting Coding and Testing
Supporting Coding and TestingSupporting Coding and Testing
Supporting Coding and Testing
Suelen Carvalho
 
Intercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App BillingIntercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App Billing
Suelen Carvalho
 
Semana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira MobileSemana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira Mobile
Suelen Carvalho
 
TDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push NotificationsTDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push Notifications
Suelen Carvalho
 
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...Suelen Carvalho
 
Conexao Java - Sua primeira app Android
Conexao Java - Sua primeira app AndroidConexao Java - Sua primeira app Android
Conexao Java - Sua primeira app Android
Suelen Carvalho
 
7 Masters sobre Android
7 Masters sobre Android7 Masters sobre Android
7 Masters sobre Android
Suelen Carvalho
 
A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.
Suelen Carvalho
 
O fantástico mundo de Android
O fantástico mundo de AndroidO fantástico mundo de Android
O fantástico mundo de AndroidSuelen Carvalho
 

More from Suelen Carvalho (20)

Porque Métodos Ágeis não é pra você!
Porque Métodos Ágeis não é pra você!Porque Métodos Ágeis não é pra você!
Porque Métodos Ágeis não é pra você!
 
Scrum: Relembrando os por quês?
Scrum: Relembrando os por quês?Scrum: Relembrando os por quês?
Scrum: Relembrando os por quês?
 
Techtrends xp desafios da agilidade com trabalho remoto
Techtrends xp   desafios da agilidade com trabalho remotoTechtrends xp   desafios da agilidade com trabalho remoto
Techtrends xp desafios da agilidade com trabalho remoto
 
Introdução a Kotlin
Introdução a KotlinIntrodução a Kotlin
Introdução a Kotlin
 
Introdução a Android Instant Apps
Introdução a Android Instant AppsIntrodução a Android Instant Apps
Introdução a Android Instant Apps
 
Google IO'17
Google IO'17Google IO'17
Google IO'17
 
Construindo Times de Alta Performance - Produtos & Engenharia
Construindo Times de Alta Performance - Produtos & EngenhariaConstruindo Times de Alta Performance - Produtos & Engenharia
Construindo Times de Alta Performance - Produtos & Engenharia
 
Git Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differencesGit Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differences
 
Dynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris GameDynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris Game
 
Desenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia EducaçãoDesenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia Educação
 
Go lang
Go langGo lang
Go lang
 
Supporting Coding and Testing
Supporting Coding and TestingSupporting Coding and Testing
Supporting Coding and Testing
 
Intercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App BillingIntercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App Billing
 
Semana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira MobileSemana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira Mobile
 
TDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push NotificationsTDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push Notifications
 
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
 
Conexao Java - Sua primeira app Android
Conexao Java - Sua primeira app AndroidConexao Java - Sua primeira app Android
Conexao Java - Sua primeira app Android
 
7 Masters sobre Android
7 Masters sobre Android7 Masters sobre Android
7 Masters sobre Android
 
A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.
 
O fantástico mundo de Android
O fantástico mundo de AndroidO fantástico mundo de Android
O fantástico mundo de Android
 

Recently uploaded

Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 

Recently uploaded (20)

Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 

O sucesso do seu app está nos detalhes!

  • 1. O SUCESSO DO SEU APP ESTÁ NOS DETALHES @SuelenGC Sudeste
  • 3.
  • 4. SOME NUMBERS Existem mais de 1 milhão de aplicativos no Google Play.
  • 6. GROWTH OF NUMBER OF APP IN THE GOOGLE PLAY STORE FROM DECEMBER 2009 TO JULY 2015
  • 8. NÃO BASTA TER UM APLICATIVO, ELE PRECISA SER O MELHOR!
  • 9. DESIGN Entre um feio e um bonito que faça a mesma coisa, os usuários irão ficar com o bonito!
  • 10. SEE MATERIAL DESIGN GUIDE LINES Google already did the work of learning how is the best way to interact and show things to the users in the most of cases. Take advantage of that!
  • 11. APPLY THE MATERIAL THEME To apply the material theme in your app, specify a style that inherits from android:Theme.Material
  • 12. USE CARDS CardView lets you show pieces of information inside cards with a consistent look across apps.
  • 13. USE LISTS WITH BEST PERFORMANCE RecyclerView is a more pluggable version of ListView that supports different layout types and provides performance improvements.
  • 14. USE ANIMATIONS Android 5.0 (API level 21) includes new APIs to create custom animations in your app in a more easiest way. ➤ Customize Touch Feedback ➤ Use the Reveal Effect ➤ Customize Activity Transitions ➤ Specify custom transitions and so on…
  • 18.
  • 19. MAINTAINING COMPATIBILITY ➤ Define and Provide Alternative Styles. ➤ Use the Support Library. ➤ Test your apps in many differents devices/android versions. ➤ Knows what version supports which feature.
  • 20. PERFORMANCE of users have uninstalled an app after a negative experience. 90%
  • 21. PREFER STATIC OVER INSTANCE METHODS If you don't need to access an object's fields, make your method static. Invocations will be about 15%-20% faster.
  • 22. USE STATIC FINAL FOR CONSTANTS The compiler will be more efficient if he know that variable will not be changed. *Valid for primitives types and String
  • 23. AVOID INTERNAL GETTERS/SETTERS Inside a class you should always access fields directly. Leave getters/setters for public interface. Doing it, could be from 3 to 7 times faster than invoking a trivial getter.
  • 24. USE FOR-EACH LOOP SYNTAX Use the for-each loop by default, but consider a hand-written counted loop for performance-critical ArrayList iteration.
  • 25. CONSIDER PACKAGE ACCESS INSTEAD OF PRIVATE ACCESS WITH PRIVATE INNER CLASSES Declare fields and methods accessed by inner classes to have package access, rather than private access.
  • 26. AVOID USING FLOATING-POINT As a rule of thumb, floating-point is about 2x slower than integer on Android-powered devices.
  • 27. KNOW AND USE THE LIBRARIES Do not reinvent the wheel. Know what native API can offer to you before implementing by yourself.
  • 28. FEEDBACK is the time that the most people have patience to wait a feedback from apps. 200ms
  • 29. KEEPING YOUR APP RESPONSIVE What Triggers ANR? ➤ No response to an input event (such as key press or screen touch events) within 5 seconds. ➤ A BroadcastReceiver hasn't finished executing within 10 seconds.
  • 30. KEEPING YOUR APP RESPONSIVE Network or database operations, or computationally expensive calculations such as resizing bitmaps should be done in a worker thread.
  • 31. KEEPING YOUR APP RESPONSIVE How to Avoid ANRs? ➤ Use AsyncTask. ➤ Do not NEVER! call Thread.wait() or Thread.sleep(). ➤ Use IntentService for long process.
  • 32. FEEDBACK TIPS - WORK IN BACKGROUND If your application is doing work in the background in response to user input, show that progress is being made (such as with a ProgressBar in your UI).
  • 33. FEEDBACK TIPS - HIGH CALCULATIONS For games specifically, do calculations for moves in a worker thread.
  • 34. SMART Pense em mobilidade. Lembre que seu app pode aproveitar as principais características dos dispositivos móveis, como câmera e GPS.
  • 35. USE MOBILE RESOURCES - GEOLOCATION Do not ask where the user is. Instead, use Geolocation resources to discover that.
  • 36. USE MOBILE RESOURCES - DEEPLINKS If users are accessing your site in mobile, you must to turn possible open app with the same information, but with a better usage experience.
  • 37. USE MOBILE RESOURCES - PERMISSIONS Request only the necessary permissions! Otherwise, a more suspicious user can get scared and end up giving up performing the installation.
  • 38. MEÇA! MEÇA! MEÇA! É importante coletar e avaliar algumas informações importantes como: tempo entre os acessos, acessos por dia, tempo de permanência, uso das funcionalidades, etc.
  • 40. “Não se pode melhorar aquilo que não se pode medir!
  • 42. MÉTRICAS DE CRASH’S E ERROS E PERFORMANCE
  • 43. “O “app perfeito” não deve ser visto necessariamente como um destino, mas sim como uma jornada.
  • 46. REFERÊNCIAS ➤ http://m.corporate.canaltech.com.br/noticia/apps/Desempenho-um-diferencial-competitivo-para-apps/ ➤ http://exame.abril.com.br/tecnologia/noticias/especialista-do-google-da-dicas-para-o-desenvolvimento-de-um-app-de- sucesso ➤ http://developer.android.com/intl/pt-br/training/material/compatibility.html#CheckVersion ➤ http://developer.android.com/intl/pt-br/training/articles/perf-anr.html#Avoiding ➤ http://developer.android.com/intl/pt-br/tools/debugging/systrace.html ➤ http://developer.android.com/intl/pt-br/tools/debugging/debugging-tracing.html ➤ http://developer.android.com/intl/pt-br/training/articles/memory.html ➤ http://developer.android.com/intl/pt-br/training/articles/perf-tips.html ➤ http://www.statista.com/statistics/266210/number-of-available-applications-in-the-google-play-store/ ➤ http://www.statista.com/statistics/263795/number-of-available-apps-in-the-apple-app-store/ ➤ http://www.tecmundo.com.br/sistema-operacional/60596-ios-android-windows-phone-numeros-gigantes-comparados- infografico.htm ➤ http://tnh1.ne10.uol.com.br/noticia/tecnologia/2015/05/04/322692/como-criar-um-aplicativo-de-sucesso-e-fidelizar- usuarios ➤ http://www.totalcross.com/blog/por-que-o-design-e-importante-para-o-sucesso-do-seu-aplicativo/ ➤ http://www.rankmyapp.com.br/blog/fatores-essenciais-de-um-app-de-sucesso/ ➤ http://opensignal.com/reports/2015/08/android-fragmentation/