Search  
Wednesday, March 10, 2010 ..:: Mobile RSS ::.. Register  Login
 MSDN: Mobile Developer Center Minimize

MSDN Simulcast Event: Take Your Applications Sky-High with Cloud Computing and the Windows Azure Platform
Join your local MSDN Events team as we take a deep dive into Microsoft Windows Azure. We'll start with a developer-focused overview of this brave new platform and the cloud computing services that can be used to build amazing applications. As the day unfolds, we'll explore data storage, Microsoft SQL Azure, and the basics of deployment with Windows Azure.

Implementing the Security Development Lifecycle (SDL) at a Large Insurance Company
Find out how Cigital, an SDL Pro Network member, assisted a large insurance company adopt the Microsoft SDL. The case study describes both the business drivers leading up to the company's recognizing the need for incorporating the SDL within their development process as well as the initial roll out of the SDL.

You're Hearing All About Windows Phone 7 Series - Now Learn All About It at MIX10
Everything you could ever want to know about Windows Phone 7 Series is at MIX10 on March 15-17 in Las Vegas. You'll preview the new development platform, see how to work with the Windows Phone 7 Series development tools, and get a tour of the Windows Phone Marketplace. MIX10 attendees will receive access to the Windows Phone 7 Series development tools and have access to a dedicated track on the Windows Phone 7 Series platform that runs throughout the event. As a MIX10 attendee, you'll also receive exclusive free developer support for the Windows Phone 7 Series development tools. Don't miss this unique opportunity.

Learn to Create Fun Games in Blend Using Behaviors
Create a fun game in Blend and gain valuable experience using Behaviors by watching this 10-video series with downloadable guide and files.

MSDN Webcast: BenkoTips Live and On Demand: Getting Started with Team Foundation Server 2010
From simplified setup to tracking tasks and tests, learn how to take advantage of the great features of Microsoft Visual Studio Team Foundation Server (TFS) 2010. BenkoTips Live and On Demand brings events to you - this webcast series is dedicated to helping developers explore the possible.

Sony Corporation Adopts the Microsoft Security Development Lifecycle (SDL)
Learn how Security Innovation, an SDL Pro Network member, helped Sony Corporation improve its SDL security level from basic to standardized.

End-of-Support Dates for Windows Vista RTM, Windows XP SP2, and Windows 2000
As announced in 2008, support for Windows XP Service Pack 2 (SP2) and Windows 2000 will end on July 13, 2010. Support for Windows Vista Release to Manufacturing (RTM) will end on April 13, 2010. To help ensure your Windows Vista PCs stay secure and up to date, make sure they are running Windows Vista Service Pack 1 (SP1) or SP2. If you are running Windows XP, stay more secure by moving to Windows XP Service Pack 3 (SP3) or migrating to Windows 7. If you are running Windows 2000, we recommend that you move to Windows 7 as no additional support or updates will be offered for the Windows 2000 operating system. Visit the End of Support Center for more details.

Support Your Career Goals with Targeted Developer Training
Find learning paths and guidance for some of the top developer career paths in the industry, then get started with special discounts on e-learning, e-reference libraries, and classroom training.

Register for Software Engineering 101: a Free One-Day Online Workshop
This workshop will help you understand how to build software that is better designed, more maintainable, and more testable. The morning comprises presentations on SOLID and other important object-oriented programming skills. The afternoon is just one big pair-programming session to work and learn hands-on how to use the principles discussed in the morning. While we will be using mostly .NET and Visual Studio, these practices work for any language or platform. Register now to join this free one-day workshop for learning core skills for modern developers.

Black Hat Webcast Series: Security Starts at the Beginning
Register for the Black Hat and SDL webcast "Security Starts at the Beginning," on Thursday February 25th at 10:00 A.M. Pacific Time. Hear our new SDL Pro Network members talk about secure development practices.

Download the Simplified Implementation of the Microsoft SDL
Understand the core concepts of the Microsoft SDL and learn how to implement it in your organization. The Simplified Implementation of the Microsoft SDL will help you identify which software development security activities you need to perform in order to be SDL compliant.

MSDN Webcast: Microsoft Bing Maps Server (Part 1 of 3): When the Internet Isn't an Option
Get introduced to the Microsoft Bing Maps Server - the on-premises, offline, or secure intranet version of the Microsoft Bing Maps Internet mapping platform. Learn how it's designed for customers who need a Web browser-based mapping solution that's not connected via the Internet.

Get a Second Chance to Pass Your Microsoft Certification Exam
The Second Shot program allows a free retake if you do not pass an IT professional or developer Microsoft Certification exam the first time. You must take both the first and (if necessary) the retake exam before June 30, 2010.

How Do I: Use Windows Azure Storage with My Application?
In this video Scott Golightly will walk through a sample application that will take advantage of Windows Azure Storage to communicate between different application roles and complete a business task.

Download the MSF-Agile+SDL Process Template for VSTS
Embed security in your Agile Development project with the MSF-Agile+SDL Process Template. It's a TFS process template that integrates the policy, process, and tools of the Security Development Lifecycle (SDL) for Agile process guidance into the MSF Agile development framework.

How Do I: Get Started with SQL Azure?
Based on Microsoft's flagship SQL Server product, SQL Azure represents Microsoft's relational storage offering for the cloud. In this video, Hilton Giesenow, host of the MOSS Show SharePoint podcast, takes us through getting started with signing up and configuring our first SQL Azure database.

Learn from the Best in Web Design and Development at MIX10
MIX10 favorites Scott Guthrie and Bill Buxton have been announced as keynote speakers. Come hear these experts and others speak on UX, design, Windows phone, and much more. Register by February 21st to take advantage of the US$200 discount on your pass.

U.S. MSDN Premium Subscribers: Test and Develop at No Cost on Windows Azure
As an MSDN Premium Subscriber, you can leverage your MSDN subscription to obtain over 700 hours of compute time on Windows Azure to test and develop your latest cloud applications. U.S. developers can also benefit from no-cost phone and e-mail technical support to help fast-track your cloud application development by using Front Runner for Windows Azure.

$50,000 PhizzPop Design Challenge
Web design agencies and partners called to submit a redesign strategy incorporating Microsoft Web Technologies for bgca.org, the Web site for Boys & Girls Clubs of America. Deadline for entries is February 19, 2010.

