We're excited to announce the fourth in a series of barcamp-style events for the upcoming Microsoft Windows Mobile 6.5 OS!

WinMoDevCamp Atlanta | October 30, 2009
WinMoDevCamp is a series of upcoming not-for-profit gatherings to develop applications for the upcoming release of the Microsoft Windows Mobile 6.5 O/S.
Attendees will vote on which (if any:-)) presentation topics are covered. Bring your laptop to experience and participate in developing applications (local and web based) for mobile devices that run the Windows Mobile 6.5 Operating System.
Attendees will be able to:
- Vote on which presentations are covered.
- Create new applications for the Windows Mobile Platform.
- Meet and work side-by-side with Microsoft Windows Mobile Developer Evangelist.
Many thanks to the Microsoft Mobile Developer Experience team for their support in making these events happen!
Go register here:
http://winmodevcampatlanta.eventbrite.com/
October 6th was the big launch day for Windows Phone and there are many great posts on the new devices available. I have more info on devices here. As background, since the initial release of Windows Mobile 6, the Windows Mobile team has progressively enhanced the Windows CE 5 operating system that powers the Windows Mobile platform. You should expect better application stability, much more virtual memory available to running apps, and faster execution. Here is some additional background for developers interested in developing for the Windows Phone:
Web developers can now target Internet Explorer 6 Mobile for their applications. Not only does this browser provide full desktop fidelity as the default configuration, it also includes the fast IE8 JavaScript engine to speed up code execution, DOM manipulation and Ajax calls. You can test out the new Windows Mobile 6.5 web browser over at http://asp.net in the device emulators and watch it accurately render all the Ajax controls.
Both Native and Managed code developers can take advantage of the new Gesture API to add panning and flicking to their apps. The built-in physics engine allows developers to add smooth, finger-friendly scrolling. The Gesture APIs are available in C++ as part of the Windows Mobile 6.5 Developer Toolkit. Luckily some great folks (Maarten Struys, Alex Yakhnin and Ron Buckton) created a managed wrapper available here. There is a code sample also available here.
For web developers interested in building data snacking applications, Windows Mobile 6.5 introduces Widgets as an alternative to C++ or .NET development. Here is my blog post providing links and information regarding Windows Mobile 6.5 widgets.
If you need a quick checklist on setting up a Windows Mobile development environment please check out my blog post here.
Find all about the great Windows Phones available at http://www.windowsphone.com. For the first time Windows Phones targets both business and consumer users. Traditionally Windows Mobile has focused on business users but the market has drastically changed in the past couple of years. Here are few of the new devices available:

You can go to this link to learn more about the above Windows Phones. Also, you may have a device that is eligible for upgrade. This link has more information on updating your phone to Windows Mobile 6.5.
As background, Microsoft expects our partners to deliver more than 30 Windows phones in over 20 countries by the end of this year. You can read more on what features are driving this new release of Windows Mobile at this link.
For some fun, check out the Windows Phone Theme Generator here.
Rob Tiffany recently updated his book available at Amazon on Enterprise Data Synchronization with SQL Server 2008 and SQL Server Compact 3.5. This is THE book to read if you need to get data to Mobile Devices.
With the new Marketplace for Windows Mobile, developers are thinking about consumer-facing applications for Windows Mobile devices as well as enterprise apps. Rob’s book certainly still applies but I asked Rob a question last week regarding simpler data synchronization scenarios that may apply to a consumer application. Rob must be getting this question a lot because he recently published a blog post outlining on when Remote Data Access or RDA can be a great scenario.
Developers tend to want to write code, which I can relate to:-), but at the end-of-the-day you want your coding efforts to be as productive as possible, so keeping it simple where you can on a project is a must.
Here’s a link with more info on RDA. (There is a note referring to “design limitations”. These are exactly the points that Rob Tiffany is making that for some scenarios, simple is better:-))
Once I have my Zune HD Original in hand I’ll blog more about the new programming model but here’s a quick look at some of the highlights:

