Search  
Saturday, July 31, 2010 ..:: Mobile RSS ::.. Register  Login
 MSDN: Mobile Developer Center Minimize

Tech·Ed North America 2010
Join us June 7-10 in New Orleans. Dive into Microsoft technologies by day, and indulge in French Quarter culture at night.

New Case Study on porting an iPhone app to Windows Mobile has been published on MSDN
Are you curious about what it takes to port an iPhone application to the Windows Mobile platform? If yes, you should read the new technical article "Porting the Amplitude Application from the iPhone to a Windows Mobile Device - a Case Study," which has just been published on MSDN.

Get Ready for Windows Marketplace for Mobile
In less than 2 weeks, Windows Marketplace will open for submissions. Just in time for the opening of Marketplace on July 27th, Todd Brix, Senior Director for Mobile Platform Services Product Management at Microsoft, has published a blog post on the Windows Mobile Team blog that provides details about Marketplace, including a Channel 9 video.

Windows Mobile 6.5 Developer Toolkit is available for Download
The Windows Mobile 6.5 Developer Tool Kit has been released and is now available for download. This toolit includes sample code, documentation, header and library files, emulator images and tools to Visual Studio that let you build applications for Windows Mobile 6.5. The Windows Mobile 6.5 Developer Toolkit includes a new native Gesture API which enables applications to handle touch gesture input. You need to install the Windows Mobile 6 SDK to develop applications for Windows Mobile 6.5.

Windows Mobile RampUp Track Has been Launched on MSDN
Are you interested in learning about Windows Mobile Application Development from the ground up? We have good news for you. This morning, we have launched the MSDN RampUp track for Windows Mobile Application Development. The Windows Mobile RampUp track consists of 7 modules, each of which takes you one step further to master Windows Mobile Application Development.

MSDN Webcast: Introducing mfLY! for Visual Studio 2008: An MVC Framework for Windows Mobile (Level 100)
On Wednesday, May 2009, at 10 AM PST, Randy Starr, VP of Technology at BlueDot Solutions will talk about mfLY!® for Microsoft Visual Studio 2008. mFly® provides a model/view/controller Framework add-on to Visual Studio 2008 that significantly enhances the development experience, quality, and re-usability of managed Windows Mobile (and Microsoft Windows) applications through a unique set of designers, template and frameworks. Watch Randy demonstrate the primary features of mfLY! and see how it can help you improve the quality and time to market of your mobile projects.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: The Embedded Database for Building Mobile Line of Business Applications (Level 200)
We are moving right along with our MSDN Webcast Series on Windows Mobile Application Development. Our next webcast will focus on Development Line of Business Applications for Windows Mobile. On Wednesday, April 29 at 10 AM PST, Windows Mobile Device Application Development MVP and author of the 30 Days of ,NET Windows Mobile Application Development blog series Chris Craft will host a webcast on “The Embedded Database for Building Mobile Line of Business Applications.” In his webcast, Chris will provide an introduction into using Microsoft .NET Compact Framework and Microsoft SQL Server CE database development to create line of business applications, with a focus on database techniques for occasionally connected scenarios. The webcast will place a strong focus on data driven applications and data synchronization techniques.

Getting Started with Building Windows Mobile Solutions with Visual Studio and Windows Mobile 6 SDK
Want to get started with Windows Mobile Application Development and need an overview of the platform as well as the tools that are available? Andrej Radinger's article 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. It also explains how to use Windows Mobile SDK Tools to extend Windows Mobile applications.

Selecting a Windows Mobile API - .NET Compact Framework and Win32
Are you trying to select the right API for your Windows Mobile Application? This article by Paul Yao discusses the Microsoft® Win32® API and the Microsoft .NET Compact Framework (NETCF) APIs for use on Windows Mobile® 6 and later. After a brief introduction of Web-based technologies, this technical article focuses on selecting an API for creating thick-client applications.

Creating a Compelling UI for Windows Mobile and the Microsoft .NET Compact Framework
In this newly released MSDN article, Alex Yakhnin 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 paper is a perfect followup if you watched the Webcasts on How to Create a Compelling UI for your Windows Mobile Application and How to Create Custom .NET CF Controls to Build a Cool UI, both of which were hosted by Alex Yakhnin.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: WCF Development and Mobile Devices (Level 300)
Please join us for this week's MSDN as part of the 24-Hours of Windows Mobile Application Development series. On Wednesday, April 22, Nickolas Landry, MVP and Principal Architect of Infusion Development will WCF Development and Mobile Devices. Communicating with the server-side and the rest of your corporate network infrastructure is a key aspect of any mobile smart client application that lives within a distributed enterprise architecture. However, mobile devices aren't always on the Web or docked into the corporate network. Therefore your applications have to handle a range of scenarios for transferring data to and from the home office during times when a connection is available and storing information locally when a connection is not available. Windows Communication Foundation (WCF) provides a unified programming model for building connected applications with managed code on the desktop and the server. Thanks to the WCF extensible channel architecture, mobile devices can also participate and leverage WCF, but only a subset of the full WCF model is supported. This session explores the similarities and the differences in building mobile communications infrastructures using Microsoft .NET Compact Framework 3.5 and WCF. Through live demos using Microsoft Visual Studio 2008 and other mobile tools, we’ll cover the WCF programming model and available layers, the supported channels, integrating with the desktop and server-side, see how to cover the lack of device addressability, the role of Microsoft Exchange 2007, e-mail and AirSync, extensibility points, security and more. If you think you know everything about WCF, think again…mobile devices are also part of the enterprise equation and you need to learn how to reach out to them.

Learn about Windows Mobile Application Development at Microsoft TechDays!
Want to learn more about Windows Mobile Application Development? Make sure to attend Microsoft TechDays on April 1st 2009. TechDays is a 24-hour around-the-globe virtual event that presents sessions on current and emerging technologies. TechDays includes a track on Mobile Application Development. Listen to world-known experts in Windows Mobile Application Development from the worldwide Developer Community to provide in-depth information about the techniques and technologies for building real-world mobile solutions on the Windows Mobile platform.

New Blog Post Series on Windows Mobile Game Development Launched on Windows Mobile Team Blog
Norm Sohl, who works for the Windows Mobile Developer Experience Content Team has just launched a new blog post series on Mobile Game Development on the Windows Mobile team blog. In this series, Norm describes his experiences with writing a game for the Windows Mobile Development from beginning to end.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Customizing .NET Compact Framework Controls to Create Attractive UIs for Windows Mobile Devices (Level 400)
Please join us for next week’s webcast in the series “24 Hours of Windows Mobile Application Development”. During this demo-filled webcast, Senior Mobility Consultant Alex Yakhnin will show how to customize .NET CF controls to create attractive UIs for Windows Mobile Devices. This is the second part of the series on creating attractive UIs on Windows Mobile devices (view part one: Creating Compelling and Attractive UIs for Windows Mobile Applications). In this webcast we'll show you how to customize the look of the built-in controls in the .NET Compact Framework such as TextBox, ListBox, and ListView.

Check out Windows® Marketplace for Mobile and Start Developing your Windows Mobile Application
Check out the newly refreshed Windows Marketplace for Mobile developer portal at http://developer.windowsmobile.com and learn how to quickly build and sell applications for Windows® phones using the Windows Mobile 6.5 operating system. Beyond providing consumers with the ability to browse and download applications from their Windows Mobile 6.5 phone, Windows Marketplace for Mobile offers developers the opportunity to connect directly with those millions of Windows Mobile users, to publish and distribute applications.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Creating Compelling and Attractive UIs for Windows Mobile Applications (Level 400)
Are you interested in learning how to create a compelling UI for your Windows Mobile app? If your answer is yes, please join us for part 20 or our 24-Hour webcast series on Windows Mobile Application Development. This week, Senior Mobility Consultant Alex Yakhnin will explain how to utilize the Alpha blending and Gradient drawing APIs on the Windows Mobile platform to create a compelling and attractive user experience in your mobile applications. Alex will also provide an example of how to create a framework that could be used to simplify the development of custom user interfaces.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Creating .NET Compact Framework Custom Controls (Level 300)
Please join us for part 19 of the 24-Hours of Windows Mobile Application Development webcast series. For part 19 of the series, MVP Maarten Struys and developer content author Joshua Partlow will show you how to create your own customized Windows Mobile user interface controls using the .NET Compact Framework. The Microsoft .NET Compact Framework 3.5 ships with a variety of ready to use user interface controls. However, sometimes you might want to make use of controls with a slightly different or entirely different look, feel, and functionality. In this sample-filled webcast, you learn how to create your own controls that are derived from existing controls, how to create composite controls, and how to create entirely new controls. You also learn how to add designer support to Microsoft Visual Studio 2008 for your custom controls.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Using LINQ on Mobile Devices (Level 300)
Please join us for part 18 of our 24-Hour Webcast series on Windows Mobile Application Development. On Wednesday, February 11, Mobility Architect Reed Robison will talk about how to use Language Integrated Query (LINQ) on Windows Mobile Devices. Come find out what Language Integrated Query (LINQ) brings to the Windows Mobile platform. In this webcast, we watch LINQ in action, explore the pros and cons of LINQ on Window Mobile, and help you understand what this powerful new feature can do for your development efforts using the Microsoft Compact Framework 3.5.

