intel ultrabook applab - all slides

145
Intel Ultrabook™ AppLab Intel® Corporation Berlin, September 3rd

Upload: intel-developer-zone-community

Post on 31-Aug-2014

1.010 views

Category:

Technology


0 download

DESCRIPTION

Intel Ultrabook AppLab - ALL Slides - presented by Paul, Sulamita, Xavier and Uli

TRANSCRIPT

Page 1: Intel Ultrabook AppLab - ALL Slides

Intel Ultrabook™ AppLab

Intel® Corporation

Berlin, September 3rd

Page 2: Intel Ultrabook AppLab - ALL Slides

Overview of the Entire Day

2Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

1. Welcome & Opening Monika

2. Introduction into Ultrabook™ Development Paul

3. New Windows UI Design Oliver

4. Technical Presentation: Touch Sulamita

5. Lunch & Networking: Check out also the Demos!

6. Technical Presentation: Sensors Xavier

7. Break & Networking: Check out also the Demos!

8. Intel Tools Uli

9. Ultrabook Developer Resources Paul

10. Wrap Up and Closing Monika

11. SDP (Software Development Platform) Distribution

12. Hacking Session at the c-base

Page 3: Intel Ultrabook AppLab - ALL Slides

Who am I?

3

Monika LischkeMonika LischkeMonika LischkeMonika LischkeTeam Lead Community Management EMEATeam Lead Community Management EMEATeam Lead Community Management EMEATeam Lead Community Management EMEA

Wannabe Geek

Late Early Adopter

@MonikaLischke

#IntelAppLab

Page 4: Intel Ultrabook AppLab - ALL Slides

Introduction to Developing

Ultrabook™ Applications

Intel® Corporation

Page 5: Intel Ultrabook AppLab - ALL Slides

Legal Disclaimer• INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH

PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL IS CLAIMS ANY EXPRESS OR IMPLIED WARRANTY RELATING TO SALE AND/OR USE OF INTEL

PRODUCTS, INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT,

COPYRIGHT, OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life-saving, life sustaining, critical control or safety systems,

or in nuclear facility applications.

• Intel products may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are

available on request.

• Intel may make changes to dates, specifications, product descriptions, and plans referenced in this document at any time, without notice.

• This document may contain information on products in the design phase of development. The information here is subject to change without notice. Do not finalize a

design with this information.

• Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and

shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.

• Intel Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights that relate to the presented subject

matter. The furnishing of documents and other materials and information does not provide any license, express or implied, by estoppel or otherwise, to any such

patents, trademarks, copyrights, or other intellectual property rights.

• Wireless connectivity and some features may require you to purchase additional software, services or external hardware.

• Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance of Intel products as measured

by those tests. Any difference in system hardware or software design or configuration may affect actual performance. Buyers should consult other sources of

information to evaluate the performance of systems or components they are considering purchasing. For more information on performance tests and on the

performance of Intel products, visit Intel Performance Benchmark Limitations

• Intel, the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

Copyright © 2011 Intel Corporation. All rights reserved.

Intel Confidential - Customer NDA Use Only

* Other Names and Brands maybe claimed as the property of others. All dates, plans and features are preliminary and subject to change without notice.

5Copyright© 2012, Intel Corporation. All rights reserved. *Other brands

and names are the property of their respective owners

Page 6: Intel Ultrabook AppLab - ALL Slides

Who am I?

6

Paul FarquharEMEA AppUp Technical Lead

Page 7: Intel Ultrabook AppLab - ALL Slides

What do I like to do?

7

@TheGlenPaul

Page 8: Intel Ultrabook AppLab - ALL Slides

What do we eat – Haggis!

8

Page 9: Intel Ultrabook AppLab - ALL Slides

You need the proper tools!

9

Page 10: Intel Ultrabook AppLab - ALL Slides

WHAT DOES ULTRABOOKTM / WINDOWS*

8 MEAN FOR CURRENT DEVELOPERS?

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 10

Page 11: Intel Ultrabook AppLab - ALL Slides

Worried about the Windows* 8

transition?

What’s the

difference

between an

Ultrabook and a

notebook?

New

Windows*8

UI?

Desktop?

Do I have to re-write

all of my Win32 apps

from scratch?

WinRT?

Do my applications

need to support

touch?

How does

HTML5* fit

into this?

How do I use an

Ultrabook’s

sensors?

11Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 12: Intel Ultrabook AppLab - ALL Slides

The world of Windows* 8

Source: Microsoft

12Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

• New Windows*8 appshave a single, full-screen window with multiple views

– Must follow the New Windows*8 user experience

– Require a new developer ecosystem

• Desktop Applications– Windows* 8 supports Native Win7

Applications

– Run in a desktop UI, with full device and driver compatibility

– Can take advantage of UltrabookTM &Windows* 8 features

New Windows*8 Style Desktop Style

Page 13: Intel Ultrabook AppLab - ALL Slides

Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names

are the property of their respective owners 13

How Windows*8 and the DesktopWork Together

Desktop Application Launched from New Windows*8 Start Screen

13

Click tile for iTunes* iTunes Desktop app launches

Page 14: Intel Ultrabook AppLab - ALL Slides

Legacy Compatibility for IA:

• Windows* 8 supports Native Win7 Applications (in Desktop UI, with full device and driver compatibility)

• Desktop Applications run as is, no changes required, in the Desktop UI mode of Windows* 8

• 4 million+ “legacy” Applications supported by IA.

New New Windows*8 apps:

• Requires a NEW developer ecosystem

• WinRT* (i.e. New Windows*8*) apps to be compatible with both x86- and ARM-based systems

• HTML5/JavaScript and .NET desktop applications expected to be compatible with both x86 and ARM

x86 + ARM*

x86 Only

Source: Microsoft

14Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

New Windows*8 Apps Desktop applicaitons

Windows* 8 Compatibility

Expectations

Page 15: Intel Ultrabook AppLab - ALL Slides

ULTRABOOK™ / WINDOWS* 8 FEATURES

(HARDWARE, OS, APPLICATION LEVELS)

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 15

Page 16: Intel Ultrabook AppLab - ALL Slides

Ultrabook

HardwareSecurity

Rapid StartBattery Life

Thunderbolt Turbo Boost

Graphics

UltrabookTM Built to Set Applications Apart

OS

UX Desktop New Windows*8

Touch/Gestures Context Aware Sensors

Near Field Communication Geolocation

16Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 17: Intel Ultrabook AppLab - ALL Slides

Ivy Bridge Processor Graphics

17

• Integration of graphic and media processing onto the same CPU die

• Dedicated hardwired media processing functions

• Maximum media performance at lowest possible power consumption

• Highly sophisticated graphic execution units (EU) for high quality graphics

Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 18: Intel Ultrabook AppLab - ALL Slides

Intel® Turbo Boost Technology 2.0

18Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

• Performance when you need it

• Dynamic overclocking

• Don’t need to drain power constantly for all processes

• Helps reduce temperature and extends battery power.

Page 19: Intel Ultrabook AppLab - ALL Slides

OS Differentiators

• Touch- and gesture-based UI

• Context aware sensors

• Near field communication

• Geolocation

OS

Touch/GesturesContext Aware

Sensors

Near Field

CommunicationGeolocation

Intel Confidential

19Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 20: Intel Ultrabook AppLab - ALL Slides

Application Differentiators

Intel Confidential

20Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

New Windows*8

Desktop Style

• New Windows*8 apps have a single, full-screen window with multiple views

• Clean typography and animations• Fast, fluid touch first experience

• Retains the flexibility of the traditional Windows* Desktop • Full access to familiar x86 applications and tools• Provides finer-grained control

• Touch and Sensors can be enabled for all three styles of applications

New Windows*8 Style

Desktop Style

HTML5 Style

• HTML5* apps can run as New Windows*8 apps or as Desktop in Internet Explorer 9 & 10

Page 21: Intel Ultrabook AppLab - ALL Slides

Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names

are the property of their respective owners 21

Digital Storefronts for Windows* 8

Windows Store* for New Windows*8 apps

Intel AppUp® for Desktop

Applications

Page 22: Intel Ultrabook AppLab - ALL Slides

NEW WINDOWS*8 API FOR

