Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum  |  Directory

Keywords: Match:
Microsoft's ESC Boston 2007 keynote demos
by Mike Hall (Oct. 9, 2007)

Foreword: This guest column contains Mike Hall's account of his demonstrations during Kevin Dallas's keynote at the Embedded Systems Conference (ESC) Boston 2007, held last month. Dallas is General Manager of Microsoft's Windows Embedded unit; Hall is Microsoft's Windows Embedded Software Architect.

Note: An overview of Dallas's keynote is available here. A complete keynote transcript is available here (PDF download).



Microsoft's ESC Boston 2007 keynote demos

by Mike Hall


Kevin Dallas's keynote was divided into two parts, the first being somewhat future looking, and the second being an announcement about the Windows CE 6.0 R2 launch and a look at some of the technologies being delivered as part of the R2 release.

Developing at a higher level

We can see that there's a shift in the developer space towards higher level tools and programming languages. It's only a few years ago that most embedded systems were programmed in assembler, perhaps without an operating system. Developers have moved away from assembler towards more productive development languages, such as C or C++, and have added development libraries into their toolkit that provide commonly used functions and primitives for arrays, strings, and more. Many developers have moved to even higher level languages such as Java or C#.

The move to higher level languages does two things, first the developer is far more productive than they could ever be in assembler, resulting in reduced development and testing time for the product. Second, higher level languages make developers less error prone. Take a typical C/C++ application.

It's very easy for a developer to leak objects from their code, which may not be too much of an issue for a desktop application, but in embedded systems that are expected to run for days, weeks, months, or years, any object leak could build up over time and cause the application and system to fail. Add into the mix the changes in hardware -- for example, systems are moving from single core, through many-core, to distributed (networked) systems. Writing single threaded/single core applications is fairly straight forward, but writing multi-threaded applications and dealing with synchronization across threads can be complex; scaling a multi-threaded application across heterogeneous cores or distributed cores can be extremely complex to develop, and test.

Perhaps it's time for embedded developers to stop thinking about building embedded systems from an operating system stack perspective (TCP stack, IPV4, Web Server, media player, etc.) and start to think about building stand-alone and distributed systems at a higher level. Consider building a stand-alone system, or distributed system from a set of services; each service maintains its own state and can be connected to other services either running on the same machine, or connected to services running on other networked devices, which might not be running on the same embedded operating system.

The diagram below shows a Color Segment service that looks for specific colors in a web cam image (the web cam service is "wrapped" by the Color Segment service). The Color Segment service counts the number of areas within the image that contain the specific color, and passes this information to "subscribed" services (note that there can be more than one subscription to a service).

In the diagram below, we simply check to see whether the number of color areas are greater than zero. If this is the case, then we pass this information to a text-to-speech (TTS) service to announce that the camera has seen the color. Note that the TTS engine could easily be running on a different node on the network.


Color Segment service example
(Click to enlarge)

Web Services on Devices

The second demo gave a sneak peek at one of the technologies that will be shipping with CE 6.0 R2 -- this is the Microsoft implementation of DPWS (Devices Profile for Web Services) which we call WSD, or Web Services on Devices.

I'm sure that many of you reading this article have been in a conference room and have needed to connect a laptop or desktop computer to a video projector. This commonly involves taking the VGA snake, plugging this into the VGA port of your laptop and then pressing various function keys, or changing screen resolution/color depth to match the capabilities of the projector. This can be time consuming, and frustrating.

Windows Vista ships with the ability to search for and connect to "network projectors." This capability means that you don't need a VGA cable, you don't need to worry about function keys, screen resolution, or color depth -- you simply search for the projector, connect, and display your presentation or document. But how does this work?

Windows Vista already ships with a WSD stack. The CE 6.0 R2 release will also include WSD capabilities. WSD provides the technologies for connecting devices to devices and devices to PCs in both the enterprise and consumer space. How might this be used? We've already seen an example of this in the enterprise space with networked projectors. The same technologies could also be applied to printers and other office equipment.

In the consumer space one area where WSD might be used is home automation. Consider that you might have a central home control unit -- this unit may not know about each of the home automation companies or devices, but through device discovery can be informed about new devices as they come onto (or leave) the network, and through WSDL (Web Services Description Language) has a well defined contract that defines the capabilities of the device and the functions and events supported by the device.

Windows Vista WSD

The third demo showed a Windows Vista WSD application displaying a bubble moving around on the screen. From a CE 6.0 R2 ICOP eBox reference board we ran a WSD application that added a CE 6.0 "bubble" into the Vista application; now, using events fired from the CE 6.0 application we can remotely control/move the bubble around the Vista screen.


Copyright (c) 2007 Microsoft Corp. All rights reserved. Reproduced by WindowsForDevices.com with permission.



About the author: Mike Hall is Windows Embedded Software Architect. Among other things, he writes an extensive (and often entertaining) blog that's published on Microsoft's MSDN developer website.