Windows Mobile Application Development Chat is Coming up on February 10, 2009
It’s time again for our monthly chat on Windows Mobile Application Development. Please join us on Tuesday, February 10th, 2009 at 9 AM PST and bring on your questions. Spend an hour with Microsoft employees and MVPs who are experts in Windows Mobile application development. This chat will cover the tools and technologies used to develop applications using the Windows Mobile operating system.

Windows Mobile: Get Tips to Stay Productive on the Go
Windows Mobile can help you and the other employees in your organization be more productive, wherever you are. Step into virtual labs or tune into webcasts to explore Windows Mobile and see how you can manage virtual memory on your Windows Mobile device, integrate the new mobility features in Microsoft Office SharePoint Server 2007 with Windows Mobile, and effectively develop Windows Mobile client applications.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Developing Mobile Applications with Visual Studio 2008 (Level 300)
Please join us for part 17 of our 24-Hours of Windows Mobile Application Development Webcast Series. This week, Windows Mobile Device Application Development MVP Andrej Radinger will show you how to develop Windows Mobile applications using Visual Studio 2008. Microsoft Visual Studio 2008 brings lot of improvements for mobile developers, and Windows Mobile 6 software development kit (SDK) tools enable easier and faster solution development. In this webcast, we explain what is new in the Microsoft .NET Compact Framework 3.5 and how to develop Windows Mobile client applications effectively. We also show you some of the cool features that can be easily used in your applications, such as Pocket Outlook Object Model (POOM) integration, Short Message System (SMS) interception, state and notification broker, and camera integration. This webcast is packed with live demos and code samples.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Top Developer Tips for Windows Mobile (Level 300)
Please join us for part of 15 of our series "24 Hours of Windows Mobile Application Development." This week, Mobility Development Consultant Mike Francis will share his top Windows Mobile Development tips. We will discuss common obstacles for common architectures, and will provide tips to avoid these obstacles and information on the Windows Mobile development resources that are available. We also cover what is new for developers in Internet Explorer Mobile 6.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Windows Mobile Device Security (Level 300)
Please join us for part 14 of our 24 Hours of Windows Mobile Application Development Webcast Series. This week, Maarten Struys and Constanze Roman will discuss Device Security for Windows Mobile Devices. The Windows Mobile Security model is very flexible. Using different security policies, it is possible to control which applications are allowed to run on a particular device and what those applications can do. In this sample-filled Webcast, we will explain how the Windows Mobile Security model works, and they show you how you can mimic device security using the emulator in combination with the Microsoft Visual Studio 2008 Device Security Manager. Maarten and I will also demonstrate how to sign your applications with certificates to allow them to run as either privileged or normal applications on Windows Mobile devices.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Testing Your Windows Mobile Applications (Level 300)
Please for part 13 of our Webcast series on 24 hours of Windows Mobile Application Development. The topic of tomorrow’s webcast will be Testing your Windows Mobile Applications. During tomorrow’s Webcast, MVP Maarten Struys, Windows Mobile Community PM Constanze Roman, and I will be talking about testing Windows Mobile applications. In this sample-filled webcast, you will learn how to debug applications using Visual Studio 2008, how to make use of logging and tracing data inside your Windows Mobile application, and how to use Hopper to stress test your applications.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: .NET Compact Framework Asynchronous Programming Techniques (Level 300)
Please join us for part 12 of our 24-hours of Windows Mobile Application Development webcast series. On Wednesday, December 10, Maarten Struys will be talking about Asynchronous Programming Techniques with the .NET Compact Framework. Join this webcast to learn how to properly start and terminate threads, update user interface controls inside multiple threads, and call Web services asynchronously. In this sample-filled webcast, we demystify multithreading, so you can feel confident in developing your own multithreaded applications.

New technical article on "Configuration Service Provider" has been published on MSDN!
Please check out our latest technical article on Windows Mobile Application Development. In his article, MVP Simon Hart shows how to programmatically create a network connection by using the Configuration Service Provider API.

The Thirsty Developer 42: Windows Mobile at the PDC podcast available for download
Last month at PDC, Dave Bost and Larry Clarkin conducted a Thirsty Developer podcast on Windows Mobile Application Development with Windows Mobile Community PM Constanze Roman and Mobile Application Development MVPs Maarten Struys and Peter Nowak. Listen to what they have to say about Silverlight for Mobile and Live Mesh for Mobile.

Internet Explorer Mobile 6 Emulator Images are now available for download
The Windows Mobile 6.1.4 Emulator Images package adds emulator images to Visual Studio 2005 or Visual Studio 2008 that let you test applications for Windows Mobile 6.1.4, including Internet Explorer Mobile 6. Windows Mobile 6.1.4 includes the new Internet Explorer Mobile 6, a full-featured browser for Windows Mobile devices that brings the same high-quality browsing experience to the user as desktop browsers. Internet Explorer Mobile 6 supports desktop-quality rendering and has the best compliance support of all versions of Internet Explorer on a Windows Mobile device to date. Several new features and improved support allows users to complete tasks quickly and easily.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Windows Mobile Networking (Level 300)
Please join us for part 10 of our 24-part Webcast series on Windows Mobile Application Development. This week, Andy Wigley, co-author of the Wndows Mobile Development Handbook, will talk about networking. In this webcast, you learn how to create a network connection in code and how to discover if you have network connectivity. We look at the design of applications that need to be network aware and strategies for creating applications that can operate when disconnected from the network and then sync up data when network connectivity is restored. We also compare the options for transferring data over a network connection, which include ActiveSync, Microsoft SQL Server merge replication, remote data access (RDA), SQLClient, Microsoft Synchronization Services for ADO.NET, Windows Communication Foundation (WCF), SOAP-based Web services, RESTful data services, and Microsoft Message Queuing (MSMQ). We explain the benefits and shortcomings of each sync technology and demonstrate many of them so you can select the right solution for your data synchronization needs.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Unit Testing for Mobile Devices (Level 300)
Join us for part 9 of our 24-part Windows Mobile Webcast series. For this part, we will be discussing Unit Testing for Mobile Devices. With Microsoft Visual Studio 2008, unit testing is now available for mobile device developers as well. Is unit testing just hype or can you increase the quality of your code by creating unit tests? In this sample-filled webcast, you will learn how to create unit tests for your smart device application. We will also show you how to debug unit tests and how to run unit tests inside a command prompt. After attending this webcast, you should rest assured knowing that your code works as intended.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: .NET Compact Framework 3.5 Power Toys (Level 200)
Please join us for part 8 of our 24-hours of Windows Mobile Application Development webcast series. This week, Maarten Struys, Joshua Partlow and Constanze Roman will show you how to use the .NET Compact Framework 3.5 PowerToys. If you are developing applications for Windows Mobile devices using Microsoft Visual Studio 2008 and the Microsoft .NET Compact Framework 3.5, you will love the .NET Compact Framework 3.5 PowerToys. Available as a separate downloadable set of tools, the PowerToys help you to create better responding applications, assist you in obtaining diagnostic information about your running application, and give you insight into your memory allocation strategies. In this sample-filled webcast, Maarten Struys gives you a guided tour in PowerToys land around Remote Performance Monitor, GC Heap Viewer, and the .NET Compact Framework CLR Profiler. Learn how to identify and solve memory leaks inside your managed application, how to diagnose and solve performance bottlenecks, and how to minimize Garbage Collector activity. After attending this webcast, you have the power at hand to create better managed applications for Windows Mobile devices.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Interoperability Between Managed and Native Code (Level 300)
Please join us for part 7 of our 24-Hours of Windows Mobile Application Development Webcast series. This week, MVP Maarten Struys will talk about interoperability between managed and native code. Even though the Microsoft .NET Compact Framework 3.5 contains a lot of functionality, sometimes it is unavoidable to call back (P/Invoke) into native Win32. In this webcast, we show you the basics of P/Invoke. In the second part of this webcast, we show how you can use existing COM objects inside your managed applications. Of course, both P/Invoking into native code and using COM objects inside managed applications are illustrated by a number of code samples.

MSDN Chat on Windows Mobile Application Development coming up on Tuesday, October 14 at 9 AM PST.
Please join us for the October chat on Windows Mobile Application Development. Do you have questions regarding Windows Mobile application development that you need answers to? Spend an hour with Microsoft employees and MVPs who are experts in Windows Mobile application development. Please join us for a live chat and bring on the questions!

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Using Pocket Outlook Data Inside a Managed Application (Level 300)
Please join us for part six of our "24 Hours of Windows Mobile Application Development" Webcast series. This week's Webcast will discuss how to use Pocket Outlook data inside a managed application. To limit the amount of data that is stored on Windows Mobile devices and to provide users with a consistent user interface when dealing with Personal Information Manager (PIM) data, you must frequently make use of Pocket Outlook functionality inside your own managed application. In this sample-filled webcast, we show you how to retrieve, use, and store PIM data inside your own managed applications through the Windows Mobile Managed APIs that ship as part of the Windows Mobile 5.0 and Windows Mobile 6 software development kits (SDKs).

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Developing Battery-Friendly Applications (Level 300)
Please join us for part 5 of our Webcast series on Windows Mobile Application Development. In this MSDN webcast, you learn how to develop battery-friendly applications for Windows Mobile devices. During a large portion of this webcast, we explain and demonstrate the State and Notification Broker that provides easy access to more than 100 different hardware and system states, such as network connectivity and battery power, which are all consistently within reach by managed code.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Creating Adaptive Applications for Windows Mobile Devices (Level 300)
Please join us for part 4 of our "24-hours of Windows Mobile Application Development" webcast series. One of the key issues that Windows Mobile developers face is the issue of application compatibility across the range of Windows Mobile devices. As new devices are released, they introduce many new features. Successfully developing and deploying Windows Mobile applications requires up-front planning for compatibility across devices. In this webcast, Jim Wilson discusses creating adaptive applications that can run on a broad range of Windows Mobile Devices, giving end users more or less functionality, depending on the available features of their device.

