Subject
|
Google Developers Summit 2015
|
Place
|
Campus Seoul
|
Time
|
April 29, 2015 (Mon) 09:30~18:00
|
Speaker
| |
Host
|
Google
|
Focus
|
Android, Android TV, Play, App Indexing, Cloud Platform, AdMob
|
- Building for the Next Billion Users (Chansuk Yang, Developer Advodate)
- Lesson
- build products/services for the next billion requiring low battery power and low memory
- 8 things to consider in building apps
- Mobile data is valuable: treat data like money
- Put your app on a diet: APK size matters, remove unused code and resources (minifyEnabled=true, shrinkResources=true), try using WebP (an open source image format developed by Google)
- Smooth like butter: keep graphics performance smooth (aim for 60 fps, this allows for ~16ms per frame (1000/60), try to reduce actual and perceived latency, minimize layout overdraw and layout depth, only run UI updates and logic on the UI thread, memory allocations can cause GC (use a library like Glide), use tools (Systrace for CPU, Hierarchical Viewer for information hierarchy, GPU profiling and overdraw))
- Touch latency = actual latency + perceived latency (users generally allow ~100ms)
- Memory: limit background service, use Subclass IntentService not Service, check memory usage by using ActivityManager.isLowRamDevice(), onTrimMemory() callbacks, use memory monitor tool on Android Studio
- Bitmaps: use proper size of images on the server side, use Glide
- Battery: primary consumers of battery screen, mobile network, inability to enter low power mode; avoid holding WakeLocks directly, let the system wake you (by using GCM, AlarmManager, use the new JobScheduler API for Android 5.0+, pre-fetch content by allowing fewer large downloads
- App architecture
- design guidelines: use app bar?
- case study by Jinkyoung Na from Plus X
- tested apps by using inbuilt testing tools within Android SDK
- implemented Glide which reduced AVG 90MB memory footprint to 40MB
- used GPU profiler to test memory usage on Android phones
- used Overdraw Debugger which changed from red color to green or transparent
- used hierarchy viewer
- personal takeaway: make file size smaller and use less battery when developing apps for 1B users
- Developing Games with Google (TI Chang, Developer Advocate)
- lesson
- Android TV
- uses the same API like Android
- follows TV Quality Guideline
- has Nearby Connections API (connect devices using the same Wi-Fi)
- Player Analytics
- use Google Play Game Services to improve your game by understanding player behavior and key metrics
- offering: manage targets, identify hotspots, understand players, and more
- Flat Buffers
- YouTube
- question: how to deal with new user acquisition and retention due to increased acquisition cost
- solution: try YouTube’s gaming community
- use YouTube API: e.g.record game e.g. FIFA
- live screencast e.g. elgato’s live streaming game play to capture both player and game play
- YouTube Direct Lite
- YouTube Player API for tutorials
- Google Cast
- A Google Cast game enables multi screen gameplay between mobile devices and televisions
- 2 types: cast-enabled, cast-required
- controller: accelerometer, no-look controls, virtual controller, target manipulation
- think whether help users focus on TV or mobile screen
- personal takeaway: implement newest APIs and tools (Player Analytics) to improve service by tracking users
- Building Realtime Apps with Firebase (MG Choi, Korea Sales Engineering, Cloud Platform; Ian Lewis, Developer Advocate)
- lesson
- background: connected multi-devices
- mobile is different
- variable UI constraints
- devices are personal and always on
- networks are unreliable and apps need to work offline
- mobile challenges
- apps must work on multiple platforms
- users expect real-time updates: e.g. Uber users expect real-time feedback
- sometimes connected devices mean distributed state
- large number of devices requires massive scale
- Realtime Mobile Development with Firebase
- Firebase: realtime application platform
- benefit: realtime database, user management, file hosting
- realtime database
- NoSQL, JSON (hierarchical data structure) database
- etc.
- personal takeaway: consider using Firebase for realtime app development?
- Launchpad (Uttam Tripathi, Program Manager, Startup Launch-Developer Platform)
- lesson
- Launchpad program help startups through mentoring and providing resource to succeed
- two stage benefits start stage and scale stage
- Play Policy Update (Boram Kim, Android Developer Support, Google Play)
- lesson
- all about policy
- Play store direction, policy: safety, high quality, consistency?
- example
- spam: e.g. keyword
- branding
- ad: e.g. ad outside of app (unmatching between ad and app content level)
- IP: music source
- privacy
- exposure
- spyware
- IARC (international age rating coalition)- updated class
- contact IARC if you keep constantly receiving undesirable rating in taking survey
- app category: the main purpose of app (e.g. game if the app has 55% game and 45% social)
- retake survey only when the app update affecting contents level
- don’t worry about UGC and ad contents level
- answer survey questions conservatively to receive desirable rating
- Developer support, how & what?
- tips to know for developers: transfer app ownership when needed, taking 24 hours if target country is well set, 70% goes to developer, DDA update (user support responsibility: e.g. Q&A and push-back, answer to user within 3 days, to Google within 24 hours)
- personal takeaway: know policy updates
- An Introduction to Android TV (Developing Apps for Android TV) (Chansuk Yang, Developer Advodate)
- lesson
- concept
- casual: consider users whose intelligence got lowered (e.g. easy to understand)
- cinematic: contents need to be the center, make icons’ size bigger
- simple: UX (e.g. remote controller)
- same and difference
- same: API, etc. of Android
- difference: no touch screen, bigger screen with different resolution, no camera, no GPS, no microphone, no NFC, no telephony, no gamepad?
- key feature
- leanback UI (10 feet screen)
- leanback support library
- focus on contents not unique UIs
- Recommendation: Recommendation Row is open to developers (e.g. app -> Notification Manager -> Leanback Launcher)
- Search: create Search Provider (esp. query method)-> SearchManager Columns- Cursor
- Android TV compatibility
- App banners: localize (l10n) banner message
- Case by Yooii Studios by Wooseong Kim
- personal takeaway: adapt UI and more for Android TV
- An Introduction to Deep Linking and App Indexing (Don Kim, Partner Technology Manager; Sofia Andrianakou, Strategic Partner Development Manager)
- lesson
- consider how you would want your users discover your app on Google Search and list up in the description on Google Play
- great for acquiring new users and re-engage existing users
- success case
- Etsy: 11.6 increase in referrals on daily traffic, 200% increase in impressions
- The Guardian: CTR 4.5% increase in clicks
- MangoPlate- 7% increase in DAU
- search completion: providing app suggestion along with search suggestions
- grow users via app installs
- how to index your app (g.co/dev/codelab-indexmyapp)
- step #1: add deep link support to app
- step #2: verify your website in connection with app
- step #3: publish app deep links (website markup sitemap)
- then, indexing starts and will display results in 1-2 weeks
- additional step: check for errors and status
- personal takeaway: follow through steps for App Indexing
- What targeting can do to your app/game? (Siyoung Choi, AdMob Industry Manager)
- lesson:
- mobile business platform (ad network, execution, analytics), help targeting
- targeting: connect between advertiser and publisher
- type: e.g. age, gender, region, device, etc.
- example:
- improving usability (e.g. Nekoatsume asking users whether to see ads) -> increased CTR
- personal takeaway: use proper ad strategy for various user groups