<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://windowsteamblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Phone Blog</title><link>http://windowsteamblog.com/blogs/windowsphone/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>How Do They Do That?: Ferrari GT on Windows phone</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/11/18/how-do-they-do-that-ferrari-gt-on-windows-phone.aspx</link><pubDate>Wed, 18 Nov 2009 09:42:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:528903</guid><dc:creator>Gian Wilson</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=528903</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/11/18/how-do-they-do-that-ferrari-gt-on-windows-phone.aspx#comments</comments><description>&lt;p&gt;Hi, I'm Gian Wilson – Gaming Product Manager in Microsoft’s Mobile Communications Business.&amp;#160; I plan to keep you up to date with what is going on in the world of Gaming on Windows phone, and from time to time I'll have some guest bloggers write some stuff as well.&lt;/p&gt;  &lt;p&gt;This installment is from our good friends over at Gameloft. This is the first in the &amp;quot;How Do They Do That?&amp;quot; series and explains how Ferrari GT made its way on to Windows phone!&amp;#160; &lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Who hasn't dreamed of driving a Ferrari car? They are the benchmark when it comes to outstanding vehicles, and here at Gameloft, we wanted to give everyone the opportunity to drive one in the most realistic mobile game possible. Anytime and anywhere, all you have to do is use your Windows mobile phone to enter the world of the most famous car brand.&lt;/p&gt;  &lt;p&gt;To create a 100% Ferrari game we worked close with Ferrari's engineers. Every car in the game is a Ferrari, even the traffic cars you pass on the road are in fact Ferrari 412s, a model from 1985.&lt;/p&gt;  &lt;p&gt;Our game designers went to various locations such as Rome, Madrid, Los Angeles and New York City to accurately recreate these famous settings for each race, bringing you fully detailed environments.&lt;/p&gt;  &lt;p&gt;You may think that small details are not needed when remodeling a car for a phone-sized screen, but the truth is that every car in the game has been modeled in complete high-definition 3D rendering before being re-sized to fit on your screen. Every car model was then individually submitted to the Ferrari engineer that created it, and was reworked until the engineer was satisfied with the virtual appearance of his creation.&lt;/p&gt;  &lt;p&gt;For example, take a look at these 3D models for the Ferrari Testarossa:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image002_5F00_770B9224.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image002_5F00_thumb_5F00_4F6515FA.jpg" width="244" height="149" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image0024_5F00_46D6CB30.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image0024_5F00_thumb_5F00_6311FF8E.jpg" width="269" height="149" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image0026_5F00_264F8B7E.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[6]" border="0" alt="clip_image002[6]" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image0026_5F00_thumb_5F00_33E013F7.jpg" width="535" height="407" /&gt;&lt;/a&gt;   &lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="193"&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image0026_5F00_33B59E84.jpg"&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td&gt;&lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image0026_5F00_33B59E84.jpg"&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;table cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="197"&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;/td&gt;        &lt;td&gt;&lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image0024_5F00_0C0F225A.jpg"&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image0028_5F00_46B497A1.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002[8]" border="0" alt="clip_image002[8]" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image0028_5F00_thumb_5F00_4CFB6E2F.jpg" width="534" height="327" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Nice isn't it? Well, that's where the Testarossa you play in the game comes from!&lt;/p&gt;  &lt;p&gt;Finally, we succeeded in creating the most realistic Ferrari game, but the spirit was still missing. What makes Ferrari is its heart and its history. So, we spoke to our contacts at Ferrari and obtained authorization to use the original Ferrari encyclopedia to add facts and information to every loading screen, bringing you the real story of the prancing horse company.&lt;/p&gt;  &lt;p&gt;And all of this is now available for you on &lt;a href="https://marketplace.windowsphone.com/details.aspx?appSKU=e19ef8b4-afb9-4113-83a9-fef2ff13a122&amp;amp;retURL=/categories.aspx%3FcategoryId%3D50106%26pid%3D50069" target="_blank"&gt;Windows Marketplace for Mobile&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=528903" width="1" height="1"&gt;</description></item><item><title>Windows Marketplace for Windows Mobile 6 and 6.1</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/11/16/windows-marketplace-for-windows-mobile-6-0-and-6-1.aspx</link><pubDate>Mon, 16 Nov 2009 18:51:36 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:528724</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>68</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=528724</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/11/16/windows-marketplace-for-windows-mobile-6-0-and-6-1.aspx#comments</comments><description>&lt;p&gt;After last week’s &lt;a href="http://windowsteamblog.com/blogs/wmdev/archive/2009/11/11/announcing-new-features-in-windows-marketplace-for-mobile.aspx"&gt;news&lt;/a&gt;, I’m pleased to tell you that &lt;a href="http://marketplace.windowsphone.com/"&gt;Windows Marketplace for Mobile&lt;/a&gt; has today reached another major milestone by adding support for Windows Mobile 6 and 6.1 devices. This is an especially proud day for Microsoft because it marks our fulfillment of the Marketplace vision that we put forth only 9 months ago at Mobile World Congress. Last week we expanded the Marketplace experience to the PC and updated the developer portal to include stronger anti-piracy protection features for developers. Today, Marketplace is delivering some great free new features that enhance and expand the Marketplace experience to even more Windows Mobile customers.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Now available for phones with Windows Mobile 6.0 and 6.1      &lt;br /&gt;&lt;/b&gt;Initially, Marketplace was available for the new Windows phones with Windows Mobile 6.5. Today, almost all people with phones running Windows Mobile 6.0 and above with a supporting data plan can now access Marketplace. We’re delighted to bring the benefits of Marketplace to even more people, and give Windows phone developers the opportunity to reach more than 30 million devices worldwide. To get Marketplace for a Windows Mobile 6.0 or 6.1 based device, customers can simply point their phone’s browser to &lt;a href="http://mp.windowsphone.com"&gt;http://mp.windowsphone.com&lt;/a&gt; to start the download process; from the Web, customers can visit &lt;a href="http://windowsphone.com/getmarketplace"&gt;http://windowsphone.com/getmarketplace&lt;/a&gt; or simply click &lt;a href="http://www.microsoft.com/windowsmobile/en-us/downloads/get-marketplace.mspx"&gt;here&lt;/a&gt;. Then browse and shop a wide range of quality applications for work and play; roughly 90% of the apps in our catalogue already support Windows Mobile 6.0 and 6.1 devices.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Updated application catalog and software vendors&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The activity we’re seeing on Marketplace continues to give us confidence that we’re delivering the right value to the right market. Customers and developers alike are responding well to our focus on quality, ease of use and flexibility – both in the shopping experience and in our relationship with the developer community. We now offer over 800 applications, more than three times the number we offered when Marketplace launched just over one month ago. Additionally, over 1,000 software vendors and counting are registered to deliver great applications for work and play on Marketplace.&lt;/p&gt;  &lt;p&gt;Microsoft was among the first to make transparency a core tenet of our relationship with developers and we’re pleased to see others in the industry follow suit. We may not have built the first application store, but we did set out to pioneer a fresh Marketplace experience that we look forward to expanding upon in the months and years ahead.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;New online marketing campaign &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Over the past 9 months we’ve made some promises. We told you that we would bring to market a fresh take on the mobile application store that delivers strong value and opportunity for developers and a convenient and confident shopping experience for people, across their choice of handset and mobile operator. Today, Marketplace is flourishing and the new features described above further deliver against our vision for establishing a new mobile application market. To celebrate this latest milestone, we are launching a multi-faceted online marketing campaign to ensure people surfing the web are aware of all the high quality applications that our developers have made available for Windows Mobile 6, 6.1 and 6.5 based devices. As we said in October, in the coming months you will see more exciting news coming from Windows phones and Windows Marketplace for Mobile as we continue find new ways of improving the Windows phone experience for customers and creating new business opportunities for developers. &lt;/p&gt;  &lt;p&gt;We’re just getting started!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=528724" width="1" height="1"&gt;</description></item><item><title>Video: Windows Mobile And Bing Navigation</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/10/08/video-windows-mobile-and-bing-navigation.aspx</link><pubDate>Thu, 08 Oct 2009 10:48:46 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:526297</guid><dc:creator>Michael Gannotti</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=526297</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/10/08/video-windows-mobile-and-bing-navigation.aspx#comments</comments><description>&lt;p&gt;Whenever traveling to other cities for business I always print off a list of address, phone numbers, etc. On this latest trip to Atlanta however I decided to forego this practice and put the Microsoft mobile experience to the test. I made a conscious decision to rely completely on the integrated backend systems that combine web services with Microsoft Exchange and SharePoint combined with their surfacing of information through my HTC Ozone Windows Phone on the Verizon Network. Toss in the stellar GPS capabilities of the device and this latest business trip I was living the mobile dream. In this episode of Michael on the Go I demonstrate how all this took place.&lt;/p&gt;  &lt;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:c78cc7d8-62d0-458a-97dc-5ea08084afe2" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6943822&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=6943822&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsmobile/en-us/default.mspx" target="_blank"&gt;Windows Phone website&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.discoverbing.com/mobile/" target="_blank"&gt;Bing for Mobile website&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;- Michael Gannotti is a Portals Technology Specialist for Microsoft and the author of the blog &lt;a href="http://socialmedia.mikegannotti.com" target="_blank"&gt;SocialMedia Talk&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e7384f42-399e-4eb0-beec-7aea57e9f7a7" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WindowsMobile" rel="tag"&gt;WindowsMobile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Mobility" rel="tag"&gt;Mobility&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Gannotti" rel="tag"&gt;Gannotti&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GPS" rel="tag"&gt;GPS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Technology" rel="tag"&gt;Technology&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=526297" width="1" height="1"&gt;</description></item><item><title>New Windows Phones are Here!</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/10/06/new-windows-phones-are-here.aspx</link><pubDate>Tue, 06 Oct 2009 14:23:39 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:526188</guid><dc:creator>Liz Sloan</dc:creator><slash:comments>20</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=526188</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/10/06/new-windows-phones-are-here.aspx#comments</comments><description>&lt;p&gt;Today’s the day – new Windows phones are available worldwide! We’re thrilled to share this moment with our hardware partners and mobile operators who are bringing new Windows phones to market today and into the holiday season. In fact, we expect our partners will deliver more than &lt;b&gt;&lt;i&gt;30 new Windows phones in over 20 countries by end of this year&lt;/i&gt;&lt;/b&gt; &lt;b&gt;&lt;i&gt;alone&lt;/i&gt;&lt;/b&gt;. To find out which phones are available for your country/region and carrier, check out the initial list &lt;a href="http://www.microsoft.com/presspass/press/2009/oct09/10-06windowsphonelaunch09pr.mspx"&gt;here&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;The virtual walls between work and play are crumbling. In a recent Omnibus survey in the U.S., survey respondents told us mobile phones help them bridge the gap between their personal and professional lives.&lt;b&gt; &lt;/b&gt;Sixty eight percent of mobile phone users say they use their mobile phone for personal purposes while at work or school. Sixty-three percent of adults make social plans at work or school, Fifty-two percent take pictures and send them to friends, and forty-three percent would starve without their mobile phones (they use them to order meals). &lt;/p&gt;  &lt;p&gt;Bottom line is people want great phone experiences wherever they are. They have come to expect rich communications from their Windows phone, from doing real work on their mobile phones using PowerPoint, Word and Excel, to staying connected in their social lives through support for Windows Live messaging, the new MySpace application for Windows phone and photo sharing across other major social networking sites like Twitter, Facebook and Flickr. We’ve also worked hard to deliver a browsing experience in new Windows phones that displays Web pages on the phone similar to the desktop and provides support for Adobe Flash Lite so people can view Flash-based video content right on their phones.&lt;/p&gt;  &lt;p&gt;People also want the ability to get stuff done with the confidence that comes from a Windows phone.&amp;#160; The Omnibus research revealed that more than eighty percent of adults who own a mobile phone would be willing to offer an award if they lost it. With this in mind, today we are unveiling &lt;a href="http://maintenance.myphone.microsoft.com/EN-US/My%20Phone.htm"&gt;My Phone&lt;/a&gt;, a free service that syncs data from a phone -- like pictures, music and text messages -- to a Web portal for safe keeping. If a phone is stolen, left behind, sandwiched between couch cushions or otherwise lost, My Phone can locate it, ring it (even if on vibrate), lock it or wipe it clean of personal information. And when you buy a new Windows phone, My Phone will restore contacts, photos, videos and messages right back to the new device. &lt;/p&gt;  &lt;p&gt;Finally, people want a phone that meets &lt;i&gt;their specific needs&lt;/i&gt;. They want to choose a phone that is unique to them, with the apps that matter to them, that is capable of connecting them with the people and information that matter to them – that reflects their unique lives, styles and lifestyles. Windows phones give people the choice of a broad selection of form factors from sleek, touch screen devices to full QWERTY keyboards. They have access to a wide range of quality applications for work and play through the Windows Marketplace for Mobile. And they can change the look and feel of their phones with personal themes for their Windows phone with a quick visit to the &lt;a href="http://www.windowsphone.com/theme"&gt;Custom Theme Creator&lt;/a&gt;, or choose from designer themes available from icons Diane Von Furstenberg, Vera Wang, Isaac Mizrahi, Rock&amp;amp;Republic and Ron Arad. &lt;/p&gt;  &lt;p&gt;As you can see, I’m super excited about new Windows phones hitting stores today. They represent a significant step forward in helping people work better and play happier through the phone that connects them — to their information, to other devices, to their worlds and to each other. I encourage you to find the new &lt;a href="http://www.windowsphone.com"&gt;Windows phone&lt;/a&gt; that fits your needs and style today. &lt;/p&gt;  &lt;p&gt;More information about Windows Marketplace for Mobile and My Phone, plus a wide array of videos, screen shots and much more are available on &lt;a href="http://www.microsoft.com/presspass/press/2009/oct09/10-06windowsphonelaunch09pr.mspx"&gt;PressPass&lt;/a&gt;. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=526188" width="1" height="1"&gt;</description></item><item><title>Windows Marketplace Update - Countdown to Launch</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/30/windows-marketplace-update-countdown-to-launch.aspx</link><pubDate>Wed, 30 Sep 2009 20:56:53 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:525667</guid><dc:creator>Todd Brix</dc:creator><slash:comments>38</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=525667</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/30/windows-marketplace-update-countdown-to-launch.aspx#comments</comments><description>&lt;p&gt;With less than a week until the launch of Windows phones and Windows Marketplace for Mobile, I wanted to take a minute to thank the global developer and ISV community for rallying around Marketplace and offer a quick update on what we’ve been up to. &lt;/p&gt;  &lt;p&gt;First and foremost, the response to Windows Marketplace has been impressive in terms of the number of creative developers we’re working with and the depth of engineering- and process-oriented feedback we’ve received and incorporated. Our commitment to transparency has generated a surprising level of collaboration that impacts Marketplace development on a daily basis. I know that getting in on the ground floor of an ambitious effort like Marketplace isn’t easy. I sincerely appreciate your patience, feedback and desire to help us create a world class experience for both developers and end users.&lt;/p&gt;  &lt;p&gt;In fact to show that we’re listening and responding, let me run through a few of the top issues you’ve raised or experienced around registration and certification, and &lt;i&gt;what we’re doing about it.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Known issues that we’re addressing because they slow the application submission process:&lt;/p&gt;  &lt;p&gt;1. Marketplace catalog icons: We need to ensure that icons meet the correct dimensions upon upload. We didn’t make this as clear as we could have on the submission portal. &lt;i&gt;This was recently corrected.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;2. Screen shots: Screen shots also need to meet the correct dimensions and aspect ratio. &lt;i&gt;New guidance on screen shots is available on the Windows Marketplace for Mobile &lt;/i&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/mktplace/threads"&gt;&lt;i&gt;technical forum&lt;/i&gt;&lt;/a&gt;&lt;i&gt; and we will update Marketplace before launch to ensure that only the correct screen shot dimensions are submitted&lt;/i&gt;.&lt;/p&gt;  &lt;p&gt;3. Expanding to multiple markets: ISVs have experienced problems when submitting their app to additional markets through the developer portal. &lt;i&gt;We are addressing this in a Marketplace update prior to launch.&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;4. Finding the answers: We’re working to make it easier for you to find what you need to know. We’ve updated the Marketplace &lt;a href="http://developer.windowsmobile.com/Help.aspx"&gt;FAQ&lt;/a&gt;, remained active in the &lt;a href="http://social.msdn.microsoft.com/Forums/en/mktplace/threads"&gt;forums&lt;/a&gt; and produced &lt;a href="http://www.youtube.com/user/WindowsMobileDev"&gt;videos&lt;/a&gt; to help guide you through the app submission process.&lt;/p&gt;  &lt;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:0fe0ff1b-b8fa-4269-9ed5-745d4a703ddb" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3siGIuz4kGM&amp;amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/3siGIuz4kGM&amp;amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div style="clear:both;font-size:.8em;"&gt;Application Submission Walkthrough&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We’re also frequently asked what developers and ISVs can do on their end to help speed the process, here are a few tips:&lt;/p&gt;  &lt;p&gt;1. Review documentation: Be sure to read through the &lt;a href="http://developer.windowsmobile.com/resources/en-us/Application%20Submission%20Guidelines.pdf"&gt;Application Submission Criteria&lt;/a&gt;, &lt;a href="http://developer.windowsmobile.com/resources/en-us/MarketplaceProhibitedApplicationTypes.pdf"&gt;Policy Guidelines,&lt;/a&gt; &lt;a href="http://developer.windowsmobile.com/resources/en-us/MarketplaceContentPolicies.pdf"&gt;Prohibited Applications List&lt;/a&gt; and &lt;a href="http://developer.windowsmobile.com/resources/en-US/MarketplaceMarketValidationGuidelines.pdf"&gt;Market Validation Guide&lt;/a&gt; prior to application submission. It sounds obvious, but it really is best to spend the time on the front end of the process.&lt;/p&gt;  &lt;p&gt;2. Alert your team: Proactively contact the Corporate Approver you designated during Windows Marketplace registration. The Corporate Approver will receive several emails from GeoTrust, who is partnering with Microsoft to provide identity validation services. This will accelerate the identity validation process and reduce the time required before you can submit applications to the Windows Marketplace. &lt;/p&gt;  &lt;p&gt;3. Have your ID ready: Individuals may be required to send a copy of government issued photo identification to GeoTrust. Notarized documents for individuals are no longer required. (note that the preferred method for GeoTrust support is through live chat at &lt;a href="http://www.geotrust.com/support/chat/order-processing.html"&gt;http://www.geotrust.com/support/chat/order-processing.html&lt;/a&gt; )&lt;/p&gt;  &lt;p&gt;4. Use App Verifier on Native Code: Remember that Application Verifier only applies to applications written in Native code. &lt;/p&gt;  &lt;p&gt;5. Start with the emulator: We recommend testing your application in the Windows Mobile 6.5 emulator prior to submission to the Windows Marketplace. Even better, test the application on a Windows Mobile 6.5 device. &lt;/p&gt;  &lt;p&gt;6. Keep reading &lt;a href="http://windowsteamblog.com/blogs/windowsphone/default.aspx"&gt;this blog&lt;/a&gt;: Check back to review technical criteria and top tips to help your certification go more smoothly. &lt;/p&gt;  &lt;p&gt;As we’ve been discussing since July, our plan is to deliver the full Marketplace experience in two phases. First, we’ll launch Windows Marketplace for Mobile with Windows phones on October 6th. We’ve also discussed following this launch with an update that will include support for Windows Mobile 6 and 6.1 by the end of the year. More specifically, we’re targeting November for phase two. In addition, this second phase will bring the PC based catalog and shopping experience, user generated app reviews, &lt;a href="http://download.microsoft.com/download/F/E/5/FE59BF29-C576-401A-A4C2-D583B5F92509/Windows%20Marketplace%20for%20Mobile%20Anti-Piracy%20White%20Paper.pdf"&gt;advanced key-based anti-piracy protection&lt;/a&gt; and other enhancements that expand your business opportunity and make it easier for a larger number of customers to find and buy your application. &lt;/p&gt;  &lt;p&gt;As you can see we’re working hard to deliver on our two core commitments with Marketplace; to create a more open, transparent and rewarding processes for developers and ISVs, and to bring to market a fresh take on the mobile application store that delivers strong value and a great shopping experience for customers. We’re engaged with hundreds of ISVs on a daily basis who are eager to certify their apps and offer great insight into how we can further distinguish both our process and our user experience – keep it coming! And don’t forget that the apps in Marketplace at launch will have a head start in the&lt;a href="http://www.mobilethisdeveloper.com/#meteor=gVyFbxgcRaM"&gt; Race to Market Challenge&lt;/a&gt;, and who doesn’t need a Microsoft Surface table?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=525667" width="1" height="1"&gt;</description></item><item><title>Demonstration: Enterprise Geocasting, Photosynth, And SharePoint Dashboard With Windows Mobile</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/29/demonstration-enterprise-geocasting-photosynth-and-sharepoint-dashboard-with-windows-mobile.aspx</link><pubDate>Tue, 29 Sep 2009 11:01:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:525489</guid><dc:creator>Michael Gannotti</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=525489</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/29/demonstration-enterprise-geocasting-photosynth-and-sharepoint-dashboard-with-windows-mobile.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://socialmedia.mikegannotti.com/Lists/Posts/Post.aspx?ID=249" target="_blank"&gt;This post originally appeared here on SocialMedia Talk with Michael Gannotti&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I have done several video where I talked in the past about using the power of Windows Mobile for geocasting in business focused scenarios. The opportunity to leverage the ability to capture rich data with contextual commentary combined with rich ancillary data has powerful applicability in a wide range of scenarios. Law enforcement, emergency responders, physical plant inspection, researchers, news reporting, travel industry, and much much more. &lt;/p&gt;  &lt;p&gt;Last week while on my Charlotte visits I used my dearly departed Windows Mobile phone, a Samsung Omnia from Verizon (&lt;a href="http://socialmedia.mikegannotti.com/Lists/Posts/Post.aspx?ID=246" target="_blank"&gt;learn about demise here&lt;/a&gt; ;-), to create a geocast using the IncaX LiveMedia GPS application and talked through a scenario where I might be doing a physical plant inspection. I then combined this with a quick and dirty Photosynth of one of the Microsoft office buildings in Charlotte that I drove up to. During the geocast portion I talk about the scenario, road conditions, things that might be reported on, etc., all the while capturing information that in the event of a real business case could be played back in real time for analysis. With the addition of the Photosynth I then was able to create a rich 3-D view of the building in question that could also then be navigated and further analyzed. Finally, all this was then easily served up via my SharePoint dashboard page, an out of the box feature of SharePoint, making this a navigable record that could be further extended with textual reporting (oh say via InfoPath form services) and other data as desired.&lt;/p&gt;  &lt;p&gt;The powerful combination of geocasting leveraging the Windows Phone platform with IncaX along with Photosynth and SharePoint delivery can be real business enabling features where rich data capture for analysis, entertainment, and so on is important. Think about the competitive advantage such a solution could bring to a cruise lines, the benefits to insurance companies assessing the damage done during a natural disaster, the evidence captured in law enforcement. &lt;/p&gt;  &lt;p&gt;Check out the simple dashboard I have created with very little effort and think about how leveraging the Microsoft platform can enable your business. Be sure to toggle through the views (arial, road) in the geocast mashup stream (delivered via Microsoft Silverlight technology), zoom in and out,&amp;#160; as well as the blow out underneath&amp;#160; the video box. The click around the Photosynth itself and see how it is possible to create an immersive 3-D experience of a physical structure. All of this done using common, low cost equipment.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://socialmedia.mikegannotti.com/Geocasts/Dashboard%20Demo.aspx"&gt;Click here to view and interact with the geocast/photosynth dashboard&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://socialmedia.mikegannotti.com/Geocasts/Dashboard%20Demo.aspx" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="dash" border="0" alt="dash" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/dash_5F00_0EF38754.jpg" width="519" height="561" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Technology resources cited/used in this demonstration:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsmobile/en-us/default.mspx"&gt;Windows Mobile&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.verizonwireless.com/b2c/store/controller?item=phoneFirst&amp;amp;action=viewPhoneDetail&amp;amp;selectedPhoneId=4366"&gt;Verizon Samsung Omnia&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.incax.com/"&gt;IncaX LiveMedia GPS&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://photosynth.net/"&gt;Photosynth&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://sharepoint.microsoft.com/Pages/Default.aspx"&gt;SharePoint&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/silverlight/"&gt;Silverlight&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.olympusamerica.com/cpg_section/product.asp?product=1363"&gt;Olympus 1030W Digital Camera&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Microsoft"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint"&gt;SharePoint&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WindowsMobile"&gt;WindowsMobile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IncaX"&gt;IncaX&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Verizon"&gt;Verizon&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SocialMedia"&gt;SocialMedia&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Gannotti"&gt;Gannotti&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Technology"&gt;Technology&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=525489" width="1" height="1"&gt;</description></item><item><title>Widget Anatomy – Performance and Battery Life</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/22/widget-anatomy-performance-and-battery-life-the-final-frontier.aspx</link><pubDate>Tue, 22 Sep 2009 18:55:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:524141</guid><dc:creator>Jorge Peraza</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=524141</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/22/widget-anatomy-performance-and-battery-life-the-final-frontier.aspx#comments</comments><description>&lt;p&gt;This is part three of my &lt;strong&gt;Widget Anatomy&lt;/strong&gt; series which which will explain the ins and outs of the Widget Framework that is shipping as part of Windows Mobile 6.5.&amp;#160; In this installment I will discuss how to squeeze the last drop of performance out of the Widget framework to ensure all our Widgets are interactive, alive and fun to use while being good mobile citizens and not draining the user’s battery dry in the process.&lt;/p&gt;  &lt;h2&gt;All good things&lt;/h2&gt;  &lt;p&gt;JavaScript is a cool language. It’s simple to learn, use, and understand but it really can get us into a lot of trouble if not used wisely. this is true on all platforms but we must pay special attention to its implications while developing for a mobile platform.&lt;/p&gt;  &lt;p&gt;So, just because we are among friends here I’ll share a little secret that showcases the biggest challenge to creating responsive Widgets.&amp;#160; Here it goes… are you ready?… On Windows Mobile 6.5, JavaScript execution &lt;strong&gt;blocks the UI.&lt;/strong&gt;&amp;#160; This means that, whenever there is a script running nothing else can be processed in the widget which includes menu commands and keyboard or touch input processing. Also note that, during script execution the Widget can’t redraw – in other words, any screen updates done during the execution of the script will not be reflected on the screen until after the script finishes its execution.&lt;/p&gt;  &lt;p&gt;I know that this sounds like a big obstacle to overcome but it is really not that bad.&lt;/p&gt;  &lt;h2&gt;One Small Step&lt;/h2&gt;  &lt;p&gt;On very interesting aspect of performance is that, in most cases, perception is reality.&amp;#160; In a mobile application world, this means that for every user action there is a immediate response from the application that assures the user that their input was acknowledged and is being processed.&lt;/p&gt;  &lt;p&gt;The best way to accomplish this on widgets is to minimize the amount of code that is executed on the event handler and defer all actions that are not related to updating the UI to give feedback to the user after a small timeout.&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; onCoolActionClick() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     document.getElementById(&lt;span style="color: #006080"&gt;'waitCursorLayer'&lt;/span&gt;).style.display = &lt;span style="color: #006080"&gt;&amp;quot;block&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     window.setTimeout(&lt;span style="color: #006080"&gt;&amp;quot;doCoolStuff()&amp;quot;&lt;/span&gt;, 50);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; doCoolStuff() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     countToAMillion();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     document.getElementById(&lt;span style="color: #006080"&gt;'waitCursorLayer'&lt;/span&gt;).style.display = &lt;span style="color: #006080"&gt;&amp;quot;none&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The same technique can be applied to break out expensive operations to allow processing of the always important user events.&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; countToAMillion(currentCount) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// Count to a million in 10 incremets to ensure the UI events can be processed&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; countBlockStarts = currentCount;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; countBlockEnds   = countBlockStarts + 10;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;for&lt;/span&gt;(&lt;span style="color: #0000ff"&gt;var&lt;/span&gt; i = countBlockStarts; i &amp;lt; countBlockEnds; i++) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// Check to see if we are done&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;if&lt;/span&gt;(i &amp;gt;= 1000000) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;return&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// Write the current count&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;         document.getElementById(&lt;span style="color: #006080"&gt;&amp;quot;currentValue&amp;quot;&lt;/span&gt;).innerHTML = i;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// schedule the next few elements&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     window.setTimeout(&lt;span style="color: #006080"&gt;&amp;quot;countToAMillion(&amp;quot;&lt;/span&gt; + countBlockEnds + &lt;span style="color: #006080"&gt;&amp;quot;)&amp;quot;&lt;/span&gt;, 50);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Another trick that will come handy for most Widgets since they are generally full of dynamic content is that using innerHTML is significantly faster than creating the DOM elements individually and then appending them to the document.&amp;#160; You should never append them to the document one by one, as this will completely destroy your performance since it will force the Widget to re-layout multiple times -- and this is really slow!. I know that this might not be possible in all cases but it is a nice tool to have in case your widget is having performance issues creating dynamic content.&lt;/p&gt;