Microsoft Synchronization Services for ADO.NET has been released for download!
Synchronization Services for ADO.NET 1.0, which released with Visual Studio 2008, enabled synchronization between a server database and a SQL Compact 3.5 client database running on a desktop. With this download, you can also synchronize between a server database and a SQL Compact database on a Windows Mobile 5 or 6 device. You will also need SQL Server Compact 3.5 Service Pack 1 for Windows Mobile at http://www.microsoft.com/downloads/details.aspx?FamilyID=fce9abbf-f807-45d6-a457-ab5615001c8f&DisplayLang=en as well as Visual Studio 2008 SP1, which can be found at http://www.microsoft.com/downloads/details.aspx?FamilyID=fbee1648-7106-44a7-9649-6d9f6d58056e&DisplayLang=en. This sync technology is a developer-focused companion to Merge Replication that can take advantage of the more efficient change-tracking engine in SQL Server 2008.

Windows Mobile 6 content is now available in Machine-Translated Brazilian Portuguese on MSDN!
The Windows Mobile Content, Community, and Engagement Team has partnered with Microsoft Research (MSR), International Project Engineering (IPE), MSDN & TechNet Publishing System (MTPS) and Microsoft subsidiaries in Latin America to make Windows Mobile 6 Developer content available in Machine Translated Brazilian Portuguese on MSDN. This represents a significant step forward in our ongoing efforts to make our content more accessible to a global audience.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Dealing with Different Form Factors (Level 300)
Please join us for part 3 of the "24-hours of Windows Mobile Application Development" webcast series. Attend this webcast to find out how to create one single application that can target different Windows Mobile Devices with different form factors. Discover how docking and anchoring enable you to easily change between portrait and landscape mode, how to add touch-screen functionality for Windows Mobile Professional Devices, and how to create adaptive applications, taking advantage of the different hardware capabilities of Windows Mobile Devices.

MSDN Chat on Windows Mobile Application Development coming up on Tuesday, August 16 at 9 AM PST.
Please join us for this month's chat on Windows Mobile Application Development. This chat will cover the tools and technologies used to develop applications using the Windows Mobile operating system. MVPs and members of the Windows Mobile product team will be joining this chat to answer your questions. For a list of all upcoming chats, see the chat calendar on MSDN at: http://msdn.microsoft.com/en-us/chats/default.aspx.

Innaworks Launches Java Conversion Solution for Windows Mobile
Innaworks, a provider of development tools for mobile content providers and game publishers, just launched alcheMo for Windows Mobile, the world’s first fully automated solution to instantly port a standard Java MicroEdition (Java ME) mobile application to Windows Mobile 5.x and 6.x, Standard and Professional editions.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Device Emulator and Cellular Emulator (Level 200)
In part two of the "Windows Mobile Application Development" series, Maarten Struys and Constanze Roman will discuss the new enhancements for Device Emulator 3.0. You will learn how to configure Device Emulator using the Device Emulator Manager and make use of Cellular Emulator to emulate phone calls and Short Message Service (SMS) messaging. You will also learn how to customize your own emulators and how you can programmatically control Device Emulator.

MSDN Webcast: 24 Hours of Windows Mobile Application Development: Introduction to Windows Mobile Device Development (Level 200)
On Wednesday September 3, 2008, at 10 PST, we will launch a new webcast series on Windows Mobile Application Development. In part one of the series, Maarten Struys and Constanze Roman will give you an overview of Windows Mobile Application Development and show you some of the tools you need to succeed.

Windows Mobility Marvels: Solutions for Modern Day Productivity
See how Windows Mobile lets you use your existing infrastructure, business logic, and desktop code on a mobile device to innovate and solve new business problems. We discuss the tools you need for Windows Mobile device development, the programming languages you may use, and the challenges you may face when developing for small devices. We also talk about the enhancements to Device Emulator 3.0 and show you how to configure it.

Chris Craft's Blog: 30 Days of Windows Mobile Applications
MVP Chris Craft has created a series of blog posts that features one new Windows Mobile Application per day. Each post provides a screenshot of the featured application of the day, as well as the code that goes with it.

New Windows Mobile Application Development chat series coming up in August
Mark your calendars. Starting on August 12th, 2008 we are launching a new chat series that focuses exclusively on Windows Mobile Application Development. This chat will cover the tools and technologies used to develop applications using the Windows Mobile operating system. MVPs and members of the Windows Mobile product team will be joining this chat to answer your questions. For the August chat, we will also go through the top 10 FAQ on Windows Mobile.

MVP Interview: Constanze Roman interviews Maarten Struys on Windows Mobile Application Development
Last week, Constanze Roman interviewed Maarten Struys, Windows Mobile Application Development MVP. Watch this video to hear Maarten talk about his experiences with Windows Mobile application development and find out about some of the interesting projects he's worked on.

TechEd Online Video: Windows Mobile Application Development
This Panel presents an overview of what is required to develop for Windows Mobile Devices. We show you the tools you need to install to develop Windows Mobile-based applications. We also describe why we love developing for Windows Mobile and show you some easy ways to develop your first application. We also provide an introduction into the online tools and community that are available for Windows Mobile developers. With Constanze Roman, Andy Wigley, Neil Roodyn, Maarten Struys, and Paul Yao.

AT&T Webcast: Introduction to Mobile RFID & Building Apps on BizTalk RFID Mobile
Join devCentral, the AT&T Developer Program, and Microsoft for a free Webcast reviewing BizTalk RFID Mobile features, capabilities, and architecture. We will then explore code samples that show how to develop RFID applications on BizTalk RFID Mobile. All actual attendees will be entered to win an AT&T BlackJack II. Winner will be notified via email after the Webcast. When: Monday, July 14, 10:00 AM - 11:00 AM (GMT-08:00) Pacific Time (US & Canada). What you will learn: BizTalk RFID Mobile is a device agnostic RFID platform that will enable you to write your applications once and have them run on mobile RFID readers from a variety of manufacturers. You will receive the information that you need to get started writing applications. Registration is required. Presenters: Paul Sanford, Sr. Product Manager, BizTalk Server RFID team

TechEd Online Video: Building Offline Enabled Applications
In an online world, why are we building offline apps? Because networks are only occasionally available, or occasionally not available. However, building Offline apps is a bit more complicated. Listen to this panel of speakers that works on enabling offline apps from the storage, sync, programming model, and UI stack. In this video, which was recorded at TechEd 2008, the panelists discuss what we’re working on today, and what’s coming in the future. With Rob Tiffany, Steve Lasker, Liam Cavanagh, and Ginny Caughey.

How To: Add Windows Mobile 6 and Windows Mobile 6.1 Browser Definitions to ASP.NET
In this article, Jim Wilson explains why ASP.NET sites that work with Microsoft Internet Explorer Mobile on Microsoft Windows Mobile 5.0 may not render correctly when accessed from Internet Explorer Mobile on Windows Mobile 6 and Windows Mobile 6.1; he then demonstrates how to overcome this issue through the addition of a custom browser definition file.

MSDN Webcast: Live from Tech∙Ed Orlando: Windows Mobile Development (Level 300)
In this webcast, hosted live from Tech∙Ed Orlando, we wrap up our series on getting ready for Tech∙Ed by revisiting some of the highlights of our previous webcasts. We talk about developing for Windows Mobile devices and share some interesting demos with you; for example, one demo is on unit testing for devices. We also show you how to use FakeGPS with your own location data. We might even interview some Tech∙Ed attendees!

MSDN Webcast: Developing Your First Real Windows Mobile 6 Application (Part 2 of 5)
Developing Windows Mobile 6 applications with the Microsoft .NET Compact Framework allows you to take advantage of your existing desktop developer skills and enables you to begin developing mobile applications quickly. In this webcast, we address how you can deal with different form factors, battery life, and so on.

MSDN Webcast: Using Device Capabilities and Device Functionality (Part 3 of 5)
In this Webcast you will learn how to access Pocket Outlook from inside your own managed application, how to add location awareness to your application, and how to make phone calls from inside your own managed application.

Walkthrough: Creating Web Pages for Mobile Devices
Mobile development in ASP.NET does not differ much from traditional ASP.NET browser-based Web development. In this walkthrough, you will create two Web pages that inherit from the MobilePage class and that are designed for a mobile device.

ASP.NET Mobile Development Overview
To help you create applications for mobile devices, ASP.NET provides a System.Web.Mobile namespace devoted specifically to mobile Web development. Learn how you can create a Web page from the MobilePage base class and add controls from the System.Web.Mobile namespace.

Step by Step: Developing Windows Mobile Game-Quality Graphics with DirectX
In this Microsoft Windows Mobile 5.0 -- Microsoft DirectX self-paced hands-on lab, you will explore the various drawing capabilities provided by DirectX. You will also learn how to identify the DirectX capabilities of a particular device. For developers who are familiar with Windows Mobile Game API (GAPI), each section contrasts the DirectX capabilities with the corresponding features of GAPI.

