Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The making of Falcon Pro 3
Search
joaquim Vergès
February 03, 2015
Technology
23
22k
The making of Falcon Pro 3
Lessons learned from building Falcon Pro 3
joaquim Vergès
February 03, 2015
Tweet
Share
More Decks by joaquim Vergès
See All by joaquim Vergès
Twitch For Android: From Meme to Dream
joaquimverges
0
78
Falcon PRO - Retour d'expérience (French)
joaquimverges
3
730
Other Decks in Technology
See All in Technology
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
5
2.2k
Enhancing SaaS Product Reliability and Release Velocity through Optimized Testing Approach
ropqa
1
250
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
640
ソフトウェアテストのAI活用_ver1.25
fumisuke
1
570
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
2
220
ビジネス職が分析も担う事業部制組織でのデータ活用の仕組みづくり / Enabling Data Analytics in Business-Led Divisional Organizations
zaimy
1
310
united airlines ™®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedhelp
1
470
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
260
対話型音声AIアプリケーションの信頼性向上の取り組み
ivry_presentationmaterials
2
700
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
500
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
tomoki10
1
550
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
150
Featured
See All Featured
A designer walks into a library…
pauljervisheath
207
24k
Adopting Sorbet at Scale
ufuk
77
9.5k
Six Lessons from altMBA
skipperchong
28
3.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
How to train your dragon (web standard)
notwaldorf
96
6.1k
GitHub's CSS Performance
jonrohan
1031
460k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Become a Pro
speakerdeck
PRO
29
5.4k
Faster Mobile Websites
deanohume
307
31k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
We Have a Design System, Now What?
morganepeng
53
7.7k
Transcript
The making of Falcon Pro 3 Joaquim Verges - @joenrv
THE CHALLENGE
GEAR UP
COMBO! Retrofit + Jackson/Gson + ORM =
START CODING Multi Activity vs single Activity Back stack? →
new activity! Inside one activity → reusable fragment(s) Notif Notif / Intent filter Notif / Intent filter
CACHING: ORMLite vs Realm ORMLite SQLite based. full java, open
source Realm TightDB based. Closed source C++ core, open source java bindings
OrmLite Realm
Writes in OrmLite
Writes in Realm
Queries in OrmLite
Queries in Realm
Query performance
THREADING AsyncTasks are fine but… could be better:
UI RecyclerView or ListView ? Definetly RecyclerView. Slightly annoying API,
but worth it.
THE BAD: API FAIL Oh google… ListView : 3,905 lines
of code + 7,314 lines in AbsListView RecyclerView : One giant class with 8,427 lines of code Requires work to port from listview
THE GOOD: - free, extensible insert/remove animations - handles position
changes much better - default implementation performs well
ANIMATIONS • Activity Transitions • Shared elements
ANIMATIONS • Layout Transitions • AnimUtils
60 FPS OR NOTHING
RECIPE FOR 60 FPS SCROLLING DONT DO THIS • Deep
view hierarchy • Allocations on critical path • Overdraw USE THE PROVIDED TOOLS • GPU rendering profiling • Tracer for OpenGL • Memory Monitor • Allocation tracker
PROFILING GPU RENDERING GOOD NOT GOOD
DESIGN • sketching • coolors.co • icons https://github.com/konifar/android-material-design-icon-generator-plugin
DESIGN FONTWEIGHTS android:font_family ABC regular ABC light ABC slab ABC
condensed
DESIGN Content first Polish and details
CRASH REPORTING & ANALYTICS Crashlytics + Answers • just the
metrics you need • solid crash reporting tool only downside: • no custom events
SECURITY Paid app? be careful • Proguard • LVL is
over hacked • IAP > paid app • custom server logic
BETA lessons learned from private BETAs with Google+ communities: Don’t
do it. Go public.
PUBLISH The poor’s man marketing material: • video: adb shell
screenrecord • simple banner • framed screenshots • launcher icon
RELEASE EARLY & ITERATE Release too early ? Maybe :)
RELEASE EARLY & ITERATE User driven development! • lets the
users feel like they’re part of the project. • automatic todo list & great engagement. • fix a user’s problem, he becomes your best customer
WAS IT WORTH IT?
YOU CAN DO IT TOO!
Hit me on Twitter! @joenrv QUESTIONS