DESKTOP DEVELOPERS

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 22

Page 23: Intel Ultrabook AppLab - ALL Slides

Application Environment

23Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Model

View

Systems Services

New Windows*8 apps Desktop Applications

HTMLJavaScript

CC++

C#VB

InternetExplorer

Win32 .NET

HTML CSS

JavaScript(Chakra)

C#, VBC/C++

XAML

WinRT APIs

App Model

Network& Data

Graphics &

Media

Devices &

Printing

Kernel Windows Kernel Services

XAML

Page 24: Intel Ultrabook AppLab - ALL Slides

WinRT

• API to access to the system (display, file

system, sensors, media devices, etc)

– Everything needed for a New Windows*8 app

– Desktop applications can use a sub-set of WinRT

• Combine with Win Native or .NET

• Languages: C++, C#, JavaScript and VB

– WinRT HTML or XAML elements are restricted to

New Windows*8 apps

Intel Confidential

24Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 25: Intel Ultrabook AppLab - ALL Slides

Desktop apps and Windows

Native

• Primarily the same as Win32 on Windows 7– Computer System Hardware Classes

– Installed Application Classes

– Operating System Classes

– Performance Counter Classes

– Security Descriptor Helper Classes

– WMI Service Management Classes

• Access to the hardware– Better performance

– Less abstraction

• Access to sensors via COM interfaces

• Code is unmanaged– No automated free memory management

25Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 26: Intel Ultrabook AppLab - ALL Slides

WinRT API Areas

• Core

• Controls

• Data and content

• Devices

• Files and folders

• Globalization

• Graphics

• Helpers

• Media

• Networking

• Printing

• Presentation

• Remote Desktop

• Security

• Social

• UI Automation

• User Interaction

Underlined items have classes available to desktop applications

26Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 27: Intel Ultrabook AppLab - ALL Slides

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 27

Microsoft Presentation by Oliver

Page 28: Intel Ultrabook AppLab - ALL Slides

APPLICATION DEVELOPMENT WITH

TOUCH AND SENSORS ON

ULTRABOOKTM / WINDOWS 8

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 28

Sulamita Garcia – [email protected]

Technical Marketing Engineer

Twitter @sulagarcia

Page 29: Intel Ultrabook AppLab - ALL Slides

/me

Page 30: Intel Ultrabook AppLab - ALL Slides

MAHJONG DEMO HERE

Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 30

Page 31: Intel Ultrabook AppLab - ALL Slides

Using touch in a desktop application

• Touch and gestures

• Do’s and Don’t of gesture interfaces

• Demo: Use touch and gestures to select, move

and manipulate three images

• The Windows Touch API

• Using touch with XMAL

31Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 32: Intel Ultrabook AppLab - ALL Slides

Adding touch to a desktop application

• Touch is not a mouse

• Make touch targets large enough

• Support standard gestures and behaviors

• Portrait vs. Landscape

• Do not use touch just for touch’s sake

• Touch should be forgiving

• Microsoft User Experience Guidelines– msdn.microsoft.com/en-

us/library/windows/desktop/cc872774.aspx

– blogs.msdn.com/b/ie/archive/2012/04/20/guidelines-for-building-touch-friendly-sites.aspx

32Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 33: Intel Ultrabook AppLab - ALL Slides

Designing for Touch User Experience

• Design UI to include traditional laptop style and tablet mode usages

• Space and size controls to register fuzzy touch input– Common Controls: 23X23 pixels

– Command Controls: 40X40 pixels

• Use multiple form tabs for touch efficiency

• Consider the target size while designing your application UI

• Use natural and intuitive controls

• Ultrabook Optimal Resolution: 1366X768

Source: MSDN

http://msdn.microsoft.com/en-us/library/windows/desktop/cc872774.aspx#guidelines

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 33

Page 34: Intel Ultrabook AppLab - ALL Slides

Designing for Touch User Experience

• Use common controls as much as possible

• Choose custom controls that support touch

• Prefer constrained controls to unconstrained controls

• Provide default values and auto text-completion

• Use check boxes instead of multiple selection lists

Source: MSDN

http://msdn.microsoft.com/en-us/library/windows/desktop/cc872774.aspx#guidelines

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 34

Page 35: Intel Ultrabook AppLab - ALL Slides

Designing for Touch User Experience

• Place controls in areas better utilized for touch

• Command controls should be more easily

accessible

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 35

Page 36: Intel Ultrabook AppLab - ALL Slides

WINDOWS TOUCH API

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 36

Page 37: Intel Ultrabook AppLab - ALL Slides

Using Windows Touch API• Touch and gesture events are delivered via Windows Touch

messages– Windows must register for Windows Touch input:

RegisterTouchWindow

• WM_TOUCH reports action, position and identifier

• WM_GESTURE describes the gesture via GESTUREINFO structure

• Special interfaces to help process gesture messages – IManipulationProcessor

– IInertiaProcessor

• API reference at msdn.microsoft.com/en-us/library/windows/desktop/dd371406%28v=vs.85%29.aspx

37Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 38: Intel Ultrabook AppLab - ALL Slides

WinNative: Receive gesture message

LRESULT CALLBACK WndProc(…)

