Enabling Connectivity Mike Hall Principal Software Architect Windows Embedded Business Microsoft Corporation [email protected]
Jun 22, 2015
Enabling Connectivity
Mike Hall Principal Software Architect Windows Embedded Business Microsoft Corporation [email protected]
“Create experiences that combine the magic
of software with the power of internet
services across a world of devices”
Microsoft corporate vision, 2008
“Create experiences that combine the magic
of software with the power of internet
services across a world of devices”
Microsoft corporate vision, 2008
Enabling Connectivity
• Agenda
– Connectivity
– Hardware
– User Experience
– Cloud Enabled
• World Readiness
60’s 70’s 80’s 90’s 2000 2010+
The Era Of The Mainframe
The Era Of The Minicomputer
The Era Of The The Pc
The Era Of The Desktop Internet
The Era Of The Mobile Internet
GROWTH IN THE PERVASIVENESS OF COMPUTING
The consensus is that by 2020 the number of connected devices will
outnumber the worlds population
Consensus suggests that the number of “connection capable” devices
will soon outnumber the number of humans and that these devices will
increasingly be M2M and/or remote, mobile or movable devices
Number of connected devices (in Billions)
The Era Of The Mainframe
The Era Of The Minicomputer
The Era Of The The Pc
The Era Of The Desktop Internet
The Era Of The Mobile Internet
60’s 70’s 80’s 90’s 2000 2010+
Number of connected devices (in Billions)
1
10
2
3
4
5
6
7
8
9
Mainframe Units:
1MM+ Sockets
PC Units:
100M+ Sockets
The Desktop Internet Units:
1B+ Sockets
The Mobile Internet Units:
1.5B+ Sockets
2020 10s of Billions
of units
Minicomputer Units:
10M+ Sockets
2020 7.7+B People
Different environments pose
different connection challenges
LAN
– The question of connectivity has largely been solved at the transport, control and monitoring layers
– Useful for fixed environments but doesn’t meet the core requirements of emergent / hi growth device types
WiFi
– Effective for fixed and some confined mobility apps
– Significant challenges around pervasive access, coverage and security remain for many emergent device types
WAN
– Offers optimal connectivity characteristics for a wide range of remote, mobile or movable device scenarios
– Significant technical, operational and commercial challenges remain to be resolved
The process that our customers must go through
today to develop WAN solutions is costly complex and
long
DEPLOY OPERATE & OPTIMIZE
PLAN & BUILD
SOLUTION DEVELOPMENT PROCESS OEM/DEVELOPER CHALLENGES
COMPLEXITY
•Thousands of OEM’s, DO’s, App Developers and
Mobile Operators
•No Clear standard for devices operating systems
•Different network standards and modules
COST
•Lack of flexible device management/billing
capabilities
•Expensive bandwidth
•Expensive wireless modules
TIME TO MARKET
•Nascent cloud services
•Lengthy development timelines
PRODUCTS
SERVICE CUSTOMERS
Solving these challenges requires the involvement of more than one party in the process BUT realizing the full potential of connected devices requires that they be solved
Enabling Connectivity
• Connectivity without experience isn’t useful
• Agenda
– Connectivity
– Hardware
– User Experience
– Cloud Enabled
• World Readiness
Hardware Trends
Software Trends
User Experience Trends
The Evolution of
User Interface Design
Consumers buy devices based on your product’s user experience, not specs. The next-generation cell phones and media players changed the playing field.
MANY-CORE PROCESSING
SCREENS EVERYWHERE
NATURAL UI
ALL CONTENT DIGITAL
Emerging Technology Trends
Hardware/Software Abstraction
• Frameworks hide complexity (H/W & S/W)
• Make use of hardware capabilities (CPU/GPU)
• Model/View development
– Model can be local or remote/cloud content
– Cloud API or Cached/Sync’d content
• Keep User Experience responsive (Threading)
• Develop using Asynchronous methods
Threading/Concurrency -> Parallelism
On Single Core Machine – Don’t block the UI
• Thread Affinity
– Async Operations – Synchronization Issues
On Multi-core Machine – As above... – ... plus Improve Actual Performance – ... plus create new user experiences
Threads vs. Task Programming
• Multi-Core hardware becoming standard
• Key to “real” performance is to scale across cores
• Threads
– Hard to write scalable applications
– Complex to write/debug
• Task based programming
– Scales from single core to multi-core
– “On Device” Parallel programming model
– Supports Work stealing (hidden from developer)
– Rapid application development
16
Enabling Connectivity
• Connectivity without experience isn’t useful
• Agenda
– Connectivity
– Hardware
– User Experience
– Cloud Enabled
• World Readiness
Designer Look, behavior, brand, and emotional connection
Developer Function, deployment,
data, security, operational integrity
Designer Look, behavior, brand, and emotional connection
Developer Function, deployment,
data, security, operational integrity
Unifying the Design / Dev Process
Paper
JPG / TIFF
PSD
PPT MOV / WMV
C++
C#
VB.NET
Developer builds
business logic –
clean separation of UI from Logic
The User Experience Design Process
Designer builds the
device/application user experience
Run “experience”
on the embedded device
1 2 3
Embedded Device Designer Tool
XAML
User Experience
• Connected/Disconnected State
• Local Applications
• Taking advantage of silicon/connectivity
– Async methods, threads/synchronization
• Designer/Developer
– Separation of user experience from underlying code
Enabling Connectivity
• Connectivity without experience isn’t useful
• Agenda
– Connectivity
– Hardware
– User Experience
– Cloud Enabled
• World Readiness
Windows
iPhone
Browser
Windows Phone
Services powering Experiences
Silverlight
Web Site
Web API
webOS
World Readiness
• We’re connected, now what…
• Cloud services, user experience, translation
• Putting it all together
Summary
Q&A
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.