Join a Live Webcast on Detecting and Mitigating Security Issues Using the CAT.NET Tool
In this live Security Talk webcast, discover how CAT.NET includes a set of FxCop security rules that help you identify security flaws in a managed-code (C#, Visual Basic .NET, Visual J#) application you are developing.

SDL Quick Security Reference: Cross-Site Scripting and SQL Injection Attacks
With the SDL Quick Security Reference (QSR), the Security Development Lifecycle (SDL) team introduces a series of basic guidance papers designed to address common vulnerabilities from the perspective of multiple business roles - business decision maker, architect, developer, and tester/QA. These papers are intended to help you address a critical business problem now while moving you toward SDL adoption in the future.

How Do I: Run Java Applications in Windows Azure?
Windows Azure in an open platform. This means you can run applications written in .NET, PHP, or Java. In this video Scott Golightly will show how to create and run a Java application in Windows Azure.

Learn from the Best in Web Design and Development at MIX10
MIX10 favorites Scott Guthrie and Bill Buxton have been announced as keynote speakers at this year's conference. Don't miss the opportunity to hear from these experts and others on UX, design, Windows phone, and much more. Register by February 7th to take advantage of the US$400 discount!

MSDN Webcast: SharePoint Server 2010 (Part 2 of 8): Developing Rich Solutions in Silverlight
Discover how to bring Microsoft Silverlight and Microsoft SharePoint Server 2010 together to build and deploy Web parts and field controls, access and update SharePoint content from Silverlight, handle large data sets, and build client-side connections between Silverlight Web parts.

Extended Offer: 30% Off All Microsoft Expression Design Software Until January 31
Receive 30% off all Microsoft Expression version 3 design software (both full and upgrade versions) through the Microsoft Online Store when you buy before January 31st. (Promotion applies to U.S. only.)

MSDN Webcast: Visual Basic 6 Simplicity and Intensive AJAX Richness for the Web and Cloud
Why are Web development tasks so complex? Discover the right combination between the greatest Web benefits and the most mature development paradigms during this webcast.

Apply the Critical MS10-002 Security Updates for the IE Vulnerability
This update will address a potential remote code execution vulnerability.

Learn About Cloud Computing at a Free Local MSDN Event
MSDN events are free, interactive sessions that deliver hands-on technical content on data storage, SQL Azure, and deploying apps on Windows Azure with lots of time to ask questions. Chat with your peers and get the skills that can help you get ahead. Find one near you and register now at msdnevents.com.

BenkoTips Live and On Demand Webcast: What's New in Visual Studio 2010
Microsoft Visual Studio 2010 takes great strides toward making your development environment faster, easier, and more intuitive. From project types to the start page to the toolboxes, we'll explore how you can use the new integrated development environment (IDE) to build great software.

Podcast: Using the Web Protection Library (WPL) - CTP Version
Anil Revuru (RV), from Microsoft Information Security, provides guidance on the expansion of what used to be the Anti-XSS Library. This enhanced version of the library will introduce mitigation to other attacks, including SQL injection, cross-site request forgery (CSRF), and setting enforcement like SSL & HTTP_ONLY cookies.

Microsoft Expression: Bring Your Designs to Life
Stream or download on-demand webcasts and videos and learn about the new features and enhancements in Microsoft Expression 3. Learn how to add a Microsoft Silverlight video to your pages, customize the player, and encode the video using Microsoft Expression Encoder. Dive into this content today and hear about DeepZoom, Dynamic Web Templates, and SuperPreview. Discover how these professional design tools can give you the flexibility and freedom to bring your vision to reality - whether you are designing standards-based Web sites, rich user experiences on the desktop, or managing digital assets and content.

Windows HPC Server 2008 ISVs, OSS and Tools - Status, Resources, the Future
In this webcast, learn how to integrate and deliver complete Windows HPC Server solutions to your customers, covering tools, ISV applications, and open source applications.

Explore Cloud Computing and the Windows Azure Platform
MSDN Events always deliver the latest technical content and hands-on skills for developers. Sign up now for these free, live learning sessions in your local area.

Podcast: Technical Preview for CAT.NET 2.0
Maqbool Malik and Anil Revuru (RV), from Microsoft Information Security, talk about the newly designed version of CAT.NET, which will be part of the Assessment & Protection (A&P) suite. CAT.NET is a static analysis tool for Visual Studio that helps find vulnerabilities in managed code, including SQL injection, CSRF, XSS, and more.

Back by Popular Demand: 30% Off All Microsoft Expression Design Software
Receive 30% off all Microsoft Expression version 3 design software (both full and upgrade versions) through the Microsoft Online Store through January 8. (Promotion applies to U.S. only.)

How Do I: Use the Web Protection Library a.k.a Anti-XSS Library?
This video shows the additions to the Anti-XSS Library, as the new Web Protection Library (WPL) tool provides protection beyond just XSS vulnerabilities.

Windows Azure Platform Training Course
Learn how to build applications that use Windows Azure and SQL Azure in this self-paced course of videos, samples and hands-on labs.

Tutorial: Expression Web and WordPress – a Match Made in Coding Heaven
Web designers are faced with two major challenges: to create a great-looking and highly functional Web site and to fill that site with useful content so that people visit. Learn how WordPress represents a perfect separation of style and content, leaving you to use the powerful coding and styling features of Expression Web to the fullest to realize your vision on the Web.

Messing Around with Blend
Wondering what a Mac-centric design team might make of Expression Blend and Silverlight? Read on.

Windows HPC Server 2008 Training Course
Created for software developers as well as IT professionals, this training course includes videos, white papers, datasheets, presentations, and webcasts—all designed to help give you a thorough understanding of the productive, cost-effective, and high-performance computing solution that Windows HPC Server 2008 and other Microsoft technologies provide.

Register for Tech·Ed 2010 Early to Save US$300
Give the gift of technical education, and save US$300 on the full Tech·Ed conference fee.

Holiday Discount: 30% off All Expression Design Software
Receive 30% off all Microsoft Expression version 3 design software (both full and upgrade versions) through Microsoft Online Store when you buy before December 28. (Promotion applies to U.S. only.)

Watch the Minifuzz File Fuzzer Video and Get To Know How To Detect More Code Vulnerabilities Easily
This 8-minute video will give you a brief overview of the MiniFuzz File Fuzzer and will walk you through how to configure and use MiniFuzz to perform fuzz testing - a required activity in the verification phase of the Microsoft SDL - on an application. The walkthrough launches MiniFuzz as an add-on to Visual Studio and demonstrates integration with TFS, showing automatic creation of work items from detected crashes.

Windows HPC Server 2008 Training Course
Created for software developers as well as IT professionals, this training course includes videos, white papers, datasheets, presentations, and webcasts - all designed to help give you a thorough understanding of the productive, cost-effective and high-performance computing solution that Windows HPC Server 2008 and other Microsoft technologies provide.

Discover Claims-Based Identity
Identity has never been so easy. Whether you develop ASP.NET Web sites or WCF Web services, this self-paced training course will show you how you can take advantage of Windows Identity Foundation, the newest addition to the .NET Framework family, to handle identity and access for your .NET applications in simple and interoperable fashion. The hands-on labs assume no prior knowledge of the subject, covering the most common task first, while more advanced scenarios allow the developers who chose so to explore the topic in more depth.

Are you passionate about the Web?
Join us for MIX10, a 3 day event full of inspiration, content, and networking. MIX10 is a 72-hour conversation to learn about Microsoft's Web platform and tools such as Windows Mobile, Silverlight, Expression, and ASP.NET. Register by January 15th and save US$600 on your pass and US$196 towards a free night at Mandalay Bay.

New - Preventing Security Development Errors: Lessons Learned at Windows Live by Using ASP.NET MVC
Learn how the Windows Live team applied the Security Development Lifecycle (SDL) while developing new Windows Live services with ASP.NET MVC.

Windows 7: Build Innovative Applications
Discover new developer features in the Windows 7 operating system with these online resources. Attend a live webcast and learn about using Jump Lists, how to improve robustness and performance, or how the Windows PowerShell–based platform lets you easily monitor multiple data sources. Step into a virtual lab and explore Shell Libraries, Windows Taskbar, and Windows Ribbon, among other features. Watch videos that demonstrate the Windows Touch and handwriting recognition capabilities. Dive into this content today to start learning about Windows 7.

Learn More About Bing Maps Silverlight Control SDK 1.0
Learn key features of the Bing Maps Silverlight control, which include data binding, support for multiple languages, Expression Blend, and more.

Get the Resources You Need to Tackle the Recession Head-on – and Come Out on Top
Visit Thrive today for career advice, training programs, job postings, event listings, and a wide range of tools that can help you stand out and get ahead.

Explore How to Build Solutions on SharePoint 2010
See how SharePoint 2010 is a major step forward as a development platform. Learn how SharePoint 2010 provides the business collaboration platform for developers to rapidly build solutions using familiar tools such as Visual Studio 2010 through this self-paced course.

New - Microsoft Silverlight 1.0: An SDL Implementation Story
Learn how the Microsoft Silverlight team met and exceeded the Security Development Lifecycle (SDL) requirements for every phase of the Silverlight 1.0 release.

Windows 7 Sensor and Location Platform Overview
Join Dan Polivy, Gavin Gear, product team PMs, and Yochay Kiriaty, Technical Evangelist, as they explain the Windows 7 Sensor and Location platform, the underlying architecture, and how developers can take advantage of this new and exciting platform.

Dive into Office 2010 Beta Workshop
Discover how Office 2010 Beta is a broadly extensible platform for building information worker productivity solutions and see how developing for Office with Visual Studio 2010 makes this easy. See online presentations with demos to introduce you to the core concepts and tools.

Windows Media Foundation Team Launches New Blog
The Media Foundation Team at Microsoft has launched a new blog to provide in-depth information about Media Foundation programming, to help get you started with Media Foundation in your own applications, and to get feedback from the developer community.

Download Microsoft SharePoint Server 2010 Beta
SharePoint Server 2010 Beta provides an extensible platform to rapidly build solutions using familiar tools such as Visual Studio 2010 and SharePoint Designer 2010.

Anti-XSS Library v3.1: Find, Fix, and Verify Errors
Anil Revuru (RV), Senior Software Developer from Microsoft Information Security, demonstrates the new features of the Anti-XSS Library v3.1. These include HTML Sanitization, which provides new methods to the Anti-XSS class to strip malicious characters or scripts from HTML and returns safe HTML.

Registration Open: Attend SANS AppSec 2010 Training
Attend SANS AppSec 2010 training with 7 different courses in San Francisco, January 29 through February 3, including "Developer 320: Introduction to the Microsoft Security Development Lifecycle (SDL)." SANS is an SDL Pro Network member.

Get the SQL Server 2008 R2 November CTP
SQL Server 2008 R2 delivers several breakthrough capabilities that will enable your organization to scale database operations with confidence, improve IT and developer efficiency, and enable highly scalable and well-managed business intelligence on a self-service basis for your users. MSDN and TechNet subscribers can download the SQL Server 2008 R2 November CTP today.

Learn: Windows 7 Multi-Touch Overview
Watch Reed Townsend and Yochay Kiriaty as they explore multi-touch in Windows 7. They will cover basic out-of-the-box support for legacy applications, as well as for applications optimized for multi-touch, and explain the "Good, Better, and Best" programming model.

Explore: Windows 7 Libraries - the User Experience
David Washington and Paul Gusmorino demonstrate the key enhancements in Windows 7 for finding and organizing your files. David and Paul show off the ways that the team has simplified the Windows Explorer, the new Libraries feature, which is a virtual collection of your music, photos, and video, wherever they may be, including on multiple machines. You'll also see how to use the Library pane to easily find and filter your data.

Watch PDC09 Keynotes Live This Tuesday and Wednesday
Watch the PDC09 keynotes streaming live in Silverlight! Keynoters Ray Ozzie and Bob Muglia kick things off on November 17, and Scott Guthrie and Kurt DelBene will keynote on November 18. Keynotes start at 8:30 A.M. Pacific Time on both days. Don't miss this opportunity to hear about the future of the Microsoft developer platform directly from these technical leaders. As always, the PDC team has a few secret announcements up their sleeve, so tune in online and be among the first to get the news!

See How Windows Server 2008 R2 Is "Not Your Average R2!"
Explore this significant release via a self-paced training course of videos and hands-on labs with a focus on performance, Web, virtualization, and other server solution scenarios. Learn how to develop applications for many-core scale, enable trigger-started services, automate your services with Windows Powershell, and create new integrated solutions with the File Classification Infrastructure.

New! Build More-Secure Applications with the Security Development Lifecycle (SDL) for Agile
Embrace lightweight software security practices with the Security Development Lifecycle for Agile Development, a streamlined approach that melds Agile methods and security.

Explore: Windows 7 Taskbar Overview
Join Yochay Kiriaty, Windows 7 Technical Evangelist, and Taskbar product team members Chaitanya Sareen, Trish Miner, and Stephan Hoefnagels as they present the new Windows 7 Taskbar functionality and motivations. This video shows what is new in the Windows 7 desktop and taskbar, and the common user tasks and scenarios.

MSDN Video: Top 10 Security Pet Peeves
Michael Howard and Adam Shostack, experts in eecurity engineering at Microsoft, chat about their top 10 security pet peeves.

Microsoft Silverlight: Light Up the Web
Discover the latest releases of Microsoft Silverlight and Expression 3 during these on-demand videos and audio podcasts. Learn from industry experts as they explain how to use Sketchflow, apply XAML power toys, and create rich Internet applications (RIA).

Develop Windows 7 Applications
Learn how to take advantage of new features to make your applications built with Visual Studio light up on Windows 7.

Getting Started with Silverlight Development
This video explains the concepts and tools needed to get started with Silverlight development from a developer's perspective.

Visit the MSDN Windows Client Software Development Forums
For community advice, tips, and best practices, participate in the Software Development for Windows Client forums.

New! Download the SDL Developer Starter Kit
Educate yourself and your organization on how to build more secure applications. The SDL Developer Starter Kit offers content, labs, and training to help you establish a standardized approach to rolling out the Microsoft Security Development Lifecycle (SDL) in your organization.

Explore the Most Comprehensive Windows 7 Developer Training Online on Channel 9
These videos, hands-on labs, and real-world samples are the quickest way to ramp up on the new developer features in Windows 7. Our new online offerings allow you to learn at your own pace and download only those modules that interest you. Go ahead and jumpstart your Windows 7 developer skills now!

Take a Look at the Windows API Code Pack for the Microsoft .NET Framework
The Windows API Code Pack for the Microsoft .NET Framework provides a source code library that can be used to access some new Windows 7 features (and some existing features of older versions of the Windows operating system) from managed code. These Windows features are not available to developers today in the .NET Framework.

Windows 7 Training Kit for Developers
The Windows 7 Training Kit for Developers includes presentations, hands-on labs, and demos designed to help you learn how to build applications that are compatible with and shine on Windows 7.

Watch Live: Microsoft's "The New Efficiency" Launch Event in San Diego this Monday
View and download 18 IT professional and developer-focused live sessions from San Diego starting at 9:00 A.M. Pacific Time on October 26th. Focusing on Windows 7, Windows Server 2008 R2, and Exchange Server 2010, you can listen to Microsoft experts, download valuable resources, and explore the live launch event virtually.

Explore Visual Studio 2010 Beta 2
The developer evangelists who bring you the 10-4 Show on Channel 9 are providing videos and labs for you to get familiar with .NET Framework 4 and Visual Studio 2010. This exclusive opportunity lets developers access courseware online for a self-paced learning experience.

Discover: Build Innovative Applications with the Windows 7 Developer Guide
Download the Windows 7 Developer Guide to learn how Windows 7 makes it easy for developers to create engaging, user-friendly applications by providing familiar tools and rich development features that allow them to take advantage of the latest PC capabilities.

Find Out More About the MSDN Redesign
Check out Microsoft Group Manager Chris Dahl's forum post about the recent MSDN redesign.

Announcing WebsiteSpark for Web Pros and Web PI 2.0 RTM
Announcing WebsiteSpark, our new program for Web professionals, and the RTM of the Web PI 2.0 and the Windows Web Application Gallery.

See the Future of Developer Technology at PDC09
Jumpstart your product and technology planning with four days of deep technical content delivered by Microsoft leaders and technical experts. November 17 – 19, 2009

Connected Information Security Framework: Core Components
Watch Marius Grigoriu and Vineet Batta, both from Microsoft Information Security, in this short Channel 9 video. They talk about the technical components for the first version of the Connected Information Security Framework (CISF), a software development framework comprising APIs and reusable components that is designed to create bespoke or custom information security and risk management solutions such as Risk Tracker. They explain the core pieces CISF that help build information security applications cheaper, faster, and better.

Get the Resources You Need to Tackle the Recession Head-on - and Come Out on Top
Visit Thrive today for career advice, training programs, job postings, event listings, and a wide range of tools that can help you stand out and get ahead.

MSDN Webcast: BenkoTips Live & on Demand: Diving Deeper into Windows 7 for Developers (Level 200)
In this webcast, we look at some new developer features in Windows 7 while discussing programming with the Scenic Ribbon and Windows Web Services, and we examine the new features of Windows Presentation Foundation (WPF), including the Data Grid, which makes it easy to build a rich user experience.

Intro to the Visual Studio Tools for Office (VSTO) Power Tools 1.0
In this short 14-minute video from Channel 9, learn about how the recently released VSTO Power Tools provides some great capabilities for Office developers, saving you hours of work.

Windows Embedded Enterprise: Introducing Windows 7 for Embedded Systems
In this webcast, learn about how the same technologies and features that are in the Windows 7 desktop operating systems are available for embedded OEMs to deliver a wide variety of reliable, high performance, market-differentiated products that meet the demands of an interconnected world.

PDC09: Attend the Free Windows 7 Developers Boot Camp
Jump-start your Windows 7 experience the day before the conference begins. This free boot camp can get you from zero to hero in less than eight hours. Register for this free boot camp to attend. Space is limited.

Seadragon Ajax Control - Quick Start Guide
The new Seadragon Ajax Control was recently launched as part of the Ajax Control Toolkit. Watch this 11-minute screencast to go through the process of creating a Deep Zoom Composer project.

PDC09: $300 Discount Ends Tuesday October 13th
Don't miss your last opportunity to save $300 on your PDC09 conference pass! Learn about the future of developer technology with keynotes, sessions, hands-on labs, and more. Also check out new sessions announced this week.

Scott Guthrie: Visual Studio 2010 and .NET Framework 4.0
Check out the latest from Scott Guthrie as he gives a presentation with lots of demos of our new development environment, Visual Studio 2010 with our new .NET Framework 4.

How Do I: Improve My Check-In Process?
In this 9-minute screencast video we will introduce you to the SDL Process Template check-in policies and then show you how to enable the check-in policies for yourself and your team.

Internet Explorer 8 Developer Series Overview
In this video, Matt Hester describes the main topics covered in the video series, including CSS 2.1 and 3.0 features, HTML 5, native JSON, selectors, AJAX navigation and developer tools.

Silverlight 2 Security Interview with Microsoft InfoSec
Maqbool Malik, from Microsoft Information Security, describes some key features added in the second version of Silverlight to enhance security.

Ends Saturday: Enter Code 7 to Win a Trip to PDC09
Get in it to win it! The Code 7 contest recognizes and rewards applications built on the Windows 7 platform that are innovative, cool, and showcase the new features in Windows 7. Learn more at Code7Contest.com. Contest ends October 10, 2009!

Free: Introducing WebsiteSpark and Web Platform Installer v2 RTM
Introducing WebsiteSpark, a new program that invests in small Web dev companies by giving them free software, free support and free marketing. To explain what this means exactly, VP of .NET Platform and Web Technologies, Scott Guthrie, joins Channel 9 for an insightful conversation. Why are we doing this, anyway? What's the story? What's next?

Attend the Visual Studio Extensibility Ecosystem Summit in October
Are you interested in learning to extend Visual Studio 2010? Attend Extensibility Days at the upcoming Dev Tools Ecosystem Summit, October 19 - 23, to develop the skills you need.

ARCast.TV: Perspective and Architectural Insight
Tune in to a recent episode of ARCast.TV to learn more about the next software boom or to watch a video about building line-of-business (LOB) applications in Microsoft Silverlight and Windows Presentation Foundation (WPF). This weekly interview series with influential architects provides perspective and professional insight. From cloud computing to security, ARCast.TV features architects discussing the latest industry trends, technologies, and best practices.

Check Out Survival Strategies from Thrive for Developers
Learn from industry leaders and community developers who are sharing their top recession-survival strategies. These seasoned coders are tackling the economy head-on - and coming out on top. Thrive for Developers is a one-stop community hub that delivers the resources you need to succeed in today's tough economy. Go to Thrive for Developers today.

Virtual Lab: Windows Forms Security
This lab is intended to show experienced .NET Windows Forms developers how to secure Windows Forms applications. In this lab, you will work with cryptography, implement custom authentication and authorization, work with permissions and code access security, and partially secure a middle-tier hosted in a Web service.

MSDN Webcast: Internet Explorer 8 for Developers (Level 200)
In this webcast, we cover many of the new aspects of Internet Explorer 8 from a developer's perspective.

Doloto: Download Time Optimizer for AJAX Applications
Doloto is a performance optimization tool for AJAX applications. It works by rewriting an application to load its JavaScript code on demand, thereby reducing startup time and making the application more responsive.

PDC09 Technical Leaders Sessions: Meet the Big Brains
For the first time ever, participate in a perfect storm of brilliance, insight, experience, and vision as we bring together Microsoft's Technical Fellows for the Technical Leaders series. Register today.

Get the Resources You Need to Tackle the Recession Head-on
Visit Thrive today for career advice, training programs, job postings, event listings, and a wide range of tools that can help you stand out and get ahead.

How Do I: Get Started Developing on Windows Azure?
If you're a developer and you're new to Windows Azure, start here! You'll see what you need to download and install, and how to create a simple "Hello World" Windows Azure application.

Register for the Silverlight Training Event to Ignite Your Skills
Heat up your skills with the all-new Firestarter event series. Each day tackles a single Microsoft technology, including free sessions presented live by Microsoft developer evangelists and technology specialists - with special appearances from community luminaries. You can attend in person, via live meeting, or download the webcast at your convenience to start learning about applying the latest advances in Silverlight and Expression 3.

Virtual Lab: Configuring Exchange Server 2010 Unified Messaging
After completing this lab, you will be able to configure Exchange Server 2010 (Beta) Unified Messaging and experience the features of Unified Messaging.

Get Started with Expression 3: Watch Videos and Tutorials
Learn how to get started using Expression Studio 3 by watching these free videos and tutorials that cover Expression Web, Expression Blend, Expression Design, and Expression Encoder.

Video: Visual Studio Team System 2010
See how the newest version of Visual Studio works seamlessly on team build projects.

geekSpeak: Join a Discussion Like No Other
Learn about the latest technologies from industry experts during this "talk-radio" show. Hear about the new caching capabilities in the Microsoft .NET Framework version 4 or composite application development in Microsoft Silverlight and Windows Presentation Foundation (WPF).

Visit Thrive for Developers to Get the Skills, Advice and Resources You Need
Thrive is an all-in-one resource center for developers to get the latest tools avaliable to be on the cutting edge.

How Do I: Sync Between Devices and the Cloud with FeedSync?
Syncing the cloud and a growing world of devices is a fundamental need in today's world. In this video, you will learn how to use FeedSync feeds to synchronize Live Framework data between a device and the cloud.

New: Security Developer Starter Kit
The Microsoft SDL - Developer Starter Kit offers 14 modules of content, labs, and training to help you establish a standardized approach to rolling out security development policies and industry best practices into your organization.

Updated: !exploitable Crash Analyzer Tool
View more information on the Windows debugging extension (Windbg) that provides automated crash analysis and security risk assessment.

Built-in Developer Tools Featured in IE8
In this video, Matt Hester gives a 5-minute tour of Internet Explorer 8's built-in developer tools.

Running Linux on Hyper-V
This webcast will cover the benefits and challenges of virtualizing Linux on Hyper-V - Microsoft's hypervisor included in Windows Server 2008.

Enter "Code 7" to Win a Trip to PDC09
Get in it to win it! The Code 7 Contest recognizes and rewards applications built on the Windows 7 platform which are innovative, cool and showcase the new features in Windows 7.

How Do I: Use the SDL Process Template Documentation and Reporting?
This 5-minute video will help you learn how to use the new SDL Process Template's document templates and security metrics reporting. The built-in SDL document templates will help you jump start your use of the Microsoft SDL.

Build the Newest Silverlight 3 Applications with Expression
Silverlight 3 and Expression Studio 3 help you create and deploy Web sites and rich Internet applications more easily than ever. Download Silverlight 3 and the Expression Studio 3 60-day trial today.

Jumpstart Your Product Planning at PDC09 This November
Check out our sessions list to get a view into products, technologies, and developer tools that will shape the future of your business. Register by September 15 to save US$500 on your conference pass.

Windows 7 Direct Access
Watch this webcast to see how Direct Access in Windows 7 provides secure access to the network from any location, making management easier and reducing IT costs.

WPF Control Verifier Tool Version 0.1 Released
WPF Control Verifier is a tool that verifies the correctness of WPF controls. This tool is geared towards WPF control developers with the goal of providing a set of verifications that all controls can run and consume.

Windows 7 Training Kit for Developers Now Available
Download the new Windows 7 Training Kit for Developers. The kit includes code, videos, and labs for both native Win32 C++ developers and .NET developers covering the new features available in Windows 7.

Get Your Community's School Up to Date With Technology
Get Live@edu which provides schools with all the Microsoft technology needed to stay on the technology edge with a low fee.

How Do I: Leverage Concurrency in Windows Azure Table Storage?
Windows Azure table storage is designed to support many users at the same time. In this session, you'll learn how Windows Azure table storage supports concurrency, and you'll learn a few strategies to help you deal with any concurrency violations.

Ray Ozzie and Bob Muglia to Keynote at PDC09
Microsoft Chief Software Architect, Ray Ozzie, and President of Server and Tools, Bob Muglia, will set the stage for the next-generation software services platform at PDC09. Register before September 15th and save US$500 on your conference pass.

How Do I: Change Default Work Items in the SDL Process Template?
Watch this 4-minute screencast video to see how to modify the default work items that are included in the SDL Process Template.

Reminder: Microsoft Unified Communications Virtual User Group Meeting
Register for the August 20th UCVUG quarterly meeting webcast event for virtual communications.

Get the SQL Server 2008 R2 August Community Technology Preview
Building on SQL Server 2008, R2 provides an even more scalable data platform with comprehensive tools for managing your databases and applications, improving the quality of your data, and empowering your users to build rich analyses and reports using tools they are already familiar with.

See the Future of Technology at PDC09: November 17 - 19, 2009
Join the mailing list to receive monthly emails on announcements and special offers for PDC09.

Visual Studio 2010 and .NET Framework 4 Beta 1 Are Here
Check out Visual Studio 2010 and the .NET Framework 4 Beta 1 for the next generation of developer tools from Microsoft.

Released: August 2009 Security Bulletin
Get the new security updates and guidance from the August advisories to help your organization stay protected.

Windows OS 2009 Time Zone Update
Get the latest information on the Time Zone Updates for Windows operating systems that begin in August.

Registration Is Now Open for PDC09
Register before September 15th and save US$500 on your Professional Developers Conference 2009 pass.

Learn New Skills for a Tough Job Market
Join Thrive, a one-stop community hub that delivers career advice, training programs, peer insights, and job postings to give you a leg up on the competition.

Ramp Up with New ASP.NET Track: Move from PHP to ASP.NET
This course is designed to help PHP developers learn the nuances of building Web applications with ASP.NET, without presuming existing knowledge of earlier versions of the technology. Syntax in ASP.NET is compared to its use in PHP, to guide the developer through similar concepts in ASP.NET.

Channel 9 Video and Resources: Inside the ATL Security Update
Damien Watkins from the VC++ team and Damian Hasse and Jonathan Ness from MSRC Engineering review the steps to identify and address vulnerable controls and components in this 35-minute video. Also provided is a summary of comprehensive links to help developers walk away with the goal of understanding the exact issues with this VS vulnerability.

Out-of-Band Security Bulletin for Visual Studio
Download security updates, register for the security webcasts, and access two new out-of-band security bulletins to find out more information on how it affects Visual Studio and certain types of applications.

Security Update for Active Template Library Developers
Read about how to address the recently announced ATL security issue.

Windows 7 and Windows Server 2008 R2 Released to Manufacturing
Windows 7 release to manufacturing (RTM) means that it's time for our OEM partners to get their PCs ready, for software development partners to test their new applications, and for hardware vendors to ready their hardware. Find out what it means for you as an IT professional - and learn how and when you can get the final bits.

Top 5 Web App Security Bugs in Custom Code
View the top 5 demonstrations on the most common Web application vulnerabilities from Virtual TechDays 2009.

How Do I: Set Up the SDL Process Template?
Check out this 9-minute video on how to install the SDL Process Template and how to begin using it in your next project.

Ramp Up with New ASP.NET Track: Moving from ASP to ASP.NET
This course is designed to help ASP developers learn the nuances of building Web applications with ASP.NET.

How to Use Data Templates in WPF
Watch this video to learn how to bind data to WPF controls in data templates. We will use the Binding markup extension to describe which class members are bound to which control properties. We'll also see how these data templates can be reused for multiple controls.

Windows Embedded: Deliver Reliable and Intelligent Devices for Customers
Watch an on-demand webcast or join a virtual lab to get an overview of the Windows Embedded technologies that are available to support your development efforts.

MSDN Webcast: Windows XP Embedded Overview and Applications (Level 200)
Watch this webcast to get an overview of Windows XP Embedded, a powerful embedded operating system solution used in a variety of applications such as thin clients, test equipment, car computers, industrial controls, and gaming machines, and find out more about the development tools used to build custom operating system images.

Ramp Up with New ASP.NET Track: Web Development with ASP.NET
This track requires no previous knowledge, and should enable you to quickly learn some basic skills with ASP.NET, and provide foundational knowledge to get started down the path of building Web applications with Visual Studio.

Introducing Windows Server 2008 R2 On-Demand Series
Windows Server 2008 R2 expands on existing technology and adds a host of new features. In this series of on-demand webcasts, you'll get to know Windows Server 2008 R2, learn about what's changed, and get a jump-start on developing for this new platform.

MSDN Webcast: Implement the Complete Model View Controller Pattern (MVC) Pattern for the Web with Visual WebGui (Level 300)
How does Visual WebGui solve the complexity of using the model view controller pattern (MVC) pattern in Web development in a light, simple, and productive way? Watch this webcast to find out.

Writing Secure Code just got a lot easier with the SDL Process Template for VSTS
The SDL Process Template for VSTS integrates the policy, process and tools of the SDL v4.1 into Visual Studio Team Systems 2008. The SDL Process Template eases adoption of the SDL, enables auditable security requirements and status, and demonstrates security return on investment.

MSDN Webcast: Implement the Complete Model View Controller Pattern (MVC) Pattern for the Web with Visual WebGui (Level 300)
How does Visual WebGui solve the complexity of utilizing the model view controller pattern (MVC) pattern in Web development in a light, simple, and productive way? Watch this webcast to find out.

Join MSDN Ramp Up and Summit Your Career!
Learn new development skills with free step-by-step training plans and premium technical content, and get valuable discounts on select certification exams and Microsoft Press training kits.

How to Consume a Data Service in WPF
Watch this video to earn how to consume an ADO.NET Data Service from within a WPF application. ADO.NET Data Services provide a way to query and extract data from a data store. We will see how LINQ gets translated into the required RESTful service request to return a subset of data.

Check Out the Latest Videos and Webcasts on Windows Azure
Take advantage of this resource that includes a full listing of the latest webcasts and how-to videos covering the technologies included in the Azure Services Platform: Windows Azure, .NET Services, SQL Data Services, and Live Services.

Tackle the tough economy head-on, get the resources you need at Thrive for Developers
Industry leaders and community developers share their top recession survival strategies. You’ll also find career advice, job postings, training resources, and more.

New: Video Interview with Jeremy Dallman About the SDL Process Template
Channel 9 interviews SDL's Jeremy Dallman to learn about the latest free security tool. The SDL Process Template automates the creation of SDL requirements and enables development teams to begin adopting the SDL process without having to be fully trained on the SDL.

Privacy Guidelines for Developing Software Products and Services
This document will help you set data privacy guidelines for developing your software products and services based on Microsoft's internal guidelines and experience with incorporating privacy into the development process.

MSDN Webcast: Windows Embedded CE and Handheld Solutions (Level 100)
Watch Dion Hutchings explain what you need to know when you build a handheld Windows Embedded CE-powered device. Learn more about Windows Embedded CE, the ideal handheld platform with hardware support and software components to satisfy all the requirements of the next generation of connected, service-oriented handheld devices.

Learn More About the Open-Source Security Tool: !exploitable Crash Analyzer
Learn about the makings of the !exploitable Crash Analyzer tool. It's the only tool of its kind that increases efficiency, reduces cost, and improves security by providing automated crash analysis and security risk assessment.

Tell Your Web Developer Friends About "Will Code for Green"
Develop a green application using the Bing API with any tech platform or language, win US$10,000 + be featured at Gnomedex!

Watch a "How Do I Video?" on Getting Started with .NET Services
.NET Services are a set of highly scalable building blocks for programming in the cloud. In this brief screencast, you'll learn about the registration process, the SDK and the built-in samples - everything you need to know in order to get started.

Windows 7 Release Candidate Now Available
The Windows 7 Release Candidate is now available. Download, install, and actively test the Windows 7 RC code to help get your software and hardware solutions ready.

Introducing Windows Server 2008 R2 On-Demand Series
Windows Server 2008 R2 release expands on existing technology and adds a host of new features. In this series of on-demand webcasts, you'll get to know Windows Server 2008 R2, learn about what's changed, and get a jump start on developing for this new platform.

Privacy Guidelines for Developing Software Products and Services
Download this document to help set data privacy guidelines for developing your software products and services, based on Microsoft's internal guidelines and experience with incorporating privacy into the development process.

Windows 7 Release Candidate Now Available
The Windows 7 release candidate is now available. Download, install, and actively test the Windows 7 RC code to help get your software and hardware solutions ready.

Check Out the Latest Videos and Webcasts on Windows Azure
Take advantage of this resource that includes a full listing of the latest webcasts and how-to videos covering the technologies included in the Azure Services Platform: Windows Azure, .NET Services, SQL Data Services, and Live Services.

Get a Windows 7 Graphics Architecture Overview (Video, Part 3)
In the last of a three-part series of videos on Windows 7 rraphics architecture, David Blythe, Senior Architect in the Desktop and Graphics team, and Yochay Kiriaty, Technical Evangelist, discuss many new updates and improvements on Windows 7 architecture and how this improves the user experience.

Windows 7 General Availability on October 22
Windows 7 will be available in stores beginning October 22. An important milestone on the path to general availability (GA), the release to manufacturing (RTM) code for Windows 7 will be available to Microsoft partners at the end of July, as will the RTM code for Windows Server 2008 R2.

"How Do I?" Video: Learn More About Encryption
Learn more about the basics behind encryption algorithms and practices used to create cryptographic schemes, symmetric and asymmetric encryption algorithms, the SHA256 hash encryption algorithms, and how to implement them in a simple application.

Free Visual Studio E-Books Offer from Microsoft Press
Download chapters from three great books on Visual Studio 2008: Programming Microsoft LINQ, Introducing Microsoft Silverlight 2, Second Edition, and Programming Microsoft ASP.NET 3.5.

Bytes by MSDN
Listen or watch 16 influential community and Microsoft developers, interviewed at Tech·Ed, talk about their recommended must-have resources for the summer. Check back weekly for the next installment in the series or subscribe and take it with you.

New "How Do I?" Videos for Internet Explorer 8
Find videos designed to help Web developers and designers of all skill levels experience the power of the Web using Internet Explorer 8. Check back often, as new videos are added regularly.

Get a Windows 7 Graphics Architecture Overview (Video, Part 2)
In the second of three overview videos, David Blythe, Senior Architect in the Desktop and Graphics team, and Yochay Kiriaty, Technical Evangelist, discuss what's new in Windows 7 graphics and how developers can tap into the new APIs.

Write Secure Code Using the Security Development Lifecycle Process Template for VSTS
The SDL Process Template for VSTS integrates the policy, process, and tools of the SDL v4 into Visual Studio Team Systems 2008, and eases adoption of the SDL, enables auditable security requirements and status, and demonstrates security return on investment.

Mark Your Calendar for July 1, 2009 - Windows 7 Beta Expiration
Heads up! The Windows 7 Beta will expire on August 1, 2009, so be prepared and plan to rebuild your PC with either the release candidate (RC) or another valid version of Windows before July 1, 2009. You will receive a warning two weeks prior to July 1; after this date, your PC will begin shutting down every two hours.

Read a New Customer Case Study on Windows Server Platform Strategy
In this case study, YOURasp had been hosting WAEC's sites on Linux, and decided to run the new PHP-based Web site on the Windows Server 2008 Datacenter operating system. In less than one week, the company deployed a virtual failover cluster that handled up to 10K service requests per minute during the election.

Mark Your Calendar: Windows 7 General Availability on October 22
Windows 7 will be available in stores beginning October 22nd. An important milestone on the path to general availability (GA), the release to manufacturing (RTM) code for Windows 7 will be available to Microsoft partners at the end of July, as well as the RTM code for Windows Server 2008 R2.

Download the Azure Services Training Kit
The Azure Services Training Kit includes a comprehensive set of technical content including hands-on labs, presentations, and demos that are designed to help you learn how to use the Azure Services Platform.

Watch a Video: Windows 7 Graphics Architecture Overview, Part 1
In the first of three overview videos, David Blythe, Senior Architect in the Desktop and Graphics team, and Yochay Kiriaty, Technical Evangelist, give you a quick tour of Windows 7 Graphics architecture, its different components, and how they affect and improve the user experience in Windows 7.

Watch a Video on How to Use Styles in WPF
This video will show you several ways to create and apply reusable styles in WPF (in the control, in a resource section elsewhere in the window markup, and in the app.xaml file) and how styles cascade and can be overridden.

Download the Internet Explorer 8 Readiness Toolkit
Check out the Windows Internet Explorer 8 Readiness Toolkit, the first place to look when you are ready to optimize Web sites and applications for Internet Explorer 8.

Two New Companies Join the Microsoft Security Development Lifecycle (SDL) Pro Network
SAIC, a security consulting company, and the SANS Institute, a security training company, have recently joined the Microsoft SDL Pro Network to support Microsoft's commitment to make the SDL more accessible to every developer. These companies will guide and support you in implementing the SDL into your environment to better protect your customers.

Learn More About Microsoft Live Services
Live Services is a set of building blocks within the Azure Services platform for handling user data and application resources. Click here to explore the Live Framework, and explore all the documentation, SDKs, libraries, code snippets, and much, much more.

Add Security to Applications by Digitally Signing XML Documents
In this lab, you will learn how to digitally sign XML documents by using the System.Security.Cryptography library and how to use TFS to track bugs.

MSDN Webcast: Windows XP Embedded Overview and Applications (Level 200)
Watch this webcast to get an overview of Windows XP Embedded and find out more about the development tools used to build custom operating system images.

Join MSDN Ramp Up and Summit Your Career!
Learn new development skills with free step-by-step training plans and premium technical content, and get valuable discounts on select certification exams and Microsoft Press training kits.

Writing Secure Code Just Got a Lot Easier with the SDL Process Template for VSTS
The SDL Process Template for VSTS integrates the policy, process, and tools of the SDL v4 into Visual Studio Team Systems 2008. It eases adoption of the SDL, enables auditable security requirements and status, and demonstrates security return on investment.

MSDN Webcast: Windows XP Embedded Overview and Applications (Level 200)
Watch this webcast to get an overview of Windows XP Embedded and find out more about the development tools used to build custom operating system images.

Visual Studio 2010 and .NET Framework 4 Beta 1 Are Here
Visual Studio 2010 and .NET Framework 4 mark the next generation of developer tools from Microsoft. Check it out!

Windows Internet Explorer 8: Build Robust Web Applications
Find out how Web development can be faster and easier with Windows Internet Explorer 8 Developer Tools, and learn more about developer tools to use in exposing how the browser interprets a Web page. In these webcasts, podcasts, and virtual labs, we explore the built-in Internet Explorer 8 features that can help developers build standards-based Web applications.

VS Debugger: Create a Breakpoint Using Conditions
Watch this video in which Todd Miranda explains how a breakpoint is triggered by default and demonstrates how to use advanced breakpoints to only trigger when certain hit count conditions are met.

ServerQuest II Has Arrived... Are You Geek Enough to Play?
Play this new game and experience a day in a geek's life. Only the server can save you!

Join MSDN Ramp Up and Summit Your Career!
Learn new development skills with free step-by-step training plans and premium technical content, and get valuable discounts on select certification exams and Microsoft Press training kits.

MSDN Webcast: Implement the Complete Model View Controller (MVC) Pattern for the Web with Visual WebGui (Level 300)
How does Visual WebGui solve the complexity of using the model view controller (MVC) pattern in Web development in a light, simple, and productive way? Watch this webcast to find out.

Free Visual Studio E-Books Offer from Microsoft Press
Download chapters from three great books on Visual Studio 2008: Programming Microsoft LINQ, Introducing Microsoft Silverlight 2, Second Edition, and Programming Microsoft ASP.NET 3.5.

Check Out the Latest Videos and Webcasts on Windows Azure
Take advantage of this resource that includes a full listing of the latest webcasts and how-to videos covering the technologies included in the Azure Services Platform: Windows Azure, .NET Services, SQL Data Services, and Live Services.

Don't Miss Tech·Ed Online This Week
View video interviews with industry experts, on-demand sessions and keynotes, and Tech·Ed blog posts from around the world.

Download the Security Development Lifecycle Optimization Model
Self-assess your current state of security in development and create a strategy and roadmap to progressively attain measurable security improvements with the Security Development Lifecycle Optimization Model.

Watch the Newest "How Do I?" Videos about Internet Explorer 8
Find videos designed to help Web developers and designers of all skill levels experience the power of the Web using Internet Explorer 8. Check back often, as new videos are added regularly.

Don't Miss Tech·Ed Online This Week
View video interviews with industry experts, on-demand sessions and keynotes, and Tech·Ed blog posts from around the world.

Explore the Windows Azure SDK
Download the Windows Azure SDK that includes APIs, tools, documentation, and samples needed to develop Internet-scale applications to run on Windows Azure.

Download the Security Development Lifecycle Threat Modeling Tool
Reduce your cost of development by identifying and mitigating potential security vulnerabilities in the design phase of the SDL, when they are relatively easy and cost-effective to resolve.

ServerQuest II Has Arrived... Are You Geek Enough to Play?
Play this new game and experience a day in a geek's life. Only the server can save you!

Windows 7 Release Candidate Now Available
The Windows 7 release candidate is now available. Download, install, and actively test the Windows 7 RC code to help get your software and hardware solutions ready.

Video: How to Create a User Control in WPF
Learn how to create a timer User Control in WPF and see how to handle common problems in its development.

Download the Free !exploitable Crash Analyzer
!exploitable Crash Analyzer is a Windows debugger extension that provides automated crash analysis and security risk assessment in a tool that every developer and tester can use.

MSDN Webcast: Windows Embedded CE and Handheld Solutions (Level 100)
Dion Hutchings discusses Windows Embedded CE, the ideal handheld platform with hardware support and software components to satisfy the requirements of connected, service-oriented handheld devices.

    

 Windows Mobile Team Blog Minimize

Windows Mobile Blog: Moving Day
<P>As of today the Windows Mobile Blog has moved and&nbsp;officially joined the Windows Blog. There are now two options for subscribing to our content. </P> <P><A href="http://windowsteamblog.com/blogs/windowsphone/default.aspx" mce_href="http://windowsteamblog.com/blogs/windowsphone/default.aspx">Windows Mobile Blog</A> | <A href="http://windowsteamblog.com/blogs/windowsphone/rss.aspx" mce_href="http://windowsteamblog.com/blogs/windowsphone/rss.aspx">RSS</A> <BR>Our mobile insiders and technical experts will post content directly to the new Windows Mobile Blog. These posts will also bubble up to the higher level Windows Blog. </P> <P><A href="http://windowsteamblog.com/" mce_href="http://windowsteamblog.com/">Windows Blog</A> | <A href="http://windowsteamblog.com/blogs/MainFeed.aspx" mce_href="http://windowsteamblog.com/blogs/MainFeed.aspx">RSS</A> <BR>In addition to our mobile content, you can also read Windows desktop blogs by subscribing to this broad feed. </P> <P><BR>Feel free to subscribe to both! We look forward to hearing from you on the new site! </P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9832847" width="1" height="1">

SDK, DTK, DRK: WTF?!
<P>Earlier this week we released the <A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e">Windows Mobile 6.5 Developer Toolkit</A> (DTK). This release has raised a few questions relative to the other Windows Mobile software development tools and resources. I’d like to take a moment to describe what the SDK, DTK, and DRK are, and just as importantly what they are not.</P> <P><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=WTF border=0 alt=WTF src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/SDKDTKDRKIJustWannawriteanapp_9924/WTF_1.png" width=494 height=310 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/SDKDTKDRKIJustWannawriteanapp_9924/WTF_1.png"> </P> <P><FONT size=1>Figure: Windows Mobile 6.5 Developer Resource Kit</FONT></P> <P><B>SDK: Software Development Kit</B></P> <P>We have not released a new SDK for Windows Mobile 6.5. The <A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;displaylang=en">Windows Mobile 6 Professional SDK</A> or <A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;displaylang=en">Windows Mobile 6 Standard SDK</A> are required for Windows Mobile 6.5 application development. </P> <P><B></B></P> <P><B>DTK: Developer Toolkit</B></P> <P>The <A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e">Windows Mobile 6.5 Developer Toolkit</A> (DTK) is not an SDK! The DTK contains emulators, gesture APIs, and samples useful for developing Windows Mobile 6.5 applications. You will still need to install Visual Studio and the Windows Mobile 6 SDK prior to running the toolkit installer. </P> <P><B>DRK: Developer Resource Kit</B></P> <P>The Windows Mobile Developer Resource Kit (DRK) is an offline DVD copy of the most useful and relevant Windows Mobile application development tools and resources. Traditionally the DRK does not contain any exclusive content, in that nearly everything on the DRK is available for download online. This time we are pleased to publish the Windows Mobile 6.5 DRK with several sample chapters of Microsoft Mobile Development Handbook from <A href="http://www.microsoft.com/learning/en/us/books/10294.aspx" mce_href="http://www.microsoft.com/learning/en/us/books/10294.aspx">Microsoft Press</A> (Wigley, Moth, and Foot). </P> <P>We hand out free copies of the DRK at several conferences and developer events throughout the year. Beginning in July 2009, you may also order the Windows Mobile 6.5 DRK online at this Microsoft Web <A href="http://msdn.microsoft.com/en-us/windowsmobile/bb264329.aspx" mce_href="http://msdn.microsoft.com/en-us/windowsmobile/bb264329.aspx">site</A>. The previously listed Windows Mobile 6 Developer Resource Kit will be replaced. </P> <P><B>WTF: Where To Follow?</B></P> <P>Follow us on Twitter <A href="http://twitter.com/wmdev" mce_href="http://twitter.com/wmdev">@wmdev</A> to get the inside scoop and up to date information for development on Windows Mobile!</P> <P>Lastly, you can find the latest development resources at <A href="http://developer.windowsmobile.com/" mce_href="http://developer.windowsmobile.com">http://developer.windowsmobile.com</A>. </P> <P mce_keep="true">&nbsp;</P> <P>*<STRONG>UPDATE</STRONG>* Documentation has been released for <A href="http://msdn.microsoft.com/en-us/library/ee220920.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee220920.aspx">Using Gestures in Windows Mobile 6.5</A>. Thanks for your patience!</P> <P mce_keep="true">&nbsp;</P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9700485" width="1" height="1">

Getting started with widgets on Windows Mobile 6.5
<p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">Now that the <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e">Windows Mobile 6.5 Developer Toolkit</a> is out, it is time to start writing widgets!!! </font> <p></p> </font></p> <p></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">Necessary equipment: </font> <p></p> </font></p> <p></p> <p style="text-indent: -0.25in; margin: 0in 0in 0pt 0.75in; mso-add-space: auto; mso-list: l1 level1 lfo1" class="MsoListParagraphCxSpFirst"><span style="mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: ignore"><font size="3" face="Calibri">1)</font><span style="font: 7pt &#39;Times New Roman&#39;">&#160;&#160;&#160;&#160;&#160; </span></span></span><font size="3"><font face="Calibri"><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e">The Windows Mobile 6.5 emulator images</a></font></font></p> <p style="text-indent: -0.25in; margin: 0in 0in 0pt 0.75in; mso-add-space: auto; mso-list: l1 level1 lfo1" class="MsoListParagraphCxSpFirst"><span style="mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: ignore"><font size="3" face="Calibri">2)</font><span style="font: 7pt &#39;Times New Roman&#39;">&#160;&#160;&#160;&#160;&#160; </span></span></span><font size="3"><font face="Calibri">The web development environment of choice </font> <p></p> </font></p> <p></p> <p style="text-indent: -0.25in; margin: 0in 0in 10pt 0.75in; mso-add-space: auto; mso-list: l1 level1 lfo1" class="MsoListParagraphCxSpLast"><span style="mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: ignore"><font size="3" face="Calibri">3)</font><span style="font: 7pt &#39;Times New Roman&#39;">&#160;&#160;&#160;&#160;&#160; </span></span></span><font size="3"><font face="Calibri"><a href="http://www.microsoft.com/windowsmobile/en-us/help/synchronize/device-synch.mspx" mce_href="http://www.microsoft.com/windowsmobile/en-us/help/synchronize/device-synch.mspx">WMDC or Windows Mobile Device Center (on Vista or Windows 7) or ActiveSync 4.5 </a></font></font></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">With that you should be ready to go to get started, the first step is to start the emulator and cradle the device. The emulators can be started from the start menu under the “Windows Mobile 6 SDK -&gt; Stand Alone Emulator Images -&gt; &lt;Language&gt;”.<span style="mso-spacerun: yes">&#160; </span>The device emulator manager can be started using explorer to navigate to the following folder “C:\Program Files\Microsoft Device Emulator\1.0” and selecting dvcemumanager.exe. </font> <p></p> </font></p> <p></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">Once they are both started, open WMDC or ActiveSync and select connection options and, on the “Connect one of the following” combo box select “DMA” and click “OK”.</font></font></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri"></font> <p><img style="width: 473px; height: 295px" src="http://pgtwnw.bay.livefilestore.com/y1ps0q7VW13cB77lTBLVF4XkgJVOV6jBdjUDxxxP2h34IADOqn4XMOHkzqQ8h1oc5gbLFMwT4vye3uMLK0ISgHGLfUQt7F_69BD/WMDC_Config.png" width="473" height="295" mce_src="http://pgtwnw.bay.livefilestore.com/y1ps0q7VW13cB77lTBLVF4XkgJVOV6jBdjUDxxxP2h34IADOqn4XMOHkzqQ8h1oc5gbLFMwT4vye3uMLK0ISgHGLfUQt7F_69BD/WMDC_Config.png" /></p> </font></p> <p></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">Now, on the “Device Emulator Manager” select “Refresh” and then find the emulator on the list, should be the GUID under others and right click -&gt; cradle to connect it to the PC.</font></font></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><img style="width: 424px; height: 463px" src="http://pgtwnw.bay.livefilestore.com/y1pVuOpoRNAlHZvW5qnsyJLmpBbSaMwxu8zKbKQtVEwqRynaHQFICdQ_94Rb4xk_Tm8bBxleVVvzgvbL--mZB03zWdnHsz9Se8N/devemmanager.png" width="424" height="463" mce_src="http://pgtwnw.bay.livefilestore.com/y1pVuOpoRNAlHZvW5qnsyJLmpBbSaMwxu8zKbKQtVEwqRynaHQFICdQ_94Rb4xk_Tm8bBxleVVvzgvbL--mZB03zWdnHsz9Se8N/devemmanager.png" /></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri"><strong>UPDATE: </strong>Thanks to <a href="http://blogs.compactframework.de/Peter.Nowak/" mce_href="http://blogs.compactframework.de/Peter.Nowak/">Peter Nowaks</a> for pointing this out, The emulator can be listed under the &quot;Windows Mobile 6 Professional SDK&quot; category, depending if you have the Windows Mobile 6 SDK installed or not... Just look for the &quot;play&quot; icon :).</font></font></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">Once that is done, select “Connect without setting up my device” and you should be ready to go, to test, open internet explorer on the 6.5 emulator and navigate to any site, if all is set up correctly it will navigate to it using our brand new browser. </font> <p></p> </font></p> <p></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">And now.... the fun part begins! </font> <p></p> </font></p> <p></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">To write a widget we need to follow three easy steps. </font> <p></p> </font></p> <p></p> <p style="text-indent: -0.25in; margin: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo2" class="MsoListParagraph"><strong><span style="mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: ignore"><font size="3" face="Calibri">1)</font><span style="font: 7pt &#39;Times New Roman&#39;">&#160;&#160;&#160;&#160;&#160; </span></span></span><font size="3"><font face="Calibri">Develop your widget code </font> <p></p> </font></strong></p> <p></p> <p style="margin: 0in 0in 10pt 0.5in" class="MsoNormal"><font size="3"><font face="Calibri">For this you can use the web development tool of your choice, but as an example we can start with something super simple, as follows (copy it into a widget.htm document) </font> <p></p> </font></p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&lt;</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">html</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&gt; </span> <p></p> </p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&lt;</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">head</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&gt; </span> <p></p> </p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&#160;&#160;&#160; </span><span style="color: blue">&lt;</span><span style="color: #a31515">title</span><span style="color: blue">&gt;</span>Cool Widget!<span style="color: blue">&lt;/</span><span style="color: #a31515">title</span><span style="color: blue">&gt; </span> <p></p> </span></p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&lt;/</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">head</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&gt; </span> <p></p> </p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&lt;</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">body</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&gt; </span> <p></p> </p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes">I'm a cool windows mobile 6.5 widget </span> <p></p> </p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&lt;/</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">body</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&gt; </span> <p></p> </p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&lt;/</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">html</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&gt; </span> <p></p> </p> <p></p> <p style="margin: 0in 0in 0pt 0.5in" class="MsoListParagraphCxSpFirst"></p> <p><font size="3" face="Calibri">&#160;</font></p> <p></p> <p style="text-indent: -0.25in; margin: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo2" class="MsoListParagraphCxSpLast"><strong><span style="mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: ignore"><font size="3" face="Calibri">2)</font><span style="font: 7pt &#39;Times New Roman&#39;">&#160;&#160;&#160;&#160;&#160; </span></span></span><font size="3"><font face="Calibri">Package your widget </font> <p></p> </font></strong></p> <p></p> <p style="margin: 0in 0in 10pt 0.25in" class="MsoNormal"><font size="3"><font face="Calibri">Now we have our extremely functional widget code, now we need to create a manifest file (so the framework knows what to do with it) following the w3C widget standard for packaging and configuration (On 6.5 we support the <a href="http://www.w3.org/TR/2008/WD-widgets-20081222/" mce_href="http://www.w3.org/TR/2008/WD-widgets-20081222/">December 22 2008 draft</a></font></font><font size="3"><font face="Calibri">), but to make things easy, here is a small manifest, copy it into a config.xml file in the same folder as your widget.htm </font> <p></p> </font></p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&lt;?</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">xml</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"> </span><span style="font-family: &#39;Courier New&#39;; color: red; font-size: 10pt; mso-no-proof: yes">version</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">=</span><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes">&quot;<span style="color: blue">1.0</span>&quot;<span style="color: blue"> </span><span style="color: red">encoding</span><span style="color: blue">=</span>&quot;<span style="color: blue">utf-8</span>&quot;<span style="color: blue"> ?&gt; </span> <p></p> </span></p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&lt;</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">widget</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"> </span><span style="font-family: &#39;Courier New&#39;; color: red; font-size: 10pt; mso-no-proof: yes">version</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">=</span><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes">&quot;<span style="color: blue">1.0</span>&quot; </span> <p></p> </p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span style="font-family: &#39;Courier New&#39;; color: red; font-size: 10pt; mso-no-proof: yes">xmlns</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">=</span><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes">&quot;<span style="color: blue">http://www.w3.org/ns/widgets</span>&quot; </span> <p></p> </p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></span><span style="font-family: &#39;Courier New&#39;; color: red; font-size: 10pt; mso-no-proof: yes">id</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">=</span><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes">&quot;&quot;<span style="color: blue">&gt; </span> <p></p> </span></p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&#160; </span>&lt;</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">name</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&gt;</span><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes">My first widget<span style="color: blue">&lt;/</span><span style="color: #a31515">name</span><span style="color: blue">&gt; </span> <p></p> </span></p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&#160; </span>&lt;</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">content</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"> </span><span style="font-family: &#39;Courier New&#39;; color: red; font-size: 10pt; mso-no-proof: yes">src</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">=</span><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes">&quot;<span style="color: blue">widget.htm</span>&quot;<span style="color: blue"> </span><span style="color: red">type</span><span style="color: blue">=</span>&quot;<span style="color: blue">text/html</span>&quot;<span style="color: blue"> /&gt; </span> <p></p> </span></p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&#160; </span>&lt;</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">access</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"> </span><span style="font-family: &#39;Courier New&#39;; color: red; font-size: 10pt; mso-no-proof: yes">network</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">=</span><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes">&quot;<span style="color: blue">true</span>&quot;<span style="color: blue"> /&gt; </span> <p></p> </span></p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&#160; </span>&lt;</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">icon</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"> </span><span style="font-family: &#39;Courier New&#39;; color: red; font-size: 10pt; mso-no-proof: yes">src</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">=</span><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes">&quot;<span style="color: blue">icon.png</span>&quot;<span style="color: blue">/&gt; </span> <p></p> </span></p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&#160; </span>&lt;</span><span style="font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">description</span><span style="font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&gt;</span><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes">This is my first widget, </span> <p></p> </p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>it won't make a lot of money on the </span> <p></p> </p> <p></p> <p style="line-height: normal; margin: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: &#39;Courier New&#39;; font-size: 10pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>marketplace but at least is cute!<span style="color: blue">&lt;/</span><span style="color: #a31515">description</span><span style="color: blue">&gt; </span> <p></p> </span></p> <p></p> <p style="text-indent: 0.5in; margin: 0in 0in 10pt" class="MsoNormal"><span style="line-height: 115%; font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&lt;/</span><span style="line-height: 115%; font-family: &#39;Courier New&#39;; color: #a31515; font-size: 10pt; mso-no-proof: yes">widget</span><span style="line-height: 115%; font-family: &#39;Courier New&#39;; color: blue; font-size: 10pt; mso-no-proof: yes">&gt; </span> <p></p> </p> <p></p> <p style="margin: 0in 0in 10pt 0.25in" class="MsoNormal"><font size="3"><font face="Calibri">Don’t forget to also add an icon called icon.png on the same folder.<span style="mso-spacerun: yes">&#160; </span></font></font></p> <p style="margin: 0in 0in 10pt 0.25in" class="MsoNormal"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes"></span>At this point, you should have three files (config.xml, icon.png and widget.htm), now we need to package them, on explorer, select the files, right click and send to a compressed folder (it is important to select the files and not the folder that contains them because we want config.xml <span style="mso-spacerun: yes">&#160;</span>to be in the root of the zip container).<span style="mso-spacerun: yes">&#160; </span>Now just rename the newly created zip file to “widget.wgt” and you are done with this step. </font> <p></p> </font></p> <p></p> <p style="text-indent: -0.25in; margin: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo2" class="MsoListParagraph"><strong><span style="mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"><span style="mso-list: ignore"><font size="3" face="Calibri">3)</font><span style="font: 7pt &#39;Times New Roman&#39;">&#160;&#160;&#160;&#160;&#160; </span></span></span><font size="3"><font face="Calibri">Deploy and run </font> <p></p> </font></strong></p> <p></p> <p style="margin: 0in 0in 10pt 0.25in" class="MsoNormal"><font size="3"><font face="Calibri">On “Computer” you should see the cradled device emulator as “PocketPC device”</font></font></p> <p style="margin: 0in 0in 10pt 0.25in" class="MsoNormal"><font size="3"><font face="Calibri"><img style="width: 505px; height: 282px" src="http://pgtwnw.bay.livefilestore.com/y1pvAGRiDYWDvYhCwNhozWGypSn_NO5CK8u00PLD-nHrzeCOLjHvhV1IQGXMroLGN5j5KiPuOJ76OHeNrCITdXhzA/explorer_1.png" width="505" height="282" mce_src="http://pgtwnw.bay.livefilestore.com/y1pvAGRiDYWDvYhCwNhozWGypSn_NO5CK8u00PLD-nHrzeCOLjHvhV1IQGXMroLGN5j5KiPuOJ76OHeNrCITdXhzA/explorer_1.png" />&#160;</font></font></p> <p style="margin: 0in 0in 10pt 0.25in" class="MsoNormal"><font size="3"><font face="Calibri">Use it to navigate to “My Documents” on the device and copy the widget file created in step 2 there.<span style="mso-spacerun: yes">&#160; </span>Now, on the emulator, open file explorer using the start menu and, listed there you should see your widget file, click on it.<span style="mso-spacerun: yes">&#160; </span></font></font></p> <p style="margin: 0in 0in 10pt 0.25in" class="MsoNormal"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes"><img style="width: 283px; height: 451px" src="http://pgtwnw.bay.livefilestore.com/y1pBw08hamrQOfBRnXXfFDJcw9XEjAO262IZDlh-RnvUF1WLNP0VmUnUJC1GYdHQEYDMN5R2hh90NK_m_hU_j3P0Q/widget_explorer.png" width="283" height="451" mce_src="http://pgtwnw.bay.livefilestore.com/y1pBw08hamrQOfBRnXXfFDJcw9XEjAO262IZDlh-RnvUF1WLNP0VmUnUJC1GYdHQEYDMN5R2hh90NK_m_hU_j3P0Q/widget_explorer.png" /></span></font></font></p> <p style="margin: 0in 0in 10pt 0.25in" class="MsoNormal"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes"></span>This should start the installation process, once that is done you will see your very first widget on screen!!!</font></font></p> <p style="margin: 0in 0in 10pt 0.25in" class="MsoNormal"><font size="3"><font face="Calibri"></font> <p><img style="width: 282px; height: 450px" src="http://pgtwnw.bay.livefilestore.com/y1p_VFV6nB7rps8UvpQBsC8-bsOYGMktgrU4oXo1pRFGwP0CDt6VaVg7q1eA90CwiKKtPUgCy2-fPHQS55_5mRyUw/widget_running.png" width="282" height="450" mce_src="http://pgtwnw.bay.livefilestore.com/y1p_VFV6nB7rps8UvpQBsC8-bsOYGMktgrU4oXo1pRFGwP0CDt6VaVg7q1eA90CwiKKtPUgCy2-fPHQS55_5mRyUw/widget_running.png" /></p> </font></p> <p></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">To continue playing with this widget (make it better, etc) you can find the uncompressed files on the “Program Files\Widgets\User\&lt;WidgetID&gt; folder&quot; on the device.<span style="mso-spacerun: yes">&#160; </span></font></font></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes"><img style="width: 600px; height: 302px" src="http://pgtwnw.bay.livefilestore.com/y1pDDiXMGdvkLNgdnJw2KYrsi9LCHKzw9YMfS0rXSnB30VgjRrsyyrrRMxNM_8iYzX24m8QKo0z7w4fW0kd6WDgRrj_na37zHc3/uncompressed.png" width="600" height="302" mce_src="http://pgtwnw.bay.livefilestore.com/y1pDDiXMGdvkLNgdnJw2KYrsi9LCHKzw9YMfS0rXSnB30VgjRrsyyrrRMxNM_8iYzX24m8QKo0z7w4fW0kd6WDgRrj_na37zHc3/uncompressed.png" /></span></font></font></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">The widget ID is generated at install time and it is an always increasing integer (therefore, the most recently installed widget will have the greatest number).<span style="mso-spacerun: yes">&#160; </span>You can replace, add, remove files here for testing at will; the only thing you need for a your widget to pick the changes up is to exit it and start it again, it will have an entry on the start menu. </font> <p></p> </font></p> <p></p> <font size="3"><font face="Calibri"> <p></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">I will be sharing more information about the widget API, how to extend the widget framework capabilities, debugging tips, best practices, etc in future posts but I wanted to help everyone to get started.</font></font></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3" face="Calibri">For now, you can also take a quick look at my&#160; TechDays session where I describe the API set and some of the capabilities of the framework.&#160;&#160; To access it you'll need to log into the <a href="http://www.msfttechdays.com/public/home.aspx" mce_href="http://www.msfttechdays.com/public/home.aspx">Microsoft Tech Days</a> site and search for <strong>MBL302 Windows <span class="hi">Mobile</span> Web and Widgets: Leveraging web technologies to build experiences for Windows </strong><span class="hi"><strong>Mobile</strong>.</span></font></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">Stay tuned, have fun and don't forget to share your thoughts... Also, before I forget, you can upload your cool widget creations to the Marketplace :), visit <a href="http://developer.windowsmobile.com/">http://developer.windowsmobile.com</a> for more information.</font></font></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><strong>UPDATE: </strong>The MSDN docs are online <a href="http://msdn.microsoft.com/en-us/library/dd721906.aspx">http://msdn.microsoft.com/en-us/library/dd721906.aspx</a></p> <p style="margin: 0in 0in 10pt" class="MsoNormal"><font size="3"><font face="Calibri">Jorge Peraza</font></font></p> <p></p> </font></font><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9697706" width="1" height="1">

Windows Mobile RampUp track is now available on MSDN
<p>&#160;</p> <p><a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileRampUptrackisnowavailableon_1332A/image_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileRampUptrackisnowavailableon_1332A/image_thumb.png" width="244" height="86" /></a>&#160;</p> <p>Are you interested in learning about Windows Mobile Application Development from the ground up and looking for some easy-to-use content that helps you get started? We have good news for you. We have just launched the MSDN RampUp track for Windows Mobile Application Development on MSDN.</p> <p>Last week, we had the opportunity to talk with Johanna White, Senior Product Manager with the RampUp program. Johanna has been responsible for launching the Windows Mobile track, along with several other tracks, the latest of which are <a href="http://msdn.microsoft.com/en-us/rampup/dd861547.aspx">Move from ASP to ASP.NET</a>, <a href="http://msdn.microsoft.com/en-us/rampup/dd861531.aspx">Web Development with ASP.NET</a>, and <a href="http://msdn.microsoft.com/en-us/rampup/dd861547.aspx">Move from PHP to ASP.NET</a>, all of which just launched this <a>week</a> .</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:eb8b456b-1254-4f6d-a928-858805dba655" class="wlWriterEditableSmartContent"><div id="679a80ed-10f8-45b7-9235-49f95c6e324f" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=4fY-b3ptFls&amp;hl=en&amp;fs=1" target="_new"><img src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileRampUptrackisnowavailableon_1332A/video93f0ba5f32ed.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('679a80ed-10f8-45b7-9235-49f95c6e324f'); downlevelDiv.innerHTML = &quot;&lt;div&gt;&lt;object width=\&quot;425\&quot; height=\&quot;355\&quot;&gt;&lt;param name=\&quot;movie\&quot; value=\&quot;http://www.youtube.com/v/4fY-b3ptFls&amp;hl=en&amp;fs=1&amp;hl=en\&quot;&gt;&lt;\/param&gt;&lt;embed src=\&quot;http://www.youtube.com/v/4fY-b3ptFls&amp;hl=en&amp;fs=1&amp;hl=en\&quot; type=\&quot;application/x-shockwave-flash\&quot; width=\&quot;425\&quot; height=\&quot;355\&quot;&gt;&lt;\/embed&gt;&lt;\/object&gt;&lt;\/div&gt;&quot;;" alt=""></a></div></div></div> <p>Now you’re probably wondering, what does RampUp stand for? RampUp is a free online learning program that helps developers to acquire skills in specific technologies and development areas, such as Windows Mobile Development, SharePoint Development and many others. RampUp is completely free. It provides easy-to-access content, in a guided path that defines the important lessons and the order in which you learn them. </p> <p>RampUp content is offered in a variety of forms that allow you to choose the best way to learn; we have articles, codecasts, slidecasts and v-labs. All the content has been authored by well-known experts in the field, such as well-known book and article authors and MVPs.</p> <p>To access the Windows Mobile track for RampUp, click <a href="http://msdn.microsoft.com/en-us/rampup/dd807370.aspx">here</a>. The Windows Mobile RampUp track consists of 7 modules, each of which takes you one step further to master Windows Mobile Application Development. These modules range from a basic introduction to Windows Mobile Application Development and a lesson on how to use the tools to Advanced Windows Mobile Forms Development. You will learn about Device Emulators, such as the specific features of Device Emulator 2.0 and Device Emulator 3.0, and we will show you how to control individual Device Emulators from inside Visual Studio 2008.</p> <p>The RampUp track for Windows Mobile will also provide you with an introduction to SQL Server CE. You will learn about the specific security consideration you will have to make when developing applications for Windows Mobile. In the final module, you will receive an overview of Windows Mobile Web development. You will learn how to identify on which device your application will run and what devices will support AJAX. After completing each module, you will have gained a solid foundation that will help you get started with to developing more advanced applications for the Windows Mobile platform. </p> <p>And as an added bonus, you will even receive a graduation award after completing the track. </p> <p>Make sure to check it out for yourself!</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9633321" width="1" height="1">

Marketplace Update
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">This is an update with some helpful information to those developers wishing to register with Windows Marketplace for Mobile.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P> <P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo1"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore">·<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">Market Availability</SPAN></B><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"> : at this point, registration is open to English language markets (en-*) in the following countries: US, UK, Canada, Australia, New Zealand, Ireland, Singapore and India. Please stay tuned as we enable registration in other markets over the next few months.<o:p></o:p></SPAN></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P> <P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><SPAN style="mso-list: Ignore">·<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><B><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">Users with an existing billing relationship</SPAN></B><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">: for those developers who already have a Live ID and have previously established a billing relationship with Microsoft, we recommend that they go through the following steps to ensure they have all the information in their commerce profile:<o:p></o:p></SPAN></P> <P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level4 lfo2; tab-stops: list 1.0in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"><SPAN style="mso-list: Ignore">1.<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">Go to <A href="http://billing.microsoft.com/" mce_href="http://billing.microsoft.com/"><FONT color=#0000ff>http://billing.microsoft.com</FONT></A><o:p></o:p></SPAN></P> <P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level4 lfo2; tab-stops: list 1.0in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"><SPAN style="mso-list: Ignore">2.<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">Sign in with your Live ID that is associated with your credit card information<o:p></o:p></SPAN></P> <P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level4 lfo2; tab-stops: list 1.0in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"><SPAN style="mso-list: Ignore">3.<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">Under "Billing account overview", click on hyperlink "Go to personal information"<o:p></o:p></SPAN></P> <P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level4 lfo2; tab-stops: list 1.0in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"><SPAN style="mso-list: Ignore">4.<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">In the next page, under "Your personal information" make sure every item is correctly filled and is accurate. If there is any piece of information that's missing or is inaccurate, please click on "Edit personal Information", add/modify the missing piece (including phone number) and save.<o:p></o:p></SPAN></P> <P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level4 lfo2; tab-stops: list 1.0in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"><SPAN style="mso-list: Ignore">5.<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">Try to sign up for Windows Marketplace for Mobile again.<o:p></o:p></SPAN></P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9633134" width="1" height="1">

Carry your Office in your pocket #1
<p>Hi, my name is Bibhu Choudhary and I am a Senior Program Manager Lead with Microsoft India R&amp;D. I am very passionate about Enterprise Mobility. I have extensive experience in mobile technologies having released three versions of Office Mobile. Overall I have over 9 years of work experience in the field of technology consulting and product delivery.</p> <p>In this series of blogs, I will pick up one persona every month. I will try to analyze her job profile from Mobility perspective and suggest ways for her to use Office Mobile® to get work done more efficiently and <i>realize her potential</i>. </p> <p>I will invite you to share your current job profile and challenge me to suggest features from Office Mobile that YOU can use to improve your productivity while mobile. </p> <p>Meet my persona of the month: </p> <p><i><strong>Susan McNeil</strong></i> – <i>Real Estate Consultant.</i> </p> <p><a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image002%5B5%5D.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="clip_image002[5]" border="0" hspace="12" alt="clip_image002[5]" align="left" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image002%5B5%5D_thumb.jpg" width="161" height="190" /></a><strong>Her Job:</strong> Susan runs her own Real Estate Consultancy in Downtown Chicago and specializes in Office Space Rentals. Hers is a travelling job as she offers re-modelling of the property as a value added service to her clients. She gets a brokerage amount for every deal made from both the lessee and the leaser. </p> <p><strong>Her Day:</strong> She gets a call from her assistant that a brand new property is advertised for lease at 3447, 42<sup>nd</sup> block, Castle Road. The address is on her way to the office. She drives down to the location, meets with the owner and notes down the property details for her reference. Later in the day, as she reaches office, she enters the property details in her Access Database. </p> <p><strong>Office Mobile at her help:</strong> She has created a template in Excel for collecting relevant data for any new property listing. This Template is readily available to her as soon as she launches Excel Mobile. </p> <p><a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image004_2.jpg"><img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image004_thumb.jpg" width="227" height="171" /></a> <a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image006_2.jpg"><img style="border-right-width: 0px; margin: 0px 0px 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image006_thumb.jpg" width="227" height="172" /></a> </p> <p align="left"><font color="#c0c0c0" size="1">Windows Mobile 6.1 Smartphone: Office Mobile Apps&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Excel Mobile 6.1: Excel Templates</font> </p> <p>She fills out the form in the template while talking to the client and surveying the property. </p> <p><a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image008_2.jpg"><img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image008_thumb.jpg" width="233" height="176" /></a> <a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image010_2.jpg"><img style="border-right-width: 0px; margin: 0px 0px 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image010_thumb.jpg" width="233" height="176" /></a> </p> <p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#c0c0c0" size="1">&#160;&#160; Excel Mobile 6.1&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Excel Mobile 6.1</font> </p> <p>The form is now ready to be saved. </p> <p><a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image012_2.jpg"><img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image012_thumb.jpg" width="233" height="176" /></a> <a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image014_2.jpg"><img style="border-right-width: 0px; margin: 0px 0px 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image014_thumb.jpg" width="233" height="176" /></a> </p> <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#c0c0c0" size="1">&#160;&#160;&#160;&#160; Excel Mobile 6.1: Menu&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Excel Mobile 6.1: Save As Dialog</font> </p> <p>Susan is now at her office. The Excel file that is now saved in the Main memory of the device is copied over to her desktop computer to a pre-assigned folder. </p> <p><a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image016_2.jpg"><img style="border-right-width: 0px; margin: 0px 0px 0px 35px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image016_thumb.jpg" width="244" height="150" /></a> </p> <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#c0c0c0" size="1">Windows XP: File Explorer</font> </p> <p>There is a Macro enabled file already present at this folder. She opens this macro-enabled file and runs the Macro. </p> <p><a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image018_2.jpg"><img style="border-right-width: 0px; margin: 0px 0px 0px 35px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image018" border="0" alt="clip_image018" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image018_thumb.jpg" width="244" height="176" /></a> </p> <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#c0c0c0" size="1">Office 2007: Microsoft Excel: Macros</font> </p> <p>It picks up all the Property details collected over the last week and Collects them in a flat table. </p> <p><a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image020_2.jpg"><img style="border-right-width: 0px; margin: 0px 0px 0px 35px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image020" border="0" alt="clip_image020" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image020_thumb.jpg" width="244" height="124" /></a> </p> <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#c0c0c0" size="1">Office 2007: Microsoft Excel</font> </p> <p>This table is readily imported into an Access database. </p> <p><a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image022_2.jpg"><img style="border-right-width: 0px; margin: 0px 0px 0px 35px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image022" border="0" alt="clip_image022" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileTeamBlogGuidelines_9D65/clip_image022_thumb.jpg" width="244" height="94" /></a> </p> <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#c0c0c0" size="1">&#160;&#160;&#160;&#160;&#160;&#160; Office 2007: Microsoft Access</font> </p> <p>Susan, who used to carry her diary and take notes about the deals using pen and paper and then painfully enter all the data into her system, now carries her office in her pocket! </p> <p><strong>Summary:</strong> Use Excel Mobile Templates as a simple form for collecting structured data. Combine this with the powerful Developer features of Excel on your desktop and feed into your Line of Business application system. </p> <p><strong>Next Up – </strong>Terry, Marketing Manager!</p> <p>&#160;</p> <p><em>Rohit Bhatia, posting on behalf of Bibhu Choudhary</em></p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9618444" width="1" height="1">

Twisted Pixels #4 – A Button-Mashers Guide to Input
<p>Windows Mobile 6.5 is the next version of Windows Mobile, and there are a few changes to how you program for the Windows Mobile platform. One of these changes was the subject of a recent blog post: J<a href="http://blogs.msdn.com/windowsmobile/archive/2009/05/06/just-say-no-to-gapi-what-you-need-to-know-about-allkeys-and-input-management.aspx">ust say no to GAPI – What you need to know about <strong>AllKeys</strong> and input management</a>.</p> <p>Since this post is about input, go ahead and read that post, then come back and read the rest of this post about how input works in Windows Mobile, and how easy it can be to code for.&#160; </p> <p><strong>Note:</strong> Just a reminder, this series is currently looking at the unmanaged APIs exposed by Windows Mobile, and how those APIs can be used by game developers.</p> <p>I was asked a few weeks ago to write a sample application that demonstrated the use of “<strong>AllKeys</strong>”.&#160; Since <strong>AllKeys</strong> is such a simple interface, I decided to make the task more challenging by writing an application that would display all key-press information, and would allow the user to see the difference in messages when <strong>AllKeys</strong> is turned on and when it is turned off.</p> <p><img title="AllKeysTest3Image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="550" alt="AllKeysTest3Image" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixels4TheButtonMashersGuidetoInp_C2FA/AllKeysTest3Image_3.jpg" width="360" border="0" /> </p> <p><a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixels4TheButtonMashersGuidetoInp_C2FA/toolbox62.png"><img title="toolbox6_thumb2" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="48" alt="toolbox6_thumb2" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixels4TheButtonMashersGuidetoInp_C2FA/toolbox6_thumb2_a1093794-b202-42b6-8433-5587d8935e27.png" width="48" align="left" border="0" /></a>This program allows you to confirm the behavior of all the keys on your device, which is always helpful.&#160; Different devices have different keys and buttons, and the mapping and behavior of these keys is not always obvious.&#160; I hope it is a useful addition to your toolbox!&#160; You can download the .exe as well as the source at: <a title="http://code.msdn.microsoft.com/tpix" href="http://code.msdn.microsoft.com/tpix">http://code.msdn.microsoft.com/tpix</a></p> <h2>Input Management</h2> <p>Input handling in Windows Mobile is not that different from the Windows desktop, and uses the same system of messages, but that does not help you if you have never programmed for Windows. Fortunately, handling input is one of the simpler parts of Windows programming, and the other parts (such as working with controls and child windows) aren't usually needed for native game development.&#160; There are plenty of references that describe how Windows processes messages, so I will not go into details here (Charles Petzold’s books are a long time favorite of mine – See <a href="http://www.charlespetzold.com/pw5/index.html">Programming Windows</a>).</p> <p>The bottom line is that input is sent to an application in the form of a message, and every Windows program has what is called a message loop to process these and other messages named <strong>WndProc</strong>. If you are building an application in Visual Studio and use one of the starter Templates such as “Win32 Smart Device Project”, this message loop will be created for you along with other bits of code needed to create a basic Windows Mobile application.&#160; Here is an example:</p> <h2>The Message Loop</h2> <p><font face="Courier New">LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) <br />{ <br />&#160;&#160;&#160; int wmId, wmEvent; <br />&#160;&#160;&#160; PAINTSTRUCT ps; <br />&#160;&#160;&#160; HDC hdc; </font></p> <p><font face="Courier New">&#160;&#160;&#160; static SHACTIVATEINFO s_sai; <br />&#160;&#160;&#160; switch (message) <br />&#160;&#160;&#160; { <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; case WM_COMMAND: <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; wmId&#160;&#160;&#160; = LOWORD(wParam); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; wmEvent = HIWORD(wParam); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; // Parse the menu selections: <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; switch (wmId) <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; case IDM_HELP_ABOUT: <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; DialogBox(g_hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, About); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; case IDM_OK: <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; SendMessage (hWnd, WM_CLOSE, 0, 0);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; default: <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return DefWindowProc(hWnd, message, wParam, lParam); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; case WM_CREATE: <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; SHMENUBARINFO mbi; </font></p> <p><font face="Courier New">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; memset(&amp;mbi, 0, sizeof(SHMENUBARINFO)); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; mbi.cbSize&#160;&#160;&#160;&#160; = sizeof(SHMENUBARINFO); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; mbi.hwndParent = hWnd; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; mbi.nToolBarId = IDR_MENU; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; mbi.hInstRes&#160;&#160; = g_hInst; </font></p> <p><font face="Courier New">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (!SHCreateMenuBar(&amp;mbi)) <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; g_hWndMenuBar = NULL; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; else <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; g_hWndMenuBar = mbi.hwndMB; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </font></p> <p><font face="Courier New">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; // Initialize the shell activate info structure <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; memset(&amp;s_sai, 0, sizeof (s_sai)); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; s_sai.cbSize = sizeof (s_sai); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; case WM_PAINT: <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; hdc = BeginPaint(hWnd, &amp;ps); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; // TODO: Add any drawing code here... <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; EndPaint(hWnd, &amp;ps); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; case WM_DESTROY: <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; CommandBar_Destroy(g_hWndMenuBar); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PostQuitMessage(0); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break; </font></p> <p><font face="Courier New">&#160;&#160;&#160;&#160;&#160;&#160;&#160; case WM_ACTIVATE: <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; // Notify shell of our activate message <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; SHHandleWMActivate(hWnd, wParam, lParam, &amp;s_sai, FALSE); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; case WM_SETTINGCHANGE: <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; SHHandleWMSettingChange(hWnd, wParam, lParam, &amp;s_sai); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break; </font></p> <p><font face="Courier New">&#160;&#160;&#160;&#160;&#160;&#160;&#160; default: <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return DefWindowProc(hWnd, message, wParam, lParam); <br />&#160;&#160;&#160; } <br />&#160;&#160;&#160; return 0; <br />}</font> </p> <p>This is the default message handler created by Visual Studio in our starter project.&#160; Note that it has no input handlers (yet!).</p> <p>Many applications have more than one message loop. In fact, message loops are associated with the creation of a window, and so each window can (in theory) have a message loop.&#160; On the other hand, some windows such as dialog boxes use the message loop of their parent for message handling.&#160; You can see an example of that in the code above – look for “<font face="Courier New">case IDM_HELP_ABOUT:” </font>which processes messages from the &quot;About” dialog box.</p> <h2>Key Messages in the Message Loop</h2> <p>Since we are only interested in processing input at the moment, I’ll ignore the rest of these messages and focus only on keyboard and button presses. The messages that we are interested in are:</p> <font size="2"> <p></p> <font size="2">WM_KEYDOWN:</font> <p></p> <font size="2">WM_KEYUP:</font> <p></p> <font size="2">WM_SYSKEYDOWN:</font> <p></p> <font size="2">WM_SYSKEYUP:</font> <p></p> <font size="2">WM_CHAR:</font> <p></p> <font size="2">WM_SYSCHAR:</font> <p></p> <font size="2">WM_DEADCHAR:</font> <p></p> <font size="2">WM_SYSDEADCHAR:</font></font> <p>In actual practice, the only messages that Windows Mobile applications are usually interested in are:</p> <p><font size="2">WM_KEYDOWN:</font> </p> <p></p> <font size="2">WM_KEYUP:</font> <p><font size="2">WM_CHAR:</font> </p> <p>Input is really pretty simple – when a button or key is pressed, WM_Keydown message is sent to the application.&#160; When the key or button is released, WM_Keyup is sent.&#160; You can tell which button has been pressed by looking at the data that is included with the message.&#160; </p> <p>In order to support different languages with a single hardware device, the OS is able to look at this VK key code and map it to one of many languages (which ever language is installed on your phone).&#160; This translation usually follows the WM_KEYDOWN message, and is called WM_CHAR.&#160; In the data for WM_CHAR, there is a field that contains the actual value of the character pressed.&#160; If your program is compiled to use Unicode, this will be the format of the character. For English devices, the WM_CHAR data is usually the same value as the WM_KEYDOWN value, but this can not be assumed for any other language, and might even change from version to version as language mappings are refined.</p> <h2>Working with Message Data</h2> <p>Message data is received by the message loop in the form of the cryptically named wParam and lParam parameters.&#160; These are two integer parameters that are passed into the message loop at the same time as the message.</p> <p>Message data varies according to message type.&#160; In the example above, For the WM_COMMAND message, the data is mapped as follows:</p> <p><font face="Courier New">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; wmId&#160;&#160;&#160; = LOWORD(wParam); <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; wmEvent = HIWORD(wParam);</font></p> <p>The message data for the keypress messages listed above includes the virtual key code, which is mapped like this:</p> <p><font face="Courier New">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; long nVirtKey = wParam;</font></p> <p>You can compare the value of the virtual key code with the predefined VK_ identifiers to determine which key was pressed.</p> <p>Unlike message handling, the reference documentation for virtual key codes on MSDN is quite thorough. See the topic <a href="http://msdn.microsoft.com/en-us/library/aa925941.aspx">Using Virtual Key Codes</a>, and it’s child topic <a href="http://msdn.microsoft.com/en-us/library/aa926323.aspx">Virtual Key Codes</a> for the latest, most accurate information.&#160; More general information can be found in the <a href="http://msdn.microsoft.com/en-us/library/bb203275.aspx">Keyboard</a> section of the documentation.</p> <h2>Character Mapping</h2> <p>In order to support different languages with a single hardware device, the OS is able to look at this VK key code and map it (depending on the language your phone is set to) to a specific character.&#160; This character is then sent to your application as part of a WM_CHAR message.</p> <p>WM_CHAR usually follows the WM_KEYDOWN message, and is most often followed by the WM_KEYUP message. In the data for WM_CHAR, there is a field that contains the actual, language dependent character value of the key pressed.&#160; If your program is compiled to use Unicode (which is the default), this will be the format of the character. For English devices, the WM_CHAR data is usually the same value as the WM_KEYDOWN value, but this can not be assumed for any other language, and might even change from version to version as language mappings are refined.</p> <p>Most Windows Mobile applications expect keyboard input to represent text, and so these applications pay attention to the WM_CHAR message, since this represents the value of the keypress in the local language.&#160; For game developers, needs may be different – a button or key may be mapped to a specific game action that has no relation to the local language – W,A,S,D,X may be mapped to direction keys, for example.&#160; In this case, it would be better to respond to the WM_KEYDOWN message, since the VK_ code from that message will be consistent across different languages.</p> <h2>Capturing Button Presses</h2> <p>The non-character buttons (such as the d-pad on many phones) are handled in a similar way, but there is a slight twist.&#160; Many of these buttons are tied to specific tasks in the operating system, and if you press them, the OS may intercept the message and it will never arrive in your application.&#160; Instead, (for example) you may find your application sent to the background as the phone dialer starts up.</p> <p>There are times when game developers want to have access to these buttons, and if we stay alert and get out of the way when a call comes in, it is ok to ask the OS to send these messages to our own application for processing.&#160; In this way a game programmer can get the messages from the d-pad at the bottom of many devices, and can also get messages from the action button in the center of the d-pad.&#160; For an example of these buttons on a virtual device, look at the emulator image above.</p> <p>You ask the OS to send your application all button press information is through the API call <strong>AllKeys</strong>.&#160; <strong>AllKeys</strong> <strong>(TRUE)</strong> tells the OS to send all button presses to the application, and <strong>AllKeys</strong> <strong>(FALSE)</strong> resets things so that the OS can do it’s own processing of these keys.</p> <p>The best way (currently) to learn about <strong>AllKeys</strong> is to read up on it on this post: J<a href="http://blogs.msdn.com/windowsmobile/archive/2009/05/06/just-say-no-to-gapi-what-you-need-to-know-about-allkeys-and-input-management.aspx">ust say no to GAPI – What you need to know about <strong>AllKeys</strong> and input management</a>, and then download the source to the sample app mentioned in this article – look at the code, and run it on your device and see what happens when you start mashing buttons!</p> <p></p> <strong>Note:</strong> You have to be especially sensitive when programming for a mobile device due to the fact that the device is – first and foremost – a phone, and you need to write code that allows your applications to get out of the way when a phone call comes in.&#160; In fact, that sounds like a good topic for a separate blog article, so lets leave it at that. <img src="http://blogs.msdn.com/aggbug.aspx?PostID=9612473" width="1" height="1">

Windows Mobile Facebook Application update
<P>If you weren’t aware, Microsoft recently released a Facebook application for Windows Mobile. We’ve heard some users have been having problems with installation and a new copy of the app has been posted. This version should help anyone that was getting the “cannot install due to insufficient privileges” error and it should also help with some hanging errors. </P> <P>You’ll want to uninstall the old application and then make sure that the facebook.vol and fbmail.vol files are deleted from your root directory before reinstalling. You can get the new .cab file at the <A href="http://www.microsoft.com/windowsmobile/en-us/downloads/facebook.mspx" mce_href="http://www.microsoft.com/windowsmobile/en-us/downloads/facebook.mspx">download center</A> or from your <A href="http://mobile.microsoft.com/windowsmobile/en-us/downloads/facebook_eula.mspx">phone</A>.</P> <P><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Facebook Images" border=0 alt="Facebook Images" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileFacebookApplicationupdate_F22A/image_3.png" width=365 height=280 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WindowsMobileFacebookApplicationupdate_F22A/image_3.png"></P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9608417" width="1" height="1">

Marketplace Registration Open!
<p>In the latest update to <a href="http://developer.windowsmobile.com">http://developer.windowsmobile.com</a>, developers can now <b>Register to participate in Windows Marketplace for Mobile</b>. This marks another milestone in providing Windows Mobile Developers a clear path to <b>develop, test, certify and distribute</b> their Windows Mobile applications via the Windows® Marketplace for Mobile. Throughout the registration process, links to key documentation for distributing apps through Windows Marketplace for Mobile are provided.</p> <p>Next steps for developers? </p> <p>· <b><a href="http://developer.windowsmobile.com/marketplace.aspx">REGISTER NOW</a>.</b> Developers can submit their complete profile information and take the first step in registration. </p> <p>· Follow the Windows Mobile Developer team on Twitter <a href="http://twitter.com/wmdev">@wmdev</a>, <a href="http://www.facebook.com/group.php?gid=2254845390#/pages/Windows-Mobile-Developer/39963827922?ref=mf">Facebook</a> and <a href="http://www.youtube.com/windowsmobiledev">YouTube</a>. </p> <p>· Keep up to date via the Windows Mobile Team <a href="http://blogs.msdn.com/windowsmobile">blog</a>.</p> <p>· And, stay informed with the latest development tools on the <a href="http://msdn.microsoft.com/en-us/windowsmobile/default.aspx">Windows Mobile Developer Center on MSDN</a>.</p> <p>Finally, if you have any questions for the team that are not already addressed in the Windows Marketplace for Mobile <a href="http://developer.windowsmobile.com/Help.aspx">FAQ</a>, I invite you to write a comment below.</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9604575" width="1" height="1">

TechEd is Coming up: View the Sessions for the Windows Mobile Track
<p><a href="http://www.microsoft.com/events/TechEd2009/">TechEd 2009</a> is coming up next week, so we would like to share all the Windows Mobile-related sessions and activities with you. </p> <p><strong><em>Breakout and Interactive Sessions</em></strong></p> <p>The following table lists the Breakout and Interactive sessions that are part of the Windows Mobile Track at TechEd:</p> <p> <table border="1" cellspacing="0" cellpadding="0"><tbody> <tr> <td valign="top" width="83"> <p><b>Session Code</b></p> </td> <td valign="top" width="146"> <p><b>Title</b></p> </td> <td valign="top" width="228"> <p><b>Description</b></p> </td> <td valign="top" width="73"> <p><b>Speaker</b></p> </td> <td valign="top" width="109"> <p><b>Time</b></p> </td> </tr> <tr> <td valign="top" width="83"> <p>PRC09</p> </td> <td valign="top" width="146"> <p>Mobile Development on Windows Mobile</p> </td> <td valign="top" width="228"> <p>Windows Mobile devices provide a platform to take your Windows development knowledge into the real world. This full-day preconference tutorial covers the entire lifecycle of a Windows Mobile application including defining an appropriate architecture, tools selection, testing, and debugging. Specific tips on how to optimize your application for the small screens, lower CPU speeds, intermittent connectivity, and power management issues related to mobile development are provided. The session provides an update on the latest changes to the Windows Mobile platform including versions 6.1 and 6.5 and also includes data centric topics such as SQL Server Compact, Language Integrated Query (LINQ), and data synchronization techniques. Learn how to write cool applications for Windows Mobile devices in this intensive, example-filled session for developers and architects.</p> </td> <td valign="top" width="73"> <p>Doug Boling, Jim Wilson</p> </td> <td valign="top" width="109"> <p>Pre-Conference Session, 5/10/2009</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB202</p> </td> <td valign="top" width="146"> <p>Windows Mobile 6.5</p> </td> <td valign="top" width="228"> <p>Learn more about the cool new Windows Mobile 6.5 mobile platform! We discuss the new User Interface (UI), the new in-ROM applications and other developer offerings. We will also demo the new Windows Mobile 6.5 UI and productivity enhancements such as single number reach.</p> </td> <td valign="top" width="73"> <p>Stephanie Ferguson; Martin Choate</p> </td> <td valign="top" width="109"> <p>5/11/2009, 1:00 PM – 2:15 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB203</p> </td> <td valign="top" width="146"> <p>Microsoft System Center Mobile Device Manager 2008 SP1: Overview</p> </td> <td valign="top" width="228"> <p>System Center Mobile Device Manager is the new Windows Server-based mobile device management and secure mobile network access solution. It is targeted at Windows Mobile-based devices to enable policy-based security management tied to Active Directory Group Policy. This session provides an introduction to the product and how to mitigate some of the deployment challenges and risks.</p> </td> <td valign="top" width="73"> <p>David Bottomley; Gary Ide</p> </td> <td valign="top" width="109"> <p>5/11/2009, 2:45 PM - 4:00 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB304</p> </td> <td valign="top" width="146"> <p>Make Some Magic! Shake, Flip and Flick Your Application for Windows Mobile 6.5!</p> </td> <td valign="top" width="228"> <p>The world of mobility has evolved. While keypads, stylus, and keyboards are all good and fine for device input, newer input methods have been popularized in recent years, such as accelerometers, touch screen gestures, capacitive touch screens, light sensors, and such. More than just gadgets and gimmicks, these next-generation input methods allow you, the mobile developer, to offer the best interface possible to your users on the road, enhancing their device experience. This session explores various input methods available on some of the latest Windows Mobile 6.1 and 6.5 devices and how to programmatically leverage them using managed APIs from Microsoft .NET Compact Framework-based applications. Topics covered include working with the Windows Mobile Unified Sensor API to access hardware sensors, controlling device cameras using the Windows Mobile SDK, capturing stylus and finger gestures on touch screens, detecting ambient light, making your device vibrate and sound-off, and more.</p> </td> <td valign="top" width="73"> <p>Nickolas Landry</p> </td> <td valign="top" width="109"> <p>5/11/2009, </p> <p>2:45 PM - 4:00 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB201</p> </td> <td valign="top" width="146"> <p>What's New in Mobile Messaging: Microsoft Office Outlook Mobile and Office Communicator Mobile</p> </td> <td valign="top" width="228"> <p>Unified communications is bringing the next level of connected communications and productivity to an increasing number of mobile users. Come learn about the exciting new features in Communicator Mobile and Outlook Mobile and how they will make mobile workers more productive with Microsoft Exchange Server &quot;14&quot; and Microsoft Office Communications Server 2007 R2</p> </td> <td valign="top" width="73"> <p>Adam Glick; Quentin Miller</p> </td> <td valign="top" width="109"> <p>5/11/2209, 4:30 PM - 5:45 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB03-INT</p> </td> <td valign="top" width="146"> <p>What's Hot with Windows Mobile 6.5 and the New User Experience</p> </td> <td valign="top" width="228"> <p>This session shows off the next generation of Windows phones and demonstrates the new capabilities of Windows Mobile 6.5 that features a new user interface and a richer browsing experience. In addition, Windows phones will feature two new services: MyPhone, to sync text messages, photos, video, contacts and more to the Web; and Windows Marketplace for Mobile, a new marketplace that will provide direct-to-phone mobile applications and can be accessed from both the phone and the Web.</p> </td> <td valign="top" width="73"> <p>Dale Coffing</p> </td> <td valign="top" width="109"> <p>5/11/2009, 4:30 PM – 5:45 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB301</p> </td> <td valign="top" width="146"> <p>Creating Location-Aware Applications for Windows Mobile Devices</p> </td> <td valign="top" width="228"> <p>More and more Windows Mobile powered devices ship with integrated global positioning system (GPS) hardware. Since Windows Mobile devices are typically used on the road, it makes a lot of sense to add location awareness to your applications. In the upcoming future, Maarten Struys foresees location-aware applications moving beyond traditional navigation software. Adding location awareness to all kinds of social networking applications could be the next big thing for Windows Mobile devices. In this sample-filled session, Maarten shows you how you can make use of the GPS Intermediate Driver to retrieve GPS information from inside managed applications. Learn how to use the FakeGPS utility to test location-enabled applications without needing access to a physical GPS device and also learn how to feed FakeGPS with your own recorded location information. Of course, you will also see a real location-aware application, based on the Microsoft Virtual Earth Web Service, on a Windows Mobile Device in action.</p> </td> <td valign="top" width="73"> <p>Maarten Struys</p> </td> <td valign="top" width="109"> <p>5/12/2009,</p> <p>8:30 AM - 9:45 AM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>SOA318</p> </td> <td valign="top" width="146"> <p>Microsoft BizTalk Goes Mobile: Collecting Physical World Events from Mobile DevicesMicrosoft BizTalk Goes Mobile: Collecting Physical World Events from Mobile Devices</p> </td> <td valign="top" width="228"> <p>Every day more high-performing companies connect their internal departments, their support networks, and their demand and supply chains. Reducing the cost and complexity of supply chain management, Microsoft and its large ecosystem of hardware and software partners are working to enable mass adoption of RFID, SOA, and B2B solutions by developing feature-rich, low cost end-to-end RFID solutions. These solutions empower people to gain productivity and business efficiencies. This session showcases real-world deployments and shows how BizTalk RFID can be used at edge of enterprise to capture physical world transactions and integrate these to existing enterprise applications using core EAI, B2B, and EDI capabilities of BizTalk Server.</p> </td> <td valign="top" width="73"> <p>Sudhir Hasbe</p> </td> <td valign="top" width="109"> <p>5/12/2009, 10:15 AM – 11:30 AM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB01-INT</p> </td> <td valign="top" width="146"> <p>Management Lockdown of Windows Mobile Devices</p> </td> <td valign="top" width="228"> <p>You can completely secure a Windows Mobile device without deploying expensive third party applications. In this session we show you how to bar viruses, malicious and unsupported code from installing and running on the device. In addition, we look at various out-of-the-box devices and analyze their threat surface. Last, we describe all Windows mobile application security threat surfaces and how to manage them.</p> </td> <td valign="top" width="73"> <p>Dave Field</p> </td> <td valign="top" width="109"> <p>5/12/2009, 10:15 AM – 11:30 AM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB305</p> </td> <td valign="top" width="146"> <p>Mobility Smackdown</p> </td> <td valign="top" width="228"> <p>Want to see the most exciting mobile technology that exists today? Want to understand how mobile devices can add value to your organization? Want to have fun? This session is PowerPoint free and shows the breadth of exciting mobile solutions that exists on Windows Mobile today!</p> </td> <td valign="top" width="73"> <p>Dan Arildson; Loke Uei Tan; Martin Choate; Raleigh Paenitz; Rob Tiffany</p> </td> <td valign="top" width="109"> <p>5/12/2009, </p> <p>1:00 PM - 2:15 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB307</p> </td> <td valign="top" width="146"> <p>Windows Mobile Security: Requirements, Features, and Differentiators</p> </td> <td valign="top" width="228"> <p>When data resides on small, attractive, easily-lost devices, the threats against that data and the device proliferate rapidly. How can you best protect your information while simultaneously granting the access your users demand? Geir Olsen and Steve Riley begin by examining typical requirements for protecting information, common threats against data and devices, and then describe how Windows Mobile helps satisfy the requirements both with built-in features and complimentary Microsoft products. They also examine how Windows Mobile compares with its competition.</p> </td> <td valign="top" width="73"> <p>Geir Olsen</p> </td> <td valign="top" width="109"> <p>5/12/2009, </p> <p>2:45PM - 4:00PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB306</p> </td> <td valign="top" width="146"> <p>GAMECHANGER: Break Out of the 32 MB Memory Barrier with the Microsoft .NET Compact Framework and Windows Mobile 6.5</p> </td> <td valign="top" width="228"> <p>Raise your game and learn how to build the fastest, richest and most complex games and applications the Windows Mobile platform has ever seen. Say goodbye to out-of-memory errors and the 32 MB per process limit once and for all. In this session, Rob will take you on a deep dive into the world of advanced memory management and performance where you'll learn about critical improvements to the Kernel and a new pattern for building resource-intensive .NET Compact Framework applications.</p> </td> <td valign="top" width="73"> <p>Rob Tiffany</p> </td> <td valign="top" width="109"> <p>5/12/2009, </p> <p>4:30 PM - 5:45 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>MGT205</p> </td> <td valign="top" width="146"> <p>What Management Means for Mobility Customers</p> </td> <td valign="top" width="228"> <p>Every day, thousands of AT&amp;T business-to-business sales reps talk to companies of all sizes about their mobility needs, their mobility strategies, and the solutions these customers would like to see from mobile operators and their partners. This session provides insight into how AT&amp;T is partnering with Microsoft to address the management and security concerns of their customers and how IT professionals can take advantage of these key learnings and the customer engagement models evolving around management of mobile devices.</p> </td> <td valign="top" width="73"> <p>Abhi Ingle; Chandra Stevens</p> </td> <td valign="top" width="109"> <p>5/13/2009, 8:30 AM – 9: 45 AM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB04-INT</p> </td> <td valign="top" width="146"> <p>Windows Mobile 6 SDK Tools</p> </td> <td valign="top" width="228"> <p>Microsoft Visual Studio 2008 brings a lot of improvements for mobile developers, and Windows Mobile 6 SDKs tools that allow developers easier and faster solution development. This session shows you what's new in Microsoft .NET Compact Framework 3.5, as well as Windows Mobile 6 SDK Tools. Learn how to emulate GPS, how to configure and use emulators, and how to simulate input stress using Hopper. Also, see how to use Cellular Emulator to emulate presence of mobile operator network to make and receive calls, and transfer data and learn about FakeServe, how to intercept SMS messages, and how to capture various device and network states using State Notification Broker. This session is packed with live demos and you'll have the opportunity to ask what you always wanted to ask and discuss your experiences or problems.</p> </td> <td valign="top" width="73"> <p>Andy Wigley, Andrej Radinger</p> </td> <td valign="top" width="109"> <p>5/13/2009, 10:15 AM – 11:30 AM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB302</p> </td> <td valign="top" width="146"> <p>Distributing and Monetizing Windows Mobile Applications through the Windows Marketplace for Mobile</p> </td> <td valign="top" width="228"> <p>This session presents developers with a unique opportunity to understand the next generation of Windows Mobile application distribution: Windows Marketplace for Mobile. Windows Marketplace will revolutionize distribution of Windows Mobile applications, games, and content, and is designed to solve the two largest problems of the Windows Mobile consumer-focused developer community: distribution and monetization. This session provides application developers with the insights, tools, and processes necessary to begin distributing and monetizing their applications on the Windows Mobile platform. Developers can expect to walk out of this session with a clear understanding of the value proposition of the Windows Marketplace, the knowledge required to architect and build their mobile applications for global distribution, and a clear picture of the processes required to distribute their applications to a global community of Windows Mobile consumers. This session primarily focuses on the application distribution model for the Windows Mobile 6.5 platform, and includes specific detail around application code signing, Windows Mobile application certification, localization, and monetization.</p> </td> <td valign="top" width="73"> <p>Daniel Bouie; John Bruno</p> </td> <td valign="top" width="109"> <p>5/13/2009, </p> <p>2:45 PM - 4:00 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB303</p> </td> <td valign="top" width="146"> <p>Leveraging Web Technologies to Build Experiences for Windows Mobile</p> </td> <td valign="top" width="228"> <p>The last few years have shown the world the power of having a full-fledged Web browser on a mobile device. From content providers building dedicated mobile sites to cheaper mobile data tariffs, mobile devices have ushered in a new era of content and experiences available on the go. A new programming paradigm called mobile widgets has emerged in response to these recent trends. Widgets enable Web developers to develop application-like experiences that run outside of the existing Web browser, but are powered by the same technologies [HTML, JavaScript, and CSS]. Gone are the days of building WAP sites. By leveraging the capabilities of a fully-fledged browser on Windows Mobile, Web developers can now build rich experiences for mobile devices without resorting to native/managed code. In this session, members of the Windows Mobile Widgets team give you a sneak peek into the upcoming Widgets platform. They demonstrate how easy it is to develop powerful widgets that mash-up existing Web experiences in novel ways.</p> </td> <td valign="top" width="73"> <p>Jorge Peraza</p> </td> <td valign="top" width="109"> <p>5/13/2009, </p> <p>4:30 PM - 5:45 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>UNC305</p> </td> <td valign="top" width="146"> <p>Enabling Anywhere Access with Microsoft Office Communications Server 2007 R2</p> </td> <td valign="top" width="228"> <p>Interested in increasing end-user productivity by providing anywhere access to Office Communications Server 2007 R2? Learn about the latest enhancements to Communicator Web Access (CWA) and Communicator Mobile. This session dives deep into planning, deployment, and administration aspects of Communicator Web Access and Communicator Mobile.</p> </td> <td valign="top" width="73"> <p>Stephanie Ferguson; Martin Choate</p> </td> <td valign="top" width="109"> <p>5/13/2009, 4:30 PM – 5:45 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB308</p> </td> <td valign="top" width="146"> <p>Securely Deploying Windows Mobile in Your Enterprise</p> </td> <td valign="top" width="228"> <p>Learn about the Top Security Concerns that keep IT managers up at night. Understand how to easily and securely deal with the top concerns and implement a well secured infrastructure. Leave with a strategy for securely deploying Windows Mobile in your enterprise and some cool giveaways.</p> </td> <td valign="top" width="73"> <p>Vik Thairani</p> </td> <td valign="top" width="109"> <p>5/14/2009, </p> <p>1:00 PM - 2:15 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB310</p> </td> <td valign="top" width="146"> <p>Microsoft System Center Mobile Device Manager: Lessons from the Field</p> </td> <td valign="top" width="228"> <p>This breakout session is a deep-dive discussion around the lessons and best practices learned in actual customer deployments of Mobile Device Manager, led by the Microsoft Consulting Services Global Mobility Practice. Specifically, this session covers how to overcome common objections and concerns, shows architectural workarounds (if needed) for deployment of Mobile Device Manager, how to work with IT teams to correctly deploy System Center Mobile Device Manager (MDM), common MDM topologies, and best practices around design and deployment of MDM.</p> </td> <td valign="top" width="73"> <p>David Bottomley</p> </td> <td valign="top" width="109"> <p>5/14/2009, </p> <p>2:45 PM - 4:00 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB02-INT</p> </td> <td valign="top" width="146"> <p>Windows Marketplace for Mobile Interactive Walkthrough</p> </td> <td valign="top" width="228"> <p>This is your chance to learn how to submit your applications to the Windows Marketplace for Mobile and start to reach millions of Windows Mobile users! Windows Marketplace will revolutionize distribution of Windows Mobile applications, games, and content, and is designed to solve the two largest problems of the Windows Mobile consumer-focused developer community: distribution and monetization. This discussion with members of the Marketplace team, provides application developers with an interactive look at the tools and processes necessary to begin distributing and monetizing their applications on the Windows Mobile platform. Developers can expect to walk out of this session with a clear understanding of what to do to begin the processes required to distribute their applications to a global community of Windows Mobile consumers.</p> </td> <td valign="top" width="73"> <p>John Bruno</p> </td> <td valign="top" width="109"> <p>5/14/2009, 2:45 PM – 4:00 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB401</p> </td> <td valign="top" width="146"> <p>Adding WCF to Windows Mobile Applications</p> </td> <td valign="top" width="228"> <p>Is Windows Communication Foundation (WCF) the &quot;New .NET&quot; or just a fancy way of doing inter-process (and inter-machine) communication? This question serves as the point of departure for this session for presenting best practices in Windows Mobile and WCF programming using the Microsoft .NET Compact Framework 3.5. Attend this session to gain a better understanding of the WCF object model, to learn about the machine-to-machine calling pipeline, and a look at creating a custom, Microsoft Systems Management Server transport. Along the way, this session provides a summary of how WCF on devices compares with WCF on desktop systems, and also an example of enabling secure WCF transactions. Security is an issue because WCF on Windows Mobile implements a subset of the security features found in the full .NET Framework.</p> </td> <td valign="top" width="73"> <p>Nickolas Landry</p> </td> <td valign="top" width="109"> <p>5/14/2009, </p> <p>4:00 PM - 5:45 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB402</p> </td> <td valign="top" width="146"> <p>Developing Rich, Compelling User Interfaces for Windows Mobile</p> </td> <td valign="top" width="228"> <p>Come learn the tips and tricks necessary for developing rich, compelling applications on mobile devices. We introduce you to a set of views and controllers that can be used to create rich 3D animated experiences. You'll walk away with knowledge of how to take your mobile enterprise application to the next level of user experience.</p> </td> <td valign="top" width="73"> <p>Jeff Neafsey</p> </td> <td valign="top" width="109"> <p>5/15/2009, </p> <p>1:00 PM - 2:15 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB403</p> </td> <td valign="top" width="146"> <p>Microsoft SQL Server Compact Edition Ultimate Performance Tuning</p> </td> <td valign="top" width="228"> <p>This session equips the advanced Windows Mobile developer with invaluable performance tuning techniques to get the most out of SQL Server Compact Edition. A deep dive into the query processor, storage engine, and the managed provider for SQL Server Compact Edition is followed by specific query tuning techniques and how to get the absolute best merge replication and sync framework performance in your Windows Mobile data synchronization architecture.</p> </td> <td valign="top" width="73"> <p>Darren Shaffer</p> </td> <td valign="top" width="109"> <p>5/15/2009, </p> <p>2:45 PM - 4:00 PM</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB01-HOL</p> </td> <td valign="top" width="146"> <p>Building Real-World-Ready Applications for Windows Mobile with the Microsoft Device Emulator 3.0 and the Device Emulator Manager Automation API</p> </td> <td valign="top" width="228"> <p>Mobile applications must run within a far more dynamic environment than that faced by desktop applications. Assuring that your application remains stable and reliable within this dynamic environment requires that you include environmental changes in your application test plan. In this lab, you learn how to use the Device Emulator 3.0 and Device Emulator Manager Automation API to develop automated test scenarios that verify your application's reliability under a wide variety of environmental conditions including power changes, abrupt loss of connectivity, phone calls, SMS messages, and much more. Upon completion, you will be armed with the knowledge necessary to create mobile applications that remain stable in the most dynamic of mobile environments.</p> </td> <td valign="top" width="73"> <p>N/A</p> </td> <td valign="top" width="109"> <p>Hands-on-Lab</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB02-HOL</p> </td> <td valign="top" width="146"> <p>Eternal Application: How to Build for the Future</p> </td> <td valign="top" width="228"> <p>Mobile devices are a booming market with new and different devices coming out every day. In this lab, learn how to develop Windows Mobile applications that have the longevity to keep working well into the future and that also have the flexibility to capitalize on the opportunities that become available as new device designs evolve. A variety of longevity- and flexibility-related topics are covered ranging from fundamental techniques such as adherence to security best-practices and user interface adaptability, to more advanced techniques such as input capability adaptation and dynamic feature abstraction. Upon completion of this lab, you will be familiar with the techniques necessary to assure that the applications you build today are still the applications of tomorrow.</p> </td> <td valign="top" width="73"> <p>N/A</p> </td> <td valign="top" width="109"> <p>Hands-on-Lab</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB03-HOL<b></b></p> </td> <td valign="top" width="146"> <p>Hands-on with Widgets for Windows Mobile</p> </td> <td valign="top" width="228"> <p>The last few years have shown the world the power of having a full-fledged Web browser on a mobile device. From content providers building dedicated mobile sites to cheaper mobile data tariffs, mobile devices have ushered in a new era of content and experiences available on the go. A new programming paradigm called mobile widgets has emerged in response to these recent trends. Widgets enable Web developers to develop application-like experiences that run outside of the existing Web browser, but are powered by the same technologies [HTML, JavaScript, and CSS]. Gone are the days of building WAP sites. By leveraging the capabilities of a fully-fledged browser on Windows Mobile, Web developers can now build rich experiences for mobile devices without resorting to native/managed code. In this lab, learn about how to design, build, and deploy Widgets for Windows Mobile. Learn how to use the widgets APIs and apply best practices to build usable, performant, and delightful widgets.</p> </td> <td valign="top" width="73"> <p>N/A</p> </td> <td valign="top" width="109"> <p>Hands-on-Lab</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB05-HOL</p> </td> <td valign="top" width="146"> <p>Introduction to Building Line-of-Business (LOB) Applications on Windows Mobile</p> </td> <td valign="top" width="228"> <p>In this lab, learn how to reuse your existing Microsoft Visual Studio and Microsoft .NET Framework skills to develop a line-of-business (LOB) application for a Windows Mobile-based device. Begin with the basics of building, deploying, and debugging a Windows Mobile application using Visual Studio 2008. By using the Microsoft .NET Compact Framework 3.5 and Windows Mobile 6 SDK, you are then led through the steps of developing the application to effectively address LOB business needs on a mobile device. Complete the application by using Microsoft SQL Server Compact 3.5 to provide persistent storage and query capabilities. Upon completion of this lab, you will be more familiar with the tools and technologies used in developing Windows Mobile applications.</p> </td> <td valign="top" width="73"> <p>N/A</p> </td> <td valign="top" width="109"> <p>Hands-on-Lab</p> </td> </tr> <tr> <td valign="top" width="83"> <p>WMB07-HOL</p> </td> <td valign="top" width="146"> <p>Microsoft System Center Mobile Device Manager 2008 SP1 Deployment, Self-Service Portal and Active Directory/Group Policy</p> </td> <td valign="top" width="228"> <p>Learn how to install the Self Service Portal, enroll devices, and apply group policy. This lab shows you how to use Microsoft Internet Security and Acceleration Server (ISA) to publish the Mobile Device Manager 2008 Enrollment Web Service, request an Enrollment Server Certificate for ISA, import the Certification Authority Certificate in ISA Server, ISA Server non-Web and Web publishing server protocol, publish rule creation procedures; validate Internet enrollment Web service functionality via ISA Server and configure required ports for managed devices. Also, learn how to work with the mobile device for creating a Pre-enrollment Record, enrolling a Windows Mobile device and installing the Mobile Device Manager Connect Now tool to mobile devices. Finally, learn how to create mobile polices using the Group Policy Management Console Tool and GPMC, using Mobile Device Manager Connect Now tool to force Mobile Device Manager 2008 DM synchronization, and validating policy setting on mobile devices.</p> </td> <td valign="top" width="73"> <p>N/A</p> </td> <td valign="top" width="109"> <p>Hands-on-Lab</p> </td> </tr> <tr> <td valign="top" width="83"> <p>MGT05-HOL</p> </td> <td valign="top" width="146"> <p>Device Management with Microsoft System Center Configuration Manager 2007</p> </td> <td valign="top" width="228"> <p>Management of hand-held mobile devices is becoming more popular and is much requested by customers. This lab walks through the configuration of the Configuration Manager site to support Windows Mobile devices. Install and use an emulator to provide a Windows Mobile device for deployment and management, including discovery, inventory, software distribution, and settings management.</p> </td> <td valign="top" width="73"> <p>N/A</p> </td> <td valign="top" width="109"> <p>Hands-on-Lab</p> </td> </tr> </tbody></table> </p> <p><b><em>Tech Talks</em></b></p> <p>These talks will be recorded during TechEd and will be available for download at <a href="http://www.microsoft.com/techedonline/">http://www.microsoft.com/techedonline/</a> approximately 48 hours after the recording has taken place. <table border="1" cellspacing="0" cellpadding="0"><tbody> <tr> <td valign="top" width="73"> <p><b>Session Code</b></p> </td> <td valign="top" width="144"> <p><b>Title</b></p> </td> <td valign="top" width="288"> <p><b>Description</b></p> </td> <td valign="top" width="132"> <p><b>Speaker</b></p> </td> </tr> <tr> <td valign="top" width="73"> <p>TTK14</p> </td> <td valign="top" width="144"> <p>Patterns &amp; practices Mobile Application Blocks v.Next</p> </td> <td valign="top" width="288"> <p>&quot;The Microsoft patterns &amp; practices group is working on the next versions of the Mobile Application Blocks, the successor to 2005s' Mobile Client Software Factory. </p> <p>The new release will be leaner, easier to use and has some exciting stuff that will help mobile architects and developers adopt good architectural practices in their mobile apps. The Mobile App Blocks help you make mobile apps that are better structured, more testable - better mobile software!</p> <p>In this Tech Talk, you'll learn what is in the new Mobile App Blocks, how to use them, the benefits they bring and the plans for release.&quot;</p> </td> <td valign="top" width="132"> <p>Andy Wigley</p> </td> </tr> <tr> <td valign="top" width="73"> <p>PAN70</p> </td> <td valign="top" width="144"> <p>Windows Mobile Application Development</p> </td> <td valign="top" width="288"> <p>This panel presents an overview of what is required to develop applications for the latest Windows Mobile Devices. We talk about the tools you need to install to develop Windows Mobile-based applications. We also talk about Windows Marketplace for Mobile, as well as provide an introduction into the online tools and community that are available for Windows Mobile developers.</p> </td> <td valign="top" width="132"> <p>Andrej Radinger, Andy Wigley, Ginny Caughey, Loke Uei Tan, John Bruno, Jorge Peraza</p> </td> </tr> <tr> <td valign="top" width="73"> <p>TTK30</p> </td> <td valign="top" width="144"> <p>How can developers participate in Windows Marketplace for Mobile?</p> </td> <td valign="top" width="288"> <p>This session presents developers with a unique opportunity to understand the next generation of Windows Mobile application distribution: Windows Marketplace for Mobile. Windows Marketplace will revolutionize distribution of Windows Mobile applications, games, and content, and is designed to solve the two largest problems of the Windows Mobile consumer-focused developer community: distribution and monetization. This session will provide application developers with the insights, tools, and processes necessary to begin distributing and monetizing their applications on the Windows Mobile platform.</p> </td> <td valign="top" width="132"> <p>John Bruno</p> </td> </tr> <tr> <td valign="top" width="73"> <p>TTK24</p> </td> <td valign="top" width="144"> <p>What's Hot about Windows Mobile 6.5</p> </td> <td valign="top" width="288"> <p>This session will dive into the details about the new capabilities of Windows Mobile 6.5 that features a new user interface and a richer browsing experience. In addition we will cover the two new services for Windows® phones; MyPhone, to sync text messages, photos, video, contacts and more to the Web; and Windows® Marketplace for Mobile, a new marketplace that will provide direct-to-phone mobile applications and can be accessed from both the phone and the Web.</p> </td> <td valign="top" width="132"> <p>Dale Coffing</p> </td> </tr> <tr> <td valign="top" width="73"> <p>TT07</p> </td> <td valign="top" width="144"> <p>Can Windows Mobile UIs look as good as the iPhone? - Yes, they can!</p> </td> <td valign="top" width="288"> <p>&quot;The Apple iPhone has set a new benchmark for the appearance and usability of mobile apps. There is a widely held perception that Windows Mobile apps cannot compete in this respect, but there is a new generation of apps coming along that look just as great and support touch gestures.</p> <p>True, the standard controls in the Visual Studio Toolbox look a bit 'Windows 95-ish', but armed with some fairly simple programming techniques, a little knowledge of how controls get painted on the screen and the skills of a decent graphic artist, Windows Mobile developers can create applications that look great - and enjoy the far superior productivity that developing with the .NET Compact Framework gives you.&quot;</p> </td> <td valign="top" width="132"> <p>Andy Wigley</p> </td> </tr> <tr> <td valign="top" width="73"> <p>TTK08</p> </td> <td valign="top" width="144"> <p>Extend Dynamics AX and NAV to devices with Microsoft Dynamics Mobile</p> </td> <td valign="top" width="288"> <p>&quot;Microsoft Dynmaics Mobile is a framework and toolset for building, deploying and managing mobile clients for Dynamics AX and NAV.</p> <p>In this Tech Talk, you'll learn what you need to build Dynamics Mobile applications, how to integrate it with your Dynamics AX or NAV installation, how it handles online/offline working and the skillset you need to have to develop and support Dynamics Mobile apps.&quot;</p> </td> <td valign="top" width="132"> <p>Andy Wigley</p> </td> </tr> </tbody></table> </p> <p><b><em></em></b></p> <p><b><em>Webcasts</em></b></p> <p>If you haven’t viewed the pre-TechEd webcasts, and would like to do so, the following webcasts are available for on-demand viewing:</p> <p><b>Anthony Spencer <i>- Windows Mobile 6.1 and Mobile Device Manager 2008: The Gateway to Your Corporate Network</i></b></p> <p>So, you are using Microsoft System Center Mobile Device Manager 2008 and Windows Mobile 6.1. Now what? You probably know that Mobile Device Manager can manage, secure, and install software on your phones. But did you know Mobile Device Manager also gives your users the potential to control the PC at their desk and access everything they need on the corporate network, including file shares, Microsoft Office SharePoint Server, instant messaging, and internal Web pages. In this webcast, we present the best practices for a Mobile Device Manager installation that provides users with access to everything they need in the corporate network through their phone and (just as important) denies access to resources mobile users don't need. We review the basics of Mobile Device Manager and IP security (IPsec) virtual private networks (VPNs), and we discuss the tools that users can take advantage of so they can work wherever they would like using their phone. Discover how Mobile Device Manager eliminates the need to expose your organization's Microsoft Exchange Server to the Internet. To listen to this recording, <a href="https://www106.livemeeting.com/cc/mseventsbmo/view?id=1032407362&amp;role=attend&amp;pw=50890640">click here</a>.</p> <p><b><i>Dave Field&#160; - Windows Mobile Digital Certificate Management </i></b></p> <p>Digital Certificates and public/private key technology is core to Windows Mobile platform security.&#160; In this session, you’ll learn how certificates are used to provide authentication, access control and encryption for the OS, applications and networking.&#160; You’ll also learn best practices and “gotchas” for managing certificates on the device.&#160;&#160; The speaker is an expert on Windows Mobile Certificate management and certificate-related features in the OS.&#160; Come ready to ask any questions you may have:&#160; enrollment, import, SSL, root certificates, email security, application security, etc. To listen to this recording, <a href="https://www106.livemeeting.com/cc/mseventsbmo/view?id=1032409997&amp;role=attend&amp;pw=28ACFA21">click here</a>.</p> <p><b>Maarten Struys - Overview of Developing Windows Mobile Applications using Visual Studio 2008</b></p> <p>With Visual Studio 2008, Device Developers have a very powerful development environment at their hands. In this sample filled Webcast you will learn how to develop applications in managed code for Windows Mobile Devices and you will learn how to configure and make use of Device Emulator to test your applications. You will also learn how to write unit tests for your applications and how to make use of the .NET Compact Framework 3.5 Power Toys to analyze performance of your running applications. Of course you will also learn how to deal with data on your device, making use of SQL Compact CE. This webcast is your perfect preparation to get the most out of all Windows Mobile sessions during Tech-Ed 2009. To listen to this recording, <a href="https://www.livemeeting.com/cc/mseventsbmo/view?id=1032409115&amp;role=attend&amp;pw=0E9ADFB8">click here</a>.</p> <p><b>Patrick Salmon&#160; - <i>Deploying MDM 2008 is easier (and cheaper) than you think</i> </b></p> <p>SCMDM is a complex product with a lot of dependencies which must all be in place in order for it to work correctly. This session, which takes almost 2 years of hands-on experience of deploying implementing SCMDM in the field steps through how to successfully (and cost effectively) implement this product in the enterprise. The objective of this session is to address the misconception that SCMDM is hard to implement while showing how MDM eliminates almost all of the overhead associated with Blackberrys while retaining and elevating both manageability and security. To listen to this recording, <a href="https://www106.livemeeting.com/cc/mseventsbmo/view?id=1032410692&amp;role=attend&amp;pw=2C2373E7%0b">click here</a>.</p> <p><b>Andy Wigley - Hiding the Key: Practical Security for Windows Mobile Applications</b></p> <p>Enterprise mobile applications usually require that sensitive data is stored on a mobile device. This session shows you how to store data securely in encrypted form and - most importantly - how to store encryption keys securely so that an attacker can't get access to them. You'll also learn how to encrypt configuration files to hide sensitive data, and how to implement a working password-based access control system for your mobile apps. We'll also look at how to use client certificates to control access to server resources. To listen to this recording, <a href="https://www.livemeeting.com/cc/mseventsbmo/view?id=1032409117&amp;role=attend&amp;pw=947F6590">click here</a>.</p> <p>Also, please make sure to join as through Twitter @wmdev and on <a href="http://www.facebook.com/pages/Windows-Mobile-Developer/39963827922?ref=ts">Facebook</a>.</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9598031" width="1" height="1">

just say no to GAPI – What you need to know about AllKeys and input management.
<p>The Games API (GAPI) was a technology that allowed Windows Mobile 2003 applications to quickly draw graphics onto the device screen. It also contained functions that allowed an application to request all button press messages, even the ones that were normally intercepted by the Windows Mobile operating system.</p> <p>The graphics component of GAPI was replaced by DirectDraw (which allowed hardware acceleration) in Windows Mobile 5.0. Application compatibility was maintained so that older programs would still work.</p> <p>Most of the reference material for GAPI was removed from the Windows Mobile 6.1 documentation set, although the input functions were kept, so that applications could still request all key and button presses.&#160; Application compatibility was maintained for this release as well.</p> <p>This is all changing for the next generation of Windows Mobile, Windows Mobile 6.5.&#160; Although some devices may still support GAPI, there is no longer a requirement for device manufacturers or mobile operators to ship or test for compatibility with GAPI.&#160; This means that applications that require GAPI will provide an unpredictable experience for users on Windows Mobile 6.5 devices.</p> <p>Another important change is that acceptance to the <strong>Windows Marketplace for Mobile</strong> and <strong>Designed for Windows Mobile</strong> certification requires no application dependencies on GAPI.</p> <p>In order to replace the input functionality that GAPI once provided, a new keyboard API function is being made public.&#160; This function is <strong>AllKeys()</strong>, and is defined below.&#160; One great thing about this substitution is that <b>AllKeys</b> has been a part of Windows Mobile as long as GAPI, and is actually the API call that GAPI wrapped in order to publicly expose this functionality. This means that the transition to <b>AllKeys</b> should be easy, and backwards compatibility should be maintained.</p> <p>You can migrate your input code to <b>AllKeys</b> in the following way: </p> <p>Replace:</p> <p>·&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <b>GXOpenInput()</b> with <b>AllKeys(TRUE).</b></p> <p>·&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <b>GXCloseInput()</b> with <b>AllKeys(FALSE).</b></p> <p>While <b>AllKeys</b> is set to true, all key presses will be sent to your application for handling.</p> <p>Since <b>GXOpenInput</b> and <b>GXCloseInput</b> were simply wrappers for a call to <b>AllKeys</b>, so this substitution should cause no change in behavior in your programs.</p> <p>The following is the definition of the new <b>AllKeys</b> API.</p> <h1>AllKeys</h1> <p>This function allows your programs to request that all key presses be sent directly to the requesting application. Normally some buttons are intercepted by the operating system for its own use, but games and input - intensive applications may want access to these buttons for their own use.</p> <h5>Syntax</h5> <p>BOOL AllKeys( </p> <p>&#160;&#160;&#160;&#160; BOOL bAllKeys </p> <p>); </p> <h5>Parameters</h5> <table cellspacing="0" cellpadding="0" border="1"><tbody> <tr> <td valign="top" width="295"> <p><b>Parameter</b></p> </td> <td valign="top" width="295"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="295"> <p>bAllKeys</p> </td> <td valign="top" width="295"> <p>[in] If bAllKeys is set to TRUE, this function allows all keyboard events to be sent to the application. (This includes the soft-key buttons and back button). </p> <p>If it is set to FALSE, this function specifies standard keyboard event behavior. Some events including soft-key buttons and the back button are not sent to the application.</p> </td> </tr> </tbody></table> <h5>Return Value</h5> <p>Nonzero indicates success. Zero indicates failure. To get extended error information, call <strong>GetLastError</strong>.</p> <h5>Sample Code</h5> <p>The following C++ code illustrates how to use <strong>AllKeys</strong>. In the application that this sample is taken from, a check box is used to set <strong>AllKeys</strong> to true or false. </p> <p><font face="Courier New">// process checkbox</font> </p> <p><font face="Courier New">case IDC_ALL_KEYS_CHECK_BOX: </font></p> <p><font face="Courier New">if (g_AllKeys == true) </font></p> <p><font face="Courier New">&#160;&#160;&#160; { </font></p> <p><font face="Courier New">&#160;&#160;&#160; // Allow the OS to intercept some button presses </font></p> <p><font face="Courier New">&#160;&#160;&#160;&#160; AllKeys(FALSE);</font></p> <p><font face="Courier New">&#160;&#160;&#160; g_AllKeys = false; </font></p> <p><font face="Courier New">&#160;&#160;&#160; // set button state </font></p> <p><font face="Courier New">&#160;&#160;&#160; SendMessage(hwndCtl,BM_SETCHECK, BST_UNCHECKED,0); </font></p> <p><font face="Courier New">&#160;&#160;&#160; } </font></p> <p><font face="Courier New">else </font></p> <p><font face="Courier New">&#160;&#160;&#160; { </font></p> <p><font face="Courier New">&#160;&#160;&#160; // Do not allow os to intercept button presses</font></p> <p><font face="Courier New">&#160;&#160;&#160; AllKeys(TRUE); </font></p> <p><font face="Courier New">&#160;&#160;&#160; g_AllKeys = true; </font></p> <p><font face="Courier New">&#160;&#160;&#160; //set button state </font></p> <p><font face="Courier New">&#160;&#160;&#160; SendMessage(hwndCtl,BM_SETCHECK, BST_CHECKED,0); </font></p> <p><font face="Courier New">&#160;&#160;&#160; } </font></p> <h5>Requirements</h5> <p>OS Versions: Windows Mobile 2003 and later. </p> <p>Header: Winuser.h. </p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9592258" width="1" height="1">

Microsoft Tag Update
<P>I’d like to take a moment to direct your attention back to <A href="http://www.microsoft.com/tag/" mce_href="http://www.microsoft.com/tag/">Microsoft Tags</A>, which I <A href="http://blogs.msdn.com/windowsmobile/archive/2009/01/19/microsoft-tag.aspx" mce_href="http://blogs.msdn.com/windowsmobile/archive/2009/01/19/microsoft-tag.aspx">posted</A> about back in January. I know many of you have questioned how a Microsoft Tag differs from a <A href="http://en.wikipedia.org/wiki/QR_Code" mce_href="http://en.wikipedia.org/wiki/QR_Code">QR Code</A> and why you’d chose one over the other. I’ll happily stay out of that debate and leave you to refer to the Microsoft Tag website. From my perspective, I like Microsoft Tags because they’re a nifty combination of a mobile application and media content. As I pointed out in a previous post I’m a technical writer for Windows Mobile and these are the kind of things that I find interesting. Recently the Microsoft Tag model got an upgrade and I wanted to point out some of the changes to you.</P> <P>Previously, a Microsoft tag had to be a square with a bunch of colored or black/white triangles. These tags could then be used in concert with a mobile application to easily link to additional content. This model was innovative, but it didn’t really allow you to relate your tag to the content it was associated with.</P> <P><IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Regular Tag" border=0 alt="Regular Tag" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image001_3.jpg" width=121 height=122 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image001_3.jpg"></P> <P>Now, you actually have a little more flexibility. A tag can make use of dots instead of triangles, which might not seem like much, but it really does lead to a better visual experience and open up more possibilities. Your first new option is to use the dot method and add a background image, such as this Viva Piñata one below. A slight improvement, but it’s definitely more relevant than just triangles. If you go to the <A href="http://www.microsoft.com/tag/" mce_href="http://www.microsoft.com/tag/">Microsoft Tag website</A>, you’ll be able to see both instructions for and examples of this method.</P> <P><IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Viva Tag" border=0 alt="Viva Tag" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image003_3.jpg" width=127 height=125 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image003_3.jpg"></P> <P>Alternatively, you can be a little more creative and actually work the dots into the background image. Though this involves using some sort of graphical editing software, you can layer additional images over the dots to incorporate them into the overall picture. The balloons below are one example of this technique, which if done well can really integrate the tag directly into the information it’s meant to convey. Whether that means making a logo for your business that is also a tag or even having a product picture as a tag is totally up to you.</P> <P><IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=Dots1 border=0 alt=Dots1 src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image004_3.jpg" width=126 height=126 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image004_3.jpg"> <IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=Dots2 border=0 alt=Dots2 src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image005_3.jpg" width=125 height=126 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image005_3.jpg"></P> <P><IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=Dots3 border=0 alt=Dots3 src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image006_3.jpg" width=126 height=126 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image006_3.jpg"> <IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=Dots4 border=0 alt=Dots4 src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image007_3.jpg" width=125 height=126 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image007_3.jpg"></P> <P>One example on the Microsoft Tag website that really emphasizes how much the dots can be made part of the image is the following jelly bean tag. I don’t know about you, but I struggle to see dots in this image.</P> <P><IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=Dots5 border=0 alt=Dots5 src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image008_3.jpg" width=129 height=126 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/MicrosoftTagUpdate_BC01/clip_image008_3.jpg"></P> <P>If you’ve found this interesting, as part of the launch of this new functionality, there’s actually a <A href="http://www.microsoft.com/tag/content/overview/TagSlaps.aspx" mce_href="http://www.microsoft.com/tag/content/overview/TagSlaps.aspx">design contest</A> that started up on the Microsoft Tag website yesterday. Even if you don’t feel like entering, you can vote on the community submissions.</P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9589614" width="1" height="1">

New Technical Articles on Windows Mobile Application Development have been published on MSDN
<p>We have just recently published the following new application development articles on MSDN:. </p> <ul> <li><a href="http://msdn.microsoft.com/en-us/library/dd721907.aspx">Getting Started with Building Windows Mobile Solutions with Visual Studio and Windows Mobile 6 SDK</a></li> </ul> <blockquote> <p>Want to get started with Windows Mobile Application Development and need an overview of the Windows Mobile platform as well as the development tools that are available to you ? Device Application Development MVP and co-founder of <a href="http://appamundi.com/">APPAMundi</a> Andrej Radinger has written an article that describes how to start to develop for Windows Mobile devices by using the same tools that developers use for desktop development, Microsoft® Visual Studio® 2008, and the Windows Mobile specific Microsoft .NET Compact Framework 3.5. Andrej’s article also explains how to use Windows Mobile SDK Tools to extend Windows Mobile applications.</p> </blockquote> <ul> <li><a href="http://msdn.microsoft.com/en-us/library/dd630621.aspx">Selecting a Windows Mobile API - .NET Compact Framework and Win32</a></li> </ul> <blockquote> <p>Are you trying to select the right API for your Windows Mobile Application? This article by Embedded MVP and author of numerous programming books and articles <a href="http://www.paulyao.com/index.asp">Paul Yao</a> discusses the Microsoft® Win32® API and the Microsoft .NET Compact Framework (NETCF) APIs for use on Windows Mobile® 6 and later. Paul Yao’s article provides an introduction of Web-based technologies, and then focuses on selecting an API for creating thick-client applications. </p> </blockquote> <ul> <li><a href="http://msdn.microsoft.com/en-us/library/dd630622.aspx">Creating a Compelling UI for Windows Mobile and the Microsoft .NET Compact Framework</a></li> </ul> <blockquote> <p>In this article, former MVP and current Senior Mobility Consultant at Microsoft <a href="http://blogs.msdn.com/priozersk/">Alex Yakhnin</a> shows you how to use the alpha blending and gradient drawing APIs that are available on the Windows Mobile platform to create a compelling and attractive user experience. This article is an ideal supplement if you have attended the MSDN webcasts on <a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;EventID=1032404297&amp;CountryCode=US">Creating Compelling and Attractive UIs for Windows Mobile Applications</a> and <a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;EventID=1032408755&amp;CountryCode=US">Customizing .NET Compact Framework Controls to Create Attractive UIs for Windows Mobile Devices</a>, both of which were hosted by Alex Yakhnin. This article also includes links to a code download to utilize the UI Framework for .NET CF 3.5, which is available on <a href="http://code.msdn.microsoft.com/uiframework/Release/ProjectReleases.aspx?ReleaseId=2315">CodePlex</a>.</p> </blockquote> <p>We hope you enjoy these newly published articles, and, as always, we appreciate your feedback. Would you rather see these as blog articles in the future rather than whitepapers? We’d love to know. If you would like to rate an article or submit feedback, please click on the <strong>Click To Rate and Give Feedback</strong> link at the top of each article.</p> <p>Thanks!</p> <p>Constanze</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9574003" width="1" height="1">

Resolving Common Crashes Seen in Windows Mobile Watson data
<P>I’m sure at one time or another you’ve all seen a certain happy window pop up on your phone. You know, the one that says a problem has occurred and asks if you’d be willing to tell Microsoft about it. If you haven’t seen it on your phone, well awesome, then maybe you’ve seen it on your desktop machine. </P> <P><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=ScreenPic border=0 hspace=12 alt=ScreenPic src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/ResolvingcommonCrashesSeeninWindowsMobil_CC3D/clip_image002_52b7580c-f722-43e7-a74b-1419eab2d295.gif" width=219 height=291 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/ResolvingcommonCrashesSeeninWindowsMobil_CC3D/clip_image002_52b7580c-f722-43e7-a74b-1419eab2d295.gif"></P> <P>What you might not know is that this window is generated by Watson, which is a component of Windows Error Reporting (WER). Specifically, Watson is the client-side executable that is activated when an unhandled exception occurs on your phone. Watson is responsible for preparing an error report (stack details, system information, variable information, etc), notifying the user about the error (happy window), and with the users consent sending the file to Microsoft (via data or ActiveSync). Assuming the user chooses to send the report, these encrypted files are then added to a WER database where they can be reviewed by Microsoft technical support personnel and Microsoft developers.</P> <P>That’s definitely great, but if the reports all go to Microsoft how can you as a developer take advantage of this great data? Well, I’ve been in touch with the team responsible for reviewing and addressing these reports and we’d like to try to be more active about sharing with you. While we can’t share the reports themselves, what we can do is use this blog to talk about some of the most common crashes we see that result from coding and development issues. For this inaugural post, I’d like to take a quick look at three issues that have been showing up recently. </P> <P><B>Issue #1: You’re passing THAT in the buffer!?</B></P> <P>One issue that has showing up frequently concerns applications that try to retrieve text from a treeview item using the message TVM_GETITEM. For this scenario, the caller is responsible for passing a buffer and a buffer size to a TVITEM structure. The function TV_GetItem() then copies the amount of requested text to the output buffer using wcsncpy(). The reports we’re seeing are for crashes during this operation. Upon investigation it seems that there could be a mismatch between the buffer allocated and the buffer size specified by the application in the TVITEM structure. Buffer size should be specified in TCHARS, not in bytes. The following code fragment shows the reason for the crash.</P> <P><IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=CodePic border=0 alt=CodePic src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/ResolvingcommonCrashesSeeninWindowsMobil_CC3D/image_6.png" width=495 height=93 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/ResolvingcommonCrashesSeeninWindowsMobil_CC3D/image_6.png"> </P> <P><B>Issue #2: What did that buffer ask for again?</B> </P> <P>Another issue we’re seeing is with applications that are trying to retrieve column header text with the message LVM_GETCOLUMN. Similarly to the previous issue, the caller is responsible for passing a buffer and the buffer size in an LV_COLUMN structure. The function Str_GetPtrW() then copies the amount of requested text to the output buffer. It’s during this operation that we’re seeing crashes. Once again, it seems this issue is caused by a mismatch between the buffer allocated and the buffer size specified by the application in the LV_COLUMN structure. Within LV_COLUMN the buffer size must be specified in TCHRS as opposed to bytes, otherwise the application will exceed the bounds of the buffer.</P> <P><B>Issue #3: .NET CF v1.0 is sooo 1990s</B></P> <P>A final issue we’ve been seeing lately, concerns the .NET CF. Sometimes .NET CF v1.0 applications are installing MSCOREE1_0.DLL, which is the .NET CF v1.0 runtime. This version is no longer being shipped and should not be installed when the .NET CF v2.0 is installed. Although this issue is more general than the other two, we’ve seen this problem fairly frequently.</P> <P>Please let us know if you found this information useful or, if you didn’t, what we can do to make it more relevant.</P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9557401" width="1" height="1">

Twisted Pixels #3 – Memory Mysteries
<P><A href="http://blogs.msdn.com/windowsmobile/archive/2009/04/07/twisted-pixels-a-mobile-game-development-diary-day-2.aspx" mce_href="http://blogs.msdn.com/windowsmobile/archive/2009/04/07/twisted-pixels-a-mobile-game-development-diary-day-2.aspx">Previous post: Twisted Pixels #2: Doing Graphics!</A>&nbsp;</P> <H3>What’s going on?</H3> <P>To recap – I have a program that works in the emulator, but does not run on real hardware.&nbsp; The question is why. </P> <P>After reading the following memory model posts: </P> <P><B>Slaying the Virtual Memory Monster </B>(<A href="http://blogs.msdn.com/hegenderfer/archive/2007/08/31/slaying-the-virtual-memory-monster.aspx" mce_href="http://blogs.msdn.com/hegenderfer/archive/2007/08/31/slaying-the-virtual-memory-monster.aspx">http://blogs.msdn.com/hegenderfer/archive/2007/08/31/slaying-the-virtual-memory-monster.aspx</A>) </P> <P><B>Slaying the Virtual Memory Monster - Part II</B> (<A href="http://blogs.msdn.com/hegenderfer/archive/2007/10/01/slaying-the-virtual-memory-monster-part-ii.aspx" mce_href="http://blogs.msdn.com/hegenderfer/archive/2007/10/01/slaying-the-virtual-memory-monster-part-ii.aspx">http://blogs.msdn.com/hegenderfer/archive/2007/10/01/slaying-the-virtual-memory-monster-part-ii.aspx</A>) </P> <P><B>Visualizing the Windows Mobile Virtual Memory Monster</B> (<A href="http://www.codeproject.com/KB/mobile/VirtualMemory.aspx" mce_href="http://www.codeproject.com/KB/mobile/VirtualMemory.aspx">http://www.codeproject.com/KB/mobile/VirtualMemory.aspx</A>) </P> <P>I strongly suspect that the problem I reported in my last post is memory related. The Donuts2 sample code tests to see if the proper interfaces are implemented in the device drivers, and everything seems ok there. The failure comes during the allocation of memory for a DirectDraw surface, which makes sense for a memory problem.&nbsp; One other thing – after I posted the last article, I found a device that does run the application, and it has fewer applications pre-installed, and no UI shell.</P> <P>Windows Mobile 6.1 inherits the memory architecture of Windows CE 5.0, and this model was originally designed when a small footprint was very important. Because of this, Windows Mobile has only 32 MB of virtual memory space for your application to occupy. It does not matter how much memory is built into your device, you can only use that memory in 32 bit slots. There are additional issues that further reduce the amount of available memory, and these are well described in the posts mentioned above, so I will not go into detail here. </P> <P><B>Note</B>: This memory limitation has been removed from Windows Embedded 6.0, and we can hope that this change will find its way into a future version of Windows Mobile. </P> <P>You can’t debug what you can’t test, and there are two tools that let us examine virtual memory conditions on Windows Mobile: </P> <UL> <LI><B>DumpMem.exe</B>, which can be downloaded at: <A href="http://support.microsoft.com/kb/326164/" mce_href="http://support.microsoft.com/kb/326164/">http://support.microsoft.com/kb/326164/</A> . This is an old tool that allows you to create a detailed text dump of the contents of all virtual memory on your device. Part II of Slaying the Virtual Memory Monster gives great detail on how to use this tool. </LI> <LI><B>VirtualMemory.exe,<I> </I></B>which is published on The Code Project in the project “Visualizing the Windows Mobile Virtual Memory Monster“. The link to this project is given above. This is a visual tool that is much easier to use, although it may lack the detail that you need to investigate particularly thorny problems.<B><I></I></B> </LI></UL> <P><A href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/toolbox6.png" mce_href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/toolbox6.png"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 0px" title=toolbox6 border=0 alt=toolbox6 align=left src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/toolbox6_thumb.png" width=48 height=48 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/toolbox6_thumb.png"></A>&nbsp; I do like the memory visualization tool <B>VirtualMemory.exe</B> included in the page <B>Visualizing the Windows Mobile Virtual Memory Monster</B> (Link above), and have added it to my debugging toolbox, although I can’t use it today. Another invaluable tool allows the creation of screen shots on the device. Although there are several free utilities available, the one I found to work the best was SPB’s “SPB Screenshot” utility, which can be downloaded from the publisher at: </P> <P><A href="http://www.spbclub.com/forum/viewtopic.php?t=12483" mce_href="http://www.spbclub.com/forum/viewtopic.php?t=12483">http://www.spbclub.com/forum/viewtopic.php?t=12483</A> </P> <P>That’s another one for the toolbox. </P> <P>Because Donuts2.exe runs full screen, and captures all input, I was unable to run either of these memory profiling applications to test my theory. At this point, I could have instrumented the sample to log memory conditions to a file (or perhaps to execute DumpMem), but that is time consuming, and I don’t really care enough about this one example to try. If this was a production application, it would be well worth while to study the information on memory model, and test till there were no questions left. I do have some simple questions that I would like to answer, and I’ll try to do that in a later post. </P> <P>Although I’ve failed to slay the monster, I think I understand it a bit better than I did before. It seems strange that a sample in the current SDK would fail like this – Perhaps some other phones have fewer apps installed than my stock Diamond. I was able to borrow a few other devices and started testing performance on other devices. </P> <P>No luck with my old HTC Hermes, and no luck on a <A href="http://www.samsung.com/ph/consumer/detail/detail.do?group=mobilephone&amp;type=mobilephone&amp;subtype=businesses&amp;model_cd=SGH-I780ZKAXTC" mce_href="http://www.samsung.com/ph/consumer/detail/detail.do?group=mobilephone&amp;type=mobilephone&amp;subtype=businesses&amp;model_cd=SGH-I780ZKAXTC">Samsung I780</A>. No luck with a couple of other older phones. I was about to give up when a friend dropped by my office to show off a new <A href="http://my.asus.com/products.aspx?l1=11&amp;l2=55&amp;l3=528&amp;l4=0&amp;model=2769&amp;modelmenu=1" mce_href="http://my.asus.com/products.aspx?l1=11&amp;l2=55&amp;l3=528&amp;l4=0&amp;model=2769&amp;modelmenu=1">ASUS P835</A> running Windows Mobile 6.1. Just for fun we tried it – and it worked. <STRONG>SPBScreenshot</STRONG> does not seem to work with DirectX apps, so you will have to take my word for it, but performance was good, and the app conformed to the large high resolution screen, and the seemed responsive, with a reasonable frame rate. </P> <P>Out of curiosity I ran <STRONG>VirtualMemory</STRONG> on some of the phones and on the emulator just to get an idea of what can be expected and to look at variance between different phones. DLL space goes from the top of the screen to the bottom.&nbsp; Program space goes from the bottom to the top.&nbsp; As I understand it, the limiting factor is the lowest DLL loaded into memory. </P> <P><A href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/Emulator%20memory%20map.png" mce_href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/Emulator%20memory%20map.png"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Emulator memory map" border=0 alt="Emulator memory map" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/Emulator%20memory%20map_thumb.png" width=360 height=550 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/Emulator%20memory%20map_thumb.png"></A> </P> <P><EM>Figure 1. Emulator memory map (Windows Mobile 6.1)</EM> </P> <P><A href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/Diamond%20memory%20map.png" mce_href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/Diamond%20memory%20map.png"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Diamond memory map" border=0 alt="Diamond memory map" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/Diamond%20memory%20map_thumb.png" width=364 height=484 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DayFourTwistedPixelsAMobileGameDevelopme_C5E8/Diamond%20memory%20map_thumb.png"></A> </P> <P><EM>Figure 2. HTC Diamond memory map (Windows Mobile 6.1)</EM> </P> <P>It is clear that the HTC has more DLL memory pre-allocated, which is likely interfering with my application. That’s the price that a user has to pay to have an awesome interface like TouchFLO. </P> <P>So – the lesson learned today is that available memory varies from phone to phone, and there can be issues that show up on some phones and not on others. It is always good coding practice to check for failure every time you allocate memory, and that becomes particularly important here. One of the challenges of writing games for the mobile platform is dealing with resource issues, and this will remain an issue for the developer of Windows Mobile 6 software. </P> <P><STRONG><FONT size=4></FONT></STRONG></P> <P>Next up – Getting Input.</P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9554519" width="1" height="1">

    

Copyright 2005 by Orange Co. Windows Mobile Users Group   Terms Of Use  Privacy Statement
DotNetNuke® is copyright 2002-2010 by Perpetual Motion Interactive Systems Inc.