{…switch (message){

case WM_GESTURE: // Call code to// interpret the// gesturereturn

DecodeGesture(…);…

}

38Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

(Source: Microsoft)

• Check for

WM_GESTURE message

in WndProc

Page 39: Intel Ultrabook AppLab - ALL Slides

WinNative: Process gesture

LRESULT DecodeGesture(…){

…BOOL bResult = GetGestureInfo(…);

BOOL bHandled = FALSE;

if (bResult){

// now interpret the gestureswitch (gi.dwID){

case GID_ZOOM : // Code for zooming goes herebHandled = TRUE;break;

case GID_PAN : …

case GID_ROTATE : …

case GID_TWOFINGERTAP: …

case GID_PRESSANDTAP: …

default:// A gesture was not recognizedbreak;

} …

39Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

• Retrieve the additionalgesture information from the GESTUREINFO structure

• Handle each of the possible gestures

(Source: Microsoft)

Page 40: Intel Ultrabook AppLab - ALL Slides

Recognized gestures

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 40

– Tap/Double tap

– Panning with inertia

– Selection/Drag

– Press and tap

– Press and hold

– Zoom

– Rotate

– Two-finger tap

– Flicks

Page 41: Intel Ultrabook AppLab - ALL Slides

WINDOWS TOUCH API / XAML /

.NET

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 41

Page 42: Intel Ultrabook AppLab - ALL Slides

Using touch and XAML/.NET

• XAML provides access to WPF touch-enabled

UI components– WPF touchs event are available in both Windows* 7 and

Windows* 8.

• Typical gesture events:– ManipulationStarting

– ManipulationDelta

– ManipulationInertiaStarting

42Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 43: Intel Ultrabook AppLab - ALL Slides

XAML: TouchControl.xaml

<UserControl x:Class="Win8Demo.TouchControl" …>

<Grid x:Name="cont" ClipToBounds="True" ><!-- Set the IsManipulationEnabled totrue -->

<Image x:Name="photo_1"Source="/Assets/ultrabook1.png“IsManipulationEnabled="True"Width="500" />

<Image x:Name="photo_2“Source="/Assets/ultrabook2.png“IsManipulationEnabled="True“Width="500" Margin="125,-79,25,79"/>

<Image x:Name="photo_3“Source="/Assets/ultrabook3.png“IsManipulationEnabled="True“Width="500" Margin="0,-59,150,59" />

</Grid></UserControl>

43Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

• Three images placed in

a Grid inside of a

TouchControl

• Each image has IsManipulationEnabledset to true

Page 44: Intel Ultrabook AppLab - ALL Slides

Touch Event State Diagram

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 44

Manipulation

Starting

Manipulation

Delta

Manipulation

Inertia Starting

Manipulation

Delta

w/ Inertia

Manipulation

Completed

Events begin with User

Touching the Image

User finger is

touching the

screen

User finger is lifted from the

screen

Page 45: Intel Ultrabook AppLab - ALL Slides

XAML: TouchControl.xaml.cs

public TouchControl(){

//Register for manipulation eventsphoto_1.ManipulationStarting +=

m_rect_ManipulationStarting;photo_1.ManipulationDelta +=

m_rect_ManipulationDelta;photo_1.ManipulationInertiaStarting +=

m_rect_ManipulationInertiaStarting;

photo_2.ManipulationStarting += …

photo_3.ManipulationStarting += … }

45Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

• Add event handlers to

each image for:•ManipulationStarting

•ManipulationDelta

•ManipulationInertiaStarting

Page 46: Intel Ultrabook AppLab - ALL Slides

Touch Event State Diagram

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 46

Manipulation

Starting

Manipulation

Delta

Manipulation

Inertia Starting

Manipulation

Delta

w/ Inertia

Manipulation

Completed

Events begin with User

Touching the Image

User finger is

touching the

screen

User finger is lifted from the

screen

Page 47: Intel Ultrabook AppLab - ALL Slides

XAML: Manipulation starting event

handlervoid

m_rect_ManipulationStarting

(…)

{

e.ManipulationContainer = this;

}

47Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

• ManipulationStarting event handler is called at start of touch event

• By setting Manipulation-Container to the touched image all subsequent manipulation events will be relative to that element

Page 48: Intel Ultrabook AppLab - ALL Slides

Touch Event State Diagram

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 48

Manipulation

Starting

Manipulation

Delta

Manipulation

Inertia Starting

Manipulation

Delta

w/ Inertia

Manipulation

Completed

Events begin with User

Touching the Image

User finger is

touching the

screen

User finger is lifted from the

screen

Page 49: Intel Ultrabook AppLab - ALL Slides

XAML: Manipulation delta event

handlervoid m_rect_ManipulationDelta(…){

…//Get the manipulation’s deltavar delta = e.DeltaManipulation;

//Compute the transformed center pointPoint rectCenter = new Point(rect.ActualWidth *

0.5, rect.ActualHeight * 0.5);rectCenter = matrix.Transform(rectCenter);

//Adjust the element’s scale, rotation and translation

matrix.ScaleAt(delta.Scale.X, delta.Scale.Y,rectCenter.X, rectCenter.Y);

matrix.RotateAt(delta.Rotation, rectCenter.X, rectCenter.Y);

matrix.Translate(delta.Translation.X, delta.Translation.Y);

//Update the element’s render transformationrect.RenderTransform =

new MatrixTransform(matrix);e.Handled = true;

49Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

• ManipulationDeltaevent happens as user moves fingers

• Compute new image center point, scale, and rotation using event data

• Set Handled to true so other handlers don’t process same event

Page 50: Intel Ultrabook AppLab - ALL Slides

Touch Event State Diagram

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 50

Manipulation

Starting

Manipulation

Delta

Manipulation

Inertia Starting

Manipulation

Delta

w/ Inertia

Manipulation

Completed

Events begin with User

Touching the Image

User finger is

touching the

screen

User finger is lifted from the

screen

Page 51: Intel Ultrabook AppLab - ALL Slides

XAML: Inertia starting event handler

void m_rect_ManipulationInertiaStarting(…){

//Set the manipulations inertia valuese.TranslationBehavior = new

InertiaTranslationBehavior(){

InitialVelocity =e.InitialVelocities.LinearVelocity,DesiredDeceleration =…

};e.ExpansionBehavior = new

InertiaExpansionBehavior(){

InitialVelocity =e.InitialVelocities.ExpansionVelocity,DesiredDeceleration = …

};e.RotationBehavior = new

InertiaRotationBehavior(){

InitialVelocity =e.InitialVelocities.AngularVelocity,DesiredDeceleration = …

};e.Handled = true; …

51Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

• Inertia actions are handled by the ManipulationInertiaStarting event handler

• Define the behavior of the inertia by specifying • Linear velocity• Deceleration• Expansion velocity (used in

pinch or spread)• Angular velocity (used in

rotation)

• Again, set Handled to true so other handlers don’t process same event

Page 52: Intel Ultrabook AppLab - ALL Slides

Touch Event State Diagram

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 52

Manipulation

Starting

Manipulation

Delta

Manipulation

Inertia Starting

Manipulation

Delta

w/ Inertia

Manipulation

Completed

Events begin with User

Touching the Image

User finger is

touching the

screen

User finger is lifted from the

screen

Page 53: Intel Ultrabook AppLab - ALL Slides

XAML: Handle inertia manipulation

if (e.IsInertial){

//Get the containing element’s sizeRect containingRect = …

(e.ManipulationContainer).RenderSize);//Get the transformed element’s new//boundsRect shapeBounds =

rect.RenderTransform.TransformBounds(…);

//If element falls out of boundsif(!containingRect.Contains(shapeBounds)){

//Report boundary feedbacke.ReportBoundaryFeedback(…);//Stop any after inertiae.Complete();

}}

53Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

• Check if inertia is moving the

image across the grid

• If so, make sure image does not

travel outside of the grid by

calling the Complete method to

end the inertia

Page 54: Intel Ultrabook AppLab - ALL Slides

Summary

• Your application is already touch enabled, consider making touch oriented

• User Experience is the perception, not just execution – delight the user!

• Windows native API provides WM_GESTURE by default, RegisterTouchWindow for WM_GESTIRE

• XAML enables easy design and can be used with C# or VB for Desktop applications

– Consider Inertia and Bounderies when Manipulating objects

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners 54

Page 55: Intel Ultrabook AppLab - ALL Slides

References

• Intel Ultrabook™ Community

• Intel® Software Network

– software.intel.com

• Windows Development Reference

– msdn.microsoft.com/en-us/library/windows/desktop/hh447209%28v=vs.85%29.aspx

• WinRT API Reference

– msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx

55Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 56: Intel Ultrabook AppLab - ALL Slides

Q & A

56Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Sulamita Garcia – [email protected]

Technical Marketing Engineer

Twitter @sulagarcia

Page 57: Intel Ultrabook AppLab - ALL Slides

LUNCH!!!!

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective ownersIntel Confidential

57

Source: Microsoft

Page 58: Intel Ultrabook AppLab - ALL Slides

Application Development using

Sensors

Intel® Corporation

Page 59: Intel Ultrabook AppLab - ALL Slides

Legal Disclaimer

• INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH

PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL IS CLAIMS ANY EXPRESS OR IMPLIED WARRANTY RELATING TO SALE AND/OR USE OF INTEL

PRODUCTS, INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT,

COPYRIGHT, OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life-saving, life sustaining, critical control or safety systems,

or in nuclear facility applications.

• Intel products may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are

available on request.

• Intel may make changes to dates, specifications, product descriptions, and plans referenced in this document at any time, without notice.

• This document may contain information on products in the design phase of development. The information here is subject to change without notice. Do not finalize a

design with this information.

• Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and

shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.

• Intel Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights that relate to the presented subject

matter. The furnishing of documents and other materials and information does not provide any license, express or implied, by estoppel or otherwise, to any such

patents, trademarks, copyrights, or other intellectual property rights.

• Wireless connectivity and some features may require you to purchase additional software, services or external hardware.

• Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance of Intel products as measured

by those tests. Any difference in system hardware or software design or configuration may affect actual performance. Buyers should consult other sources of

information to evaluate the performance of systems or components they are considering purchasing. For more information on performance tests and on the

performance of Intel products, visit Intel Performance Benchmark Limitations

• Intel, the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

Copyright © 2011 Intel Corporation. All rights reserved.

Intel Confidential - Customer NDA Use Only

* Other Names and Brands maybe claimed as the property of others. All dates, plans and features are preliminary and subject to change without notice. 59Copyright© 2012, Intel Corporation. All rights reserved. *Other brands

and names are the property of their respective owners

Page 60: Intel Ultrabook AppLab - ALL Slides

Agenda

• Overview of available sensors

• Using sensors in a Windows 8* application

- In C++ desktop applications, using COM interface

- In C++ or C#/.NET Windows 8* store and desktop

applications, using WinRT APIs

• Considerations on Efficiency

60Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 61: Intel Ultrabook AppLab - ALL Slides

Who am I ?

Xavier Hallade (@ph0b)

Technical Marketing Engineer at Intel

61Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 62: Intel Ultrabook AppLab - ALL Slides

OVERVIEW OF AVAILABLE SENSORS

Sensors

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 62

Page 63: Intel Ultrabook AppLab - ALL Slides

Available Sensors

• Sensor Fusion : virtual sensors created by combining data from compass, accelerometer and gyroscope

• Ambient Light, GPS, 3D Motion and orientation sensors are all mandatory on Windows 8* Tablets and Convertibles

• Applications can subscribe to sensor events, set callbacks or directly poll their current state.

Accelerometer Gyroscope GPS Ambient LightCompass NFC

+ with Sensor Fusion: Inclinometer, Orientation, SimpleOrientation

Page 64: Intel Ultrabook AppLab - ALL Slides

Orientation and Motion

• Gyrometer returns yaw, pitch and roll velocities

• Accelerometer returns acceleration along x, y and z, and optionally a Shake event

• Simple Orientation : returns device orientation into one of four quadrants, face-up, or face-down

• Orientation Sensor and inclinometer both returns the complete device orientation

– Inclinometer returns yaw, pitch, and roll angles

– Orientation Sensor returns a quaternion as well as a 3x3 orientation matrix

Page 65: Intel Ultrabook AppLab - ALL Slides

Orientation and Motion detection

same convention as on Android

and in the HTML5 specification

0.0° ≤ Yaw < 360.0°

-180.0° ≤ Pitch < 180.0°

-90.0° ≤ Roll < 90.0°

Page 66: Intel Ultrabook AppLab - ALL Slides

Ambient Light

• Can be used to adapt application interface

depending on light conditions : contrast,

font size

• Screen brightness control should be handled

by the operating system.

Lighting condition Iuminance (lux)

Pitch black 1

Very dark 10

Dark indoors 50

Dim indoors 100

Normal indoors 300

Bright indoors 1,000

Dim outdoors 5,000

Cloudy outdoors 30,000

Direct sunlight 100,000

Page 67: Intel Ultrabook AppLab - ALL Slides

Location

Returns latitude, longitude:

- using Wi-Fi if available

- using IP Address otherwise

- using GPS if available and desired accuracy is set on High- then it can also return Altitude, Speed and Heading

Depending on user’s choice, its use can be denied.

A Windows 8* store app has to declare the “location” capability in its manifest.

Page 68: Intel Ultrabook AppLab - ALL Slides

Near Field Communication

• Short range (<4cm)

• Contactless

• Used between active and/or passive devices

– Active: Smartphone, Tablet, Ultrabook™…

– Passive: Tags, Smart cards…

• Small amount of data, low data transfer rate

• Easy to use, feels instantaneous (<1/10s)

-> Great user experience !

Page 69: Intel Ultrabook AppLab - ALL Slides

Near Field Communication

• Pairing

– with Bluetooth* peripherals, at the OS level

– with another running application, by establishing

a BT or Wi-Fi direct socket, at the application level

• Short data read/write on NFC tags

• Short data exchange with active devices

– Sharing URIs, contacts, positions

– Secure transactions

Page 70: Intel Ultrabook AppLab - ALL Slides

NFC messagesProtocol Pub. Sub. Message contents

Windows X X binary data.

WindowsUri X X UTF-16LE encoded string that is a URI.

use PublishUriMessage

WindowsMime X X message data of a specific mime type.

For example, "WindowsMime.image/jpeg".

You can subscribe to "WindowsMime" message

without specifying the mime type. If so, the first 256

bytes received is the ASCII mime type string.

Windows:WriteTag X Windows message to be written to a static tag.

WindowsUri:WriteTag X WindowsUri message to be written to a static tag.

WindowsMime:Write

Tag

X WindowsMime message to be written to a static tag.

Example, “WindowsMime:WriteTag.image/jpeg”

LaunchApp:WriteTag X Write a tag that can be used to launch a specific app.

more information on msdn.

WriteableTag X if a writeable tag is brought in to proximity, a

proximity message is received that contains an

int32 indicating the maximum writeable size.

Page 71: Intel Ultrabook AppLab - ALL Slides

NFC messages

Protocol Pub. Sub. Message contents

NDEF X X properly formatted NDEF records.

NDEF:ext X application defined NDEF records (TNF field value of 0x04).

NDEF:MIME X properly formatted NDEF mime message (TNF field value

of 0x02). For example, "NDEF:MIME.image/jpeg".

NDEF:URI X properly formatted NDEF message of a type defined by a

URI namespace (TNF field value of 0x03). For example,

"NDEF:URI.http://contoso.com/sometype".

NDEF:wkt X properly formatted NDEF message of a type defined by the

NFC forum (TNF field value of 0x01).An example of this

type is "NDEF:wkt.U" for the well known type of URI.

NDEF:WriteTag X message data that should be written to an NFC forum

standard static tag.

NDEF:Unknown X untyped NDEF message (TNF field value of 0x05).

Windows messages are fully compatible with NDEF messages,

but you can also directly manipulate them :

Page 72: Intel Ultrabook AppLab - ALL Slides

LET’S DIVE INTO SOME CODE !

Sensors

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 72

Page 73: Intel Ultrabook AppLab - ALL Slides

FROM C++

Sensors and Location Platform using COM interface

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 73

Page 74: Intel Ultrabook AppLab - ALL Slides

Sensors and Location Platform

• Same interface as on Windows 7– Sensor fusion available through new GUIDs

• Sensor manager controls sensors– Use sensor manager to get to sensors

– Notifies when a sensor connects

• Sensors report data, changes in state and disconnection

• Access both via COM interfaces– Use API to communicate to sensors

– Sensor events handled using callbacks

– API reference at msdn.microsoft.com/en-us/library/windows/desktop/dd318953%28v=vs.85%29.aspx

74Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 75: Intel Ultrabook AppLab - ALL Slides

COM: Connect to sensor manager

// Create the sensor manager

ISensorManager pSensorManager;

hr = CoCreateInstance (CLSID_SensorManager,NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(& pSensorManager ));

if(hr == HRESULT_FROM_WIN32

( ERROR_ACCESS_DISABLED_BY_POLICY))

{

// Unable to retrieve sensor manager due

// to group policy settings.

// Alert the user.

}

75Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

(Source: Microsoft)

• Access to sensors is through the

sensor manager

• Group policy settings may deny

access to the system sensors

Page 76: Intel Ultrabook AppLab - ALL Slides

COM: Retrieve a sensor object

// Get the sensor collectionhr = pSensorManager->GetSensorsByCategory(

SENSOR_CATEGORY_ALL,&pSensorColl);