&lt;h2&gt;Awakening&lt;/h2&gt;

&lt;p&gt;Now let’s focus our attention to the flip side of performance which is, without a doubt, battery life.&amp;#160; It is a fact of life that our Widgets, since they are executing code on the device, will have an impact on battery life. The goal is to minimize its effects to ensure happy users.&lt;/p&gt;

&lt;p&gt;Thankfully the road to user happiness is not as rough as it might seem, there are a few principals that, if we keep them in mind while writing our Widget code, then we will know for sure that we are only using the power that is necessary to complete our task.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Only consume network resources when your widget is active. &lt;/li&gt;

  &lt;li&gt;Minimize animations when the widget is idle. &lt;/li&gt;

  &lt;li&gt;Cache data locally as aggressively as possible, use the widget persistent storage as a repository since it will be preserved across runs (and even upgrades). &lt;/li&gt;

  &lt;li&gt;Be aware of the current battery level and minimize network operations when the battery is running low. &lt;/li&gt;

  &lt;li&gt;Always (and by that I really mean always!!) use asynchronous network requests. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; onShow() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// The widget was activated and is running in the foreground&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// refresh the widget data&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     refreshWidgetData();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; onHide() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// Stop al recurring timers to be a good Widget citizen&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     stopAllTimers();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; onLoad() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; systemState = widget.createObject(&lt;span style="color: #006080"&gt;&amp;quot;SystemState&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; batteryStrength = systemState.PowerBatteryStrength;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     batteryStrength.addEventListener(&lt;span style="color: #006080"&gt;&amp;quot;changed&amp;quot;&lt;/span&gt;, optimizeNetworkUsage);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     widget.onshow = onShow;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;     widget.onhide = onHide;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;That’s it for now, but before I completely forget, one set of tools that will be your friend tracking performance issues on your widgets (and web applications as well) is the IE8 amazing developer tools (to start them, just press F12) which include a script profiler and it works great for widgets!&lt;/p&gt;

