The Anatomy of the Microsoft Client Stack Sascha P. Corti Developer Evangelist, Microsoft Switzerland [email protected] | blog | twitter #chtdD205 #chtd.

Download Report

Transcript The Anatomy of the Microsoft Client Stack Sascha P. Corti Developer Evangelist, Microsoft Switzerland [email protected] | blog | twitter #chtdD205 #chtd.

The Anatomy of the
Microsoft Client Stack
Sascha P. Corti
Developer Evangelist, Microsoft Switzerland
[email protected] | blog | twitter
#chtdD205
#chtd
Why have this session?
Platforms
Web
Pages
(AJAX)
Media
& Anim
Phone
RIA
App
Desktop
Rich
Client
COM
Interop.
Hardware
Accel.
High End
Perf.
Rich Client: Form Factors
Windows
Phone 7
Windows
Slate
Tablet PC
Large
Format
Display
Laptop
Desktop
Surface 2.0
Windows 7 Slate Overview
A Selection of Slates
Asus EEE Slate
12”, Intel Core i5
Samsung Sliding PC
10.1”, Intel Oak Trail 1.5Ghz
ViewSonic ViewPad 10Pro
A Selection of Slates
HP Slate, 8.9”,
Intel Atom Z540
Dell Inspiron Duo,
10.1”, Intel N550
BMx W7Pad
11.6”, Intel N450
The Windows Slate: Uses
Extreme Mobility
Consume Data / Read
Managed security
Peripherals
Business application integration
Best of Both Worlds
Keyboard, touch and pen enabled
Detachable screen, flip screen
Choice of form factor
Business Apps
Specialized Work
Ruggedized
Waterproof/sanitize
Barcode and
credit card reader
Business Apps
High-End Business
Enterprise operating system
Best performance
Full Desktop Replacement
Best managed security
BitLocker, DirectAccess
Fingerprint and smart card
authentication
Characteristics of a Slate PC Application
It is any
application that
is compatible
with Windows 7
and:
Is Designed for Use on
a Multi-Touch Display
(Big Touch Targets)
Assumes no
physical keyboard
Supports
High DPI
Is Focused on Data
Consumption
Is designed for lowpower GPU/CPU
Considers
Screen Rotation / UI Layout
9
demo
Slate Application
Native Extensions for
Microsoft Silverlight (NESL)
Connecting Silverlight OOB and Windows 7
Silverlight 4 Out of Browser
Elevated Trust
COM
Automation
Cross Domain
Net Access
My Documents
My Pictures, etc.
Window APIs.
Position, Size
Notifications
(Toasts)
Normal Trust
HTML
Brush
Native Extensions for Silverlight
Out of Browser Clients
COM Automation
Select Platform APIs exposed through
Automation
Open Source Project
Phased project, features added over time
Windows Message interception
Taskbar Integration
Full Sensor API
Local Encoding / Screen Capture via
Webcam
Speech Recognition & Text to Speech
Windows Portable Devices
NESL COM Automation Layer
COM
Windows Platform API Access
Core Services
Window Messages
File System
Speech Reco
Power Mgmt
Displays
…
Devices
Sensors
Windows Portable
Devices
Location Services
…
Media
Local Encoding
Webcam Capture
Screen Capture
…
Platform Services
Shell
Taskbar
Documents
Libraries
Desktop Search
…
What’s in NESL?
Windows 7 Manipulation / Inertia / Gestures
Extend basic Silverlight Touch
Manipulation & Inertia Processing, Gesture Support
Discover Touch Support Type and Touch Point Count
Windows Sensor API
Integrate Sensors in you Silverlight app
Accelerometers, Light Sensors, Compasses, Gyroscopes etc.
“Single Instance” Pattern
Allow only a Single Instance of an App to run
Sense subsequent Launch Attempts and act on them
Window Message Interception
Intercept and act on Window messages
WM_DISPLAYCHANGE
What’s in NESL?
Webcam Local Encoding and Window Capture
Encode Webcam Capture into mp4 (H.264/AAC-LC) Media
Capture UI Interaction as Video
Standalone or Composited with Webcam Video
Microsoft Speech API
Text to Speech, Speech to Text (Command & Control Only)
Windows Portable Devices API
Enumerate and read/write content from/to
cameras, phones, music players, scanners etc.
Windows 7 Taskbar Integration
Jump Lists, Overlay Icons, Overlay Progress Bars, Thumbnail Toolbars
Windows 7 System Tray Integration
Minimize Silverlight Apps to the System Tray
Support System Tray Icon Menus
Support System Tray Notification Balloons
How do you use NESL?
NESL is largely Native Code
80% Native Code / 20% SL Wrapper Libraries
Requires MSI based Installation of Native Pieces
Only for Windows 7
Uses COM
Requires Registration
In-App Installer supplied as a part of the Framework
Install the Native Pieces from within SL OOB Application on First Run
Silverlight App interacts through supplied SL Wrappers
SL Code and Demo Source available for Download
demo
Building a Slate Application
using NESL
Microsoft Surface 2.0
Overview
Surface 2.0 at a Glance
Manufactured by Samsung (Samsung SUR40)
Slim Device (4 Inches)
Horizontal or Vertical Placement.
40inch, Full HD LCD Screen
Durable Gorilla Glass, designed for Public Use.
Based on Windows 7
Powerful Local & Remote Configuration
Suggested price starts at US$ 7800
available mid 2011 in 23 countries
Australia, Austria, Belgium, Canada, Denmark, France, Germany, Hong Kong, India, Ireland, Italy, Korea, the
Netherlands, Norway, Qatar, Saudi Arabia, Singapore, Spain, Sweden, Switzerland, the United Arab Emirates,
the United Kingdom and the United States.
Surface 2.0 Placement
if (InteractiveSurface.
PrimarySurfaceDevice.
Tilt ==
Tilt.Horizontal)
PixelSense
PixelSense based Touch
>= 50 simultaneous Touch Points.
Sees everyday Object without Cameras.
Optical “Tag” (= 2D Barcode) Recognition.
Byte Tag
8 bits of Data
Identity Tag
128 bits of Data
PixelSense
Surface 2.0 Development
Embedded Windows 7 Professional (64-bit)
.NET Framework 4.0 / WPF 4.0 / XNA 4.0
Compatible with Windows 7 MultiTouch
Surface 2.0 SDK (Mid 2011)
Builds on Microsoft Surface Toolkit for Windows Touch Beta
Additional Controls, Object (Tag) Recognition.
Surface 2.0 Technical Specs
demo
Surface Toolkit
Windows Touch
& Surface 2.0
SDK
Surface 2.0 Resources
Official Microsoft Surface Site
http://www.surface.com
Samsung SUR40 for Microsoft Surface Datasheet
http://www.microsoft.com/presspass/events/ces/docs/2011/surface-flyer.xps
Microsoft Surface 2.0 Press Release
http://www.microsoft.com/Presspass/press/2011/jan11/0106MSSurfaceSamsungPR.mspx
The Microsoft Surface Blog
http://blogs.msdn.com/b/surface/
Samsung LFD Group
http://www.samsunglfd.com
Summary
Phon
e
Web
Pages
(AJAX)
Media
&Anim
RIA
App
Desktop
Rich
Client
COM
Interop.
Hardware
Accel.
HighEnd
Perf.
© 2011 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.