if(SUCCEEDED(hr)){

ULONG ulCount = 0;// Verify that the collection contains at// least one sensorhr = pSensorColl->GetCount(&ulCount);if(SUCCEEDED(hr)){

if(ulCount < 1){

wprintf_s(L"\nNo sensors of therequested category.\n");

hr = E_UNEXPECTED;} else{

// Request permissions for all sensors// in the collectionhr = pSensorManager->

RequestPermissions(0, pSensorColl,FALSE);

}…

76Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

• Request sensors by category, type

or ID

• Request permission to use the

sensor(s)

• Windows 8 will open a dialog

box to ask the user

• Granting permission triggers

the OnStateChanged event

(Source: Microsoft)

Page 77: Intel Ultrabook AppLab - ALL Slides

COM: Sensor event callback

class CMyEvents : public ISensorEvents

{

public:

STDMETHODIMP QueryInterface (…) {…}

STDMETHODIMP_(ULONG) AddRef () {…}

STDMETHODIMP_(ULONG) Release () {…}

// ISensorEvents methods. //

STDMETHODIMP OnEvent (…) {…}

STDMETHODIMP OnDataUpdated (…) {…}

STDMETHODIMP OnLeave (…) {…}

STDMETHODIMP OnStateChanged (…) {…}

77Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

(Source: Microsoft)

• Receive event notifications by

implementing required COM

interfaces

• Sensor events require

ISensorEvents

• Sensor Manager events require

ISensorManagerEvents

Page 78: Intel Ultrabook AppLab - ALL Slides

COM: Start receiving events

// Create an instance of the event// classpEventClass = new CMyEvents();

if(SUCCEEDED(hr)){

// Retrieve the pointer to the// callback interfacehr = pEventClass->QueryInterface(

IID_PPV_ARGS(&pMyEvents));}if(SUCCEEDED(hr)){

// Start receiving eventshr = pSensor->

SetEventSink(pMyEvents);}

78Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

(Source: Microsoft)

• To start receiving events provide

the sensor with a pointer to your

callback

• To stop receiving events call

SetEventSink with a parameter of

NULL

Page 79: Intel Ultrabook AppLab - ALL Slides

Ambient Light Sensor

DEMO

Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners. 79

Page 80: Intel Ultrabook AppLab - ALL Slides

FROM C# AND C++/CX

Using WinRT Sensors and Location API

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 80

Page 81: Intel Ultrabook AppLab - ALL Slides

WinRT API

• Windows.Sensors.

• Accelerometer

• Gyrometer

• Inclinometer

• OrientationSensor

• SimpleOrientationSensor

• Compass

• LightSensor

• Windows.Networking.Proximity.ProximityDevice (NFC)

• Windows.Device.Geolocation (GPS)

Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 82: Intel Ultrabook AppLab - ALL Slides

Using the WinRT API

WinRT Sensors and Location APIs are available to

Windows 8* Desktop applications

You need to use WinRT Windows MetaData files :

• Platform.winmd: C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0\ExtensionSDKs\Microsoft.VCLi

bs\11.0\References\CommonConfiguration\neutral

• Windows.winmd: C:\Program Files (x86)\Windows Kits\8.0\References\CommonConfiguration\Neutral

Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

How ?

Page 83: Intel Ultrabook AppLab - ALL Slides

WinRT From Desktop (C#)

Unload your C# Project

Manually edit the .csproj file to add :

<PropertyGroup>

<TargetPlatformVersion>8.0</TargetPlatformVersion>

</PropertyGroup>

Reload the project

Add Windows.winmd and Platform.winmd as references from their respective locations

Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 84: Intel Ultrabook AppLab - ALL Slides

WinRT From Desktop (C++)

In your project properties, in C/C++->General:

• Set “Consume Windows Runtime Extension” on Yes

(/ZW)

• Add Windows.winmd and Platform.winmd paths to

“Additional #using Directories”

In your source code, add :

#using <Windows.winmd>

#using <Platform.winmd>

Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 85: Intel Ultrabook AppLab - ALL Slides

WinRT Sensor API

No need for a sensor manager:

1 – Retrieve the default sensor/device using GetDefault()

2 – Set the ReportInterval

3 – Add a delegate to ReadingChanged event

Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

Page 86: Intel Ultrabook AppLab - ALL Slides

WinRT Sensor API

Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

_accelero = Accelerometer.GetDefault();

if (_accelero != null)

{

_accelero.ReportInterval = 50 <= _accelero.MinimumReportInterval ?

_accelerometer.MinimumReportInterval : 50;

//Register for reading changed events

_accelero.ReadingChanged += (Accelerometer s, AccelerometerReadingChangedEventArgs

args) =>

{

//use e.Data.AccelerationX/Y/Z

};

}

Accelerometer ^accelero = Accelerometer::GetDefault();

if(accelero!=nullptr)

{

accelero->ReportInterval = 50 <= accelero->MinimumReportInterval ? accelero-

>MinimumReportInterval : 50;

accelero->ReadingChanged += ref new TypedEventHandler<Accelerometer^,

AccelerometerReadingChangedEventArgs^>(

[](Object^ sender, AccelerometerReadingChangedEventArgs^ e)

{

//read e->Data->AccelerationX/Y/Z

});

}

C#

C++

Page 87: Intel Ultrabook AppLab - ALL Slides

C#/WPF Accelerometer Demo

• Ellipse (ball) drawn on a canvas

• Accelerometer data is used to update X/Y/Z

display and location of ball

87Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

• Data is read using

accelerometer events in

conjunction with a

timer to move the ball

Page 88: Intel Ultrabook AppLab - ALL Slides

C#/WPF NFC DEMO

• Subscribe to incoming WindowsURI messages

• Publish a WindowsURI message to any active

device

• Write that

message to any

writable tag

88Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 89: Intel Ultrabook AppLab - ALL Slides

USING SENSORS EFFICIENTLY

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 89

Page 90: Intel Ultrabook AppLab - ALL Slides

General Considerations

• The effects of applications on power use

• Both idle workloads and active workloads

• The rules of power management

– Computational efficiency

– Maximize idle

– Data efficiency

– Power-aware behavior

• Align, coalesce or batch activity whenever possible

90Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 91: Intel Ultrabook AppLab - ALL Slides

Regarding Sensors

• Do not set a small ReportInterval if your application doesn’t need it

• Avoid periodic registry or disk accesses in order to let the hard disk spin down

• Avoid status polling, statistics & background bookkeeping

• Avoid using sensors when application is not active

• Consider using accelerometer or gyroscope alone if full orientation is not needed.

91Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Sensors objects in Sensors API: At least one client connected

Hardware: Accelerometer Gyroscope Inclinometer Compass Device Orientation

Accelerometer On Off On On On

Gyro Off On On On On

Magnetometer Off Off On On On

Page 92: Intel Ultrabook AppLab - ALL Slides

Advanced : Context/power-aware

behavior• Handling sleep transitions seamlessly

– Saving an restoring state

– Stopping ongoing activity prior to sleeping

– Closing open resources & disconnecting communications

• Respond/adapt to system power events– Switching from AC to battery; low battery status

• Scale behavior based on power state

• Context awareness toolkits– software.intel.com/en-us/mobility

– softwarecommunity.intel.com/articles/eng/1070.htm

– softwarecommunity.intel.com/articles/eng/1026.htm

92Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 93: Intel Ultrabook AppLab - ALL Slides

Intel Software Development Products

Intel Power Tools

• Intel® Power Checker

– Reveals how much power your application is using

– software.intel.com/partner/app/software-

assessment/?cid=sw:ubpower004

• Energy-Efficient Software Checklist

– software.intel.com/en-us/articles/energy-

efficient-software-checklist/

93Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 94: Intel Ultrabook AppLab - ALL Slides

References• Intel® Software Network

– software.intel.com

• COM Sensor API– msdn.microsoft.com/en-us/library/windows/desktop/dd318953(v=vs.85).aspx

• COM Location API– msdn.microsoft.com/en-us/library/dd464636(v=VS.85).aspx

• WinRT Sensors API– msdn.microsoft.com/en-us/library/windows/apps/br206408.aspx

• WinRT Geolocation API– msdn.microsoft.com/en-us/library/windows/apps/windows.devices.geolocation.aspx

• WinRT ProximityAPI– msdn.microsoft.com/en-us/library/windows/apps/windows.networking.proximity.aspx

• Detecting Ultrabook Sensors– software.intel.com/en-us/blogs/2012/07/26/detecting-ultrabook-sensors

• Ultrabook and Tablet Windows 8* Sensors Development Guide– software.intel.com/en-us/articles/ultrabook-and-tablet-windows-8-sensors-development-guide/

• Intel® Energy Efficient Software Guidelines– software.intel.com/partner/assets/pdf/misc/Energy_Efficient_Software_Guidelines_v3_4_10_11.pdf

94Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 95: Intel Ultrabook AppLab - ALL Slides

Summary

– Sensors are a natural way to interact with end

users

– Desktop apps can utilize them through WinRT as

well as Windows 8* Store Apps

– Utilize efficient designs and coding practices to

save battery life

95Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 96: Intel Ultrabook AppLab - ALL Slides

Q & A

96Copyright(C) 2012 Intel Corporation. All rights reserved. *Other brands and names are properties of their respective owners.

Page 97: Intel Ultrabook AppLab - ALL Slides

Tools Presentation by Uli

Copyright© 2012, Intel Corporation. All rights reserved.

*Other brands and names are the property of their respective owners

Intel Confidential

97

Source: Microsoft

Page 98: Intel Ultrabook AppLab - ALL Slides

Intel® Software Development Tools

for Advanced Performance

Boost Performance. Scale Forward. Ensure Confidence.

Page 99: Intel Ultrabook AppLab - ALL Slides

9/4/2012 99

Who Am I…

• Uli Dumschat ([email protected])

• Computer Science Degree

• Mobile Tools Product Marketing @ Intel

• Since 1998 in SW Tools business, Intel since 2001

DL2BAT

Page 100: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 100

Intel® SSG/Developer Products Division

Premium Class Tools For Intel® Architecture

http://www.intel.com/software/products

Page 101: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 101

OS/Environment DevelopmentRequirements

Intel® Software Development Tools

Windows* 8 Compatibility

Let‘s talk aboutLet‘s talk aboutLet‘s talk aboutLet‘s talk aboutIntel ToolsIntel ToolsIntel ToolsIntel ToolsFor Windows* For Windows* For Windows* For Windows* Desktop AppsDesktop AppsDesktop AppsDesktop Apps

Page 102: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 102

Libraries Bundled Suites Compilers Analysis/Profiling Tools

Let‘s have aLet‘s have aLet‘s have aLet‘s have acloser look! closer look! closer look! closer look! ☺☺☺☺

Intel® Software Development Tools Overview

Page 103: Intel Ultrabook AppLab - ALL Slides

Thriving in a Multicore World

with

Intel® Parallel Studio XE

Page 104: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 104

Intel® Parallel Studio XE

What’s What’s What’s What’s Included?Included?Included?Included?

What

Why

Windows and Linux

Leading Software Development Tools forOptimized Application Performance, Scalable Parallelism, and

Confidence

Value Proposition

• Performance - Intel tools are key to utilizing processor performance

• Scale forward - Your application investment extends to tomorrow’s platforms

• Confidence - Trusted software tools you can count on for best results

How

• Leading C++ and Fortran performance optimizing compilers libraries, performance libraries, and analysis tools

• Advanced parallel programming models to develop code for Intel® Xeon® Processors today, easily extends to Intel® MIC architecture

• Trusted software correctness tools for application quality and ensured confidence

Page 105: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 105

Intel® Parallel Studio XE 2011A Complete SW Tools Solution Covering All Phases Of SW Development

Page 106: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 106

Phase Productivity Tool Feature Benefit

Design

Intel® Parallel Advisor for C++ Windows

Threading design assistant

• Simplifies, demystifies, and speeds parallel application design

• Available for Intel® Parallel Studio XE Windows and Intel® C++ Studio Windows (ESD)

Build & Debug

Intel®

Composer XE

C/C++ and Fortran compilers and performance libraries• Intel® Parallel Building Blocks• Intel® Integrated Performance

Primitives• Intel® Math Kernel Library

• Enabling solution to achieve the application performance and scalability benefits of multicore and forward scale to manycore

VerifyIntel®

Inspector XE

Memory & threading dynamicanalysis for code quality

Static Security Analysis for codequality (Studio products only)

• Increased productivity, code quality, and lowers cost

• Finds memory, threading , and security defects before they happen

TuneIntel® VTune™Amplifier XE

Performance Profiler for optimizing application performance and scalability

• Remove guesswork, saves time, makes it easier to find performance and scalability bottlenecks

Intel® Parallel Studio XEPowerful Tools Provide Comprehensive Coverage

Optimized Performance, Scalable Parallelism, Confidence

Page 107: Intel Ultrabook AppLab - ALL Slides

Intel® Parallel Studio XE

Product Details

Page 108: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 108

Intel®

Parallel Advisor - OverviewThreading Assistant for Windows*

Simplifies and Speeds Threading Design

Best Results with Parallelism Design Insight and Analysis

Evaluate return on investment Performance benefit vs. the cost of transitioning to parallelism

Simplifies adding ParallelismShorter learning curve for parallelism by helping to identify and experiment with parallel opportunities

Step-by-step threading guidanceFrom surveying code, finding the best implementation, to checking correctness.

Design Phase

Page 109: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 109

Intel® Parallel Advisor – Overview

Discover, Analyze, Check, Add Parallelism

Analyzes the executing serial program as developers work through the methodology

Check SuitabilityEvaluates performance impact and implication of the parallel experiments

Survey TargetFocuses effort where it will pay off and targets coarse-grain parallelism

Annotate SourcesInserts annotations to sources to describe parallel experiments

Check CorrectnessFinds and resolves conflicts before parallelism is applied. Reduces debugging problems by defining safe and solid paths to parallelism

Design Phase

Models Intel® Threading Building Blocks, Intel® Cilk™ Plus, Microsoft*PPL, Windows* Threads, OpenMP*

Page 110: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 1109/4/2012

Intel® C++ Composer XE

• Intel® C++ Compiler XE 12.1• Intel® Parallel Building Blocks

- Intel® Threading Building Blocks- Intel® Cilk™ Plus

• Intel® Math Kernel Library• Intel® Integrated Performance

Primitives

Intel® Fortran Composer XE

• Intel® Fortran Compiler XE 12.1• Intel® Math Kernel Library • Intel® Integrated Performance

Primitives

Intel Composer XE - OverviewCompilers, Performance Libraries, Debugging Tools

• Leading Performance Optimizing Compilers

- Intel C++ and Fortran Compilers

- Intel® Integrated Performance Primitives, Intel® Math Kernel Library libraries

- Profile-Guided Optimization (PGO)

- Interprocedural Optimization (IPO)

- Guided-auto parallelism (GAP)

- High-Performance Parallel Optimizer (HPO)

- SIMD Pragma

- C++ Array Notations

• Standard Support

- OpenMP*

- C++0x

- Support for key parts of the latest Fortran and C++ standards, Visual Studio* 2010 Shell for Visual Fortran*

• Compatibility – Mix and Match- Binary and source compatible with

Microsoft* Visual Studio* C++ and GCC*

Windows*, Linux*, Mac OS*

32-bit & 64-bit multicore processor supportIntel® AVX support

Supported EnvironmentsMicrosoft Visual Studio* 2005, 2008, 2010 Eclipse CDT and Mac XCode*

Page 111: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 111

Updated Compilers and LibrariesProduce Industry Leading Performance

• Intel v12.1 compilers improve performance compared with:

– Competitive compilers

– Previous version Intel compilers

Notes:

1 C/C++ performance measured using SPECint®_base2006 estimated RATE benchmark running on a 64 bit operating system

2 Fortran performance measured using Polyhedron* benchmark running on a 64 bit operating system. In this performance measurement, “faster” refers to percent reduction in time-to-completion.

Intel v12.1 Intel v12.1 Intel v12.1 Intel v12.1 Compiler on Compiler on Compiler on Compiler on

Windows* Windows* Windows* Windows* vs.vs.vs.vs.nearest nearest nearest nearest

competitorcompetitorcompetitorcompetitor

Intel v12.1 Intel v12.1 Intel v12.1 Intel v12.1 Compiler on Compiler on Compiler on Compiler on Linux* Linux* Linux* Linux* vs.vs.vs.vs.nearest nearest nearest nearest

competitorcompetitorcompetitorcompetitor

Intel v12.1 Intel v12.1 Intel v12.1 Intel v12.1 Compiler on Compiler on Compiler on Compiler on Windows Windows Windows Windows vs.vs.vs.vs.

v12.0v12.0v12.0v12.0

Intel v12.1 Intel v12.1 Intel v12.1 Intel v12.1 Compiler on Compiler on Compiler on Compiler on

LinuxLinuxLinuxLinux vs. vs. vs. vs. v12.0v12.0v12.0v12.0

C/C++C/C++C/C++C/C++IntegerIntegerIntegerInteger1111 47% faster47% faster47% faster47% faster 12% faster12% faster12% faster12% faster 11% faster11% faster11% faster11% faster 6% faster6% faster6% faster6% faster

C/C++C/C++C/C++C/C++Floating Floating Floating Floating PointPointPointPoint1111

21%21%21%21% fasterfasterfasterfaster 9% faster9% faster9% faster9% faster 3% faster3% faster3% faster3% faster 1% faster1% faster1% faster1% faster

FortranFortranFortranFortran2222 24%24%24%24% fasterfasterfasterfaster 17% faster17% faster17% faster17% faster 22% faster22% faster22% faster22% faster 27% faster27% faster27% faster27% faster

Page 112: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners.

A Family of Parallel Programming ModelsDeveloper Choice

Intel® Cilk™ PlusIntel® Cilk™ PlusIntel® Cilk™ PlusIntel® Cilk™ Plus

C/C++ language extensions to simplify parallelism

Open sourced

Also an Intel product

Intel® Threading Intel® Threading Intel® Threading Intel® Threading Building BlocksBuilding BlocksBuilding BlocksBuilding Blocks

Widely used C++ template library for parallelism

Open sourced

Also an Intel product

DomainDomainDomainDomain----Specific Specific Specific Specific LibrariesLibrariesLibrariesLibraries

Intel® Integrated Performance Primitives

Intel® Math Kernel Library

Established Established Established Established StandardsStandardsStandardsStandards

Message Passing Interface (MPI)

OpenMP*

Coarray Fortran

OpenCL*

Research andResearch andResearch andResearch andDevelopmentDevelopmentDevelopmentDevelopment

Intel® Concurrent Collections

Offload Extensions

Intel® Array Building Blocks

Intel® SPMD Parallel Compiler

Choice of high-performance parallel programming models• Libraries for pre-optimized and parallelized functionality

• Intel® Cilk™ Plus and Intel® Threading Building Blocks supports composable parallelization of a wide variety of applications.

• OpenCL* addresses the needs of customers in specific segments, and provides developers an additional choice to maximize their app performance

• MPI supports distributed computation, combines with other models on nodes

Page 113: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 113

Advanced Tools to Develop Code for Intel® Xeon® Processors Today, Easily Extends to Intel® MIC

Architecture

“By just utilizing standard programming on both Intel® Xeon processor and Intel® MIC architecture based platforms, the performance met multi-threading scalability expectations and we observed near-theoretical linear performance scaling with the number of threads.” – Hongsuk Yi,

Heterogeneous Computing Team

Leader, KISTI Supercomputing Center

“SGI understands the significance of inter-processor communications, power, density and usability when architecting for exascale. Intel has made the leap towards exaflop computing with the introduction of Intel® Many Integrated Core (MIC) architecture. Future Intel® MIC products will satisfy all four of these priorities, especially with their expected ten times increase in compute density coupled with their familiar X86 programming environment.” –Dr. Eng Lim Goh, SGI CTO

Page 114: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 114

What’s New: Intel® Cilk™ Plus v1.1 Implemented with Commercial Support; Simplifies Going Parallel

• Enhanced performance and utilization of future Intel CPU features

• SIMD pragma loops, vector length, and elemental functions support

• Mac OS* support

cilk_for (int i=0; i<n; ++i) {Foo(a[i]);

}

Open spec at: cilkplus.org

}int fib (int n){

if (n <= 2)return n;

else {int x,y;x = fib(n-1);y = fib(n-2);return x+y;

}}

}int fib (int n){

if (n <= 2)return n;

else {int x,y;

x = _cilk_spawn fib(n-1);y = fib(n-2);_cilk_sync;return x+y;

}}Turn serial code Into parallel code