&lt;p&gt;Next post: &lt;a href="http://windowsteamblog.com/blogs/wmdev/archive/2009/10/15/widget-anatomy-security-insights.aspx"&gt;Widget Anatomy – Security&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=524141" width="1" height="1"&gt;</description><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Windows+Mobile+6.5/default.aspx">Windows Mobile 6.5</category><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Widgets/default.aspx">Widgets</category></item><item><title>Windows phone Designer Themes</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/14/windows-phone-designer-themes.aspx</link><pubDate>Mon, 14 Sep 2009 13:52:58 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:524701</guid><dc:creator>Liz Sloan</dc:creator><slash:comments>25</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=524701</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/14/windows-phone-designer-themes.aspx#comments</comments><description>&lt;p&gt;Fashion Week is in full swing in New York City this week, and today, we’re excited to announce five designer themes created just for Windows phones. The themes, which include custom palettes and wallpapers, were designed by some of today’s hottest designers: Diane von Furstenberg, Vera Wang, Isaac Mizrahi, Rock &amp;amp; Republic and Ron Arad. &lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Vera Wang" border="0" alt="Vera Wang" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/VeraTouchPro2_5F00_6586A335.jpg" width="134" height="244" /&gt; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Rock &amp;amp; Republic" border="0" alt="Rock &amp;amp; Republic" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/RockRepTouchPro2_5F00_206DD5FF.jpg" width="134" height="244" /&gt; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Ron Arad" border="0" alt="Ron Arad" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/RonAradTouchPro2_5F00_63D5D761.jpg" width="134" height="244" /&gt; &lt;/p&gt;  &lt;p&gt;We feel these designer themes are great examples of how Windows phones are moving into the consumer space and our Windows phone offerings on October 6 will continue this expansion of the brand. &lt;/p&gt;  &lt;p&gt;Smartphones are just as much a fashion statement as the clothes you wear and are quickly becoming a must-have accessory. The designer themes are just one more way that Windows phones help folks customize their device to fit their style.&amp;#160; No other mobile platform offers this level of self-expression.&lt;/p&gt;  &lt;p&gt;We’re excited to team up with these designers to let people customize their mobile device to fit their personality and express their style. It’s time to cast aside your drab default wallpaper and devices theme and make this year about style, color and fun!&lt;/p&gt;  &lt;p&gt;These Windows phone exclusive designer themes will be available for free on all Windows phones running Windows Mobile 6.5 on October 6 and can be downloaded for free from &lt;a href="http://www.windowsmarketplace.com/"&gt;Windows Marketplace&lt;/a&gt; for Mobile. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=524701" width="1" height="1"&gt;</description></item><item><title>Widget Anatomy – The Keys for a Great User Experience</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/02/widget-anatomy-the-keys-for-a-great-user-experience.aspx</link><pubDate>Wed, 02 Sep 2009 17:34:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:520329</guid><dc:creator>Jorge Peraza</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=520329</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/02/widget-anatomy-the-keys-for-a-great-user-experience.aspx#comments</comments><description>&lt;p style="line-height: normal; margin: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 10pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;&lt;a href="http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/12/widget-anatomy-the-manifest.aspx"&gt;Previous post: Widget Anatomy – The Manifest&lt;/a&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;This is part two of my “Widget Anatomy” series which will explain the ins and outs of the Widget Framework that is shipping as part of Windows Mobile 6.5.&amp;#160; In this Article we will discuss the major challenges of creating a great user experience that not only looks great, but it integrates nicely with the phone and it’s snappy and fun to use.&lt;/p&gt;  &lt;h2&gt;&lt;strong&gt;The dark side of choice… dealing with screen DPIness&lt;/strong&gt;&lt;/h2&gt;  &lt;p&gt;One of the coolest things about the Windows Mobile®&amp;#160; ecosystem is that there are many different devices with all shapes and forms for me to pick up the one that matches my lifestyle best.&amp;#160; All those choices do have a dark side though, there is a variety of screen resolution/sizes we need to make sure our Widgets work and look great on.&lt;/p&gt;  &lt;p&gt;The table bellow shows all the supported Resolution/DPIs Windows Mobile 6.5 supports and as you can see it is a big table.&lt;font color="#4295d1"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/windowsmobile/bb264320.aspx"&gt;&lt;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="bb264320.wm6_2(en-us,MSDN.10)[1]" border="0" alt="bb264320.wm6_2(en-us,MSDN.10)[1]" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/bb264320.wm6_5F00_2enusMSDN.101_5F00_58DA8761.png" width="520" height="242" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Thankfully for widget writing, there really are only two options, one that we will call HiDPI (for 192) and then LoDPI for the rest.&amp;#160; The reason is that, in practice, a document designed for 96 DPI (Internet Explorer on the desktop at 100%) will look fine on 96 DPI, 131 DPI and 128 DPI but it will look way too small on a 192 DPI screen.&lt;/p&gt;  &lt;p&gt;Now that we have reduced the supported DPIs to only two, then the best (and easiest) way to handle this in your widget is as follows:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1) Generate two CSS Style Sheets for your widget.&lt;/strong&gt; You can call them something like HiDPI.css and LoDPI.css, and the basic rule is, for HiDPI, things should be about twice as big to look the same way as they do on the desktop.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2) Detect the screen resolution at runtime to determine which CSS to load.&lt;/strong&gt;&amp;#160; Here is an example:&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 400px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; applyCSSStyle() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; width = document.documentElement.clientWidth;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; cssFile = &lt;span style="color: #006080"&gt;&amp;quot;css/LoDPI.css&amp;quot;&lt;/span&gt;;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (width &amp;gt;= 480) {        &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// The document is wider than 480 pixels        &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// it must be a High DPI device       &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         cssFile = &lt;span style="color: #006080"&gt;&amp;quot;css/HiDPI.css&amp;quot;&lt;/span&gt;;   &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// Add the correct CSS style sheet to the document    &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; headID = document.getElementsByTagName(&lt;span style="color: #006080"&gt;&amp;quot;head&amp;quot;&lt;/span&gt;)[0];    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; cssNode = document.createElement(&lt;span style="color: #006080"&gt;'link'&lt;/span&gt;);    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     cssNode.type = &lt;span style="color: #006080"&gt;'text/css'&lt;/span&gt;;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     cssNode.rel = &lt;span style="color: #006080"&gt;'stylesheet'&lt;/span&gt;;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;     cssNode.href = cssFile;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     cssNode.media = &lt;span style="color: #006080"&gt;'screen'&lt;/span&gt;;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;     headID.appendChild(cssNode);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; onLoad() {    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;     applyCSSStyle();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h2&gt;How to best utilize those SoftKeys&lt;/h2&gt;

