building apps that sense, understand and adapt
Post on 21-Jan-2017
222 Views
Preview:
TRANSCRIPT
Building Apps that Sense, Understand and Adapt JAM844 Ranbijay Kumar – BlackBerry Sean McVeigh – QNX Louis Tang – Viet Hop Software September 26-27, 2013
1
BlackBerry 10 Experience
4
Sense
Network Connectivity NFC
Location
Accessories
Orientation Displays
Touch
Microphone
Geofence Screens
Acceleration
Heading
Proximity Light
Holster
Smart Card
BlackBerry 10 Experience
5
Understand Contacts
Calendar
Email BBM SMS
Geocoding PIM Headless
Call Logs
Analytics
Analytics BlackBerry ID
Fused Sensors
BlackBerry 10 Experience
6
Adapt Active Frames
Cards
Connections
Peek Invocation
Adaptive UI 2nd Screens
Notifications Hub
Share
Hot Keys Accessibility
Text Filters
Battery
Touch Interactions
Know when you’re touched Be sensitive to them
Use interactive controls
Take advantage of gestures
8
Sensors
How are you holding it You are going too fast You’re off by 180 degrees Rollercoasters are awesome
11
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
Device Surroundings
It’s too bright, I cant see. Silence please. I know that face!
Don’t get too close, I bite.
14
Sensors
� Proximity � Distance in cm (or close/far)
� Light � Illumination in lux
� Holster � Holster detection
� Microphone � Audio intensity, waveform
� Camera � Face detection, surveillance
15
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
Headless Triggers
� Port directed SMS � Geofence Enter/Exit � Device Startup � Push Notifications � more to come…
23
Contacts
� Create/Read/Update/Delete � Find out recent activities � Know when people change � Find the right guy
25
Messages
� Create/Read/Update/Delete email & SMS
� Know when new ones arrive � Find that conversation
26
Phone Calls
� Retrieve who called � When did they call? � When is a call being received? � Augment the sense!
29
Fused Sensors
Sensors are cool Fused sensors are better
� Create new data types
� RotationMatrix
� Enhance sensor data � Compass
35
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
Invocation Framework
Invoke another app for a task Embed apps inside apps Transfer data (files) between apps Get invoked 39
Get invoked
� Register for URIs � Register for MIME types � Register actions
� OPEN, SET, SHARE
� User managed Defaults
41
BBM
� Update user profile � Status, avatar, availability
� Update Application Box Profile � Achievements, badges
42
String Pattern
� Register for String Patterns � RegEx or Strings
� Make them active links � Get invoked by them
45
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
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
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
Battery
� Monitor � Condition � Charge capacity � Level � Temperature
� Should you still play that video? � Should you turn off location queries?
51
Adaptive UI
One UI to rule them all? Don’t simply scale up/down
Make your UI adaptive Layout, size, visibility
54
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
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
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
top related