Parallel loops made easy

Page 115: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 115

Intel® Inspector XE - Dynamic AnalysisDetects memory and threading errors

• Memory errors• Invalid Memory Accesses• Memory Leaks• Uninitialized Memory Accesses• Improper usage of Memory API(s)• Resource Leaks (Windows only)

•Threading Errors• Data Races• Deadlock/Lock Hierarchy Violation• Cross Stack Memory Accesses

� No special compiles(dynamic binary instrumentation)

� Analyze DLLs (source optional)

� Runs threaded� 32 and 64-bit OSs

(e.g., Windows 7, RHEL 6)

� Easy user interface

Page 116: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 116

Intel® Parallel Studio XE - Static AnalysisDetects over 250 different kinds of errors & security risks

Coding Errors (partial list)

• Memory and resource leaks• Incorrect OpenMP* and Cilk directives• Pointer and array errors

Security Errors (partial list)

• Buffer overflows and underflows• Uninitialized variables and objects• Incorrect pointer usage• Misuse of string, memory formatting

library routines

� No compiler change required−Existing compiler for code generation−Intel compiler front end for static

analysis

� No workload required� Fast ~1.5X time of an optimizing

compile†

� Easy user interface

† Estimate. Your results may vary.

Static Analysis is included in all Studio XE products.It is not sold separately.

