Posted on 7 mins read

Foreword

These are my rough notes from Google DevFest 2016.

Pre-DevFest

Met Gerard from gLabs and Kai from Grab.

Mockable

Test http responses. Stub. Dummy object.

Welcome and GDG-SG Report

Mr.Bharathi manages GDG-SG.

Events:

  • I/O Extended: Recap I/O (Q3)
  • GCP Next (Q2, cloud)
  • Study Jams: Basic course on android. (Q1, Q4)
  • Women Techmakers
  • DevFest (Q4)

Google Developers (last 6 months)

  • Firebase (database stuff transform to ecosystem)
  • Android7.0 (Dooze, multiwindow, Vulcan API for games)
  • GCP (Google Cloud Platform)
  • Machine Learning and other stuff

Facebook page is more active http://bit.ly/gdg.sg

Firebase Pitch. Firebase Dev Summit 7th Nov Berlin Germany. Livestream available.

Android Pay: SG, HK, AUS.

Associate Android Developer Certification. (Google?)

GCP 2017 Singapore, Sydney, Mumbai and Tokyo. Getting support.

Google cloud editor. StackDriver. Chrome Payment API.

Accelerated Mobile Pages (AMP). Goal: Same speed as native applications.

Progressive Web Apps (PWA): Some features like push notifications faster

TensorFlow 0.9: Run neural networks on device itself. iOS. Android

DayDream: VR Platform

Google Home: Like Alexa? But powered by Google Assistant.

Making a difference through Technopreneurship

Regional Director, Edmas Neo, Infocomm Investments Pte Ltd. They are a Venture Capital under ministry of finance managing a 200M fund.

TAG.Pass (Methodology)

Ideation -> Accelaration -> Incubation -> Expansion

Now: with IDA to coach Startups.

Framing your mind. Change perspective -> New solutions.

NTU CAS (Career Aspiration Survery) 2010

  • <8% Entrepreneur
  • 21% Leadership/Manager
  • 71% Professional

Stuff about technology and innovation being important and showing govt/foreign govt articles. Epistemological Bias?

17th Global startup ecosystem ranking Innovative cities.

You can also find entrepreneurs to work for: Technopreneur Action Group (TAG)

Making your cool app awesome

Mr Stefan Hogendoorn from Netherlands (Google Developer Expert, Co-founder, Qlouder Amsterdam)

@shogendoorn, stefan@qlouder.com.

The Cool App

A feed search for twitter. Get twitter message by topic. Used to get a quick overview of a topic.

Polymer - declaratively create a web application.

Architecture

Polymer client connects to python flask server which in term connects to twitter. Good reason why the python app is inbetween (to be explained).

(shows barebones app. not cool.)

COOL? add Google Cloud Platform stuff.

Adding interaction: Firebase (Realtime database).

Polymer client connects to Firebase and to python flask server which in term connects to twitter and Firebase

Observation: While typing polymer pulls data from Firebase. Realtime interaction.

COOLER? Machine Learning.

GCP has ML stuff. Google visionary. Google photos already using google visionary api (Groups by food, people).

Gets url of image from tweet. Base64 encode it then send it to the vision API.

“At a hackathon, winning team got images from a video stream then sent to the API to determine if people in images were bored or something.”

Acccelerated Mobile Pages (AMP) - An Overview

Mr Arudea Mahartianto (Google)

Shift to mobile. Messages from mother to buy groceries etc. (used to be calls? idk.)

Problem: Content consumption can be frustrating.

Examples:

  • Slow-loading pages.
  • Unresponsive experiences.
  • Unexpected content reflow.

53% of people abandon a website that takes more than 3 seconds to load. People also question credibility of website.

We need something that is: Fast, easy to implement, mobile friendly, embrace open web, enable monetization.

Enter AMP

How it works?

Does not allow third party javascript… Okay you can use it in sandboxed amp-iframes.

Limitations for a good reason:

  • No custom js except in sandboxed iframe
  • No scrolling elements
  • Max 50KB inline stylesheet

Many add-ons.

10 Design Principles to Make an Additive App

Mr Borrys Hasian (Google Expert in UX/UI and a mentor for Google Launchpad Accelerator in Silicon Valley).

Only 5 UI/UX google experts in SEA.

Upper limit of apps people use a month is 30 apps. - Nielsen

Inspiration: Don norman, Dieter ram, Tom kelly

What is your product about? How you should start your app design? > Instagram is a simple way to capture and share the world’s moments.

Making your app fun

Rewards of the tribe - gratification from others For example: some intereaction between user and community around.