Zune HD
Zune HD is the latest player in the Zune device family, available in 16GB and 32GB capacities and is the first touch screen Zune with HD functionality and powerful technology to give consumers a different way to experience music and video on-the-go.
- HD Radio –Zune HD comes with a built-in FM HD Radio receiver enabling users to tune to more free stations with even better clarity and sound quality.
- HD Video Out – Connect your Zune HD to the optional Zune Premium A/V docking station and watch HD videos, TV shows and movies in your large screen TV in 720p high definition.
- Internet Browser and Wi-Fi - Zune HD includes a full-screen Internet browser optimized for multi-touch and Wi-Fi connectivity.
![clip_image001[4] clip_image001[4]](http://blogs.msdn.com/blogfiles/robcamer/WindowsLiveWriter/SummaryofZuneHDRelatedAnnouncements_CF7B/clip_image001%5B4%5D_thumb.jpg)
Zune Software
- QuickPlay – A whole new user interface that offers one-click access to your favorites, and recent activity on both the PC and your Zune HD.
- Smart DJ - With one click, Zune becomes your personal DJ, creating and serving you an endless playlist based on the genre, style and influences of the song or artist you choose.
Zune Services (Zune Marketplace and Zune.net)
- For the first time, Zune Marketplace is offering full-length movies in HD and SD format for download and rental; download HD TV shows and movies and watch them on your Zune or PC. Or with the optional A/V docking station, watch them in high definition on your HDTV.
- Zune.net Streaming - With a Zune Pass, stream music directly from Zune.net from any internet-connected computer. No client software download needed.
- Zune Pass - Access nearly 6 million songs for only $14.99 a month and keep 10 free MP3 downloads each month.
- Zune Pass + SmartDJ - If you have a Zune Pass you can use SmartDJ to stream an endless playlist from the nearly 6 million song Zune catalog from any internet connected PC via Zune.net, no download required.
Here’s a snap of the Zune HD original that I am waiting on…

Register before September 15th to receive a $500 discount here. More info on the PD:
See the Future of Developer Technology
November 17 – 19, 2009
Los Angeles Convention Center
The Professional Developers Conference (PDC) is the definitive developer event focused on the technical strategy of the Microsoft developer platform. Attendees come from around the world to learn about the future of Microsoft developer technology directly from the people who make it happen. If you’re a developer, architect or technology leader involved in making strategic technology decisions, the PDC is for you. More...
An old teammate in DPE now a new Seattle resident working on Channel 9 / part-time Coding for Fun blogger Clint Rutkas posted some good questions recently on an internal discussion list, thus motivating me to create this post.
If you are looking to start developing for Windows Mobile (or simply rebuilding a laptop), you will find that Visual Studio 2008 Professional or higher includes the Windows Mobile 5.0 SDK with .NET Compact Framework 2.0. Here is an additional list of items that I install in order to build out a Windows Mobile 6.x Development environment:
Check out the Windows Mobile RampUp program if you are new to Windows Mobile development. Also, don’t forget to check out the “How Do I” videos on the Windows Mobile Development Center.
This site Developer.WindowsMobile.com has information on the Windows Marketplace for mobile and you will also want to subscribe to the Windows Mobile Team Blog as well.
A question came up on standardizing on .NET Framework 3.5 and the effects on older ASP.NET applications. The short answer is that .NET Framework 3.5 is compatible with .NET Framework 2.0 or 3.0. However, .NET Framework 1.0 / 1.1 ASP.NET applications are not compatible with .NET Framework 2.0 or higher, i.e. there are breaking changes. Here’s some additional background….
Background:
http://www.danielmoth.com/Blog/2007/06/net-framework-35.html
Starting with .NET Framework 3.0 (.NET 2.0 laid the foundation), the .NET Framework is divided up into red bits and green bits. Red bits are core functionality available in .NET 2.0, 3.0 and 3.5, i.e. the CLR, base ASP.NET support, etc.. Green bits are the “new stuff” that is additive. ALL share the same core CLR in .NET Framework 2.0 so any changes in service packs that touch red bits are consistent in .NET 2.0, 3.0, and 3.5. If you have any doubts:-) compare the contents of these directories:
C:\Windows\Microsoft.NET\Framework\v2.0.XXXXX (contains the core CLR assemblies like all the mscor*.dll assemblies and core asp.net binaries)
C:\Windows\Microsoft.NET\Framework\v3.0 (new libraries for WCF, WPF, and WF 3.0)
C:\Windows\Microsoft.NET\Framework\v3.5 (more additive updates including new compilers, assemblies, msbuild functionality, and tools but no new core CLR libraries).
(Note the XXXXX version is important in that 3.0 and 3.5 include service packs that will update the XXXXX build number because they will force service pack updates on .NET 2.0 to keep the runtime up-to-date, however, those same updates are also available for the stand-alone version of .NET 2.0).
Change in green bits are additive to .NET 2.0. Developers do not pull in additive pieces (green bits) (and are not affected by green bit installs) until they add a reference to 3.0 or 3.5 assembly OR if they install green bits and have not kept .NET Framework 2.0 up-to-date. So if an application runs on .NET Framework 2.0 and hasn’t been recompiled to a newer version, it does not matter whether 3.0 or 3.5 are installed on the same server or not as long as they are patching correctly. To put it another way, if they are patching .NET 2.0 and keeping it up to date the red bits are the same whether 2.0 is only installed or whether 3.0 or 3.5 are installed as well as 2.0.
The product team took these actions to reduce complexity and to not make the same mess as what happens in some other run-time environments. To put it another way:-) if .NET 3.5 does need to update red bits, the same update would also available for .NET framework 2.0 to keep things consistent---so keep things up-to-date via System Center / windows update and consistency is maintained.
To clarify further, I found a blog post with a somewhat confused blogger:
http://www.alexthissen.nl/blogs/main/archive/2007/03/17/framework-3-5-green-bits-can-touch-existing-framework-files.aspx
The blogger misinterprets what “not touched” means. As an example, if you install .NET Framework 3.0 or 3.5 on an original install (RTM) of the .NET Framework 2.0, both the .NET Framework 3.0 and 3.5 will update .NET Framework 2.0 (red bits) to .NET Framework 2.0 SP1 as a minimum, i.e red bits are still serviced and patched with hotfixes and service packs.
When you look at the download page for .NET Framework 3.5 it clearly states that .NET Framework 2.0 RTM will be serviced to .NET Framework 2.0 SP1:
http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&DisplayLang=en
“Microsoft .NET Framework 3.5 contains many new features building incrementally upon .NET Framework 2.0 and 3.0, and includes .NET Framework 2.0 service pack 1 and .NET Framework 3.0 service pack 1”
So, if a server is already at .NET Framework 2.0 SP1, there are not any changes---i.e. keep servers patched and up-to-date and consistency is maintained.
As additional background, .NET Framework 1.0 mainstream support ended 10 July 2007, and extended support ended 14 July 2009. Mainstream support for .NET Framework 1.1 ended on 14 October 2008, and extended support ends on 8 October 2013. Since .NET 1.1 is a component of Windows Server 2003, extended support for .NET 1.1 on Server 2003 will run out with that of the OS - currently 14 July 2015. More information on support lifecycle information is available here.
.NET Framework Support Lifecycle
Build a Windows Mobile application and submit it to the Marketplace for Windows Phones. This post on the Windows Mobile team blog has more details.
Race to Market Challenge
- Prizes; 4 Microsoft Surface tables (Developer Edition), online marketing & promotion of your app and challenge trophies for the mantle.
- Applications will be judged on:
- Most downloads of a free app
- Most valuable app (downloads x price)
- Most useful (as judged by Microsoft panel)
- Most playful (as judged by Microsoft panel)
- Contest runs from launch to Dec 31, 2009.
The contest is open to ISV’s & Developers who live in countries or regions where Windows Marketplace for Mobile is available. Further details, including Official Rules, are available at http://mobilethisdeveloper.com.
Here are several blog posts to provide you the latest information on Windows Mobile and the Marketplace for Windows Phones:
http://blogs.msdn.com/robcamer/archive/tags/Windows+Mobile/default.aspx
Last week, Microsoft expanded availability for Expression Studio to all MSDN Premium subscribers with the release of Expression 3 on MSDN Subscriber Downloads.
Previously, only subscribers at the Visual Studio Team System Team Suite with MSDN Premium level have been able to download Expression Studio, while all other MSDN Premium subscribers (e.g., Visual Studio Professional with MSDN Premium, Visual Studio Team System Development Edition with MSDN Premium, etc.) only had access to Expression Web and Expression Blend.
Expression Studio 3 Download (available to MSDN Premium subscribers)
One feature to check out is the new Expression Encoder Screen Capture utility that allows you to capture your screen recordings , PC audio, and webcam video in Expression Encoder 3.