Page 117: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 117

Where is my application…

Spending Time? Wasting Time? Waiting Too Long?

• Focus tuning on functions taking time

• See call stacks• See time on source

• See cache misses on your source

• See functions sorted by # of cache misses

• See locks by wait time

• Red/Green for CPU utilization during wait

Intel® VTune™ Amplifier XE Performance Profiler

• Windows & Linux• Low overhead• No special recompiles

Advanced Profiling For Scalable Multicore Performance

Claire CatesPrincipal Developer, SAS Institute Inc.

We improved the performance of the latest run 3 fold. We wouldn't have found the problem without something like Intel® VTune™ Amplifier XE.

Page 118: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 118

Intel® VTune™ Amplifier XE Tune Applications for Scalable Multicore Performance

• Fast, Accurate Performance Profiles– Hotspot (Statistical call tree)– Hardware-Event Based Sampling

• Thread Profiling– Visualize thread interactions on timeline– Balance workloads

• Easy set-up– Pre-defined performance profiles– Use a normal production build

• Compatible– Microsoft, GCC, Intel compilers– C/C++, Fortran, Assembly, .NET– Latest Intel® processors

and compatible processors1

• Find Answers Fast– Filter extraneous data– View results on the source / assembly– Event multiplexing

• Windows or Linux– Visual Studio Integration (Windows)– Standalone user i/f and command line– 32 and 64-bit

