1 / 41

Devs 2 -palooza Developers and Devices

Devs 2 -palooza Developers and Devices. David Intersimone “David I” Vice President of Developer Relations & Chief Evangelist davidi@embarcadero.com. About David I. 44 years since my first program – IBM360/40, Fortran, Prime # Generator First 8 years – real time assembly language programmer

oona
Download Presentation

Devs 2 -palooza Developers and Devices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Devs2-paloozaDevelopers and Devices David Intersimone “David I” Vice President of Developer Relations & Chief Evangelist davidi@embarcadero.com

  2. About David I. • 44 years since my first program – IBM360/40, Fortran, Prime # Generator • First 8 years – real time assembly language programmer • 28 years with the developer tools group • Responsibilities: • Global Evangelism • Tech Partner Program • MVP Program • Embarcadero Community • Developer Cheerleader

  3. Agenda • The Changing Client Landscape • Devices, Devices, Devices • Tool Choices • The 5 Mistakes Developers Make in Moving to Mobile • Summary • Q&A

  4. The Changing Client Landscape

  5. 2013: The Client Revolution 1 Billion 65 Million 1 Billion+ Windows Mac Mobile Today’s Unprecedented Multi-Device Landscape

  6. 2013+ Client Device Diversity Will Continue to Expand

  7. The Client Revolution An Unprecedented Multi-Device Landscape

  8. Apple (iOS) vs Samsung (Android)

  9. Mobile Platform Market Share

  10. Global mobile and PC tablet shipments

  11. Global smartphone shipments

  12. Devices, Devices, Devices

  13. What next-gen devices/gadgets do you have? • Smart phone, Tablet • 2-in-1 devices • Home Control/Security • Automotive • Digital Health • Wearable • Gaming

  14. Billions of Audio/Video Devices • Media – audio, video • Capture – capturing, stopped • Position – unspecified, front, back • Flash – auto, off, on • Focus – autofocus, continuous autofocus, locked • Torch – off, on, auto • Video capture quality – photo quality, high, medium, low

  15. Trillions of Sensors – Some Categories • Location - GPS, Static, Lookup, Triangulation, Broadcast, Dead Reckoning • Environmental - Temperature, Pressure, Humidity, Wind Speed, Wind Direction • Motion – Accelerometer (1D,2D,3D), Motion Detector, Gyrometer (1D, 2D, 3D), Speed • Orientation – Compass (1D, 2D, 3D), Inclinometer (1D, 2D, 3D), Distance (1D, 2D, 3D) • Electrical - Voltage, Current, Capacitance, Resistance, Inductance, Power, Potentiometer • Mechanical – Boolean (Switch, Array), Multi-Value Switch, Force, Scale, Pressure, Strain • Biometric – Human Presence, Human Proximity, Touch • Light – Ambient Light • Scanner - RFID, Barcode

  16. Beyond the SmartPhone/Tablet • Home Control/Automation • Z-Wave - http://www.z-wave.com/ • Zigbee - http://www.zigbee.org/ • Nest - http://nest.com/ • Philips Hue - http://www.meethue.com/

  17. Digital Health – Parks Associates Q2-2013

  18. Sensor Based Solutions Source: Fullpower Technologies - http://www.fullpower.com/?Page=Technology

  19. Tool Choices

  20. Devices – Choose your Languages & Architectures • Languages • Native Code – C++, C, Delphi, Objective-C • Managed Code – Java, C# • Dynamic/Scripting - PHP, JavaScript, Python, Ruby, Lua • Architectures • Multi-Device / APIs • Multi-Tier • Service Oriented - HTTP/REST/JSON/XML

  21. Current Tool Choices Single Device Multi Device Vendor Tools Web Tech Based Tools Scripted Native Apple Google Microsoft HTML5 JavaScript

  22. Pros & Cons for Multi-Device Pros Native UX Native performance Secure Single Device Multi Device Vendor Tools Web Tech Based Tools Scripted True Native Apple Google Microsoft HTML5 JavaScript Cons Multiple code bases Multiple teams Higher dev cost

  23. Vendor tool approach to multi-device Objective-C Java C++ or Obj-C C# or C++ iOS SDK Android SDK OSX SDK .NET or MFC multiple languages, multiple codebases $ $ $ $

  24. Pros & Cons for Multi-Device Pros One team Lower dev costs Fast time to market Single Device Multi Device Web Tech Based Tools Vendor Tools Scripted True Native Apple Google Microsoft HTML5 JavaScript Cons Script Performance Non-Native UX Unsecure

  25. Managed/Script Code Mobile Solutions JavaScript or C# Platform SDK Platform SDK Platform SDK one language, multiple codebases $ $ $

  26. Native Code Dalvik (Android/Java) HTML5, JavaScript, CSS3 Bytecode IL Titanium.Geolocation.distanceFilter = .25; Ti.Geolocation.purpose = "Callbacks Are Your Friend”; // make the API call Ti.Geolocation.getCurrentPosition(function(e) { // do this stuff when you have a position, OR an error if (e.error) { Ti.API.error('geo - current position' + e.error); return; } // got the location information Ti.App.info('got a location ',JSON.stringify(e)); }); 100100110010011001001100100110010011001001100100110010 Virtual Machine (VM) Runtime JavaScript Runtime Interpreter JavaScript ARM Binary Native Scripted VM

  27. The 5 mistakes developers make in moving to mobile

  28. Mistake #1 Trying to fit a desktop experience onto a mobile device • Mobile devices lack the facilities of a PC including • large display for easy viewing • a robust in memory cache for fast data process • external keyboard for easy typing • Developers try to build overly complex capabilities into mobile devices: • cluttering the screen • draining device resources • impacting the end user experience How to avoid it • identify the high value actions within the app that are most likely to be used • design only for these requirements • ensure users can complete them with minimum taps • set a maximum tolerance for the no. of steps a user has to take to complete an action • Learn the most common app types and stick to those, until you are really expert

  29. Mistake #2 Not making the mobile user experience your top priority • With hundreds of thousands of apps your users have lots of choices • If your app is not easy to use people will avoid it • Users don’t not come back after a poor initial user experience How to avoid it • Focus on a good user experience design • Show users prototypes of the app on actual mobile devices for regular feedback • Ensure users can complete tasks with minimum taps • Ensure that you have satisfied their main requirements before releasing the app

  30. Mistake # 3 Too much get between your app, the OS and the Hardware • Shave every possible millisecond off response time • Utilize all relevant capabilities offered by the device • A mobile app dev platform that abstracts away device details delivers only the common denominator of functionality across devices How to avoid it • Build a “True Native App” means your app is optimized for a particular OS • “True Native App” is also optimised for the particular hardware • Skip wrappers like JVMs that abstract away control of fine grained capabilities • Code directly to the device whenever possible

  31. Mistake #4 Building separate apps for different platforms • Building apps with separate codebases for different platforms can lead to multiple issues • Many of your end users own multiple devices • Your app may perform differently on each device • With separate apps features get released and bugs get fixed at different times • Results in out of sync scenario – confusing to users • Managing multiple codebases results in extra development work an higher overhead How to avoid it • Single codebase that is complied and optimized for different platforms and device form factors • You will deliver a more consistent user experience across all devices • Realise significant savings with fewer resources required for development, QA and delivery

  32. Mistake # 5 Not doubling down on security • Relying on device or network security measures to protect your data can be hazardous • Take active measures to protect data that is resident on the device • Take active measures to protect data passed in communications and service calls • Java, JavaScript and Android are notorious hacker targets How to avoid it • For key interactions code directly to the device • Include your own security precautions to reduce the risk of third party attacks • Encrypt sensitive data stored on the device

  33. RAD Studio XE5 Delphi – Win/Mac/iOS/AndroidC++Builder – Win/Mac (ios,Android Winter 2013)

  34. Multi-Device True Native Multi-Device Pros Native UX Native performance Secure Pros One team Lower dev costs Fast time to market True Native Embarcadero Multi Device Single Device Native Scripted Apple Google Microsoft HTML5 and JavaScript

  35. RAD Studio XE5 – multi-device ready Delphi and C++* Future FM Framework One team, One codebase * C++ planned for end of 2013 $

  36. RAD Studio XE5- Enterprise Ready Device FM Your App FireDAC InterBase or SQLLite REST REST REST REST DataSnap REST REST Server Methods FireDAC REST Oracle MSSQL DB2 Sybase & more... C++ or Delphi

  37. Windows Developer Survey – Dimensional Research • Overwhelming majority of Windows developers must add mobile to their existing app development strategy • 85% of respondents receive requests for mobile apps • 99% say existing apps must continue to be supported • Android is the most requested platform among Windows developers • 83% of the requests for mobile app have Android support as a requirement • HTML5 and JavaScript are not the solution of choice for mobile apps • 85% of respondents say native apps are best for end users • 74% of those who used HTML5 and JavaScript have had challenges Dimensional Research (UK) Q3 2013 Survey – 1,337 Windows Developers http://embt.co/DRSurvey

  38. Summary • Most devices (available today) are app ready • Service integrations are standardized on REST/JSON • You (developers) are the center of this Universe and will be for years to come!

  39. Q&A

  40. Resources • Apple Developer - http://developer.apple.com/ • Android Developers - http://developer.android.com/ • Z-Wave Alliance - http://www.z-wavealliance.org/ • Zigbee Alliance - http://www.zigbee.org/ • VeraLite - http://www.micasaverde.com/ • Pebble Watch - http://developer.getpebble.com/ • Leap Motion - http://www.leapmotion.com/developers • Philips Hue - http://www.meethue.com/ • Nest - http://nest.com/ • FullPower Technologies - http://www.fullpower.com/ • Sphero - http://www.gosphero.com/ • Parrot AR Drone - http://ardrone2.parrot.com/ • Ford Developer Program - https://developer.ford.com/ • GM Developer Program - https://developer.gm.com/

  41. Thank you  davidi@embarcadero.com @davidi99 blogs.embarcadero.com/davidi/

More Related