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

Tuesday, April 28, 2015

[lecture] Growth Hacking by 고영혁 from 쫄지마 창업스쿨 (translation: Don’t be Afraid Entrepreneurship School)



Subject
쫄지마 창업스쿨 (translation: Don’t be Afraid Entrepreneurship School)
Place
Maru 180 B1F, Seoul
Time
April 28, 2015 (Mon) 19:30~21:50
Speaker
고영혁 (Dylan Ko)
Host
Asan Nanum
Focus
growth hacking concept, how-to, case


  1. Lesson
    1. concept: intersection between engineering and marketing
    2. component: analytics in the center, and others (viral growth, landing page optimization, SEO, product management, on-boarding, analytics, PR, etc.) around
    3. essence: increase conversion by consistent measurement and analysis
    4. steps to growth hack
      1. step #1: create PMF (product market fit) in product market
        1. PMF is similar to lean startup’s MVP (minimum viable product)
        2. conduct interactive prototyping by observing interviews closely for their quantity and quality
        3. use tools (e.g. Optimizely for A/B testing)
      2. step #2: generate leads
        1. focus on passionate and targeted first 100~1,000 users
        2. know user cohorts
      3. step #3: maximize word-of-mouth
        1. add share buttons to assist users wanting to spread news to fulfill their rewards such as emotional or monetary
        2. read the Buzzfeed case (e.g. link)
      4. step #4: retain customers and optimize
        1. watch closely customer experience and conversion: e.g. 5% increase of customer retention generates 30 % increase of company profitability (source: Bain & Company)
    5. prep for growth hacking based on data analysis
      1. metrics: standard (i.e. base), milestone (e.g. from a to b, try one scenario, then move to next scenario), stock (i.e. snapshot) and flow (i.e. change over time)
        1. quantity vs. quality
        2. investigative vs reportive
        3. void vs. actionable: void (e.g. click, page view, visit (reach), unique visitor, follower/friend/like) vs. actionable (e.g. when growth rate speed changes from 4.4 to 3.4, find bottleneck)
        4. number vs. rate
        5. predictive vs. summarized
        6. relational vs. causal: relational (e.g. relationship between soft drink and umbrella during rain season) vs. causal (e.g. b/c of a, b occurs)
      2. CLV (customer lifetime value)
        1. use this concept in service planning
        2. life in CLV means from the start and end of the user in using service
        3. determining factor: decreasing AC (customer acquisition cost)
      3. Dave McClure’s AARRR
        1. acquisition: focus on user acquisition cost
        2. activation: registration rate, email readers rate
        3. retention
        4. referral
        5. revenue
      4. A/B testing: control other factors when modifying an independent factor
      5. cohort analysis: pay attention to various factors more than one factor influencing users’ exit (e.g. on x and y axis: put member date on x and exit date on y)
      6. The Stages of Lean Analysis
      7. look at checklist
    6. case
      1. non-Korean example
        1. LinkedIn: allowed service appearing organically on Google’s SERP (search engine result page)
        2. YouTube: used embedding links
        3. Airbnb: used spam mail to craigslist users by solving users’ pain point
        4. Hotmail: inserted a tiny ad at the bottom of message
        5. PayPal: included logo on eBay’s search result page
      2. Korean example
        1. 젤리버스 (Jelly Bus)
          1. finding market: pivoted from photo-editing to photo-collaging
          2. marketing: visited mad users’ posts and added replies, generating viral through loyalty users
          3. l10n with SEO: localized translations by using words appeared on Google SERP
          4. metrics: MAU, monthly app usage frequency
          5. tool: Appstatics for hot app downloads
        2. 요기요 (Yogiyo)
          1. PMF: minimize order and delivery process and touch interactions, and list just contact info and address
          2. paid attention to rate at each funnel process
          3. targeted minimizing CAC per channels
          4. took advantage of IPTV ad by matching users between app and IPTV
          5. created a success team tracking all data and provided feedback to each member (e.g. asked about meaningful data)
          6. minimized delivery failure to zero by changing map structure
          7. iterated test -> action -> optimize
      3. c.f. implement user’s developed feature in your service
    7. know-how
      1. analyze first experience thoroughly to see how new users came, what happened environmentally, how users moved, etc.
      2. create growth hacking culture from the top and spread within organization
      3. communicate within departments of development, planning, marketing and design team
      4. list up success and failure history structurally by sharing which change influenced what, what environment was there when something happened to find out cause and effect
      5. reuse success patterns by listing up rules from success history
      6. customize dashboards to meet your needs
      7. talk about performance through metrics within your organization by creating stories by metrics
      8. divide measuring subjects? until you can’t divide
      9. focus on causality not relation-ability?
      10. share small success within organization
    8. tools
      1. Fanpagekarma.com to investigate competitors to know e.g. demographics and topics
      2. Social Lead Freak to target users
      3. bit.ly for link tracking
      4. http://www.usertesting.com/ for outsourced user testing
  1. personal takeaway
    1. AC is the most important number to minimize
    2. growth hack everything

Tuesday, April 21, 2015

[conference] GDG Korea Android Conference


Subject
GDG Korea Android Conference
Place
Campus Seoul
Time
April 18, 2015 (Sat) 13:00~18:00
Speaker
Host
Google
Focus
Android UX/UI design
  1. UX/UI Guidelines for Android 2015 [임성혁@Apps&Games Solutions Consultant]
    1. lesson
      1. basic
        1. Iconography: with transparency, xxxhdpi in resolution folder
        2. Notification: white notification icon (rule: transparency and white color with shape, 20x24 size], stacking (e.g. putting new messages together)
        3. SDK Version: target to the most updated version (e.g. 21.5.1) v. minSdkVersion, targetSdkVersion, maxSdkVersion <- modify within manifest
        4. Graphic Assets: screenshots resolution (include tablet screenshots 7 or 10 inch), hi-res icon, graphic image, feature graphic, promotion video (minimize uninstall rate from users)
        5. Localized Assets: language and images (localized explanation in description language and screenshots)
        6. Google Play Policy: keyword spam (e.g. too many usage, irrelevant keywords/description), app title (e.g. Android Mediaplayer), fake ratings & reviews (e.g. do you want to rate this app? rate and gain 500 coins), affiliate spam (e.g. contracted with such and such company)
        7. Permission: identity, contacts, location, SMS, phone <- include explanation
      2. Apps
        1. What feature in app: brief description before main app
        2. Sign in: various login options
        3. Tabs: scrollable tabs (i.e. swipeable tab menu)
        4. Touch Feedback: various status (e.g. long press, click, etc)
        5. Tablet Optimization: combination multiple views into one, compound views, orientation changes, full feature set for tablet users
      3. Games
        1. Play Game Services: auto sign-in PGS (log-in image -> play games log-in page; back key and cancel=> ?), entry point, achievements (at least 5) and leaderboard, manual sign-in PGS
        2. Back Button: dismiss pop-ups (when back button is selected), pause and resume (for time frame required)
        3. Tutorial: enable to skip (because too long; put icon about read again tutorial button)
    1. personal takeaway
      1. read Android and iOS UX guideline

  1. 테스트코드에서 코드 커버리지까지 [정승욱 (Steve Jung), Robolectric Contributor@Toss Lab]
    1. lesson and personal takeaway: for startups, time is more important than money

Sunday, April 19, 2015