1 IA32 and Intel® 64 architectures. Many features work with compatible processors. Event based sampling requires a genuine Intel® Processor.

Page 119: Intel Ultrabook AppLab - ALL Slides

Intel® Parallel Studio XE

Summary

Page 120: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 120

Intel® Parallel Studio XE Performance, Quality, and Scalable Parallelism Solutions

software.intel.com

• Performance - Intel tools are key to utilizing processor performance

• Scale forward - Your application investment extends to tomorrow’s platforms

• Confidence - Trusted software tools you can count on

Page 121: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012 121

Intel®

Parallel Studio XE

Intel®

C++ Studio XE

Intel®

FortranStudio XE

Analy

sis

Intel® Inspector XEMemory and Thread Checker

���� ���� ����

Intel® Static Security Analysis ���� ���� ����

Intel® VTune™ Amplifier XEPerformance Profiler

���� ���� ����

Com

pilers Intel® C++ Compiler ���� ���� x

Intel® Fortran Compiler ���� x ����

Lib

rari

es

Intel® Integrated Performance Primitives ���� ���� x

Intel®

Threading Building Blocks���� ���� x

Intel® Math Kernel Library ���� ���� ����

Tool

Intel® Parallel Advisor C++ Windows available (separate download)

���� ����x

Windows MSRP $1,899 $1,499 $1,599

Windows SSR $759 $599 $639

Linux MSRP $2,249 $1,499 $1,799

Linux SSR $899 $599 $719

Intel® Parallel Studio XE Family Suites

Intel Confidential - Internal Use Only

Page 122: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 9/4/2012

Page 123: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners.

Optimization Notice

9/4/2012

Optimization Notice

Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that

are not unique to Intel microprocessors. These optimizations include SSE2®, SSE3, and SSSE3 instruction sets and

other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on

microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended

for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for

Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information

regarding the specific instruction sets covered by this notice.

Notice revision #20110804

Page 124: Intel Ultrabook AppLab - ALL Slides

Software & Services Group

Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners.

Legal Disclaimer

9/4/2012

INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS”. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO THIS INFORMATION INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance of Intel products as measured by those tests. Any difference in system hardware or software design or configuration may affect actual performance. Buyers should consult other sources of information to evaluate the performance of systems or components they are considering purchasing. For more information on performance tests and on the performance of Intel products, reference www.intel.com/software/products.

BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino Atom, Centrino Atom Inside, Centrino Inside, Centrino logo, Cilk, Core Inside, FlashFile, i960, InstantIP, Intel, the Intel logo, Intel386, Intel486, IntelDX2, IntelDX4, IntelSX2, Intel Atom, Intel Atom Inside, Intel Core, Intel Inside, Intel Inside logo, Intel. Leap ahead., Intel. Leap ahead. logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel StrataFlash, Intel Viiv, Intel vPro, Intel XScale, Itanium, Itanium Inside, MCS, MMX, Oplus, OverDrive, PDCharm, Pentium, Pentium Inside, skoool, Sound Mark, The Journey Inside, Viiv Inside, vPro Inside, VTune, Xeon, and Xeon Inside are trademarks of Intel Corporation in the U.S. and other countries.*Other names and brands may be claimed as the property of others.

Copyright © 2011. Intel Corporation.

http://intel.com/software/products

Page 125: Intel Ultrabook AppLab - ALL Slides

Ultrabook™ Developer Resources

Intel® Corporation

Page 126: Intel Ultrabook AppLab - ALL Slides

126Copyright(C) 2012 Intel Corporation. All rights reserved. *Other

brands and names are properties of their respective owners.

Agenda

Intel AppUp® Center

Intel® Ultrabook™ Community

Summary

Page 127: Intel Ultrabook AppLab - ALL Slides

For Internal Use Only * Other names and brands may be claimed as the property of others.

Intel AppUp®Intel AppUp®

127

Page 128: Intel Ultrabook AppLab - ALL Slides

Intel AppUp® CenterThousands of Apps, Aggregated and Curated for Easy Discoverability

• Digital storefront for existing and new PC

software, apps, content, and

entertainment

• Simplified submission process to support

existing software applications and

content

• Purchases supported in >45 countries, via

25 unique partners, and in 5 languages*

• Security testing performed prior to

publication

• Distribution mechanism for all digital

content

Intel Confidential 128

Intel AppUp®is a trusted and aggregated source to get digital content

for Ultrabooks™, notebooks, and PCs – hundreds of millions of platforms!

www.AppUp.com

*English, French, German, Spanish, Italian (coming Q2’12)

Other names and brands may be claimed as the property of others.

Page 129: Intel Ultrabook AppLab - ALL Slides

Intel Confidential 129

Why Distribute through Intel AppUp®Expanded Reach with Intel AppUp®

• Every 56 seconds a new user joins AppUp®

• Every 16 seconds an application is downloaded via AppUp®

• Potential to reach >2.6B installed PCs worldwide1

• Participate in a ~$10B PC App Store Market2

• Single submission, single validation, single security process that

distributes across many digital storefronts, worldwide

• Opportunities to differentiate products by utilizing Intel hardware

features

1Source: IDC Windows Client OS Installed Base, WinXP and Win72 Source: IDC, Bain, displaysearch, Intel analysis

Easy to submit existing content + a potential reach of 2.6B installed PCs

= High ROI

Page 130: Intel Ultrabook AppLab - ALL Slides

Connecting Creators with Millions of Consumers

130

Drive consumer adoption by solving consumer problems

� AppUp® makes DISCOVERABILITY easy by AGGREGATING and CURATING

content in a single repository, accessible by many partners worldwide and

hundreds of millions of PCs

Reduce the risk of malware and threats delivered via downloads

� AppUp® SCANS every submission prior to publishing to help ensure a safe

and trusted environment for consumers

Deliver content focused around categories users care about � Games, Entertainment, Creativity, Education, Productivity, Lifestyle, etc

Available today and easily accessible� AppUp® supports Windows7 and Windows XP today – with an opportunity

to reach 2.6B PCs

� AppUp® will be available with Win8

Intel AppUp® provides consumers with a breadth

of popular and relevant content, AGGREGATED and easily DISCOVERABLE,

VALIDATED and SCANNED to help prevent malware,

making PCs more fun and useful.

Page 131: Intel Ultrabook AppLab - ALL Slides

Opportunity To Grow With Us: 2.6B PCsMarketing initiatives targeted towards the installed base

131*source: IDC PC Shipments by Operating System

Part of the Largest Intel Marketing Campaign

since Intel® Centrino®!

Direct to

Consumer

Social

Networking

Partner

MarketingProduct

Placement

Page 132: Intel Ultrabook AppLab - ALL Slides

Global Distribution of Apps

132*All logos on this slide are the property of 3rd parties

Page 133: Intel Ultrabook AppLab - ALL Slides

Intel® Ultrabook™ Community

• http://software.intel.com/en-us/ultrabook/Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners.

Page 134: Intel Ultrabook AppLab - ALL Slides

Ultrabook™ Community Resources

• Forums: Ask and Find Answers

• Black Belt Program: Earn Points

• Technical Video Tutorials

• Development Opportunities

134

Earn recognition and rewards

Software.intel.com/en-us/ultrabook

Page 135: Intel Ultrabook AppLab - ALL Slides

Publishing Apps in Intel AppUp®

• Join AppUp® Developer Center

• Start App Submission

• Validation

• App Published

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 135

Page 136: Intel Ultrabook AppLab - ALL Slides

• 100% Free enrollment

• Access to SDK, Community,

Developer Tools, content, etc

• Submit apps to sell on the Intel

AppUp® Center

• appdeveloper.intel.com

AppUp® Developer Center

136

Page 137: Intel Ultrabook AppLab - ALL Slides

• Access all apps and

validation process

• Finance

• Messages

• Crash Reporting

• Organization Members

• Black belt program

Your Dashboard

Page 138: Intel Ultrabook AppLab - ALL Slides

Validation Process

Page 139: Intel Ultrabook AppLab - ALL Slides

App Publication

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 139

www.appup.com

Page 140: Intel Ultrabook AppLab - ALL Slides

Get Engaged!

• Enroll in AppUp® Developer:

appdeveloper.intel.com/join

• Talk with us on Twitter:

– @Develop4AppUpEU - AppUp®

– Facebook.com/intelappupdeveloper

– Monika Lischke: @MonikaLischke

• Ultrabook Resources:

– Software.intel.com/en-us/ultrabook

140

Page 141: Intel Ultrabook AppLab - ALL Slides

Call to Action

• DOWNLOAD the Intel AppUp®

center and test drive an app

today at appup.com

• ENROLL in Intel AppUp®

developer

• ENGAGE in the Ultrabook™

Community

• BUILD new apps & experiences

that integrate Ultrabook touch,

sensors, GPS, etc

• SUBMIT apps to be sold globally

through Intel AppUp® center &

affiliate stores

Page 142: Intel Ultrabook AppLab - ALL Slides

SDP Specs

• Hard Drive: 180GB SSD - Intel® 520 series

• Processor: Intel® Core™ i7-3667U processor (4M Cache, 2.00 GHZ)

• RAM: 4GB DDR3L 1333MHz

• Screen Resolution: 1600 X 900

• Inputs and Sensors:

– 5-finger Multi-Touch display

– Gyroscope: Sensor Hub

– Accelerometer: Sensor Hub

– GPS: Fastrax GPS IT430

– NFC: SEMCO* module and Cirque* track pad

– Trackpad

– Keyboard

– Front Facing WebCam

• Ports:

– 2 USB

– HDMI: Mini HDMI

– 1 SD Slot

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 142

Page 143: Intel Ultrabook AppLab - ALL Slides

How to get to the cbase

Copyright(C) 2012 Intel Corporation. All rights reserved.

*Other brands and names are properties of their respective owners. 143

1. Subway Station Kaiserdamm

2. U2 into direction of Pankow

3. Change at Zoologischer Garten

4. take the S-Bahn train in direction of Strausberg (S5) or Wartenberg (S75)

5. Get off Jannowitzbrücke, cross the river Spree and then left into Runge Strasse

Page 144: Intel Ultrabook AppLab - ALL Slides

Wrap Up and Closing

144Copyright© 2012, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners

• SDP (Software Development Platform) Distribution

• Join Intel® Premier Support - https://premier.intel.com/

– Locate Serial Number on back of SDP

– Submit Issues

– Download SoftwareUpdates

– Device Announcements

• Hacking Session at the c-base

• Book a TME: contact us for a technical follow up session

• Blog, tweet, facebook, G+ and instagram

develop, develop, develop, develop, develop, develop!

Page 145: Intel Ultrabook AppLab - ALL Slides

Intel Ultrabook™ AppLab

THANK YOU!