Step by Step: Managed Casual Game Development
Learn how to use the game libraries in the Microsoft .NET Compact Framework running on a Microsoft Windows Mobile 5.0 device to render both two dimensions and three dimensions using the Managed DirectX Mobile libraries. This includes creating a device, rendering sprites, vertices, matrix, and meshes. This hands on lab will take 1 hour and 30 minutes to complete.

MSDN Webcast: Mobile Data Strategies and Synchronization Using SQL Server Compact, XML, and LINQ (Part 4 of 5)
In this webcast, we focus on the considerations you need to make when selecting and using a local device data store, including coverage of Language Integrated Query (LINQ) as it is implemented in the Microsoft .NET Compact Framework.

    

 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><div style="clear:both;"></div><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><div style="clear:both;"></div><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><div style="clear:both;"></div><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">

Samsung’s Web Site for Windows Mobile Developers
<p>My very first Windows Mobile phone was a Samsung BlackJack, and my wife and I each use, and love, BlackJack IIs (a matching his-and-hers pair in blue and pink respectively) every day. The Blackjack II is also very popular phone among my coworkers; it’s very common for one of my colleagues to pull out a BlackJack device during a meeting to check their mail, manage their calendar, or do some research.</p> <p>Given my history, I’m sure you can imagine that I was totally stoked to hear about Samsung’s Web site, the <b>Samsung Mobile Innovator</b> (found at <a href="http://innovator.samsungmobile.com/">http://innovator.samsungmobile.com</a>) for Windows Mobile developers. After doing some research I found out that the Mobile Innovator has actually been around since October 2008. In February 2009, Samsung added developer centers for Java and Windows Mobile development.</p> <p>Membership to the site is free (all you have to do is register), and includes a number of great features:</p> <ul> <li>How-tos and walkthroughs on writing and signing apps for Windows Mobile. This includes a <a href="http://innovator.samsungmobile.com/cms/cnts/detail.view.do?cateId=132&amp;childCateId=&amp;cntsId=1354&amp;imgType=&amp;platformId=2&amp;parentCateId=132&amp;listReturnUrl=%2Findex.do">Getting Started </a>tutorial on Windows Mobile Programming and content on popular topics, such as <a href="http://innovator.samsungmobile.com/cms/cnts/detail.view.do?platformId=2&amp;cateId=133&amp;childCateId=All&amp;childCateId2=&amp;cntsId=1881&amp;imgType=&amp;parentCateId=133&amp;cateAll=all&amp;listReturnUrl=http%3A%2F%2Finnovator.samsungmobile.com%3A80%2Fcms%2Fcnts%2Fcategory.main.list">Debugging with Visual Studio 2008</a>, and <a href="http://innovator.samsungmobile.com/cms/cnts/detail.view.do?platformId=2&amp;cateId=133&amp;childCateId=All&amp;childCateId2=&amp;cntsId=1881&amp;imgType=&amp;parentCateId=133&amp;cateAll=all&amp;listReturnUrl=http%3A%2F%2Finnovator.samsungmobile.com%3A80%2Fcms%2Fcnts%2Fcategory.main.list">Unit Testing for Devices</a>. </li> <li>Samsung’s <a href="http://innovator.samsungmobile.com/down/cnts/detail.view.do?platformId=2&amp;cateId=147&amp;childCateId=All&amp;childCateId2=&amp;cntsId=1641&amp;imgType=&amp;parentCateId=147&amp;cateAll=all&amp;listReturnUrl=http%3A%2F%2Finnovator.samsungmobile.com%3A80%2Fdown%2Fcnts%2Fcategory.main.li">downloadable SDK for Windows Mobile</a>, which gives developers access to Samsung phone features such as accelerometers, notification LEDs, and haptic feedback. </li> <li><a href="http://innovator.samsungmobile.com/down/cnts/detail.view.do?platformId=2&amp;cateId=147&amp;childCateId=All&amp;childCateId2=&amp;cntsId=1646&amp;imgType=&amp;parentCateId=147&amp;cateAll=all&amp;listReturnUrl=http%3A%2F%2Finnovator.samsungmobile.com%3A80%2Fdown%2Fcnts%2Fcategory.main.li">Downloadable Skins for Device Emulator</a> that allow you to build and run code on images skinned for Samsung’s line of Windows Mobile phones (including the BlackJack II, Epix/Mirage, Robin, Saga, ACE, and Omnia). The following screenshot shows the Device Emulator skin for the SGH-900 Omnia: </li> </ul> <p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/SamsungsWebSiteforWindowsMobileDeveloper_CE46/image_3.png" width="253" height="480" /> …and here’s an image of the SGH-617 Blackjack II Device Emulator skin:</p> <p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/SamsungsWebSiteforWindowsMobileDeveloper_CE46/image_6.png" width="310" height="480" /> </p> <p>&#160;</p> <p>Additional features of the Samsung Mobile Innovator program include:</p> <ul> <li>Access to the Windows Mobile Discussion Board: an open forum that provides support for Windows Mobile device users. </li> <li><a href="http://innovator.samsungmobile.com/bbs/lab/view.do?platformId=2">Lab.dev</a>: a virtual device lab that allows you to install and test your applications on Samsung Windows Mobile devices over the Web. </li> <li>Access to the Samsung Reference Collection, which includes links to a <a href="http://innovator.samsungmobile.com/cms/cnts/category.main.list.do?cateId=2&amp;cateAll=all&amp;platformId=2">Knowledge Base</a>, the <a href="http://innovator.samsungmobile.com/prd/sym/product.main.do?platformId=2">Samsung Device Database</a>, the Samsung Mobile Innovator Wiki, and the <a href="http://innovator.samsungmobile.com/down/cnts/category.main.list.do?cateId=148&amp;cateAll=all&amp;platformId=2">Samsung Windows Mobile SDK Documentation.</a> </li> <li>Product Showcase that provides detailed <a href="http://innovator.samsungmobile.com/down/cnts/category.products.list.do?platformId=2">specifications</a> for the latest Samsung devices that run on the Windows Mobile platform. </li> <li>Access to <a href="http://s-a-m-m-i.blogspot.com/">Sammi</a>, the Samsung Mobile Innovator blog for Mobile Developers. </li> </ul> <p>Just in time for the Mobile World Congress in Barcelona last month, the Samsung Mobile Innovator has started to go global by launching a Chinese-Language site. For more news about the Samsung Mobile Innovator, check out the <a href="http://innovator.samsungmobile.com/bbs/news/list.do?boardId=5&amp;platformId=1">Mobile Innovator News</a>.</p> <p>You can register for Samsung Mobile Innovator at <a href="https://innovator.samsungmobile.com/mbr/individual.mbr.add.do">https://innovator.samsungmobile.com/mbr/individual.mbr.add.do</a>. </p> <p>Enjoy exploring all the great features the Samsung Mobile Innovator has to offer for you! </p> <p>(Special thanks to Constanze Roman for helping write this blog post, and to Jonathan Konrath from Samsung for reviewing it before posting!)</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9547310" width="1" height="1">

Twisted Pixels #2 – Doing Graphics!
<P mce_keep="true">&nbsp;</P> <P mce_keep="true">&nbsp;</P> <P><A href="http://blogs.msdn.com/windowsmobile/archive/2009/03/20/twisted-pixels-a-mobile-game-development-diary.aspx" mce_href="http://blogs.msdn.com/windowsmobile/archive/2009/03/20/twisted-pixels-a-mobile-game-development-diary.aspx">Previous post: Twisted Pixels - A Mobile Game Development Diary (Day 1)</A></P> <H3>Doing Graphics!</H3> <P>What is the best way to do 2 dimensional graphics on Windows Mobile? To some degree, it depends on your development strategy. Silverlight and Flash is getting a lot of good press for browser based applications, but have not really penetrated the mobile browser world yet. .NET is pretty powerful for drawing text and shapes, but is surprisingly weak in its support of bitmapped graphics. Since what I want to do work with low-level bitmap graphics, it looks like I’m going to have to work with C++ and native code, at least for the present generation of Windows Mobile (Windows Mobile 6.1 and 6.5). I love how easy .NET is to use , however it is not really meant for this sort of programming at the moment.&nbsp; Native code is going to produce the fastest application, and that’s always a good thing too. </P> <P>I checked the documentation in MSDN and it seems that DirectDraw is the way to do graphics in native code. Direct3D is tempting, even for a 2-D game, but there is spotty hardware support (and the new software emulator that ships on some hardware is, well, software). </P> <P><B>Note</B>: Although the Windows desktop has moved on to more recent APIs for display tasks, Windows Mobile, because of its lower graphics horsepower, still uses these older Win32 APIs. </P> <P><B><A href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3.png" mce_href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3.png"><IMG title=Speedbump3 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=Speedbump3 src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3_thumb.png" width=48 align=left border=0 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3_thumb.png"></A> Speed Bump:</B> The SDK contains several DirectDraw sample applications that look like they will provide a good starting point for a project, but unfortunately, there are complications. All of the samples except one use back buffers to speed up and improve display quality. That’s great; however both the Windows Mobile 6 Professional and Windows Mobile 6 Classic emulators contain (virtual) display drivers that do not support a back buffer, so the samples will not run in emulation. Hardware support is not much better – 3 of the 5 apps require hardware flipping chain support, which few (if any) devices support. That leaves two samples, one of which requires hardware overlay support, which only a few devices have so far. </P> <P>Fortunately, the one remaining sample works both on hardware and in the emulator; a port of the classic directX sample “Donuts”, which is a space shooter using colorful animated sprites. Try loading this sample, found in the default SDK location: C:\Program Files (x86)\Windows Mobile 6 SDK\Samples\PocketPC\CPP\win32\directx\DDraw\Donuts2, and run it in either of the emulators. Software emulators are not known for their speed, and these are no exception. The frame rate is low and the game (although good looking) is difficult to play using the emulator controls. Still it works, and that is what we need to see at the moment. </P> <P><A href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Donuts2.png" mce_href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Donuts2.png"><IMG title=Donuts2 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=458 alt=Donuts2 src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Donuts2_thumb.png" width=299 border=0 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Donuts2_thumb.png"></A> </P> <P>The performance on the emulator makes me curious to see how live hardware performs, so next I’ll take a short detour and set up Visual Studio to use a real phone as the target device. </P> <H3>Testing and Debugging on Real Hardware</H3> <P>I did some research to see what Windows Mobile hardware has the best range of features, and came up with several candidates. Of these, the one I could get my hands on the most quickly was a HTC Diamond. This is an excellent touch screen phone with GPS and Accelerometer, which seemed like a good place to start my efforts. </P> <P>First the good news. I attached a usb cable to the new Diamond, set up the Windows Mobile Device Center in Vista to sync with the Diamond.&nbsp; Visual Studio was already set up to debug to hardware (how easy is that?) so I selected the Diamond (“Windows Mobile 6 Professional Device”), and clicked the “Start Debugging” button. Within a few moments, a series of applications and DLLs were downloaded to the phone. Each of these caused a security dialog to be displayed on the phone. I allowed all of these. The last to download was the app (Donuts2.exe) and here I hit a snag. </P> <P><B><A href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3.png" mce_href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3.png"><IMG title=Speedbump3 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=Speedbump3 src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3_thumb.png" width=48 align=left border=0 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3_thumb.png"></A>Speed Bump: </B>Apparently, the security settings on this particular phone don’t allow unsigned applications to be installed. The error message displayed in Visual Studio is shown below: </P> <P mce_keep="true">&nbsp;</P> <P><A href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/device%20error_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/device%20error_2.jpg"><IMG title="device error" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=193 alt="device error" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/device%20error_thumb.jpg" width=419 border=0 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/device%20error_thumb.jpg"></A> </P> <P>The error suggests using the Device Security Manager to change the settings and try again. Since I did not recognize the name of this tool I did a quick web search and came up with a Windows Mobile 5.0 power toy on MSDN. This did not sound quite right (surely there was something more recent) so I searched on MSDN for more hits, and discovered that this tool is now a feature in Visual Studio 2008. Again, it’s almost too easy – there it was under the Tools menu in Visual Studio. </P> <P><A href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/toolbox6.png" mce_href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/toolbox6.png"><IMG title=toolbox6 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 src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/toolbox6_thumb.png" width=48 align=left border=0 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/toolbox6_thumb.png"></A>&nbsp;<STRONG>Toolbox:</STRONG> The documentation told me that the Device Security Manager is a tool that allows developers to set up devices with different security profiles for testing purposes. Very useful – add that to the toolbox! </P> <P>Running the tool gave me a chance to connect to the device and change the security from “Prompt One Tier” to “Security Off”. Clicking “Deploy to Device” sent the change down to the device. Clicking on the “Start Debugging” button sent the application down to the device, and this time it started to run. </P> <P>But that’s where everything went bad. The application failed with the following error: </P> <P>DONUTS: CleanupAndExit err = CreateSurface FrontBuffer Failed! </P> <P>It’s easy enough to track down where this error is being generated, just search on the error text in the project’s code files. It looks like this is happening (as we might expect) during a call to <B>CreateSurface</B>. I placed my cursor in the call to <STRONG>CreateSurface</STRONG> and hit F1 to display the reference topic for this command from the help file. </P> <P>The topic tells me that there are several errors that <B>CreateSurface</B> can return, and since the error message in the code is generic, it does not tell me what in particular is wrong. </P> <P>To get more information, I set a breakpoint in the code by clicking in the border next to the error message. A red dot appeared, indicating that I’d been successful. </P> <P>The next time I ran the app, execution of code stopped at the breakpoint, and I hovered my mouse over specific variables to see what their values were. (I really love this feature.) Doing this to ddrval, I saw that the error was “E_OUTOFMEMORY”. That’s a little strange, since I know the device has plenty of memory. </P> <P><B><A href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3.png" mce_href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3.png"><IMG title=Speedbump3 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=Speedbump3 src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3_thumb.png" width=48 align=left border=0 mce_src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D5BB/Speedbump3_thumb.png"></A>Speed Bump: </B>There was no problem in the emulator, yet the device is running out of memory when I try to run my app. What’s up with that?&nbsp; <B>Note</B>: I should point out that I suspect that this is hardware related, and so this may not happen on your device. This is a developer diary, so I’ll just describe what happened to me. </P> <P>Windows Live Search pointed me to the following posts that talk about similar problems and describe how memory is managed and debugged in Windows Mobile. </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>Looks like I’ve met a monster. That can’t be good. </P> <P>Take a break and review these excellent posts, and see if you can make a guess what might be causing the problem.&nbsp; Once done, join me next week for the next installment of Twisted Pixels. </P> <P>Next post: Twisted Pixels - A Mobile Game Development Diary: Day Three – Memory mysteries. </P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9534684" width="1" height="1">

The Road to Tech Ed 2009
<P>Stephanie Ferguson, GM of Business Experiences at Microsoft’s Mobile Communications Business is going to deliver the kick off presentation of Windows Mobile 6.5 on Monday, May 11th at 1:00PM – 2:15PM. This <A href="http://www.microsoft.com/events/TechEd2009/" mce_href="http://www.microsoft.com/events/TechEd2009/">Tech Ed 2009</A> session focuses on&nbsp;Windows Mobile 6.5 and is targeted at both IT Professionals and Developers, with a cool demo and an outline of great stuff to come. Be sure to join us as we are giving away 5 Samsung Blackjack II’s!</P> <P>Whether or not you will join us for Tech Ed 2009, Microsoft is sponsoring five webcasts during the month of April.&nbsp; Links and details are provided below.</P> <P>Anthony Spencer - Windows Mobile 6.1 and Mobile Device Manager 2008: The Gateway to Your Corporate Network</P> <P><A href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032407362&amp;Culture=en-US" mce_href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032407362&amp;Culture=en-US">Tuesday, April 7th, 2009 (10:00am-11:00am PT)</A>&nbsp;&nbsp; </P> <P>Dave Field&nbsp; - Windows Mobile Digital Certificate Management</P> <P><A href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032409997&amp;Culture=en-US" mce_href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032409997&amp;Culture=en-US">Thursday, April 9th, 2009 (11:30am PT -12:30pm PT)</A>&nbsp; </P> <P>Patrick Salmon&nbsp; - Deploying MDM 2008 is easier (and cheaper) than you think </P> <P><A href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032410692&amp;EventCategory=4&amp;culture=en-US&amp;CountryCode=US" mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032410692&amp;EventCategory=4&amp;culture=en-US&amp;CountryCode=US">Friday, April 17th, 2009 (11:30am – 1:00pm PT )</A> </P> <P>Maarten Struys - Overview of Developing Windows Mobile Applications using Visual Studio 2008</P> <P><A href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032409115&amp;Culture=en-US" mce_href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032409115&amp;Culture=en-US">Thursday, April 23, 2009 (11:00am – 11:30am PT)</A></P> <P>Andy Wigley - Hiding the Key: Practical Security for Windows Mobile Applications</P> <P><A href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032409117&amp;Culture=en-US" mce_href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032409117&amp;Culture=en-US">Monday, April 27, 2009 (10:00am – 11:00am PT)</A></P> <P><EM>&lt;NOTE: Post edited to alleviate confusion. &gt;</EM></P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9534306" width="1" height="1">

What is Your Fantasy Application
<div class="ExternalClass3CDD5AA80DF943B0B7327A4C568BDBEE"> <div> <p style="margin: 0in 0in 0pt" class="MsoNormal"><font size="2" face="Calibri">Earlier this month at the TechSet Blogger Lounge during </font><a href="http://sxsw.com/"><font size="2" face="Calibri">SxSW</font></a><font size="2" face="Calibri"> in Austin, nine of the Web’s most transparent geeks shared their dreams to build a fantasy application for Windows Mobile phones. You can vote for any of these ideas at the </font><a href="http://fantasymobile.magnify.net/" target="_blank"><font size="2" face="Calibri">Fantasy Mobile</font></a><font size="2" face="Calibri"> page at Magnify.net.&#160; Microsoft will partner with a vendor to build the winning application!&#160; Voting ends during April.</font></p> <p style="margin: 0in 0in 0pt" class="MsoNormal"><font size="2" face="Calibri"></font></p> <p style="margin: 0in 0in 0pt" class="MsoNormal"><font face="Times New Roman"><font size="2" face="Calibri">For those of you who couldn’t make it to SxSW, we’d also like to hear about your fantasy mobile application. Feel free to make a comment below. What do you want to see in the marketplace?&#160; You will find the tools and resources to build it yourself </font><a href="http://developer.windowsmobile.com/" target="_blank"><font size="2" face="Calibri">here</font></a><font size="3"><font size="2" face="Calibri">!</font> </font></font></p> <p style="margin: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Times New Roman"></font></p> <p style="margin: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Times New Roman"><a href="http://fantasymobile.magnify.net/"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="fantasymobile" border="0" alt="fantasymobile" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/WhatisYourFantasyApplication_C194/fantasymobile_1.png" width="397" height="305" /></a> </font></p> <span style="font-family: &#39;Times New Roman&#39;,&#39;serif&#39;; font-size: 12pt"> <br /> <br /></span></div> </div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9505269" width="1" height="1">

Twisted Pixels - A Mobile Game Development Diary
<div class="ExternalClassCD663E7FD68142D39023F1CB7E40F59B"> <div class="ExternalClass6E197706D15E4375AACD65CA649C9A6A"> <p>My name is Norm Sohl, and I work for the Windows Mobile Developer Experience Content Team.&#160; I used to work for a game development company back in the day when a desktop PC had about as much power as the mobile phone that sits in my pocket right now. Many of the issues we contended with in those days are similar to the ones we deal with today on mobile devices. The one difference is that today the features available on our phones are far cooler than what was available on a PC back then. Data connections, WiFi, GPS, accelerometers, touch screens add so many possibilities that it can be hard to figure out where to start. </p> <p>For me, the desire to play with all this new technology is hard to resist, although I’m not even sure what to do with all these features yet. That being the case, I’m going to start by doing some experiments to see how powerful different devices are, and what kind of performance (graphics, input, audio, etc.) I can expect from them. This information will help me (and hopefully you) make a decision about what kind of game might be successful on the Windows Mobile platform.&#160; Expect to see updates to this diary about once a week in the near future.</p> <h4>Day One: Setting up for Windows Mobile Development</h4> <h5>Where to start?</h5> <p>It is safe to say that there are more options for development on Windows Mobile 6 than on any other mobile platform. WM has been around for a while, and Microsoft has built up a huge variety of APIs and development tools to support the platform. This is good - no matter what your preferred style of programming is, there is probably a supported solution on WM. It can also be confusing if you are trying to find out where to start when developing an application. </p> <p>The options include: </p> <ul> <li>Browser based development using scripting languages and Flash or Silverlight. This option is poorly supported in the existing mobile browsers, so at the moment, this is not a practical option. </li> <li>Managed Code using . NET languages and the .NET Mobile Library. </li> <li>Native coding using C++ and Windows Mobile native libraries. </li> </ul> <p><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="Speedbump3_thumb_130CCC46[1]" border="0" alt="Speedbump3_thumb_130CCC46[1]" align="left" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D1F4/Speedbump3_thumb_130CCC46%5B1%5D_3.png" width="48" height="48" />&#160; <b>Speed bump:</b> Not all Windows Mobile native libraries have managed equivalents. This means that the author of a managed program (in C# or VB for example) will have to use cumbersome and potentially unsafe methods to integrate the native library into the managed application if they wish to make use of the full libraries.</p> <p>There are also different flavors of Windows Mobile 6: Standard and Professional. The big difference is that Professional devices have touch screens, and generally more features. It’s reasonable to expect that the performance of a professional device will be superior to that of a standard (no touch screen) device and the touch screen allows more input possibilities so I expect to focus on those devices. </p> <p>At the moment, I’m not sure if I want to develop on managed or unmanaged code. I prefer to develop in C# using managed code, but may need the performance and APIs that are available to the C++ programmer. Luckily, I will use the same tools to develop both kinds of applications for WM, so I don’t have to decide what environment to use quite yet. </p> <h5>Reading up</h5> <p>In the past, the first stop in making sense of all these options would be to check Microsoft’s official documentation on MSDN, but that is changing. The official starting point for development on Windows Mobile is now the <a href="http://developer.windowsmobile.com/" mce_href="http://developer.windowsmobile.com/">Windows Mobile Developer Portal</a>. </p> <p>For the moment, I actually prefer the material found on a different site -<a href="http://msdn.microsoft.com/en-us/windowsmobile/default.aspx" mce_href="http://msdn.microsoft.com/en-us/windowsmobile/default.aspx">Windows Mobile Developer Center</a>, although I’m told that these two sites will be integrated in the next few months. This site has webcasts, videos, and (of course) this blog. </p> <p>The first thing I want to do is set up my development environment, and so I started looking for a section that would tell me how to start.&#160; I already have a copy of Visual Studio 2008 installed, and wanted to use it, so I looked for that first. </p> <h5>Setting up</h5> <p><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="Speedbump3_thumb_130CCC46[1]" border="0" alt="Speedbump3_thumb_130CCC46[1]" align="left" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D1F4/Speedbump3_thumb_130CCC46%5B1%5D_4.png" width="48" height="48" /><b>Speed bump</b>: Unlike the documentation on MSDN (<a href="http://msdn.microsoft.com/en-us/library/bb158486.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb158486.aspx">Windows Mobile 6 Documentation</a>) which only covers Visual Studio 2005, the information I found for setting up Visual Studio 2008 on the Developer Center was in videos. See <a href="http://code.msdn.microsoft.com/WM6YourFirstApp" mce_href="http://code.msdn.microsoft.com/WM6YourFirstApp">http://code.msdn.microsoft.com/WM6YourFirstApp</a> for a good getting started video. </p> <p><span style="font-family: &#39;Calibri&#39;,&#39;sans-serif&#39;"></span><font color="#000000" size="3" face="Times New Roman"></font>Although the videos are current, excellent and accurate, watching the video is more time consuming than reading a procedure, (and impossible to find via search) so I’ll summarize them here: </p> <ol> <li>Install Visual Studio 2008. The SDK only works with the Standard and Professional editions, not with the free Express editions. There is a 90 day trial edition that you can download for free at the following web page: <a href="http://msdn.microsoft.com/en-us/vs2008/products/cc268305.aspx" mce_href="http://msdn.microsoft.com/en-us/vs2008/products/cc268305.aspx">Try Visual Studio 2008 - Trial Software</a>. </li> <li>Install the <a href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx" mce_href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx">Visual Studio 2008 Service Pack 1 and .NET Framework 3.5 Service Pack 1</a>. There may be other service packs available by the time you read this. Information on the latest service packs may be found at the following page: <a href="http://msdn.microsoft.com/en-us/vstudio/products/default.aspx" mce_href="http://msdn.microsoft.com/en-us/vstudio/products/default.aspx">Visual Studio 2008 Development System</a>. </li> <li>Download the Windows Mobile 6 SDKs from the following page: <a href="http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&amp;displaylang=en Refresh">Mobile 6 Professional and Standard Software Development Kits Refresh</a>. I am installing both, although I am planning on writing only for the Professional Edition device. You never know when you might change your mind! </li> </ol> <p><b>Note</b>: if you have installed the SDKs before Visual Studio 2008, you will need to remove and re-install them after the VS 2008 install. </p> <h5>Building a test application</h5> <p>To confirm that you have a working installation of Visual Studio and the SDK(s), try creating a simple application. I created a blank C++ project by following these steps: </p> <ol> <li>On the start page of Visual Studio 2008, in the upper left hand corner, there is a block titled “Recent Projects”. At the bottom of this block, there is a link for Opening a Project, and for Creating a Project. Choose Create Project. </li> <li>In the New Project dialog box, choose “Visual C++, then “Smart Device in the Project Types list. The Templates section should be populated with different project templates for different kinds of projects. </li> <li>Choose Win32 Smart Device Project, and enter a name for the project. “Test” is fine. Click OK. </li> <li>The Win32 Smart Device Project Wizard opens. The presets are set to Windows Mobile 5.0, which I don’t want to use, so I choose the Next button at the bottom of the dialog. </li> <li>This brings up a list of installed Windows Mobile SDKs. I am going to remove the Windows Mobile 5.0 SDK from the Selected SDKs list, and add the Windows Mobile6 Professional SDK and Windows Mobile Standard SDK. Once this is done, I click Next. </li> <li>In the Project Settings Dialog, I select “Windows application” and click Finish. The dialog closes, and Visual Studio creates a new project, populated with basic files, named “Test”. </li> </ol> <p>In Visual Studio, I make sure that “Windows Mobile 6 Professional Emulator” is chosen in the drop down list on the upper left tool bar. I then build the application “Test”, and choose to start debugging. </p> <p>The Emulator appears, and in a moment, my application (with a blank screen) loads and is displayed in the emulator. </p> <p>&#160;<img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="TestProgramImage_7_7C4A0A8C" border="0" alt="TestProgramImage_7_7C4A0A8C" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/TwistedPixelsAMobileGameDevelopmentDiary_D1F4/TestProgramImage_7_7C4A0A8C_3.jpg" width="355" height="546" /> </p> <p>Clicking on the close icon in the upper right hand corner shuts down my application, and Visual Studio returns to its default state. </p> <p>Excellent – that was easy, and everything works! </p> <p>If I wanted to build for a different flavor of Windows Mobile (Standard, Windows Mobile 5, or deploy to an actual device, I would choose a different option from the upper left hand tool bar drop down. Does it all make sense so far? </p> <p>Next up – Doing Graphics!</p> </div> </div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9493552" width="1" height="1">

Windows Mobile 6.5 – What’s in for developers?
<P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT face=arial,helvetica,sans-serif>Hello, this is Jorge again ready to share new information about what I’ve been doing since we shipped 6.1 and the sliding panel home screen update.</FONT></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT face=arial,helvetica,sans-serif></FONT>&nbsp;</P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT face=arial,helvetica,sans-serif>Lots have been said already about the end user features of Windows Mobile&nbsp; 6.5 like My Phone, The new look, the enhanced touch support, etc. but now it is getting time to start talking about what is new for developers as well.</FONT></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p><FONT face=arial,helvetica,sans-serif>&nbsp;</FONT></o:p></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT face=arial,helvetica,sans-serif>For the first time since windows mobile 6 shipped we are expanding our development story to make easier and more accessible writing applications that not only look great but also consume cloud services to bring a portable chunk of the web to our mobile devices. </FONT></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><FONT face=arial,helvetica,sans-serif>&nbsp;</FONT></o:p></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT face=arial,helvetica,sans-serif>Up until today developers have basically two options to create applications for Windows Phones:</FONT></P> <P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.75in; mso-list: l0 level1 lfo1" class=MsoListParagraph><FONT face=arial,helvetica,sans-serif><SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">a)<SPAN style="FONT: 7pt 'Times New Roman'"><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></SPAN></SPAN>Native Code (primarily in C/C++)</FONT></P> <P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.75in; mso-list: l0 level1 lfo1" class=MsoListParagraph><FONT face=arial,helvetica,sans-serif><SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"><SPAN style="mso-list: Ignore">b)<SPAN style="FONT: 7pt 'Times New Roman'"><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></SPAN></SPAN>Managed code (using the .net compact framework)</FONT></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT face=arial,helvetica,sans-serif>And even though there have been lots of improvements on our tools and libraries, writing great looking mobile apps is still hard to do.&nbsp; Starting on 6.5 though we are adding a new option for developers out there… “Windows Mobile Widgets”.</FONT></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><FONT face=arial,helvetica,sans-serif>&nbsp;</FONT></o:p></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT face=arial,helvetica,sans-serif>A good way to think of a Windows Mobile Widget is as a “Portable chunk of the web” or just basically a rich internet application.&nbsp; Widgets are written using all the web technologies we know and love (HTML, CSS, AJAX, JavaScript) and, since they are powered under the covers by our new internet browser, they have full access to flash and other ActiveX controls available on the device (Like MediaPlayer).</FONT></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><FONT face=arial,helvetica,sans-serif>&nbsp;</FONT></o:p></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT face=arial,helvetica,sans-serif>The interesting thing about our Widget Platform is that it allows them to look and feel, to the end user, as a normal standalone application does; they have their own start menu icon, they show up as an individual apps in task manager and, most importantly, they have full control of the SK menu bar as any other application would (just easier <SPAN style="FONT-FAMILY: Wingdings">J</SPAN>).</FONT></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><FONT face=arial,helvetica,sans-serif>&nbsp;</FONT></o:p></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT face=arial,helvetica,sans-serif>Sounds good so far? Well there is more, For this new platform we are implementing the latest draft of the emerging W3C standard for mobile widget applications (</FONT><A href="http://www.w3.org/TR/widgets/"><FONT color=#0000ff face=arial,helvetica,sans-serif>http://www.w3.org/TR/widgets/</FONT></A><FONT face=arial,helvetica,sans-serif>) as well as ensuring that basic things like native support for transparent PNGs as well as support for the Window.XMLHttpRequest object work as expected. </FONT></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><FONT face=arial,helvetica,sans-serif>&nbsp;</FONT></o:p></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT face=arial,helvetica,sans-serif>Expect to hear a lot more information about our Widget platform on the following months; specifically we will have sessions on TechDays in April </FONT><A href="http://www.msfttechdays.com/public/home.aspx"><FONT face=arial,helvetica,sans-serif>http://www.msfttechdays.com/public/home.aspx</FONT></A><FONT face=arial,helvetica,sans-serif> and TechEd 2009. But for now here are some screenshots of the MSN widgets created by the Windows Live team as a showcase for our new platform.</FONT></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT size=3 face=Calibri></FONT>&nbsp;</P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><IMG style="WIDTH: 480px; HEIGHT: 640px" hspace=5 vspace=5 src="http://pgtwnw.bay.livefilestore.com/y1pdDbcQw-YreKD732EaXpozPtSqrMils2MQBrlRtrgpT_aL8i4xWc12DznZlpRtjMxdTYus7__aIQ/Search.png" width=480 height=640 mce_src="http://pgtwnw.bay.livefilestore.com/y1pdDbcQw-YreKD732EaXpozPtSqrMils2MQBrlRtrgpT_aL8i4xWc12DznZlpRtjMxdTYus7__aIQ/Search.png"></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><IMG style="WIDTH: 480px; HEIGHT: 640px" hspace=5 vspace=5 src="http://pgtwnw.bay.livefilestore.com/y1po8kqSAGuimgQS8cdZ_N6jh0msAEZ5H9ed4OvagF0hsZa4EQ_urdZwCp3XNxEsgGSt8VpE4Qc4pA/Money.png" width=480 height=640 mce_src="http://pgtwnw.bay.livefilestore.com/y1po8kqSAGuimgQS8cdZ_N6jh0msAEZ5H9ed4OvagF0hsZa4EQ_urdZwCp3XNxEsgGSt8VpE4Qc4pA/Money.png"></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><IMG style="WIDTH: 480px; HEIGHT: 640px" hspace=5 vspace=5 src="http://pgtwnw.bay.livefilestore.com/y1prbQ91Xhn5OjDC_-5KkruSURH5qHwrRPQ7ySEVN5dfXYch8I0JPDf5pIBvX00TuqWsfKnt6SQE3c/Weather.png" width=480 height=640 mce_src="http://pgtwnw.bay.livefilestore.com/y1prbQ91Xhn5OjDC_-5KkruSURH5qHwrRPQ7ySEVN5dfXYch8I0JPDf5pIBvX00TuqWsfKnt6SQE3c/Weather.png"></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><IMG style="WIDTH: 320px; HEIGHT: 240px" hspace=5 vspace=5 src="http://pgtwnw.bay.livefilestore.com/y1pCFM5K9cDidHDlntgy6ITUlBwA93r5BvZ9jmQMm1Ln-UudHMUpw5ORcwxpGbHhq3-z26-X4nwaYEhcncrhubRkw/CEZoom2.BMP" width=320 height=240 mce_src="http://pgtwnw.bay.livefilestore.com/y1pCFM5K9cDidHDlntgy6ITUlBwA93r5BvZ9jmQMm1Ln-UudHMUpw5ORcwxpGbHhq3-z26-X4nwaYEhcncrhubRkw/CEZoom2.BMP"></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><IMG style="WIDTH: 320px; HEIGHT: 240px" hspace=5 vspace=5 src="http://pgtwnw.bay.livefilestore.com/y1pDj12_AZOrU9GFNy4eQtLOSx4Oyw7FydPkOhFKtLL3zLRT5Hcw8zxyj5_mqS7yotqWMZyO4rdlZ8/CEZoom0.BMP" width=320 height=240 mce_src="http://pgtwnw.bay.livefilestore.com/y1pDj12_AZOrU9GFNy4eQtLOSx4Oyw7FydPkOhFKtLL3zLRT5Hcw8zxyj5_mqS7yotqWMZyO4rdlZ8/CEZoom0.BMP"></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><IMG style="WIDTH: 320px; HEIGHT: 240px" hspace=5 vspace=5 src="http://pgtwnw.bay.livefilestore.com/y1pOtQEE36dTnJptxu3WjoaLCl9leZMtxEkZcCjD1vYeRF5nwsRCAYh3einkkt8XrUdu8MoTyDouZo/CEZoom1.BMP" width=320 height=240 mce_src="http://pgtwnw.bay.livefilestore.com/y1pOtQEE36dTnJptxu3WjoaLCl9leZMtxEkZcCjD1vYeRF5nwsRCAYh3einkkt8XrUdu8MoTyDouZo/CEZoom1.BMP"></P><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9488095" width="1" height="1">

developer.windowsmobile.com
<div class="ExternalClass83BB1084C81544F5966F77331EA4B3A6"> <div>Earlier this week our refreshed Windows Mobile developer portal went live! Shortly thereafter, I was privileged to meet with Program Manager Michelle Rowley.&#160; In this embedded video clip, Michelle takes us on a tour of the new site and offers some great tips on how developers can take action today.</div> <div>&#160;</div> <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:46be3509-38d0-4e0f-a820-f9014e888d84" class="wlWriterEditableSmartContent"><div id="a5f67d77-a5ea-4c74-b934-4b4386265897" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=mPwTCkDnScA" target="_new"><img src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/developer.windowsmobile.com_11040/videoc1fcc99cdfa1.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('a5f67d77-a5ea-4c74-b934-4b4386265897'); 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/mPwTCkDnScA&amp;hl=en\&quot;&gt;&lt;\/param&gt;&lt;embed src=\&quot;http://www.youtube.com/v/mPwTCkDnScA&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> <div>&#160;</div> <div>&#160;</div> <div>One of the most distinct divisions within the site <strong>Overview</strong> section are the separate tabs for developing and distributing applications.&#160; The <strong>Distributing Applications</strong> tab offers a link to sign up for the <a href="https://profile.microsoft.com/RegSysProfileCenter/wizard.aspx?wizid=93cfdf69-b1e0-4e97-9653-5fe2747cfacc&amp;fu=http://developer.windowsmobile.com/confirmation.aspx?ref=newsletter&amp;cu=http://developer.windowsmobile.com?&amp;ref=newsletter" target="_blank">Developer Newsletter</a> to be notified about early registration for selling your application in the Windows Marketplace for Mobile.&#160; </div> <div>Before you can distribute applications you must have an application worth distributing.&#160; The <a href="http://developer.windowsmobile.com/GettingStarted.aspx" target="_blank">LEARN MORE</a> link within the <strong>Developing Applications</strong> tab takes you to the <strong>Getting Started</strong> section of the site, where you can follow 3 simple steps: Develop, Test, and Distribute. </div> <div>Need a shoulder to lean on once in a while? Are you an expert who thrives on taking others under your wing?&#160; Become an active member of the Windows Mobile developer community!&#160; Within the <strong>Community</strong> section you will find links to engage via <a href="http://twitter.com/wmdev" target="_blank">Twitter</a>, <a href="http://www.facebook.com/pages/Windows-Mobile-Developer/39963827922?ref=mf" target="_blank">Facebook</a>, and of course our <a href="http://blogs.msdn.com/windowsmobile/" target="_blank">Windows Mobile Team Blog</a>, among many other community resources.</div> <div>In closing, stay tuned for more information within the <strong>Marketplace</strong> section of our site, sign up for the Developer Newsletter, and get started writing the next killer mobile app!</div> <div>&#160;</div> <div>&#160;</div> <div>&#160;</div> <div>&#160;</div> <div>&#160;</div> <div>&#160;</div> </div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9473725" width="1" height="1">

Windows® Marketplace for Mobile Developer Strategy Announced!
<div class="ExternalClass75DA09A8E9C84D65A4E5BF37476837D5">When Windows® Marketplace for Mobile was originally <a href="http://blogs.msdn.com/windowsmobile/archive/2009/02/16/introducing-windows-marketplace-for-mobile.aspx">announced</a> on February 16th, we indicated that additional information would be available soon. Well, the waiting is over. Today, Microsoft announced the <a href="http://www.microsoft.com/presspass/press/2009/mar09/03-11WMMDevelopersPR.mspx" target="_blank">developer strategy for the next generation of Windows® Phones</a>, which includes a number of key benefits for developers. In our <a href="http://blogs.msdn.com/windowsmobile/archive/2009/02/16/introducing-windows-marketplace-for-mobile.aspx">previous post</a>, we discussed how Marketplace addresses the challenges of distribution and monetization for developers with an easily discovered, on-device application that can distribute your applications to millions of users. Today’s announcement builds upon these benefits by providing developers with additional insights into how they will be able to participate. Let’s look at some of the specifics in greater detail.</div> <div class="ExternalClass75DA09A8E9C84D65A4E5BF37476837D5">&#160;</div> <div class="ExternalClass75DA09A8E9C84D65A4E5BF37476837D5"><strong>What is the revenue and distribution opportunity for developers?</strong></div> <div class="ExternalClass75DA09A8E9C84D65A4E5BF37476837D5"> <ul> <li>Developers will earn 70% of the revenue generated from sales of their applications. </li> <li>Applications can be priced and sold in 29 markets using targeted pricing strategies to maximize revenues. This is a great opportunity to tap into a broad international customer base. </li> <li>Applications can also be distributed through the Marketplace for free. </li> </ul> </div> <div><strong>Tell me more about how to participate…</strong></div> <ul> <li>In the spring, we will release the registration process for you to sign up.&#160; Application submissions will be accepted beginning this summer. </li> <li>Developers will be able to submit up to 5 applications to the Marketplace for the annual registration price of $99.&#160; Each additional application within the annual period will have a cost of $99. </li> <li>For students enrolled in the <a href="https://www.dreamspark.com/default.aspx" target="_blank">DreamSpark</a> program, the registration fee will be waived. </li> </ul> <p><strong>How do I get my applications into the Marketplace?</strong></p> <ul> <li>We want developers to focus on their core competency of developing innovative applications. At the same time we will work with developers to ensure that their applications run optimally on Windows phones. We will accomplish this by running a rigorous certification and testing process before applications go to market. </li> <li>Developers will be able to see detailed feedback during and after the certification process of their applications on the Windows Marketplace for Mobile developer portal. </li> </ul> <div><strong>What do I need to get started?</strong></div> <ul> <li>You can utilize familiar tools and technologies like Visual Studio and the .NET Compact Framework 3.5 to build great applications. </li> <li>Get the Windows Mobile 6 SDK and everything you need to get started at <a href="http://developer.windowsmobile.com">http://developer.windowsmobile.com</a> </li> </ul> <p>As I mentioned, you will have access to all details once the registration doors open in the spring. Subsequently you will be able to start submitting applications later this summer. For now, check out the <a href="http://www.microsoft.com/presspass/press/2009/mar09/03-11WMMDevelopersPR.mspx" target="_blank">press release</a>, and <a href="http://www.youtube.com/watch?v=p3nfVvBvD9Q" target="_blank">watch this interview</a> with Marketplace Product Manager, Inigo Lopez. </p> <p>&#160;</p> <p></p> <div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:1d17d385-0559-49fd-b639-7f39c676aa1b" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"><div id="3439c4f4-8541-4a2d-95eb-5f28b55e065b" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=p3nfVvBvD9Q" target="_new"><img src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DeveloperStrategyForWindowsMarketplacefo_12311/video2f15a40864b7.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('3439c4f4-8541-4a2d-95eb-5f28b55e065b'); 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/p3nfVvBvD9Q&amp;hl=en\&quot;&gt;&lt;\/param&gt;&lt;embed src=\&quot;http://www.youtube.com/v/p3nfVvBvD9Q&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></p> <p>&#160;</p> <p>Please feel free to send us your questions or feedback. We look forward to hearing from you!</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9470798" width="1" height="1">

Andrew Seybold's Innovation Rally at International CTIA Wireless 2009
<P>The Andrew Seybold Innovation Rally, offered for the first time this year as part of ANDREW SEYBOLD WIRELESS UNIVERSITY, offers an up-close look at how some of today’s most innovative thinkers are rallying to create and deploy new mobile services that extend their lead over the rest of the industry. This racing-themed program will provide a unique look into the future of blended services, data and applications. As a backdrop for these discussions, the program will highlight advances in electric car technology and a first look at a “digital dashboard” that fulfills the promise of proximity-based content. Innovation Rally speakers will include Rick Geremeth, Vice President of IT for Motorsports Authentics; Michael Kadie, CEO of Electric Car Kit SSI Racing; Mike Wehr, CEO of the Mobile Marketing Association; James Oyang, CEO of Pharos; Nagesh Challa, Chairman of Ecrio Inc.; and Sue Marek, Editor-in-Chief for Fierce Wireless. For a complete agenda for Andrew Seybold Innovation Rally and ANDREW SEYBOLD WIRELESS UNIVERSITY, please visit <A href="http://www.andrewseybold.com/" mce_href="http://www.andrewseybold.com/">www.andrewseybold.com</A>.</P> <P>“We’re looking for the most innovative mobile services applications from the most visionary developers, regardless of platform or network, to participate in our AppWar,” said Andrew Seybold. “In tough economic times, there can be a tendency to play it safe, stay with what works and minimize risk. We’ll be featuring developers who have put ‘the pedal to the metal’ to create groundbreaking applications that distance them from the rest of the field.” Finalists in the AppWar will give quick presentations of their applications and the audience will select three winners to experience the thrill of driving in a NASCAR-style stock car at any one of 20 historic raceways in the U.S., courtesy of the Richard Petty Driving Experience (www.1800bepetty.com). For complete contest rules and submission guidelines, please visit www.andrewseybold.com.</P> <P>In its 15th year, ANDREW SEYBOLD WIRELESS UNIVERSITY explores complex issues facing wireless mobility by examining the elements – technologies, devices, applications and content. With a focus on trends and current issues, this seminar is relevant to neophytes in wireless or well entrenched professionals across the industry. To register for the event, please visit <A href="http://www.ctiawireless.com/events/" mce_href="http://www.ctiawireless.com/events/">http://www.ctiawireless.com/events/</A>. The event is sponsored by Alvarion, Qualcomm Gobi, Vaultus and Wireless Week.</P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9457875" width="1" height="1">

DreamSpark for Students
<div class="ExternalClass3195F7B04FB94A45B04148DB669555A4"> <div>We are often asked by students how they can get powerful tools for Windows Mobile application development. Mobile development is officially supported using Visual Studio 2005 Professional Edition.&#160; Visual Studio 2008 Professional Edition has also been widely adopted by the community as a solid mobile development platform.&#160; Many universities partner with Microsoft in a variety of ways to provide software to students.&#160; One popular partnership for students is the DreamSpark program.&#160; Check it out!</div> <div>&#160;</div> <div><a href="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DreamSparkforStudents_911D/image_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/windowsmobile/WindowsLiveWriter/DreamSparkforStudents_911D/image_thumb.png" width="484" height="86" /></a> </div> <div>&#160;</div> <div>Microsoft DreamSpark enables students to download valuable Microsoft developer and design tools at no charge. Their site enables students to download professional-level Microsoft developer tools to advance their learning and skills through technical design, technology, math, science and engineering activities. </div> </div> <p>In order to get this software at no charge, students are asked to establish or verify their student status once every 12 months. This process is built into the <a href="https://www.dreamspark.com/default.aspx" target="_blank">DreamSpark</a> site itself. Verification of valid student status will enable students from around the globe to download Microsoft developer and design tools at no charge. </p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9444454" 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.