Be sure to download and check out Expression Studio 3 now that it is available to all MSDN Premium Subscribers.
From the download link:
Hopper is a software test tool that simulates random user input on Windows Mobile devices providing a sometimes meaningful mean time to failure (MTTF) number. It is designed to find bugs and is not intended to run scenario tests or do "specific user things" - it is completely random. '
Hopper stresses the entire device and will execute anything accessible through the UI many, many times. It has no knowledge of where it is at any time and has limited ability to detect poor system health. Hopper executes randomly, thus different bugs might be encountered each time the tool runs. Fixing enough bugs to impact MTTF may take many runs. Reproducing specific runs and/or finding the particular bug that caused any specific failure can prove to be difficult.
While Hopper excels at finding system stability bugs quickly, it was never designed to debug or diagnose the source of any particular problem. It utilizes a "system snapshot" log at regular intervals which can help you understand fault.
Determining device MTTF via stress testing and debugging is a simple process: run a stress tool until the device fails, diagnose the failure, fix the bug, and re-start the stress tool. In theory, each time a bug gets fixed, MTTF increases because the tool runs longer without a failure.
At the Worldwide Partner Conference, Microsoft announced that the Windows Marketplace for Mobile will also support Windows Mobile 6.0 and 6.1 phones by the end of the year. This means that you can write an applicaiton that targets over 30 million Windows Mobile devices! The store will also feature a dedicated Business Center for distributing application to enterprise users.
As a developer, you can register for the marketplace now as detailed at this link. The marketplace will begin accepting applications on July 27. There will also be a related developer contest announced on the same day. Below are a few references to help you get the information you need.
Getting Started
Windows Mobile RampUP – This is a great place for developers to get a hands-on start with Windows Mobile development.
The Windows Mobile developer site is here.
The MSDN Windows Mobile Dev Center is here.
The Windows Mobile Team blog is here.
Experienced Windows Mobile Developers
The above links in the getting started section are still great references but I wanted to highlight that the documentation for the new Gesture APIs is available on MSDN as well as important information for applications that use GAPI.
Windows Mobile 6.5 Gesture APIs
just say no to GAPI
Windows Marketplace for Mobile
Here are some additional reference posts with important information on Widows Mobile 6.5 and the Windows Marketplace for Mobile as it relates to developers.
TechEd 09 Update on Windows Mobile 6.5 Development
Windows Mobile 6.5 Developer Toolkit Released
Constanze Roman has more information on the Marketplace with a link to a video on the Marketplace on Channel 9.
This story on Widows for Devices has additional information and background on the marketplace for mobile.
This article has more details but here is a quick summary:
Kodu Game Lab, a visual programming tool that allows just about anybody with an imagination and a spare $5 to make their own games, has released on the XNA Community Games channel on the Xbox Live dashboard. The entire tool was built using XNA Games Studio, the same development platform made publicly available to anybody interested in making their own XNA games.
I will have to check it out this weekend. My daughters love in game level editors. I think they will love this.
This is the second in a two part series (link to Part 1) where I cover Xaml development with Bing Maps for Enterprise. In Part 2 below, I cover building this Silverlight Application.
(Sample code attached to this blog post below. Please review the code usage guidelines here.)
Setup
This Silverlight 3 application requires the .NET RIA Services May 2009 Preview available here. If you have not had a chance to install Silverlight 3 beta or Expression Blend 3 beta, download the Mix beta bits here. You will also need the Bing Maps Silverlight Map Control CTP bits from Mix 09. If you don’t have the Northwind sample database, please download it here.
This application requires that the Customers and Suppliers tables in the Northwind sample database have fields for the following data:
- Latitude
- Longitude
- LatLong (This field stores the Latitude followed by a comma and then the Longitude)
Please check out Part 1 to download a utility that uses the WPF Bing Map web services to populate the location data in the Customers and Suppliers tables (or for any other database). Also, here is a link to my teammate Michael Scherotter's blog post regarding adding attached properties to the Bing Maps Silverlight control.
The Application
The application has two map layers, one for customers and one for suppliers, that it plots on top of the Bing Maps Silverlight control. The other two tabs display a master / detail form for the Suppliers and Customers tables from Northwind (Images of the application are above).
There isn’t actually a tremendous amount of coding involved because the application takes advantage of Silverlight 3 data binding, the Bing Maps Silverlight control, and the .NET RIA Services framework. Much of the effort is understanding how to wire up everything along with a little bit of code:-). Here is the presentation. (Go to about 1:30 in the player to skip the overview.)
Link to Part 1.
This is the first in a two part series where I cover Xaml development with Bing Maps for Enterprise. In part 1, I cover building this application. (Link to Part 2)
(Sample code attached to this blog post below. Please review the code usage guidelines here.)
It is a WPF application that collects information from the application user about a database table containing address information, it looks up the address information for each record, geocodes the address to Latitude and Longitude, and then the application updates the database record with the geocode data.
The user interface is fairly simple and could be made more visual by allowing the user to visually navigate a database, select a table, select fields, etc. but then the presentation would have to be much much longer:-).
Essentially, the user provides a .NET Connection string to a database, the table name, and then the fields where the address information is located. In this demonstration I use the sample Northwind database. I modify the Customers and Suppliers table adding fields for Latitude, Longitude, and LatLong.
In this webcast there is a 2 minute presentation overview followed by a screencast where I cover the following steps: (Go to about 1:50 in the player to skip the overview).
- How to modify a .NET class to support databinding
- How to databind a UI to a .NET class
- How to execute work on a background thread with updates to the UI without using System.Threading directly.
- How to make GeoCode calls using Bing Maps for Enterprise.
In Part 2, I build a Silverlight 3 beta application that pulls data from the updated database with the added geocode data and displays the data in a Silverlight 3 Navigation Business Application using the .NET RIA Services May 2009 Preview and the Bing Maps for Enterprise Silverlight control CTP that released at MIX 09. Here is a screenshot of the application I cover in Part 2.
