Top Banner
Building Apps that Sense, Understand and Adapt JAM844 Ranbijay Kumar – BlackBerry Sean McVeigh – QNX Louis Tang – Viet Hop Software September 26-27, 2013 1
61

Building Apps that Sense, Understand and Adapt.

Jan 21, 2017

Download

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Building Apps that Sense, Understand and Adapt.

Building Apps that Sense, Understand and Adapt JAM844 Ranbijay Kumar – BlackBerry Sean McVeigh – QNX Louis Tang – Viet Hop Software September 26-27, 2013

1

Page 2: Building Apps that Sense, Understand and Adapt.

Sense

Understand

Adapt

Page 3: Building Apps that Sense, Understand and Adapt.

BlackBerry 10 Experience

3

Adapt Sense

Understand

Page 4: Building Apps that Sense, Understand and Adapt.

BlackBerry 10 Experience

4

Sense

Network Connectivity NFC

Location

Accessories

Orientation Displays

Touch

Microphone

Geofence Screens

Acceleration

Heading

Proximity Light

Holster

Smart Card

Page 5: Building Apps that Sense, Understand and Adapt.

BlackBerry 10 Experience

5

Understand Contacts

Calendar

Email BBM SMS

Geocoding PIM Headless

Call Logs

Analytics

Analytics BlackBerry ID

Fused Sensors

Page 6: Building Apps that Sense, Understand and Adapt.

BlackBerry 10 Experience

6

Adapt Active Frames

Cards

Connections

Peek Invocation

Adaptive UI 2nd Screens

Notifications Hub

Share

Hot Keys Accessibility

Text Filters

Battery

Page 7: Building Apps that Sense, Understand and Adapt.

Let's Sense

7

Page 8: Building Apps that Sense, Understand and Adapt.

Touch Interactions

Know when you’re touched Be sensitive to them

Use interactive controls

Take advantage of gestures

8

Page 9: Building Apps that Sense, Understand and Adapt.

Location

Know where you are A pivotal event for apps

9

Page 10: Building Apps that Sense, Understand and Adapt.

Location

10

Cell Tower WLAN GPS

Carrier Assisted Modes

Page 11: Building Apps that Sense, Understand and Adapt.

Sensors

How are you holding it You are going too fast You’re off by 180 degrees Rollercoasters are awesome

11

Page 12: Building Apps that Sense, Understand and Adapt.

Sensors

�  Accelerometer �  Acceleration in m/s/s (x,y,z)

�  Magnetometer �  Magnetic field in uT (x,y,z)

�  Gyroscope �  Angular velocity in rad/s (x,y,z)

�  RotationMatrix �  Rotation on x, y, z

�  Compass �  Degrees from north

12

Page 13: Building Apps that Sense, Understand and Adapt.

Demo ARKick

13

Page 14: Building Apps that Sense, Understand and Adapt.

Device Surroundings

It’s too bright, I cant see. Silence please. I know that face!

Don’t get too close, I bite.

14

Page 15: Building Apps that Sense, Understand and Adapt.

Sensors

�  Proximity �  Distance in cm (or close/far)

�  Light �  Illumination in lux

�  Holster �  Holster detection

�  Microphone �  Audio intensity, waveform

�  Camera �  Face detection, surveillance

15

Page 16: Building Apps that Sense, Understand and Adapt.

Demo Flip Shush SoundHound

16

Page 17: Building Apps that Sense, Understand and Adapt.

Network Connectivity

Know your network

17

Page 18: Building Apps that Sense, Understand and Adapt.

NFC

I like the sound of that tap! Get me the data.

18

Page 19: Building Apps that Sense, Understand and Adapt.

Phone Calls

Detect cellular or VOIP calls When they get connected

And when they get disconnected

19

Page 20: Building Apps that Sense, Understand and Adapt.

Accessories (Bluetooth/USB)

Sense input devices Gamepads, keyboards, mice

20

Page 21: Building Apps that Sense, Understand and Adapt.

BlackBerry Balance

I am in Personal – Let's party I am in Work – Let's be serious

21

Page 22: Building Apps that Sense, Understand and Adapt.

Headless Apps

�  Do I need to be headless �  Should I always run

�  Long Running Headless Apps �  Should I run on certain triggers

�  Trigger based headless apps

22

Page 23: Building Apps that Sense, Understand and Adapt.

Headless Triggers

�  Port directed SMS �  Geofence Enter/Exit �  Device Startup �  Push Notifications �  more to come…

23

Page 24: Building Apps that Sense, Understand and Adapt.

Let's Understand

24

Page 25: Building Apps that Sense, Understand and Adapt.

Contacts

�  Create/Read/Update/Delete �  Find out recent activities �  Know when people change �  Find the right guy

25

Page 26: Building Apps that Sense, Understand and Adapt.

Messages

�  Create/Read/Update/Delete email & SMS

�  Know when new ones arrive �  Find that conversation

26

Page 27: Building Apps that Sense, Understand and Adapt.

Calendar

�  Create/Read/Update/Delete events �  Know when events change �  Search the database

27

Page 28: Building Apps that Sense, Understand and Adapt.

BBM

�  Who else has my app? �  Who doesn’t have it yet? �  Read user profile

28

Page 29: Building Apps that Sense, Understand and Adapt.

Phone Calls

�  Retrieve who called �  When did they call? �  When is a call being received? �  Augment the sense!

29

Page 30: Building Apps that Sense, Understand and Adapt.

Network Connectivity

Should I transfer now? Are their better hotspots to connect to?

30

Page 31: Building Apps that Sense, Understand and Adapt.

Demo Nobex

31

Page 32: Building Apps that Sense, Understand and Adapt.

Geofence