Related stories:

(Click here for further information)


Windows XP for Embedded Applications
This white paper describes the benefits of using Windows XP when developing embedded applications.

A Manager's Guide to Selecting a Mobile Device Operating System
This white paper offers a comparative review of Microsoft Windows CE and Windows Mobile.

Visual Basic 6.0 to .NET Migration
This paper focuses on the methodology and techniques which Infosys (Microsoft Technology Center) has developed for migrating VB 6.0 Applications to .NET. Our approach ensures a smooth, cost effective, and efficient migration.

Mobile Device Security: Securing the Handheld, Securing the Enterprise
This whitepaper identifies security threats to corporate data on mobile devices and details how mobile devices can become a "backdoor" to the enterprise.

Mobile Device Security: The Eight Areas of Risk
It's common knowledge that adding mobile devices to your network increases security risks. There are multiple facets to mobile security, all of which should be paid close attention to. This E-Guide presents a more in depth look into the eight key areas of securing wireless devices.

Quality Assurance and .NET
This paper discusses best practices for functional, regression and load testing of .NET applications.

SCADA Security in Integrated Networks
As businesses leverage their SCADA systems by integrating them into the business networks, they must also assure the security of the SCADA system.

The Advantages of Small Form Factor HMI
HMIs have mutated and changed with new requirements, and they have become more flexible and capable. And while they've been doing that, they've become smaller and more useful.

9 Critical Requirements for Web Application Security
Learn why your Web applications expose dangerous security breaches and what’s required to effectively protect your Web applications and the sensitive information behind them.

 


Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click here for a profile of each sponsor:
PLATINUM SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)


Updated! The latest Windows-powered...

mobile phones!

other cool
gadgets

HOT TOPICS
Microsoft targets PNDs with new embedded OS
Microsoft tips .NET MF 3.0 highlights
Microsoft previews Windows Embedded Standard
Microsoft offers free Windows CE 6.0 textbook
Microsoft renames embedded operating systems
Microsoft unveils Windows Mobile 6.1
New Atom models target low-cost PCs
REFERENCE GUIDES
Windows Device Showcase
Intro to Windows Embedded
Intro to Shared Source
Real-time Windows Embedded
Windows Embedded books
Join our Windows Embedded discussion forums:
Windows XP Embedded
Windows CE
Windows Mobile


Windows Embedded developer newsgroups
Windows CE
XP Embedded
PocketPC
Smartphone

Microsoft's Windows Embedded resources
Embedded dev center
Mobile dev center
Windows CE tutorials
XP Embedded tutorials
Windows Embedded seminars
Windows Embedded application categories
3rd-party partners


BREAKING NEWS

• HTC unlocks Windows candybar phone
• Phone dev kit sports VGA display
• Mini-notebook chip headed for embedded Windows devices?
• "3G" HP netbook boasts Atom, ExpressCard expansion
• Motorola customizes Windows Mobile
• Superscalar ARM SoC runs Windows CE
• CE-based nav stack heads for CES
• Windows phone has dual displays
• Cortex-A8 SoC targets netbooks
• Palm "Nova" Linux set for CES debut?
• Editors' retrospective -- Windows-powered Devices in 2008
• Firefox mobile browser alphas released
• Box PC doubles as car computer
• Windows phone has dual active radios
• Windows PMP has dual-core CPU


MOST POPULAR (last 90 days)
• "Netbook" uses Intel's Atom N270
• Windows CE takes on Linux in low-end netbooks
• HTC ups Touch resolution
• Microsoft unleashes new embedded OS
• Windows Mobile phone gets 800 x 480 display
• HTC spins WiMAX phone?
• Smart camera sports Atom
• Dual-core AMD netbook gets rave review
• Windows Mobile 7 "delayed"
• GPS phone uses new Marvell "Tavor" chip
MOST POPULAR (Classics from the vault)
Windows XP Embedded USB boot
Troubleshooting Windows XPe's blue screen "Stop 0x0000007B" error
Asus reveals $190 mini notebook
Windows Mobile 6 SDKs available for download
Windows Mobile VPN client plays with Cisco
HTC adds GPS to Windows Mobile Touch line
Microsoft unveils Windows Mobile 6.1
Guide to HTC's Windows Mobile smartphone platforms
• HTC releases Touch Diamond ROM upgrade
Customizing Windows XP Embedded thin clients

Also visit our sister sites:


Sign up for WindowsForDevices.com's...

news feed

Home  |  News  |  Articles  |  Polls  |  Forum  |  Directory  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | White Papers | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Windows is a trademark or registered trademark of Microsoft Corporation in the United States and/or other countries and is used by WindowsForDevices under license from owner. All other marks are the property of their respective owners. WindowsForDevices is an independent publication not affiliated with Microsoft Corporation.