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
67
Falcon PRO - Retour d'expérience (French)
joaquimverges
3
720
Other Decks in Technology
See All in Technology
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
210
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
220
オーナーシップを持つ領域を明確にする
konifar
13
3.2k
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
320
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
2
280
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.8k
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
680
開発パフォーマンスを最大化するための開発体制
ham0215
2
450
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
260
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
1
250
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
180
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
Featured
See All Featured
Faster Mobile Websites
deanohume
299
30k
GitHub's CSS Performance
jonrohan
1025
450k
It's Worth the Effort
3n
180
27k
Docker and Python
trallard
34
2.7k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
2
1.3k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
A Modern Web Designer's Workflow
chriscoyier
689
190k
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