Published on January 6, 2016
1. Building Apps that Sense, Understand and Adapt JAM844 Ranbijay Kumar – BlackBerry Sean McVeigh – QNX Louis Tang – Viet Hop Software September 26-27, 2013 1
2. Sense Understand Adapt
3. BlackBerry 10 Experience 3 Adapt Sense Understand
4. BlackBerry 10 Experience 4 Sense Network ConnectivityNFC Location Accessories OrientationDisplays Touch Microphone Geofence Screens Acceleration Heading Proximity Light Holster Smart Card
5. BlackBerry 10 Experience 5 Understand Contacts Calendar Email BBMSMS Geocoding PIM Headless Call Logs Analytics Analytics BlackBerry ID Fused Sensors
6. BlackBerry 10 Experience 6 Adapt Active Frames Cards Connections PeekInvocation Adaptive UI 2nd Screens Notifications Hub Share Hot Keys Accessibility Text Filters Battery
7. Let's Sense 7
8. Touch Interactions Know when you’re touched Be sensitive to them Use interactive controls Take advantage of gestures 8
9. Location Know where you are A pivotal event for apps 9
10. Location 10 Cell Tower WLAN GPS Carrier Assisted Modes
11. Sensors How are you holding it You are going too fast You’re off by 180 degrees Rollercoasters are awesome 11
12. 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
13. Demo ARKick 13
14. Device Surroundings It’s too bright, I cant see. Silence please. I know that face! Don’t get too close, I bite. 14
15. Sensors Proximity Distance in cm (or close/far) Light Illumination in lux Holster Holster detection Microphone Audio intensity, waveform Camera Face detection, surveillance 15
16. Demo Flip Shush SoundHound 16
17. Network Connectivity Know your network 17
18. NFC I like the sound of that tap! Get me the data. 18
19. Phone Calls Detect cellular or VOIP calls When they get connected And when they get disconnected 19
20. Accessories (Bluetooth/USB) Sense input devices Gamepads, keyboards, mice 20
21. BlackBerry Balance I am in Personal – Let's party I am in Work – Let's be serious 21
22. 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
23. Headless Triggers Port directed SMS Geofence Enter/Exit Device Startup Push Notifications more to come… 23
24. Let's Understand 24
25. Contacts Create/Read/Update/Delete Find out recent activities Know when people change Find the right guy 25
26. Messages Create/Read/Update/Delete email & SMS Know when new ones arrive Find that conversation 26
27. Calendar Create/Read/Update/Delete events Know when events change Search the database 27
28. BBM Who else has my app? Who doesn’t have it yet? Read user profile 28
29. Phone Calls Retrieve who called When did they call? When is a call being received? Augment the sense! 29
30. Network Connectivity Should I transfer now? Are their better hotspots to connect to? 30
31. Demo Nobex 31
32. Geofence Add meaning around locations “Truck 181 went off the grid” 32
33. Geocoding Lat/Lon vs Addresses OR Device vs Human 33
34. Demo Foursquare 34
35. Fused Sensors Sensors are cool Fused sensors are better Create new data types RotationMatrix Enhance sensor data Compass 35
36. Demo Star Tracker 36
37. 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
38. Let's Adapt 38
39. Invocation Framework Invoke another app for a task Embed apps inside apps Transfer data (files) between apps Get invoked 39
40. Core Invoke Targets 40 Documents Mul-media Communicate Produc-vity Social
41. Get invoked Register for URIs Register for MIME types Register actions OPEN, SET, SHARE User managed Defaults 41
42. BBM Update user profile Status, avatar, availability Update Application Box Profile Achievements, badges 42
43. NFC Read/Write NFC tags Transfer content P2P Emulate a card/smart card 43
44. Phone Calls Make phone calls Disconnect phone calls 44
45. String Pattern Register for String Patterns RegEx or Strings Make them active links Get invoked by them 45
46. 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
47. 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
48. 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
49. Demo MLB 49
50. Network Connectivity Transfer data Monitor progress Adapt to errors, speed and cost 50
51. Battery Monitor Condition Charge capacity Level Temperature Should you still play that video? Should you turn off location queries? 51
52. Who’s Peeking? Respond to peek events Show something contextual 52
53. 2nd Screens What displays are available? Mirror vs Extend Invoke Miracast Card 53
54. Adaptive UI One UI to rule them all? Don’t simply scale up/down Make your UI adaptive Layout, size, visibility 54
55. Accessories (Bluetooth/USB) A full size keyboard can be much faster Take inputs from Gamepads 55
56. Demo Critical Wave 56
57. Case Study Goi Taxi 57
58. 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
59. 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
60. 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
61. THANK YOU JAM844 Ranbijay Kumar – BlackBerry Sean McVeigh – QNX Louis Tang – Viet Hop Software September 26-27, 2013 61
... Understand, Adapt: ... mobile app developers ... Join BlackBerry Developer Evangelist Manny Elawar as he talks about the Sense, Understand, Adapt ...
Sense. Understand. Adapt: ... what really pushed the idea for this app over the edge was the ability to seamlessly integrate native abilities with ...
5 Ways to Build Mobile Apps with Visual ... the layout and content is scaled to adapt to various ... sometimes building a native app just makes sense.
Analyze and understand ... This is possible by building customer-facing apps that are more than transactional; apps that learn and adapt; apps that ...
Why building enterprise apps isn't as ... Between Designing for Enterprise vs Consumer Customers ... good web app; I also had to understand ...
Strategic leadership is the ... the organization to understand the strategic intent and ... concerned about building a sense of citizenship ...
Exploring how mobile apps are different in their nature and use, ... Why using an Agile methodology makes sense. by ... Understand how DAD works as an ...
ADAPT has answers. Here is everything you need to understand the legislation and advocate to FREE OUR PEOPLE! Learn more about the legislation here.
... which explains their vision of the product they’re building. They developed an app to ... sense for apps with rich ... to adapt from existing Apps ...