Mikehall FutureWorld 2010 - enabling connectivity

Post on 22-Jun-2015

1,809 views 0 download

Tags:

transcript

Enabling Connectivity

Mike Hall Principal Software Architect Windows Embedded Business Microsoft Corporation mikehall@microsoft.com

“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.