Add meaning around locations “Truck 181 went off the grid”

32

Page 33: Building Apps that Sense, Understand and Adapt.

Geocoding

Lat/Lon vs Addresses OR

Device vs Human

33

Page 34: Building Apps that Sense, Understand and Adapt.

Demo Foursquare

34

Page 35: Building Apps that Sense, Understand and Adapt.

Fused Sensors

Sensors are cool Fused sensors are better

�  Create new data types

�  RotationMatrix

�  Enhance sensor data �  Compass

35

Page 36: Building Apps that Sense, Understand and Adapt.

Demo Star Tracker

36

Page 37: Building Apps that Sense, Understand and Adapt.

Analytics

Use to measure �  Audience reach �  Engagement �  Usage pattern �  Retention, conversions, revenue and more

Use to track key metrics �  purchases, downloads, revenues, rankings, etc.

37

Page 38: Building Apps that Sense, Understand and Adapt.

Let's Adapt

38

Page 39: Building Apps that Sense, Understand and Adapt.

Invocation Framework

Invoke another app for a task Embed apps inside apps Transfer data (files) between apps Get invoked 39

Page 40: Building Apps that Sense, Understand and Adapt.

Core Invoke Targets

40

Documents  

Mul-media  

Communicate  

Produc-vity  

Social  

Page 41: Building Apps that Sense, Understand and Adapt.

Get invoked

�  Register for URIs �  Register for MIME types �  Register actions

�  OPEN, SET, SHARE

�  User managed Defaults

41

Page 42: Building Apps that Sense, Understand and Adapt.

BBM

�  Update user profile �  Status, avatar, availability

�  Update Application Box Profile �  Achievements, badges

42

Page 43: Building Apps that Sense, Understand and Adapt.

NFC

�  Read/Write NFC tags �  Transfer content P2P �  Emulate a card/smart card

43

Page 44: Building Apps that Sense, Understand and Adapt.

Phone Calls

�  Make phone calls �  Disconnect phone calls

44

Page 45: Building Apps that Sense, Understand and Adapt.

String Pattern

�  Register for String Patterns �  RegEx or Strings

�  Make them active links �  Get invoked by them

45

Page 46: Building Apps that Sense, Understand and Adapt.

Notifications

Something that can wait?

�  Hub notifications with invoke Immediate attention required?

�  Show a Notification Dialog Not immediate but can’t wait too long

�  Instant Preview with invoke

46

Page 47: Building Apps that Sense, Understand and Adapt.

Hub Integration

�  Appear as an account in Hub �  How will you sync your messages? �  Push Notification Service

�  Requires Push trigger �  Periodic sync

�  Requires a long running headless �  Connect with invoke hooks for

�  View/Delete/Reply etc.

47

Page 48: Building Apps that Sense, Understand and Adapt.

Active Frames

Show the single most important item

Is it more important for users to see the state of the app when it is minimized?

Update when new data arrives

48

Page 49: Building Apps that Sense, Understand and Adapt.

Demo MLB

49

Page 50: Building Apps that Sense, Understand and Adapt.

Network Connectivity

�  Transfer data �  Monitor progress �  Adapt to errors, speed and cost

50

Page 51: Building Apps that Sense, Understand and Adapt.

Battery

�  Monitor �  Condition �  Charge capacity �  Level �  Temperature

�  Should you still play that video? �  Should you turn off location queries?

51

Page 52: Building Apps that Sense, Understand and Adapt.

Who’s Peeking?

�  Respond to peek events �  Show something contextual

52

Page 53: Building Apps that Sense, Understand and Adapt.

2nd Screens

What displays are available?

Mirror vs Extend

Invoke Miracast Card

53

Page 54: Building Apps that Sense, Understand and Adapt.

Adaptive UI

One UI to rule them all? Don’t simply scale up/down

Make your UI adaptive Layout, size, visibility

54

Page 55: Building Apps that Sense, Understand and Adapt.

Accessories (Bluetooth/USB)

A full size keyboard can be much faster Take inputs from Gamepads

55

Page 56: Building Apps that Sense, Understand and Adapt.

Demo Critical Wave

56

Page 57: Building Apps that Sense, Understand and Adapt.

Case Study Goi Taxi

57

Page 58: Building Apps that Sense, Understand and Adapt.

How can I find out more?

58

• Code  • Example  source  code  available  on  Git  Hub  h8ps://blackberry.github.com  

• Support  • More  detailed  help  and  informaAon  is  available  on  the  Support  Forums  h8p://supporDorums.blackberry.com  

• Contact  us  if  you  have  ques-ons  • Twi8er  • Ranbijay  Kumar  @ranbijay  • Sean  McVeigh        @sdlmcveigh  

Resources  

Page 59: Building Apps that Sense, Understand and Adapt.

For More Information…

�  JAM805 - Beyond the Device: Extending the Device Experience with Wireless Peripherals

�  JAM804 - Beyond the Device: Extending the Device Experience with (mostly) Wired Peripherals

�  JAM803 - How the Use of NFC is Evolving: Innovative Ways to Use NFC Beyond Payments

�  JAM834 – Making the Most of Cards and Invocation

  59

Page 60: Building Apps that Sense, Understand and Adapt.

For More Information…

�  JAM840 – Headless Apps with Cascades �  JAM842 – Native Camera: View the World from a

Different Angle �  JAM839 – Maps, Geofencing and Location Based

Services in your App �  JAM825 – Understanding Who Uses Your App and How

with in-app Analytics

  60

Page 61: Building Apps that Sense, Understand and Adapt.

THANK YOU

JAM844 Ranbijay Kumar – BlackBerry Sean McVeigh – QNX Louis Tang – Viet Hop Software September 26-27, 2013

61