Make it fun with different pleasures:

  • Physio
  • Socio
  • Psycho
  • Ideo

Rewards of the hunt (material goods, money or information) Like scrolling a feed then you reveal more.

Rewards of the self (mastery, completion, competency, consistency) Make them feel like an expert. How to get people to contribute content, get followers.

External Triggers to get people to use your app. E.g. Facebook. Basically, marketing stratgem.

Conversions How to bring user from beginner stage to an advanced stage. Guided usage of the app. Start your first story. Share with friends. Clear start screen to bring users in: “Find people you know”.

Doing needs to be easier than thinking. Take a photo then UI shows filter options.

Different context. Drive different actions. Profile page? Prompt to take a photo for profile.

Floating Action Button forces you to think what key actions are for this page. Drive user action.

Many of us are creating apps without knowing whether or not it’ll be useful for the users.

How to make it simple?

Antoine de Saint-Exupery quote on perfection.

At Rakuten he cut off 67% of items on screen. Doubled conversion rate. Paradox of what to click.

Nice comforting transitions. (Instagram login page on mobile)

How do we measure?

Emotional Design Score. Get them to agree/disagree with qns for each of the 10 points.

Visceral, Behavioural and Reflective.

Less but better

Q: Why Instagram’s new logo is more colorful.

A guess. Plain white figure ground. Then people will focus more on images. So draws attention.

Some question I didn’t catch. Some law. 64% of users will use the product if certain number of early adopters use the product. Suggestion make it easy for expert user first before simplifying for common user. Common users don’t know what they want.

On Snapchat. Somebody didn’t find it easy but this dude is probably not in the target audience. The younger group does feel that it is instant. Compact short content.

Q: User experience for chatbot.

Rising customer service startup in indonesia. They are moving towards it. He thinks its evolving to that direction. Can suggest products.

Something about email. Email is a huge channel. Depends on target audience.

On Inbox. Came from Google Labs. Useful when traveling. I agree.

Achieving developer happiness by Automating the Android Tests & Workflows

Mr Khang Toh (CTO, PicoCandy)

Sell stickers in managing apps. If we need stickers they have SDKs. Work with Messenger, Viber, BBM, Kakao talk.

In terms of development process. How do you make your team happy?

If its worth doing once, its probably worth automating it but it needs to be clean otherwise you get an automated mess.

Continuous Delivery

Do things in short cycles and release fast.

Key to automating: Testing, builds, distribution.

3 steps to automating your tests:

  • Code Architecture: MVP (YES!!!)
  • Dependency Injection & Mocks: To be able to test and test well (YES!!!)
  • Automate UI Testing: eg Espresso ( T_T how to do this right?)

Some code. Android code testing lab. I DID THIS !!!

Dependency injection with build flavors.

ArgumentCaptor to simulating callbacks.

Why automate UI Testing?

Because it is most expensive.

Increasing cost ->

Unit -> Service -> UI

Espresso

Familiar Instrument testing? This different.

Continuous Delivery

CircleCI. Jenkins used to be bad but now its a lot better. Firebase also has a test lab.

Automate builds and distribution

Using fastlane. Can get screenshots for all locales.

Android Pay Integration - An Implementation Overview

Mr Kenneth Andersson (Director of Engineering, Grab)/ WEE Weing Kai (Mobile Team, Grab)

Android Pay vs Traditonal Credit Card

Stripe as gateway provider in Singapore. Android Pays only allows one token to be charged only one time. Every transaction you need a new token More secure.

Android Pay Flow

MaskedWalletRequest: Either use a fragment they provide (some button) or make your own then do a manual request (diff method call).

FullWalletRequest: Can be configured to use third party gateway like Stripe or BrainTree.

Both requests must be successful. Then you get a token.

Android Pay

  1. Scheduled as a feature work
  2. Deprioritized due to toher work
  3. Turned into a Grabathon project (Grab’s internal hackathon)
  4. Released a week later - launch in record time (24h).

A lot of support from Google team. Thumbs up. A few online meetings. 3 calls (SG, London, MountainView). Different time.

Challenges:

  • Allow user to add android pay
  • Allow users to change card

To change card you need to make another MaskedWallet request. No well documented.

This flow is for physical products. A service can also be considered a physical product.

Why Android Pay? Some people prefer an international brand.

Under the Hood of Android - Quick Review

Mr Jason Zaman (Contributor, Gentoo Linux)

Much much lower. Slides http://blog.perfinion.com/

Android Runtime used to be Dalvik now it is ART.