Monday, May 4, 2015

[conference] Google Developers Summit 2015 in Seoul



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


  1. Building for the Next Billion Users (Chansuk Yang, Developer Advodate)
    1. Lesson
      1. build products/services for the next billion requiring low battery power and low memory
      2. 8 things to consider in building apps
        1. Mobile data is valuable: treat data like money
        2. 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)
        3. 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))
        4. Touch latency = actual latency + perceived latency (users generally allow ~100ms)
        5. 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
        6. Bitmaps: use proper size of images on the server side, use Glide
        7. 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
        8. App architecture
      3. design guidelines: use app bar?
      4. case study by Jinkyoung Na from Plus X
        1. tested apps by using inbuilt testing tools within Android SDK
        2. implemented Glide which reduced AVG 90MB memory footprint to 40MB
        3. used GPU profiler to test memory usage on Android phones
        4. used Overdraw Debugger which changed from red color to green or transparent
        5. used hierarchy viewer
    2. personal takeaway: make file size smaller and use less battery when developing apps for 1B users


  1. Developing Games with Google (TI Chang, Developer Advocate)
    1. lesson
      1. Android TV
        1. uses the same API like Android
        2. follows TV Quality Guideline
        3. has Nearby Connections API (connect devices using the same Wi-Fi)
      2. Player Analytics
        1. use Google Play Game Services to improve your game by understanding player behavior and key metrics
        2. offering: manage targets, identify hotspots, understand players, and more
      3. Flat Buffers
      4. YouTube
        1. question: how to deal with new user acquisition and retention due to increased acquisition cost
        2. solution: try YouTube’s gaming community
          1. use YouTube API: e.g.record game e.g. FIFA
          2. live screencast e.g. elgato’s live streaming game play to capture both player and game play
          3. YouTube Direct Lite
          4. YouTube Player API for tutorials
      5. Google Cast
        1. A Google Cast game enables multi screen gameplay between mobile devices and televisions
        2. 2 types: cast-enabled, cast-required
        3. controller: accelerometer, no-look controls, virtual controller, target manipulation
        4. think whether help users focus on TV or mobile screen
    2. personal takeaway: implement newest APIs and tools (Player Analytics) to improve service by tracking users


  1. Building Realtime Apps with Firebase (MG Choi, Korea Sales Engineering, Cloud Platform; Ian Lewis, Developer Advocate)
    1. lesson
      1. background: connected multi-devices
      2. mobile is different
        1. variable UI constraints
        2. devices are personal and always on
        3. networks are unreliable and apps need to work offline
      3. mobile challenges
        1. apps must work on multiple platforms
        2. users expect real-time updates: e.g. Uber users expect real-time feedback
        3. sometimes connected devices mean distributed state
        4. large number of devices requires massive scale
      4. Realtime Mobile Development with Firebase
        1. Firebase: realtime application platform
        2. benefit: realtime database, user management, file hosting
          1. realtime database
            1. NoSQL, JSON (hierarchical data structure) database
            2. etc.
    2. personal takeaway: consider using Firebase for realtime app development?


  1. Launchpad (Uttam Tripathi, Program Manager, Startup Launch-Developer Platform)
    1. lesson
      1. Launchpad program help startups through mentoring and providing resource to succeed
      2. two stage benefits start stage and scale stage
    2. personal takeaway: take advantage of available resources here


  1. Play Policy Update (Boram Kim, Android Developer Support, Google Play)
    1. lesson
      1. all about policy
        1. Play store direction, policy: safety, high quality, consistency?
        2. example
          1. spam: e.g. keyword
          2. branding
          3. ad: e.g. ad outside of app (unmatching between ad and app content level)
          4. IP: music source
          5. privacy
          6. exposure
          7. spyware
        3. IARC (international age rating coalition)- updated class
          1. contact IARC if you keep constantly receiving undesirable rating in taking survey
          2. app category: the main purpose of app (e.g. game if the app has 55% game and 45% social)
          3. retake survey only when the app update affecting contents level
          4. don’t worry about UGC and ad contents level
          5. answer survey questions conservatively to receive desirable rating
      2. Developer support, how & what?
        1. policy and other support channel: visit play.google.com/policy or play.google.com/apps/publish
        2. 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)
    2. personal takeaway: know policy updates


  1. An Introduction to Android TV (Developing Apps for Android TV) (Chansuk Yang, Developer Advodate)
    1. lesson
      1. concept
        1. casual: consider users whose intelligence got lowered (e.g. easy to understand)
        2. cinematic: contents need to be the center, make icons’ size bigger
        3. simple: UX (e.g. remote controller)
      2. same and difference
        1. same: API, etc. of Android
        2. difference: no touch screen, bigger screen with different resolution, no camera, no GPS, no microphone, no NFC, no telephony, no gamepad?
      3. key feature
        1. leanback UI (10 feet screen)
        2. leanback support library
        3. focus on contents not unique UIs
        4. Recommendation: Recommendation Row is open to developers (e.g. app -> Notification Manager -> Leanback Launcher)
        5. Search: create Search Provider (esp. query method)-> SearchManager Columns- Cursor
      4. Android TV compatibility
        1. App banners: localize (l10n) banner message
      5. Case by Yooii Studios by Wooseong Kim
    2. personal takeaway: adapt UI and more for Android TV


  1. An Introduction to Deep Linking and App Indexing (Don Kim, Partner Technology Manager; Sofia Andrianakou, Strategic Partner Development Manager)
    1. lesson
      1. consider how you would want your users discover your app on Google Search and list up in the description on Google Play
      2. great for acquiring new users and re-engage existing users
      3. success case
        1. Etsy: 11.6 increase in referrals on daily traffic, 200% increase in impressions
        2. The Guardian: CTR 4.5% increase in clicks
        3. MangoPlate- 7% increase in DAU
      4. search completion: providing app suggestion along with search suggestions
      5. grow users via app installs
      6. how to index your app (g.co/dev/codelab-indexmyapp)
        1. step #1: add deep link support to app
        2. step #2: verify your website in connection with app
        3. step #3: publish app deep links (website markup sitemap)
        4. then, indexing starts and will display results in 1-2 weeks
        5. additional step: check for errors and status
    2. personal takeaway: follow through steps for App Indexing


  1. What targeting can do to your app/game? (Siyoung Choi, AdMob Industry Manager)
    1. lesson:
      1. mobile business platform (ad network, execution, analytics), help targeting
      2. targeting: connect between advertiser and publisher
        1. type: e.g. age, gender, region, device, etc.
        2. example:
          1. improving usability (e.g. Nekoatsume asking users whether to see ads) -> increased CTR
    2. personal takeaway: use proper ad strategy for various user groups