EMBARCADERO TECHNOLOGIES Devs 2 -palooza Developers and Devices David Intersimone David I Vice...
-
Upload
samir-redmon -
Category
Documents
-
view
216 -
download
1
Transcript of EMBARCADERO TECHNOLOGIES Devs 2 -palooza Developers and Devices David Intersimone David I Vice...
EMBARCADERO TECHNOLOGIESEMBARCADERO TECHNOLOGIES
Devs2-paloozaDevelopers and Devices
David Intersimone “David I”Vice President of Developer Relations & Chief Evangelist
EMBARCADERO TECHNOLOGIES
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
EMBARCADERO TECHNOLOGIES
Agenda
• The Changing Client Landscape• Devices, Devices, Devices• Tool Choices• The 5 Mistakes Developers Make in Moving to Mobile• Summary• Q&A
EMBARCADERO TECHNOLOGIES
THE CHANGING CLIENT LANDSCAPE
EMBARCADERO TECHNOLOGIES
2013: The Client Revolution
Windows MobileMac
Today’s Unprecedented Multi-Device Landscape
1 Billion 65 Million 1 Billion+
EMBARCADERO TECHNOLOGIES
2013+
Client Device Diversity Will Continue to Expand
EMBARCADERO TECHNOLOGIES
The Client Revolution
An Unprecedented Multi-Device Landscape
EMBARCADERO TECHNOLOGIES
Apple (iOS) vs Samsung (Android)
EMBARCADERO TECHNOLOGIES
Mobile Platform Market Share
EMBARCADERO TECHNOLOGIES
Global mobile and PC tablet shipments
EMBARCADERO TECHNOLOGIES
Global smartphone shipments
EMBARCADERO TECHNOLOGIES
DEVICES, DEVICES, DEVICES
EMBARCADERO TECHNOLOGIES
What next-gen devices/gadgets do you have?
• Smart phone, Tablet• 2-in-1 devices• Home Control/Security• Automotive• Digital Health• Wearable• Gaming
EMBARCADERO TECHNOLOGIES
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
EMBARCADERO TECHNOLOGIES
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
EMBARCADERO TECHNOLOGIES
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/
EMBARCADERO TECHNOLOGIES
Digital Health – Parks Associates Q2-2013
EMBARCADERO TECHNOLOGIES
Sensor Based Solutions
Source: Fullpower Technologies - http://www.fullpower.com/?Page=Technology
EMBARCADERO TECHNOLOGIES
TOOL CHOICES
EMBARCADERO TECHNOLOGIES
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
EMBARCADERO TECHNOLOGIES
Current Tool Choices
AppleGoogle
Microsoft
SingleDevice
MultiDevice
ScriptedNativeVendor Tools
Web TechBased Tools
HTML5 JavaScript
EMBARCADERO TECHNOLOGIES
Pros & Cons for Multi-Device
AppleGoogle
Microsoft
HTML5JavaScript
SingleDevice
MultiDevice
ScriptedTrue Native
ProsNative UXNative performanceSecure
ConsMultiple code basesMultiple teamsHigher dev cost
Vendor Tools
Web TechBased Tools
EMBARCADERO TECHNOLOGIES
$ $$ $
C# or C++
.NET or MFC
C++ or Obj-C
OSX SDK
Objective-C
iOS SDK
Java
Android SDK
multiple languages, multiple codebases
Vendor tool approach to multi-device
EMBARCADERO TECHNOLOGIES
Pros & Cons for Multi-Device
AppleGoogle
Microsoft
HTML5JavaScript
SingleDevice
MultiDevice
ScriptedTrue NativeVendor Tools
Web TechBased Tools
ProsOne teamLower dev costsFast time to market
ConsScript PerformanceNon-Native UXUnsecure
EMBARCADERO TECHNOLOGIES
$ $ $JavaScript or C#
PlatformSDK
PlatformSDK
PlatformSDK
one language, multiple codebases
Managed/Script Code Mobile Solutions
EMBARCADERO TECHNOLOGIES
Native Code HTML5, JavaScript, CSS3 Dalvik (Android/Java)
Titanium.Geolocation.distanceFilter = .25;Ti.Geolocation.purpose = "Callbacks Are Your Friend”;// make the API callTi.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));}); JavaScript
100100110010011001001100100110010011001001100100110010
ARM Binary
Bytecode IL
JavaScript Runtime
Interpreter
Virtual Machine (VM)
Runtime
Native Scripted VM
EMBARCADERO TECHNOLOGIES
THE 5 MISTAKES DEVELOPERS MAKE IN MOVING TO MOBILE
EMBARCADERO TECHNOLOGIES
Trying to fit a desktop experience onto a mobile deviceMobile 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 typingDevelopers 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
Mistake #1
EMBARCADERO TECHNOLOGIES
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
Mistake #2
EMBARCADERO TECHNOLOGIES
Mistake # 3Too 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
EMBARCADERO TECHNOLOGIES
Building separate apps for different platformsBuilding 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 itSingle 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
Mistake #4
EMBARCADERO TECHNOLOGIES
Mistake # 5Not doubling down on securityRelying 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
EMBARCADERO TECHNOLOGIES
RAD STUDIO XE5
Delphi – Win/Mac/iOS/AndroidC++Builder – Win/Mac (ios,Android Winter 2013)
EMBARCADERO TECHNOLOGIES
Multi-Device True Native
AppleGoogle
Microsoft
HTML5 and JavaScript
SingleDevice
MultiDevice
ScriptedNative
Multi-DeviceTrue Native
Embarcadero
ProsNative UXNative performanceSecure
ProsOne teamLower dev costsFast time to market
EMBARCADERO TECHNOLOGIES
$
Future
Delphi and C++*
FM Framework
One team, One codebase* C++ planned for end of 2013
RAD Studio XE5 – multi-device ready
EMBARCADERO TECHNOLOGIES
Device
36
RAD Studio XE5- Enterprise Ready
FM
InterBase or
SQLLite
FireDAC
DataSnap
OracleMSSQLDB2Sybase& more...
YourApp
REST
ServerMethod
s
FireDAC
C++ or Delphi
REST
REST
REST
REST
REST
REST
EMBARCADERO TECHNOLOGIES
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 challengesDimensional Research (UK) Q3 2013 Survey – 1,337 Windows Developers
http://embt.co/DRSurvey
EMBARCADERO TECHNOLOGIES
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!
EMBARCADERO TECHNOLOGIES
Q&A
EMBARCADERO TECHNOLOGIES
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/