&lt;p&gt;The Widget API gives you full control over the soft key menu bar, but since we want our widgets to behave as native&amp;#160; applications do there are a few guidelines we should try follow:&lt;/p&gt;

&lt;p&gt;1. The left soft key should always represent the default action and it should be context sensitive to what the user is supposed to do at that particular step in the User Scenario.&lt;/p&gt;

&lt;p&gt;2. The right soft key can be either a menu or a button, when there only are two possible actions you should save the user one click and make it a button… that said, if you do this there should be a way for the user to exit the widget somewhere on your UI.&lt;/p&gt;

&lt;p&gt;Just as a quick reminder, calling widget.menu.append(menuItem) Adds a menu item to the right SoftKey, if it was a button it will turn into a menu with the non configurable label “Menu”, also, the “Exit” menu item is added automatically and can’t be renamed nor removed.&amp;#160; calling widget.menu.setSoftKey(menuItem, widget.menu.rightSoftKeyIndex) removes all menu items from the right SoftKey and turns it into a button.&lt;strong&gt; 
    &lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;h2&gt;Best practices&lt;/h2&gt;

&lt;p&gt;The following are some of the best practices we have found really help greatly widgets be the best they can be:&lt;/p&gt;

&lt;ol type="1"&gt;
  &lt;li&gt;When possible, integrate with the phone “skin” by using theme able colors like “highlight” (&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa358804(VS.85).aspx"&gt;&lt;span&gt;&lt;u&gt;details&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span&gt;) &lt;/span&gt;

    &lt;li&gt;Use art assets that match the screen DPINess, or, just provide a high resolution set (shrinking is always better than expanding) &lt;/li&gt;

    &lt;li&gt;Minimize scrolling, vertical scrolling is ok on some cases, horizontal scrolling in almost all cases is a general NO NO &lt;/li&gt;

    &lt;li&gt;Handle the screen rotation event, remember that this must be fast &lt;/li&gt;

    &lt;li&gt;Load fast, generate all dynamic content after the widget is loaded. &lt;/li&gt;

    &lt;li&gt;Give visual feedback to all user actions. &lt;/li&gt;
  &lt;/li&gt;

  &lt;br /&gt;

  &lt;p&gt;Next post: &lt;a href="http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/22/widget-anatomy-performance-and-battery-life-the-final-frontier.aspx"&gt;Widget Anatomy - Performance and Battery Life&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=520329" width="1" height="1"&gt;</description><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Windows+Mobile+6.5/default.aspx">Windows Mobile 6.5</category><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Widgets/default.aspx">Widgets</category></item><item><title>Windows phones are Coming on October 6th!</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/01/windows-phones-are-coming-on-october-6th.aspx</link><pubDate>Tue, 01 Sep 2009 13:01:16 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:523981</guid><dc:creator>Stephanie Ferguson</dc:creator><slash:comments>164</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=523981</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/09/01/windows-phones-are-coming-on-october-6th.aspx#comments</comments><description>&lt;p&gt;In just five weeks, you’ll have a bunch of new Windows phones to choose from. But before we show you some of the cool, new phones that will be coming out, I want to explain how we’re trying to make phones even better with Windows.&lt;/p&gt;  &lt;p&gt;When we started work on Windows phones, we met with people all over the world who were likely to buy a smartphone and talked with them about what’s important to them in their phone. Looking at the U.S. market, for example, we found that about 15 million people in the next year will buy a new smartphone. &lt;/p&gt;  &lt;p&gt;Of the people we talked to, 74% listed productivity as the top feature they value in their smartphone. We took this feedback to heart, making the user interface more touch friendly and improving notifications and updates from e-mail, text and calendar items. We also included the latest Internet Explorer Mobile browser and added free services like My Phone to help protect data in the event of a lost phone and Windows Marketplace for Mobile for access to a wide variety of applications for direct download.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows phone" border="0" alt="Windows phone" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image001_5F00_67DF353A.jpg" width="184" height="244" /&gt; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows phone" border="0" alt="Windows phone" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image002_5F00_193A3169.jpg" width="184" height="244" /&gt; &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows phone" border="0" alt="Windows phone" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/clip_5F00_image003_5F00_14B0387D.jpg" width="148" height="244" /&gt;&lt;/p&gt;  &lt;p&gt;Interestingly enough, we discovered that most people who carry a Windows phone don’t realize it’s running Windows Mobile. We also heard from many people considering their very first smartphone purchase that they’d very strongly consider a phone running Windows because it’s a brand they know and trust. You’ll see us try to simplify our branding so it’s easier for people to know when they’re carrying a Windows phone and easier to find them in stores.&lt;/p&gt;  &lt;p&gt;One thing that was very clear after all these conversations about phones is that there is no “one size fits all” in this market. On Oct. 6&lt;sup&gt;th&lt;/sup&gt;, you’ll see new Windows phones designed for a variety of tastes, needs and price points - with or without keyboards, with or without touch screens, as well as your choice of GPS, accelerometer and high resolution camera. There are a lot of great options and we can’t wait to show them to you. Until then, keep an eye on our partners as they announce details on new Windows phones and where you can find them this fall.&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;In North America:&lt;/b&gt; Mobile operators AT&amp;amp;T, Bell Mobility, Sprint, TELUS and Verizon Wireless, and phone manufacturers HP, HTC Corp., LG Electronics, Samsung and Toshiba Corp.&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;In Europe:&lt;/b&gt; Mobile operators Orange, Deutsche Telekom AG and Vodafone Group Plc, and phone manufacturers Acer, HTC, LG Electronics, Samsung, Sony Ericsson and Toshiba&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;In Latin America:&lt;/b&gt; Mobile operator TIM Brazil, and phone manufacturers HTC, LG Electronics and Samsung&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;In Asia Pacific:&lt;/b&gt; Mobile operators NTT DOCOMO Inc., SOFTBANK Mobile Corp., SK Telecom, Telstra and WILLCOM Inc., and phone manufacturers Acer Inc., HTC, LG Electronics, Samsung, Sony Ericsson and Toshiba&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=523981" width="1" height="1"&gt;</description></item><item><title>Windows Marketplace for Mobile: Registration and Application Submission Walkthroughs</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/24/windows-marketplace-for-mobile-registration-and-application-submission-walkthroughs.aspx</link><pubDate>Mon, 24 Aug 2009 19:35:53 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:523462</guid><dc:creator>Mike Francis</dc:creator><slash:comments>18</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=523462</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/24/windows-marketplace-for-mobile-registration-and-application-submission-walkthroughs.aspx#comments</comments><description>&lt;p&gt;If you are new to Windows Marketplace for Mobile or wished there was available a straight forward, step-by-step, tour of the process, the &lt;a href="http://developer.windowsmobile.com/Marketplace.aspx" target="_blank"&gt;Marketplace&lt;/a&gt; team has put together the following two walkthroughs you should find useful.&lt;/p&gt;  &lt;div style="text-align: left; width: 425px" id="__ss_1900774"&gt;&lt;a style="margin: 12px 0px 3px; display: block; font: 14px helvetica,arial,sans-serif; text-decoration: underline" title="Windows Marketplace for Mobile Developer Registration Walk Through" href="http://www.slideshare.net/mymobilehome/windows-marketplacefor-mobile-developer-registration-walk-through-081209-pr"&gt;Windows Marketplace for Mobile Developer Registration Walk Through&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=windowsmarketplaceformobiledeveloperregistrationwalkthrough081209pr-090824134519-phpapp02&amp;amp;stripped_title=windows-marketplacefor-mobile-developer-registration-walk-through-081209-pr" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=windowsmarketplaceformobiledeveloperregistrationwalkthrough081209pr-090824134519-phpapp02&amp;amp;stripped_title=windows-marketplacefor-mobile-developer-registration-walk-through-081209-pr" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div style="font-family: tahoma,arial; height: 26px; font-size: 11px; padding-top: 2px"&gt;View more &lt;a style="text-decoration: underline" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration: underline" href="http://www.slideshare.net/mymobilehome"&gt;Mike Francis&lt;/a&gt;.&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="text-align: left; width: 425px" id="__ss_1906950"&gt;&lt;a style="margin: 12px 0px 3px; display: block; font: 14px helvetica,arial,sans-serif; text-decoration: underline" title="Windows Marketplace for Mobile Developer Application Submission Walk Through" href="http://www.slideshare.net/mymobilehome/windowsmarketplaceformobileapplicationsubmissionwalkthrough"&gt;Windows Marketplace for Mobile Developer Application Submission Walk Through&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=windowsmarketplaceformobileapplicationsubmissionwalkthrough1467&amp;amp;stripped_title=windowsmarketplaceformobileapplicationsubmissionwalkthrough" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=windowsmarketplaceformobileapplicationsubmissionwalkthrough1467&amp;amp;stripped_title=windowsmarketplaceformobileapplicationsubmissionwalkthrough" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div style="font-family: tahoma,arial; height: 26px; font-size: 11px; padding-top: 2px"&gt;View more &lt;a style="text-decoration: underline" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration: underline" href="http://www.slideshare.net/mymobilehome"&gt;Mike Francis&lt;/a&gt;.&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Enjoy,&lt;/p&gt;  &lt;p&gt;Mike&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=523462" width="1" height="1"&gt;</description><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Windows+Marketplace/default.aspx">Windows Marketplace</category><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Developer/default.aspx">Developer</category></item><item><title>Announcing Mobile Incubation Week: Washington, DC!</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/21/announcing-mobile-incubation-week-washington-dc.aspx</link><pubDate>Fri, 21 Aug 2009 13:11:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:523308</guid><dc:creator>Brian Hoskins</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=523308</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/21/announcing-mobile-incubation-week-washington-dc.aspx#comments</comments><description>&lt;p&gt;Mobile Incubation Week is back, and this time we&amp;rsquo;re heading to our nation&amp;rsquo;s capitol in search of the best and brightest mobile entrepreneurs.&amp;nbsp; The fourth Mobile Incubation Week will be held at Microsoft&amp;rsquo;s offices in Washington, D.C., September 28 through October 2, 2009.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re an entrepreneur and have an idea for a great Windows Mobile application, would like to port your existing app, or want to accelerate development of your current Windows Mobile application, we are now accepting nominations.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Mobile Incubation Week puts you on the fast track to success with dedicated coaches, development support, and business insights.&amp;nbsp; The week will feature development time supported by Windows Mobile technical gurus, business coaching from members of Microsoft&amp;rsquo;s Emerging Business Team, sessions on upcoming releases such as Windows Mobile 6.5 and Windows Marketplace for Mobile, and more!&amp;nbsp; We&amp;rsquo;ll wrap up on Friday with final judging and prizes, featuring a panel of industry experts, venture capitalists, and members of the press. &lt;/p&gt;
&lt;p&gt;This event offers a unique perspective and exciting opportunity for any startup building on the Windows Mobile platform.&amp;nbsp; Check out the feedback from our last event in &lt;a href="http://www.microsoftstartupzone.com/Blogs/brian_hoskins/Lists/Posts/Post.aspx?ID=12"&gt;Mountain View&lt;/a&gt;: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&amp;ldquo;This was truly amazing.&amp;nbsp; The on-hand development &amp;amp; support staff of Microsoft was outstanding.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;ldquo;We accomplished more in this week than we could have in six months on our own.&amp;rdquo;&amp;nbsp; &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&amp;ldquo;All the onsite help dramatically reduced our time to market.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;How do I apply?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To nominate your team, please submit the following details to &lt;a href="mailto:mobincub@microsoft.com"&gt;Mobile Incubation Week&lt;/a&gt;: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Contact information &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Location of Company &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Size of company and year founded (if applicable) &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Overview of your idea &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Why you would like to participate &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How your applications is unique to Windows Mobile&lt;/p&gt;
&lt;p&gt;*Note: please do not send confidential materials at this time as no NDA has been signed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Applications will be judged according to the strength of the founding team, originality and creativity of the idea, and uniqueness to Windows Mobile.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How do I keep up with the latest news?&amp;nbsp; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For more information and to keep up on the latest news and updates on the event, subscribe to our &lt;a href="http://twitter.com/bthoskins"&gt;Twitter&lt;/a&gt; alias and stay tuned to the &lt;a href="http://www.microsoftstartupzone.com/Blogs/brian_hoskins/default.aspx"&gt;blog&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Questions?&amp;nbsp; Email &lt;a href="mailto:mobincub@microsoft.com"&gt;Mobile Incubation Week&lt;/a&gt;. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=523308" width="1" height="1"&gt;</description></item><item><title>Microsoft Mobile Security Receives Global Recognition</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/19/microsoft-mobile-security-receives-global-recognition.aspx</link><pubDate>Wed, 19 Aug 2009 18:16:40 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:523146</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>18</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=523146</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/19/microsoft-mobile-security-receives-global-recognition.aspx#comments</comments><description>&lt;p&gt;In case you haven’t heard the news from Sydney Australia, here is the latest scoop.&lt;/p&gt;  &lt;p&gt;The Windows Mobile 6.1 operating system, System Centre Mobile Device Manager 2008 and System Centre Mobile Device Manager 2008 Service Pack 1 (SP1) have obtained Common Criteria Evaluation Assurance Level 4 (EAL4). This news follows successful completion of the Defence Signals Directorate (DSD) Australasian Information Security Evaluation Program. The DSD is the Australian Government’s national authority for information security.&lt;/p&gt;  &lt;p&gt;By meeting the security criteria for EAL4, Windows Mobile 6.1, System Centre Mobile Device Manager 2008 and System Centre Mobile Device Manager 2008 SP1 are accepted under the Common Criteria Recognition Arrangement (&lt;a href="http://www.commoncriteriaportal.org/theccra.html"&gt;CCRA&lt;/a&gt;) by Australia and 25 other countries worldwide including the United States.&lt;/p&gt;  &lt;p&gt;The CCRA ensures that evaluations of IT products are performed to high and globally consistent standards. Thus, this certification provides government and enterprise customers with definitive information about the security features in Windows Mobile 6.1, and assurance that mobile workers can securely access sensitive data on information networks.&lt;/p&gt;  &lt;p&gt;Windows Mobile 6.1, combined with System Centre Mobile Device Manager 2008, extends mobile security for government and enterprise customers with on-device file encryption and remote device wipe, in the event of theft or loss. Users can access corporate data and intranets with mobile VPN and manage mobile fleets similar to the way IT departments manage PCs.&lt;/p&gt;  &lt;p&gt;Commenting on this certification milestone, Don Kerr, product marketing manager for Windows Mobile, said, “We are extremely proud of this successful Common Criteria evaluation as it offers widely recognised assurance that Windows Mobile delivers a very high level of security and protection of information networks.”&lt;/p&gt;  &lt;p&gt;“Microsoft is committed to globally recognised evaluations and certification processes as a way of building trust in computing and providing customers in the public and private sectors with a more secure and reliable platform,” said Mr Kerr.&lt;/p&gt;  &lt;p&gt;Mike Burgess, first assistant secretary, Information Security, Defence Signals Directorate, said, “We have worked very closely with Microsoft throughout this assessment process to ensure that Windows Mobile 6.1 meets the security needs for government and enterprise networks.”&lt;/p&gt;  &lt;p&gt;“Our evaluation of emerging technology is rigorous, but ensures secure use in government systems. Government organisations and enterprises can be assured that Microsoft’s successfully evaluated products can be used to securely enable remote working. DSD looks forward to vendor interest in evaluating a hardware handset that will take advantage of Windows Mobile 6.1 to provide government with another secure option,” said Mr Burgess.&lt;/p&gt;  &lt;p&gt;The 26 members included under the Common Criteria Recognition Arrangement (CCRA) are: Australia and New Zealand, Austria, Canada, Czech Republic, Denmark, Finland, France, Germany, Greece, Hungary, India, Israel, Italy, Japan, Republic of Korea, Malaysia, Netherlands, Norway, Pakistan, Singapore, Spain, Sweden, Turkey, United Kingdom and United States.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=523146" width="1" height="1"&gt;</description></item><item><title>Widget Anatomy – The Manifest</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/12/widget-anatomy-the-manifest.aspx</link><pubDate>Wed, 12 Aug 2009 15:55:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:520734</guid><dc:creator>Jorge Peraza</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=520734</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/12/widget-anatomy-the-manifest.aspx#comments</comments><description>&lt;p&gt;This is the first part of a new blog series that will describe, in detail, all major aspects of the widget framework available in Windows Mobile 6.5.&lt;/p&gt;  &lt;p&gt;The widget manifest is an XML file that describes the corresponding widget in detail so that Windows Mobile can actually do something with it.&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;This is the first file we look at when the widget is being installed or executed so, even though it is simple, it is extremely important. &lt;/p&gt;  &lt;p&gt;For Windows Mobile 6.5 we implemented widgets based on the &lt;b style="mso-bidi-font-weight: normal"&gt;W3C Widgets 1.0: Packaging and Configuration&lt;/b&gt; standard dated Dec-22-08. While the standard continues to evolve, our implementation remains backwards compatible with very few exceptions – notable exceptions will be called out in this blog series. &lt;span style="mso-spacerun: yes"&gt;&amp;#160;&lt;/span&gt;To save you some W3C reading time, in summary, the widget manifest has to be called &lt;b style="mso-bidi-font-weight: normal"&gt;config.xml&lt;/b&gt; and its presence is required in order for the widget to be considered valid. &lt;span style="mso-spacerun: yes"&gt;&amp;#160;&lt;/span&gt;Technically you could provide an empty widget manifest and thus get something installed, since all elements inside &lt;b style="mso-bidi-font-weight: normal"&gt;config.xml&lt;/b&gt; are optional. &lt;span style="mso-spacerun: yes"&gt;&amp;#160;&lt;/span&gt;That said, I recommend that at the very least you define the elements that are present in the following example:&lt;/p&gt;  &lt;p&gt;&lt;divre&gt;&lt;/divre&gt;&lt;divre&gt;&lt;/divre&gt;&lt;divre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; font-size: 12px"&gt;&lt;/divre&gt;&lt;divre&gt;&lt;/divre&gt;&lt;span style="color: #0000ff"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;xml&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;version&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;1.0&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;utf-8&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt; ?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #0000ff"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;widget&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;xmlns&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;http://www.w3.org/ns/widgets&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&lt;/span&gt;version&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;1.0&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;id&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;http://someSite.com/MyUniqueWidgetID&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;name&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;My first widget&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;content&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;src&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;widget.htm&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;text/html&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt; /&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;access&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;network&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt; /&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;icon&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;src&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;icon.png&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;icon&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;src&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;icon.ico&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;description&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;This is my first widget,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;it won't make a lot of money on the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;marketplace but at least is cute!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;description&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;author&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;href&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;http://www.windowsphone.com/blog&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;email&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;jorgeperaza@hotmail.com&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Jorge Peraza&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;author&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;license&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Example license (based on MIT License)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Copyright (c) 2008 The Foo Bar Corp.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;INSULT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;span style="color: #000000"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0px" class="MsoNormal"&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;license&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="line-height: 115%; font-family: consolas; color: #0000ff; font-size: 9.5pt; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="line-height: 115%; font-family: consolas; color: #a31515; font-size: 9.5pt; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt;widget&lt;/span&gt;&lt;span style="line-height: 115%; font-family: consolas; color: #0000ff; font-size: 9.5pt; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h2&gt;The Widget Element: What Makes Me… Me? &lt;/h2&gt;  &lt;p&gt;The first element I would like to cover in detail is the &lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;widget&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;gt; &lt;/span&gt;element, the father of all other widget configuration elements.The document can have only one and, from the many attributes that can be specified, we only honor the following two in the current release: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;span style="mso-bidi-font-size: 9.5pt; mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: ignore"&gt;&lt;span style="font-family: &amp;#39;Times New Roman&amp;#39;"&gt;&amp;#160;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;version&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&amp;quot;&lt;span style="color: #0000ff"&gt;1.0&lt;/span&gt;&amp;quot; &lt;/span&gt;This attribute specifies the widget version number, we use this to check if, when trying to install a new widget with the same &lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;id &lt;/span&gt;it should be allowed as an upgrade or not.&lt;/li&gt;    &lt;li&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;id&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; =&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&amp;quot;&lt;span style="color: #0000ff"&gt;http://someSite.com/MyUniqueWidgetID&lt;/span&gt;&amp;quot;&lt;span style="color: #0000ff"&gt; &lt;/span&gt;&lt;/span&gt;This attribute is actually extremely important, this is the unique per widget ID that the framework uses to identify installed widgets.This has to be a well-formed URI but it does not have to be valid.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Some of the child elements like&lt;span style="font-family: consolas; font-size: 9.5pt"&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: calibri; font-size: small"&gt;, &lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;description&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: calibri; font-size: small"&gt;, &lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;author&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: calibri; font-size: small"&gt; and&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; &amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;license&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;gt; &lt;/span&gt;are self-explanatory so I won’t bore you with details for them. See? I’m nice sometimes :-). &lt;/p&gt;  &lt;p&gt;Now, let’s talk about one of the most important child elements which happens to be &lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;content&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;src&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&amp;quot;&lt;span style="color: #0000ff"&gt;widget.htm&lt;/span&gt;&amp;quot;&lt;span style="color: #0000ff"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: #0000ff"&gt;text/html&lt;/span&gt;&amp;quot;&lt;span style="color: #0000ff"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;This element tells the widget framework which source file to load to execute the widget.You might also notice that the MIME type is also specified here… however on WM 6.5 we only support &lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&amp;quot;&lt;span style="color: #0000ff"&gt;text/html&lt;/span&gt;&amp;quot; &lt;/span&gt;so don’t get any ideas!!&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: calibri; font-size: small"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;The next group of interesting child elements are the set of &lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;icon&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;src&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&amp;quot;&lt;span style="color: #0000ff"&gt;icon.png&lt;/span&gt;&amp;quot;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; which allow you to specify one or more icons for your widget. Icons are very important because they give your widget their unique personality&lt;a style="mso-comment-reference: e_1; mso-comment-date: 20090724t0851"&gt;&lt;span style="font-size: small"&gt;&lt;span style="color: #000000"&gt;&lt;span style="font-family: calibri"&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;Now, there are some important limitations widget writes should be aware of.&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;Windows Mobile Professional (touch screen) supports both PNGs and JPGs as image file formats to be used as widget icons, however, Windows Mobile Standard only supports ICOs (Please, don’t ask :-)) Soooo, in order for your widget to show best on both platforms I recommend having both and listing the PNG or JPG first. &lt;/p&gt;  &lt;p&gt;Last but not least let’s talk about &lt;span style="mso-spacerun: yes"&gt;&amp;#160;&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 9.5pt"&gt;access&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 9.5pt"&gt;network&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 9.5pt"&gt;&amp;quot;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color: #0000ff"&gt; /&amp;gt;. &lt;/span&gt;&lt;/span&gt;This is an optional element that is required to be “true” if your widget accesses network resources, otherwise you can leave it out (but all cellular network calls will fail).&lt;span style="font-family: consolas; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;I went to all the effort for defining all fields in the manifest… can I at least access them from my widget?&lt;/h2&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Glad you asked, and the answer is… of course! &lt;span style="mso-spacerun: yes"&gt;&amp;#160;&lt;/span&gt;You can do this by using the widget metadata API available to you courtesy of the “widget” javascript object.&lt;span style="mso-spacerun: yes"&gt;&amp;#160; &lt;/span&gt;Below are the relevant properties that you can use to get information out of the manifest: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;widget.version &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;widget.identifier &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;widget.name &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;widget.description &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;widget.authorEmail &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;widget.authorName &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;widget.authorURL &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;widget.height &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;widget.width &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;widget.locale &lt;/span&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;That’s it for now. &lt;span style="mso-spacerun: yes"&gt;&amp;#160;&lt;/span&gt;Please stay tuned for more information and happy widget writing!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=520734" width="1" height="1"&gt;</description><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Windows+Mobile+6.5/default.aspx">Windows Mobile 6.5</category><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Widgets/default.aspx">Widgets</category></item><item><title>Using Custom Icons in Windows Mobile 6.5</title><link>http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/11/using-custom-icons-in-windows-mobile-6-5.aspx</link><pubDate>Tue, 11 Aug 2009 18:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:521887</guid><dc:creator>Mike Francis</dc:creator><slash:comments>41</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowsteamblog.com/blogs/windowsphone/rsscomments.aspx?PostID=521887</wfw:commentRss><comments>http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/11/using-custom-icons-in-windows-mobile-6-5.aspx#comments</comments><description>&lt;p&gt;&lt;em&gt;Update: Updated sample code, you can download it &lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/sms intercept.zip"&gt;here&lt;/a&gt;. Read all about it &lt;a href="http://blog.mjfnet.com/Blog/2009/11/06/WindowsMobile65StartScreenPNGIconDisplayProblem.aspx"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;If you’ve seen the any of the plethora of &lt;a href="http://www.bing.com/images/search?q=Windows+Mobile+6.5+screen+shots&amp;amp;FORM=BIFD" target="_blank"&gt;Windows Mobile 6.5 screen shots&lt;/a&gt;, likely you’d agree that it looks much better than previous versions. A component of this ‘face lift’, is support for PNG files in the Window Mobile 6.5 Start screen. Including a nicely rendered PNG file as your application icon is important to ensure the highest quality user experience across different devices.&lt;/p&gt;  &lt;p&gt;If you plan to distribute your application via &lt;a href="http://developer.windowsmobile.com/Marketplace.aspx" target="_blank"&gt;Windows Marketplace for Mobile&lt;/a&gt; (and I don’t know why you wouldn’t) the &lt;a href="https://developer.windowsmobile.com/resources/en-US/Application%20Submission%20Guidelines.pdf" target="_blank"&gt;requirements document&lt;/a&gt; requires that you use a 90 x 90 Start screen icon for your application. This post will cover how to use PNG files as icons in the Windows Mobile 6.5 Professional Start screen. For information on creating PNG icons, see my previous post on &lt;a href="http://windowsteamblog.com/blogs/windowsphone/archive/2009/07/24/creating-custom-icons-for-windows-mobile-6-5.aspx" target="_blank"&gt;Creating Custom Icons for Windows Mobile 6.5&lt;/a&gt;. The sample code I will be referring to in this post can be found &lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/sms intercept.zip" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Contents:&lt;/h3&gt;  &lt;p&gt;&lt;a href="#StartScreenRes"&gt;Start Screen: Resolution / DPI and Icon Size&lt;/a&gt;     &lt;br /&gt;&lt;a href="#RegistryKeys"&gt;Registry Keys&lt;/a&gt;     &lt;br /&gt;&lt;a href="#Setup"&gt;Setup&lt;/a&gt;: &lt;a href="#StaticSetup"&gt;Static&lt;/a&gt; or &lt;a href="#DynamicSetup"&gt;Dynamic&lt;/a&gt;     &lt;br /&gt;&lt;a href="#CachedIcons"&gt;Cached Icons&lt;/a&gt;     &lt;br /&gt;&lt;a href="#GamesFolder"&gt;Games Shortcuts Folder&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a name="StartScreenRes"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Start Screen: Resolution / DPI and Icon Size&lt;/h3&gt;  &lt;p&gt;The Start Screen is one of the huge improvements in Windows Mobile 6.5 Professional. This replaces the Start Menu in previous versions. The improvements include: enhanced touch screen navigation (tap, tap and hold, pan, and flick) and more options for organizing and presenting Start menu items. &lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/image_5F00_57A75881.png"&gt;&lt;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://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/image_5F00_thumb_5F00_0781FA43.png" width="403" height="516" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you are an experienced Windows Mobile developer, you know that depending on the DPI and resolution of the device, the shell extracts the appropriately sized icon from the EXE for display in the Start screen. Windows Mobile 6.5 still supports this; however now it also supports the display of PNG file icons. The shell does not automatically select the size of the PNG icon based on the device DPI. This dynamic selection of the icon is done in a setup dll. (See &lt;a href="#DynamicSetup"&gt;dynamic setup&lt;/a&gt; below.) However, if you do not want to provide a separate PNG file for each DPI, you can provide one (90x90) and the shell will scale down the icon as necessary, depending on the DPI of the device. (In fact, this is the &lt;a href="http://developer.windowsmobile.com/Marketplace.aspx" target="_blank"&gt;Marketplace&lt;/a&gt; requirement.) The table below illustrates the DPI / resolution and icon size relationship.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;center&gt;   &lt;table style="border-collapse: collapse" border="0" cellspacing="0" cellpadding="0" _base_href="http://windowsteamblog.com/blogs/windowsphone" unselectable="on"&gt;&lt;tbody&gt;       &lt;tr style="text-align: center; background-color: #9bbb59; height: 79.5pt" height="106"&gt;         &lt;td style="width: 122px; height: 79.5pt; color: #ffffff" class="xl65223" height="106"&gt;&lt;span&gt;Windows Mobile Platform&lt;/span&gt;&lt;/td&gt;          &lt;td style="width: 80px; color: #ffffff" class="xl66223"&gt;&lt;span&gt;Resolution&lt;/span&gt;&lt;/td&gt;          &lt;td style="width: 48px; color: #ffffff" class="xl66223"&gt;&lt;span&gt;DPI&lt;/span&gt;&lt;/td&gt;          &lt;td style="width: 161px; color: #ffffff" class="xl66223"&gt;&lt;span&gt;Orientation&lt;/span&gt;&lt;/td&gt;          &lt;td style="width: 69pt; color: #ffffff" class="xl66223" width="92"&gt;&lt;span&gt;Small Icon&lt;/span&gt;&lt;/td&gt;          &lt;td style="width: 65pt; color: #ffffff" class="xl66223" width="87"&gt;&lt;span&gt;Large Icon&lt;/span&gt;&lt;/td&gt;          &lt;td style="width: 48pt; color: #ffffff" class="xl65223" width="64"&gt;&lt;span&gt;Start Menu PNG Icon (6.5)&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="text-align: center; padding-bottom: 0in; background-color: #d8d8d8; width: 122px; height: 15.75pt; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;6.x Professional&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 80px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;240x240&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 48px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;96&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 161px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;Square&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;16x16&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;32x32&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;45x45&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="padding-bottom: 0in; width: 122px; height: 15.75pt; padding-top: 0in" class="xl68223" height="21"&gt;&lt;span&gt;6.x Professional&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 80px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;240x320&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 48px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;96&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 161px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;Portrait &amp;amp; Landscape&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;16x16&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;32x32&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;45x45&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 122px; height: 15.75pt; padding-top: 0in" class="xl67223" height="21"&gt;&lt;span&gt;6.x Professional&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 80px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;240x400&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 48px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;96&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 161px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;Portrait &amp;amp; Landscape&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;16x16&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;32x32&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;45x45&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="padding-bottom: 0in; width: 122px; height: 15.75pt; padding-top: 0in" class="xl68223" height="21"&gt;&lt;span&gt;6.x Professional&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 80px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;320x320&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 48px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;128&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 161px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;Square&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;21x21&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;43x43&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;60x60&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 122px; height: 15.75pt; padding-top: 0in" class="xl67223" height="21"&gt;&lt;span&gt;6.x Professional&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 80px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;480x480&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 48px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;192&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 161px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;Square&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;32x32&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;64x64&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;90x90&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="padding-bottom: 0in; width: 122px; height: 15.75pt; padding-top: 0in" class="xl68223" height="21"&gt;&lt;span&gt;6.x Professional&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 80px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;480x640&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 48px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;192&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 161px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;Portrait &amp;amp; Landscape&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;32x32&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;64x64&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;90x90&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 122px; height: 15.75pt; padding-top: 0in" class="xl67223" height="21"&gt;&lt;span&gt;6.x Professional&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 80px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;480x800&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 48px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;192&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 161px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;Portrait &amp;amp; Landscape&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;32x32&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;64x64&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;90x90&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="padding-bottom: 0in; width: 122px; height: 15.75pt; padding-top: 0in" class="xl68223" height="21"&gt;&lt;span&gt;6.x Professional&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 80px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;480x864&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 48px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;192&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 161px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;Portrait &amp;amp; Landscape&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;32x32&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;64x64&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;90x90&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 122px; height: 15.75pt; padding-top: 0in" class="xl67223" height="21"&gt;&lt;span&gt;6.x Standard&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 80px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;176x220&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 48px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;96&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 161px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;Portrait&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;16x16&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;32x32&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;N/A&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="padding-bottom: 0in; width: 122px; height: 15.75pt; padding-top: 0in" class="xl68223" height="21"&gt;&lt;span&gt;6.x Standard&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 80px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;240x320&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 48px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;131&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 161px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;Portrait &amp;amp; Landscape&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;22x22&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;44x44&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;N/A&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 122px; height: 15.75pt; padding-top: 0in" class="xl67223" height="21"&gt;&lt;span&gt;6.x Standard&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 80px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;240x240&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 48px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;131&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; width: 161px; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;Square&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;22x22&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;44x44&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; background-color: #d8d8d8; padding-top: 0in" class="xl67223"&gt;&lt;span&gt;N/A&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 15.75pt" height="21"&gt;         &lt;td style="padding-bottom: 0in; width: 122px; height: 15.75pt; padding-top: 0in" class="xl68223" height="21"&gt;&lt;span&gt;6.x Standard&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 80px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;240x400&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 48px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;131&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; width: 161px; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;Portrait &amp;amp; Landscape&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;22x22&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;44x44&lt;/span&gt;&lt;/td&gt;          &lt;td style="padding-bottom: 0in; padding-top: 0in" class="xl68223"&gt;&lt;span&gt;N/A&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="text-align: center; height: 16.5pt" height="22"&gt;         &lt;td style="background-color: #d8d8d8; width: 122px; height: 16.5pt" class="xl69223" height="22"&gt;&lt;span&gt;6.x Standard&lt;/span&gt;&lt;/td&gt;          &lt;td style="background-color: #d8d8d8; width: 80px" class="xl69223"&gt;&lt;span&gt;440x240&lt;/span&gt;&lt;/td&gt;          &lt;td style="background-color: #d8d8d8; width: 48px" class="xl69223"&gt;&lt;span&gt;131&lt;/span&gt;&lt;/td&gt;          &lt;td style="background-color: #d8d8d8; width: 161px" class="xl69223"&gt;&lt;span&gt;Landscape&lt;/span&gt;&lt;/td&gt;          &lt;td style="background-color: #d8d8d8" class="xl69223"&gt;&lt;span&gt;22x22&lt;/span&gt;&lt;/td&gt;          &lt;td style="background-color: #d8d8d8" class="xl69223"&gt;&lt;span&gt;44x44&lt;/span&gt;&lt;/td&gt;          &lt;td style="background-color: #d8d8d8" class="xl69223"&gt;&lt;span&gt;N/A&lt;/span&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div align="left"&gt;&amp;#160;&lt;/div&gt;  &lt;p&gt;&lt;a name="RegistryKeys"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Registry Keys&lt;/h3&gt;  &lt;p&gt;To have the Start screen use a PNG file instead of an icon embedded in the EXE, you need to provide the following registry entries: &lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\Phone.lnk]&lt;br /&gt;&lt;span style="color: #006080"&gt;&amp;quot;Icon&amp;quot;&lt;/span&gt;=&lt;span style="color: #006080"&gt;&amp;quot;\Application Data\My App\newphoneicon.png&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;Here are the definitions of the value pair settings:&lt;/p&gt;

&lt;table style="text-align: left; width: 502px; height: 183px" border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style="background-color: #9bbb59; width: 101px"&gt;&lt;span style="color: #ffffff"&gt;Name&lt;/span&gt;&lt;/td&gt;

      &lt;td style="background-color: #9bbb59; width: 102px"&gt;&lt;span style="color: #ffffff"&gt;Type&lt;/span&gt;&lt;/td&gt;

      &lt;td style="background-color: #9bbb59; width: 448px" width="495"&gt;&lt;span style="color: #ffffff"&gt;Description&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr style="background-color: #d8d8d8"&gt;
      &lt;td style="width: 101px"&gt;Name&lt;/td&gt;

      &lt;td style="width: 102px"&gt;REG_SZ&lt;/td&gt;

      &lt;td style="width: 448px" width="495"&gt;Specifies the display name of the item. If the value is not specified, the file name will be displayed without the extension.&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td style="width: 101px"&gt;Group&lt;/td&gt;

      &lt;td style="width: 102px"&gt;REG_DWORD&lt;/td&gt;

      &lt;td style="width: 448px" width="495"&gt;Specifies whether the item is a folder. The value can be set to TRUE or FALSE. Set the value to TRUE to indicate that the item is a folder. If the value is not specified, the system will determine the &lt;span class="font5"&gt;Group&lt;/span&gt;&lt;span class="font0"&gt; value by verifying whether the registry key has any subkeys.&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr style="background-color: #d8d8d8"&gt;
      &lt;td style="width: 101px"&gt;Icon&lt;/td&gt;

      &lt;td style="width: 102px"&gt;REG_SZ&lt;/td&gt;

      &lt;td style="width: 448px" width="495"&gt;Specifies the path and file name where the icon is located. The icon can consist of a PNG file or an embedded icon resource module. If this value is not specified, the default icon of the shell will be used.&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td style="width: 101px"&gt;Rank&lt;/td&gt;

      &lt;td style="width: 102px"&gt;REG_DWORD&lt;/td&gt;

      &lt;td style="width: 448px" width="495"&gt;Specifies the rank of the item. An item that specifies a larger value for Rank will be displayed before items that specify a lower value. If this item is not specified, the Rank will be set to 0.&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;div align="left"&gt;&amp;#160;&lt;/div&gt;
&lt;a name="SecurityNote"&gt;&lt;/a&gt;

&lt;div align="left"&gt;Security note: This requires creating a registry key underneath HKLM\Security. This is a &lt;a href="http://msdn.microsoft.com/en-us/library/ms885964.aspx" target="_blank"&gt;protected registry location&lt;/a&gt;. To write to a protected registry key, the CAB file needs to be signed. This will not be a problem for Marketplace applications, since by definition they are signed. As mentioned, this article only applies to Windows Mobile Professional devices. However, if you use the same CAB for a Standard device installation, you will need to make sure your application is signed privileged, otherwise setup will fail. To avoid having to sign your CAB privileged (and incur the extra Marketplace approval time this requires) you can use the &lt;a href="#DynamicSetup"&gt;dynamic setup&lt;/a&gt; mentioned in this post. Be sure to include in your setup dll, the conditional creating of the StartInfo registry key and copying of the PNG file, and only do these steps if installing on a Professional device.&amp;#160; See the sample code &lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/sms intercept.zip"&gt;here&lt;/a&gt; for an example on how to do this.&lt;/div&gt;

&lt;h3&gt;Setup&lt;/h3&gt;

&lt;p&gt;In the next two sections, I’ll walk through two deployment scenarios, static and dynamic.&lt;/p&gt;

&lt;p&gt;&lt;a name="StaticSetup"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;Static Setup:&lt;/h4&gt;

&lt;p&gt;You can specify the registry key as part of your CAB file configuration. Per the Marketplace requirements, I will use a 90 x 90 PNG file as the Start screen icon. In my &lt;a href="http://msdn.microsoft.com/en-us/library/zcebx8f8(VS.80).aspx" target="_blank"&gt;Smart Device CAB project&lt;/a&gt;, I have added the following registry key: &lt;/p&gt;

&lt;p&gt;&lt;a href="file:///C:/Users/mikefra/AppData/Local/Temp/WindowsLiveWriter-429641856/supfiles42420FD/image12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image_thumb7" border="0" alt="image_thumb7" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/image_5F00_thumb7_5F00_2A8226BE.png" width="504" height="207" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Note: This registry key supports ‘&lt;a href="http://msdn.microsoft.com/en-us/library/Aa924450.aspx" target="_blank"&gt;CE strings&lt;/a&gt;’ and .INF file strings. Above %InstallDir% maps to the ‘\Program Files\SMS Intercept’ directory.&lt;/p&gt;

&lt;p&gt;My CAB file also includes the (90x90) AppIcon.png and a shortcut of the same name as the registry key above (SMS Intercept.lnk). See below: 
  &lt;br /&gt;

  &lt;br /&gt;&lt;a href="file:///C:/Users/mikefra/AppData/Local/Temp/WindowsLiveWriter-429641856/supfiles42420FD/image5.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image_thumb2" border="0" alt="image_thumb2" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/image_5F00_thumb2_5F00_42A59119.png" width="504" height="96" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a name="DynamicSetup"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;Dynamic Setup:&lt;/h4&gt;

&lt;h5&gt;Detecting DPI:&lt;/h5&gt;

&lt;p&gt;Another way to configure the Start screen icon is dynamically: copying the appropriately sized PNG file based on the DPI of the device. We will use a &lt;a href="http://msdn.microsoft.com/en-us/library/aa924308.aspx" target="_blank"&gt;setup dll&lt;/a&gt; to detect the DPI, and copy the appropriate PNG. You may know that WCELOAD (the EXE that process the CAB file) or a DLL that is loaded into its process, will return the same DPI (96) no matter the actual DPI of the device. To workaround this, we launch a very small helper EXE that quickly exits, without UI, and returns the DPI. The SDK sample &lt;a href="http://msdn.microsoft.com/en-us/library/bb158675.aspx" target="_blank"&gt;ResDLL&lt;/a&gt; uses this technique as well as demonstrates how to install DPI specific resource DLLs. Here is the code used to detect the DPI:&lt;/p&gt;

&lt;div&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; WINAPI WinMain( HINSTANCE hInstance,&lt;br /&gt;                    HINSTANCE hPrevInstance,&lt;br /&gt;                    LPTSTR    lpCmdLine,&lt;br /&gt;                    &lt;span style="color: #0000ff"&gt;int&lt;/span&gt;       nCmdShow)&lt;br /&gt;{&lt;br /&gt;    HDC hdc = ::GetDC(NULL);&lt;br /&gt;    INT ans = ::GetDeviceCaps(hdc, LOGPIXELSX);&lt;br /&gt;    ::ReleaseDC(NULL, hdc);&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; ans;&lt;br /&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;h5&gt;Copy DPI specific files:&lt;/h5&gt;

&lt;p&gt;Our dynamic CAB file contains four png files: 
  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 45.png 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 60.png 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 90.png 

  &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; AppIcon.png &lt;/p&gt;

&lt;p&gt;Based on the DPI detected, we copy the appropriate PNG file to the filename AppIcon.png. AppIcon.png is included in the CAB as a fallback in case our DPI detect logic fails. The unused icons and the DPI detect EXE are deleted. &lt;/p&gt;

&lt;p&gt;Here is a code snippet from the sample setup dll (SetupDPI) implementing this:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;wsprintf(szFile,_T(&lt;span style="color: #006080"&gt;&amp;quot;%s\\%s&amp;quot;&lt;/span&gt;), pszInstallDir, _T(&lt;span style="color: #006080"&gt;&amp;quot;\\GetRealDPI.EXE&amp;quot;&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: #008000"&gt;// Launch DPI Detector&lt;/span&gt;&lt;br /&gt;::CreateProcess(szFile, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, &amp;amp;pi);&lt;br /&gt;::WaitForSingleObject(pi.hProcess, 10000);&lt;br /&gt;&lt;span style="color: #008000"&gt;// DPI is returned in exit code of detector app&lt;/span&gt;&lt;br /&gt;::GetExitCodeProcess(pi.hProcess, &amp;amp;nSystemDPI);&lt;br /&gt;::CloseHandle(pi.hProcess);&lt;br /&gt;::DeleteFile(szFile);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;// Based on DPI, copy xx.png to AppIcon.png and delete unused files&lt;/span&gt;&lt;br /&gt;wsprintf(szOutFile,_T(&lt;span style="color: #006080"&gt;&amp;quot;%s\\%s&amp;quot;&lt;/span&gt;), pszInstallDir, szTargetFilename);&lt;br /&gt;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt; (INT i=0;i&amp;lt;ARRAYSIZE(DPI_Icon);i++) {&lt;br /&gt;    wsprintf(szFile,_T(&lt;span style="color: #006080"&gt;&amp;quot;%s\\%s&amp;quot;&lt;/span&gt;), pszInstallDir, DPI_Icon[i].lpstrIconSize);&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (DPI_Icon[i].DPI==nSystemDPI) {&lt;br /&gt;        ::CopyFile(szFile, szOutFile, &lt;span style="color: #0000ff"&gt;FALSE&lt;/span&gt;);&lt;br /&gt;    } &lt;br /&gt;    ::DeleteFile(szFile);&lt;br /&gt;}&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;h5&gt;Create Shortcut:&lt;/h5&gt;

&lt;p&gt;As mentioned, we do the post-processing of the files after the CAB is installed (in the Install_Exit function). That is, because the icon image in the Start screen is created when the shortcut is created (see the &lt;a href="#CachedIcons" target="_blank"&gt;cached icons&lt;/a&gt; section below), we need to create the shortcut in the setup dll instead of in the CAB file as was done in the static CAB sample. Otherwise, the Start screen will use an icon extracted from the EXE instead of the PNG file. Here is the language independent code that creates the shortcut:&lt;/p&gt;

&lt;div&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #008000"&gt;// Build lnk filename&lt;/span&gt;&lt;br /&gt;PTCHAR pAppDir = wcsrchr(pszInstallDir, '\\');&lt;br /&gt;TCHAR szShortcutPath[MAX_PATH];&lt;br /&gt;&lt;span style="color: #008000"&gt;// CSIDL_PROGRAMS == \Windows\Start Menu\Programs&lt;/span&gt;&lt;br /&gt;SHGetSpecialFolderPath(hwndParent, szShortcutPath, CSIDL_PROGRAMS , false); &lt;br /&gt;wsprintf(szFile,_T(&lt;span style="color: #006080"&gt;&amp;quot;%s%s%s&amp;quot;&lt;/span&gt;), szShortcutPath, pAppDir, _T(&lt;span style="color: #006080"&gt;&amp;quot;.lnk&amp;quot;&lt;/span&gt;));&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;// Build exe filename&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;// CSIDL_PROGRAM_FILES == \Program Files&lt;/span&gt;&lt;br /&gt;SHGetSpecialFolderPath(hwndParent, szShortcutPath, CSIDL_PROGRAM_FILES  , false); &lt;br /&gt;wsprintf(szOutFile,_T(&lt;span style="color: #006080"&gt;&amp;quot;\&amp;quot;%s%s%s%s\&amp;quot;&amp;quot;&lt;/span&gt;), &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; szShortcutPath, pAppDir, pAppDir, _T(&lt;span style="color: #006080"&gt;&amp;quot;.exe&amp;quot;&lt;/span&gt;));&lt;br /&gt;&lt;br /&gt;SHCreateShortcut(szFile, szOutFile);&lt;/pre&gt;
&lt;/div&gt;

&lt;div&gt;&amp;#160;&lt;/div&gt;

&lt;div&gt;Note that the dynamic CAB sample does not not contain the file system declaration that creates a shortcut as the static sample CAB does.&lt;/div&gt;

&lt;p&gt;&lt;a name="CachedIcons"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Cached Icons&lt;/h3&gt;

&lt;p&gt;During development, you will likely want to change the PNG file as you experiment will different artwork. You will notice that if you overwrite the PNG file, the Start screen will not use the new image. This is because when the Start screen shortcut is created, the icon image is cached by the shell. Thereafter for better performance, the shell retrieves the image from the cache. The cache is rebuilt a boot time. Here is one possible workaround:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Delete the shortcut &lt;/li&gt;

  &lt;li&gt;Rename (or copy) target EXE name. For example, rename hello.exe to hello1.exe &lt;/li&gt;

  &lt;li&gt;Recreate shortcut pointing to new EXE name. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here is provisioning XML that does this. You can run this using &lt;a href="http://msdn.microsoft.com/en-us/library/aa454232.aspx" target="_blank"&gt;RapiConfig.exe&lt;/a&gt;:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;wap-provisioningdoc&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;FileOperation&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #008000"&gt;&amp;lt;!-- Delete Shortcut --&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;%CE11%\SMS Intercept.lnk&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;translation&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;install&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Delete&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;parm&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;ForceDelete&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;&amp;lt;!-- Copy EXE name to new EXE --&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;%CE1%\sms Intercept\sms Intercept1.exe&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ff0000"&gt;translation&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;install&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Copy&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;parm&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Source&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;%CE1%\sms Intercept\sms Intercept.exe&amp;quot;&lt;/span&gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #ff0000"&gt;translation&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;install&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;&amp;lt;!-- Create new shortcut pointing to new EXE name --&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;%CE11%&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;translation&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;install&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;MakeDir&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;      &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;SMS Intercept.lnk&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;translation&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;install&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Shortcut&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;parm&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Source&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;%CE1%\sms Intercept\sms Intercept1.exe&amp;quot;&lt;/span&gt; &lt;br /&gt;              &lt;span style="color: #ff0000"&gt;translation&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;install&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;characteristic&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;wap-provisioningdoc&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;div&gt;
  &lt;br /&gt;&lt;/div&gt;
&lt;a name="GamesFolder"&gt;&lt;/a&gt;

&lt;h3&gt;Games Shortcuts Folder&lt;/h3&gt;

&lt;div id="codeSnippetWrapper"&gt;If we were installing this application into the Games folder, the key pointing to the PNG file would look like this:&lt;/div&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\Games\Phone.lnk]&lt;br /&gt;&lt;span style="color: #006080"&gt;&amp;quot;Icon&amp;quot;&lt;/span&gt;=&lt;span style="color: #006080"&gt;&amp;quot;\Application Data\My App\newphoneicon.png&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;p&gt;Game developers have raised the question, “How do I create the Games registry key in a language independent way?” Without the Games folder, this key is language independent. However, the shell will look for the shortcut (.lnk) files in the directories below Start, therefore we need to setup this key using the localized name for Games. This requires a Setup DLL. See the sample code for this post &lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowsphone/sms intercept.zip"&gt;here&lt;/a&gt;. &lt;/p&gt;

  &lt;p&gt;To have your shortcut created in the Games folder, you must change the following line in the SetupDPI.CPP and rebuild the project:&lt;/p&gt;

  &lt;div&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #008000"&gt;// Set this to true to create shortcut and &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;// registry key in the localized 'Games' Folder&lt;/span&gt;&lt;br /&gt;BOOL g_bCreateInGamesFolder=&lt;span style="color: #0000ff"&gt;FALSE&lt;/span&gt;;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;You should now understand how to configure your CAB file projects to include PNG files as icons in the Windows Mobile 6.5 Start screen.&lt;/p&gt;

&lt;p&gt;For a list of frequently asked questions on this topic see here: &lt;a href="http://windowsteamblog.com/blogs/windowsphone/pages/start-screen-png-icon-faq.aspx" target="_blank"&gt;Start Screen PNG Icon FAQ&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowsteamblog.com/aggbug.aspx?PostID=521887" width="1" height="1"&gt;</description><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Graphics/default.aspx">Graphics</category><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Icons/default.aspx">Icons</category><category domain="http://windowsteamblog.com/blogs/windowsphone/archive/tags/Setup/default.aspx">Setup</category></item></channel></rss>