<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>/Kevin Ashley (KA)</title>
	<atom:link href="http://kevinashley.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kevinashley.com</link>
	<description>author of top Windows 8 apps, Windows 8 Professional Programming book</description>
	<lastBuildDate>Fri, 03 May 2013 23:56:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Azure Mobile Services and DateTimeOffset</title>
		<link>http://kevinashley.com/azure-mobile-services-and-datetimeoffset/</link>
		<comments>http://kevinashley.com/azure-mobile-services-and-datetimeoffset/#comments</comments>
		<pubDate>Fri, 03 May 2013 23:56:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Mobile Servics]]></category>
		<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[azure mobile services]]></category>

		<guid isPermaLink="false">http://kevinashley.com/?p=811</guid>
		<description><![CDATA[I use DateTimeOffset very extensively, my corresponding SQL Azure table in mobile services uses datetimeoffset(3) column. The issue that I had was somewhere during JSON.NET serialization, the DateTimeOffset lost the offset and got converted to UTC. I couldn’t find any solution, until I experimentally started playing with the Mobile Services Client SerializationSettings, exposed in the [...]]]></description>
				<content:encoded><![CDATA[<p>I use DateTimeOffset very extensively, my corresponding SQL Azure table in mobile services uses datetimeoffset(3) column. The issue that I had was somewhere during JSON.NET serialization, the DateTimeOffset lost the offset and got converted to UTC. I couldn’t find any solution, until I experimentally started playing with the Mobile Services Client SerializationSettings, exposed in the latest SDK. Changing DateTimeZoneHandling&nbsp; didn’t seem to help much until I discovered this post by <a href="http://blogs.msdn.com/b/carlosfigueira/archive/2013/04/22/large-numbers-and-azure-mobile-services.aspx">Carlos</a>. I changed it a little bit, keeping the idea, and voila: my DateTimeOffset now saves in Azure Mobile Services, no problem. If you know a better way, please let me know:</p>
<p>&nbsp;</p>
<pre class="code"><span style="background: white; color: black">                MobileService.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.</span><span style="background: white; color: #2b91af">DateTimeZoneHandling</span><span style="background: white; color: black">.RoundtripKind;
                </span><span style="background: white; color: green">// remove date time converter
                </span><span style="background: white; color: blue">var </span><span style="background: white; color: black">conv = MobileService.SerializerSettings.Converters.Where(c =&gt; c </span><span style="background: white; color: blue">is </span><span style="background: white; color: #2b91af">MobileServiceIsoDateTimeConverter</span><span style="background: white; color: black">).FirstOrDefault();
                </span><span style="background: white; color: blue">if </span><span style="background: white; color: black">(conv != </span><span style="background: white; color: blue">null</span><span style="background: white; color: black">)
                {
                    MobileService.SerializerSettings.Converters.Remove(conv);
                }
 </span></pre>
<pre class="code">&nbsp;</pre>
]]></content:encoded>
			<wfw:commentRss>http://kevinashley.com/azure-mobile-services-and-datetimeoffset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Phone: one week with professional ski and snowboard instructors</title>
		<link>http://kevinashley.com/windows-phone-proven-with-the-snow-pros-one-week-with-national-team-leads-of-professional-ski-and-snowboard-instructors/</link>
		<comments>http://kevinashley.com/windows-phone-proven-with-the-snow-pros-one-week-with-national-team-leads-of-professional-ski-and-snowboard-instructors/#comments</comments>
		<pubDate>Sat, 20 Apr 2013 17:47:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Windows Phone 8]]></category>
		<category><![CDATA[skiing]]></category>
		<category><![CDATA[windows phone]]></category>
		<category><![CDATA[windows phone 8]]></category>

		<guid isPermaLink="false">http://kevinashley.com/?p=746</guid>
		<description><![CDATA[Event Facts: 20+ teams lead by National level instructors with Windows Phones200 ski and snowboard instructors30+ Nokia Lumia Windows Phones uploading real-time stats and photosNokia and Microsoft employees helping on-site and skiing 1,000,000 vertical ft tracked by Winter Ski &#38; Ride appTechnology used: Windows Phone, Windows Azure, SkyDrive and Windows 8Altitude: 8,000 &#8211; 11,000 ft= [...]]]></description>
				<content:encoded><![CDATA[<p align="right"><font size="2"><em>Event Facts: <br />2</em></font><font size="2"><em>0+ teams lead by National level instructors with Windows Phones<br /></em></font><font size="2"><em>200 ski and snowboard instructors<br /></em></font><font size="2"><em>30+ Nokia Lumia Windows Phones uploading real-time stats and photos<br /></em></font><font size="2"><em>Nokia and Microsoft employees helping on-site and skiing <br /></em></font><font size="2"><em>1,000,000 vertical ft tracked by Winter Ski &amp; Ride app<br /></em></font><font size="2"><em>Technology used: Windows Phone, Windows Azure, SkyDrive and Windows 8<br /></em></font><em><font size="2">Altitude: 8,000 &#8211; 11,000 ft<br /></font><font size="2">= TOTAL SUCCESS</font></em></p>
<p align="left"><font size="2"><a href="http://sdrv.ms/15s11oW">Tons of photos here</a></font></p>
<p align="left"><font size="2"><a href="http://sdrv.ms/12uZJGU">… even more photos and videos here</a></font></p>
<h2>Windows Phone taken to the extreme</h2>
<p>What’s the best proof of technology? Taking it to the extreme! Last week more than 200 attendees of the National Academy of Professional Ski Instructors of America and American Association of Snowboard Instructors (PSIA-AASI) have been skiing, riding, taking pictures, videos and played with the apps, like the <a href="http://aka.ms/winter">Winter</a> app, at 10,000 ft elevations in the mountains of Utah. Microsoft and Nokia helped in this event, providing phones, skiing with the teams and of course showcasing the app for Windows Phone. Result? Thousands of pictures, videos, lots of smiling faces and memories that last.</p>
<p><a href="http://sdrv.ms/15s11oW"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://kevinashley.com/wp-content/uploads/2013/04/image12.png" width="644" height="160"></a></p>
<h2>In the mountains of Utah…</h2>
<p>All National team leads were given latest Nokia Lumia 920 and 820 Windows Phones, and they took them to the places, chutes, cornices, bowls and steep bumpy rides we could never think of. Together teams skied almost 1,000,000 ft vertical, tracked by <a href="http://aka.ms/winter">Winter Ski &amp; Ride</a> app. The amount of April snowfall in Utah made every day the best day of skiing ever: with 5-8” of fresh snow falling almost every day, we also enjoyed days of sun and light, champagne powder.</p>
<p><a href="http://sdrv.ms/15s11oW"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://kevinashley.com/wp-content/uploads/2013/04/image10.png" width="644" height="146"></a></p>
<h2>National level ski and snowboard event</h2>
<p>The <a href="http://www.thesnowpros.org/NewsInformation/NewsampAnnouncements/tabid/117/articleType/ArticleView/articleId/193/PSIA-AASI-National-Academy-Day-2-Deep-Returns-Hot-App-Ages-and-Stages.aspx">National Academy</a> is an annual event gathering professional ski and snowboard instructors of America (PSIA-AASI), an organization of more than 32,000 ski and snowboard instructors training students in every region of the US. During the Academy instructors learn from the top national instructors. </p>
<p><a href="http://sdrv.ms/15s11oW"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://kevinashley.com/wp-content/uploads/2013/04/image11.png" width="644" height="161"></a></p>
<h2>Microsoft and Nokia showing new technologies</h2>
<p>Microsoft and Nokia representatives were very busy at the event, answering questions about Windows Phone, showcasing the app, making new friends and skiing! Some Microsoft employees skied for the first time, but after the event were ready to hit the slopes again! <a href="http://sdrv.ms/15s11oW"><img title="Presentation1" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Presentation1" src="http://kevinashley.com/wp-content/uploads/2013/04/Presentation12.jpg" width="644" height="364"></a></p>
<p><strong>Photo: Matt Rothschild, Nokia’s head in North America demonstrating Nokia devices. Nokia and Microsoft showcasing devices, skiing and answering questions</strong></p>
<h2>What we learned</h2>
<p>We’ve heard many great comments about Windows Phone, its video stabilization capabilities that make devices especially useful in the mountains, when taking instructional videos. Many mentioned superior device and camera capabilities that Windows Phone has, and also the software: such as Winter app that makes skiing with friends fun and also helps ski instructors teaching students. Together with PSIA-AASI, we also had a feedback and planning session from 30 national team leads, suggesting ideas for the next generation of Winter software and what a ski instructor may need in the mountains. This brainstorming will take the app to the next level. By the next season we are planning to significantly extend the app to include more exciting features. </p>
<h3>SkyDrive + Windows Phone + Large Events = Awesomeness!</h3>
<p><a href="http://sdrv.ms/15s11oW"><img title="wp_ss_20130420_0003" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="wp_ss_20130420_0003" src="http://kevinashley.com/wp-content/uploads/2013/04/wp_ss_20130420_00032.png" width="148" height="244"></a></p>
<p><strong>Photo: Windows Phone SkyDrive settings</strong></p>
<p>
<p><strong></strong></p>
<p>SkyDrive integration with Windows Phone provided seamless photo transfer from the mountain to the slideshows at night. Windows Phone 8 can seamlessly sync photos and videos with the SkyDrive, and with 30+ phones we managed that integration allowed us to instantly prepare slideshows at night, when the skiers came back from the mountain. To access this feature go to Photos –&gt; SkyDrive Settings. We used PowerPoint to play the shows, but what we didn’t discover until the last night was the Windows 8 Photos app, which can also play the slide show!
<p><a href="http://sdrv.ms/15s11oW"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://kevinashley.com/wp-content/uploads/2013/04/image36.png" width="644" height="370"></a></p>
<p><strong>Photo: Windows 8 Photos app, notice Slide Show button at the bottom</strong></p>
<h2>Highlights</h2>
<p><a href="http://sdrv.ms/15s11oW"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://kevinashley.com/wp-content/uploads/2013/04/image51.png" width="144" height="244"></a></p>
<p><strong>Photo: PSIA Alpine Team member David Oliver, wearing Winter app snow-bandana. </strong></p>
<p><a href="http://www.amazon.com/gp/product/1882409361/ref=as_li_qf_sp_asin_il?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1882409361&amp;linkCode=as2&amp;tag=keviashl02-20"><img style="display: inline" border="0" src="http://ws.assoc-amazon.com/widgets/q?_encoding=UTF8&amp;ASIN=1882409361&amp;Format=_SL110_&amp;ID=AsinImage&amp;MarketPlace=US&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=keviashl02-20"></a><img style="border-top-style: none !important; border-left-style: none !important; border-bottom-style: none !important; border-right-style: none !important; margin: 0px" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=keviashl02-20&amp;l=as2&amp;o=1&amp;a=1882409361" width="1" height="1"></p>
<p>Peter Kray, the author of “<a href="http://www.amazon.com/gp/product/1882409361/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1882409361&amp;linkCode=as2&amp;tag=keviashl02-20">American Snow</a>” book reached more than 100K vertical, skiing with the Winter app and had a goal of beating top skiers on the leaderboard. Pete’s book is beautifully printed, with pictures from both the old and modern days of ski instruction in America. Passionate skier himself, Pete says in his book: “To teach someone how to ski or snowboard is like sharing superpowers – giving the gift of motion, freedom, and flight – it’s the sensation of flying, with the world spinning beneath your feet and wind whipping across your face”.</p>
<p><a href="http://aka.ms/winter"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://kevinashley.com/wp-content/uploads/2013/04/image301.png" width="244" height="195"></a></p>
<p>Custom made Winter skis made by <a href="http://www.wagnerskis.com">Wagner Custom Skis</a> to theme with the Winter app have proven to be a huge success: I skied them every day of the event, at various conditions: on groomers, steep, bumpy terrain and loved the way they feel. Winter app now includes a form where you can order skis made by Wagner with either Winter or any custom graphics. Skis are created personally for you to fit your skiing needs: Wagner makes any types of skis: from racing to big mountain skis. Born in the mountains of Colorado, in Telluride, these skis provided me with the best moments of my National Academy – at the end of the feedback session the skis were signed by national team leads – this will keep me motivated on working on the app in the summer. I hope to meet Pete Wagner personally to thank him for the joy of skiing his skis.</p>
<h2>More about the event:</h2>
<p><a href="http://www.thesnowpros.org/NewsInformation/NewsampAnnouncements/tabid/117/articleType/ArticleView/articleId/190/PSIA-AASI-Selected-as-Exclusive-Content-Provider-for-Winter-Ski-Ride.aspx">PSIA-AASI Selected as exclusive content provider for Winter Ski &amp; Ride app</a></p>
<p><a href="http://www.thesnowpros.org/NewsInformation/NewsampAnnouncements/tabid/117/articleType/ArticleView/articleId/193/PSIA-AASI-National-Academy-Day-2-Deep-Returns-Hot-App-Ages-and-Stages.aspx">PSIA-AASI National Academy Day 2: Deep Returns, Hot App + Ages and Stages</a></p>
<p><a href="http://aka.ms/winter">Winter app</a></p>
<p><a href="http://sdrv.ms/15s11oW">Photos taken by Nokia Lumia Windows Phone</a></p>
<p><iframe height="128" src="https://skydrive.live.com/embed?cid=9B283A173BED8F2D&amp;resid=9B283A173BED8F2D%2195130&amp;authkey=APRrsQMSc07RxYk" frameborder="0" width="165" scrolling="no"></iframe></p>
<h2>Thanks!</h2>
<p>Many thanks to Mark Dorsey, William McSherry, Earl Saline, Matt Rothschild, Thierry Doyen, Olga Vigdorovich, Matt Thompson, Warren Wilbee, Nisha Baxi, Kenny Spade, Randy Guthrie, Ain Indermitte, Razvan Furca, Ben Adams, Max Felix, Mike Hafer, Nick Herrin, Lane Cleua, David Oliver, Rob Sogard, Michael Rogan, Robin Barnes, Bob Barnes, Scott Anfang, Matt Boyd, Jennifer Simpson, Jeb Boyd, Dave Lyon, Ryan Christofferson, Jonathan Ballou, Jim Schanzenbaker, Heidi Effenger, Chris Fellows, Eric Lipton, Andy Docken, Dave Lundberg, Kelly Coffey, Pete Kray, Susan Urbanczyk and many others who helped organizing this event.</p>
]]></content:encoded>
			<wfw:commentRss>http://kevinashley.com/windows-phone-proven-with-the-snow-pros-one-week-with-national-team-leads-of-professional-ski-and-snowboard-instructors/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The best ski and snowboard app on the planet&#8230; exclusive to Windows Phone</title>
		<link>http://kevinashley.com/the-best-ski-and-snowboard-app-on-the-planet-exclusive-to-windows-phone/</link>
		<comments>http://kevinashley.com/the-best-ski-and-snowboard-app-on-the-planet-exclusive-to-windows-phone/#comments</comments>
		<pubDate>Tue, 12 Feb 2013 21:58:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Windows Phone 8]]></category>
		<category><![CDATA[ski]]></category>
		<category><![CDATA[skiing]]></category>
		<category><![CDATA[windows phone]]></category>
		<category><![CDATA[windows phone 8]]></category>
		<category><![CDATA[winter]]></category>

		<guid isPermaLink="false">http://kevinashley.com/?p=661</guid>
		<description><![CDATA[&#160; Windows Phone now has the best app in ski industry, leaving Apple and Google far behind, and raising the bar for ski apps very high: the app is called WINTER SKI &#38; RIDE. For now the app is exclusively available on Nokia Windows Phones. WINTER SKI &#38; RIDE is the official app of Professional [...]]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p><a href="http://kevinashley.com/wp-content/uploads/2013/02/clip_image0022.jpg"><img title="clip_image002" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="clip_image002" src="http://kevinashley.com/wp-content/uploads/2013/02/clip_image002_thumb2.jpg" width="640" height="278"></a></p>
<p>Windows Phone now has the best app in ski industry, leaving Apple and Google far behind, and raising the bar for ski apps very high: the app is called <a href="http://aka.ms/winter">WINTER SKI &amp; RIDE</a>. For now the app is exclusively available on Nokia Windows Phones. WINTER SKI &amp; RIDE is the official app <b>of Professional Ski Instructors of America and American Association of Snowboard Instructors (PSIA-AASI)</b>, the association of more than 30,000 US ski and snowboard instructors. You can <a href="http://www.windowsphone.com/en-us/store/app/winter-ski-ride/58d99f70-3164-4b42-9924-f10fc32b16c6">download it today from NOKIA</a> Collection, if you are lucky to have a Windows Phone 8.</p>
<p><strong>UPDATE:</strong></p>
<p><a href="http://www.microsoft.com/en-us/news/features/2013/mar13/03-14WinterSkiRideApp.aspx"><strong>Microsoft.com News about WINTER</strong></a></p>
<p><a href="http://blogs.windows.com/windows_phone/b/windowsphone/archive/2013/02/12/hit-the-slopes-with-winter-ski-amp-ride-a-nokia-exclusive-for-windows-phone-8.aspx"><strong>Microsoft Windows Phone blog about WINTER</strong></a></p>
<p><a href="http://www.wpcentral.com/elevate-your-time-slopes-winter-ski-and-ride-your-lumia-device"><strong>WPCentral about WINTER</strong></a></p>
<p><strong>Stay warm!</strong> Skiers no longer need to take hands off their gloves in the cold, WINTER SKI AND RIDE is especially optimized for use with gloves in the cold, and NOKIA Lumia devices have glove sensitive screen, so you don&#8217;t need to take off your gloves in the cold to use the app. The app is optimized to run through your skiing day without draining your battery, and instead of punching buttons in the cold you can simply speak to it: &#8220;WINTER, Show me snow reports&#8221; for example.</p>
<p>WINTER SKI &amp; RIDE is a unique app in many ways, it is developed by a Microsoftie, a professional ski instructor and a startup in Silicon Valley, an extremely powerful combination. The app is built in the US and Canada, and tested through snowstorms in the mountains of Colorado, Utah, California and British Columbia. Apparently, instead of spending time at Starbucks in Cupertino, Microsoft reached out to the field, and has developers who can ski and ride in the mountains, in cold and snow, to make the best app for skiing.</p>
<p>Instead of a bunch of different apps for weather, ski tracking and lessons, WINTER SKI &amp; RIDE combines all features a skier needs in the mountain in one powerful app: snow reports, resort maps and information, such as the number of open trails, beautiful ski analytics and activity tracking, and lessons for skiing, telemark, snowboarding, freestyle and cross-country from professional ski and snowboard instructors.</p>
<p>SKI AND SNOWBOARD ACTIVITY ANALYTICS</p>
<p>Apparently, it takes a ski instructor and a Microsoftie to get a ski app right, finally! WINTER SKI &amp; RIDE has an activity tracking switch, just turn it on when you are at ski resort, and you can put the phone back in your pocket. The smart app will automatically track your runs and present them in beautiful charts: you can see you runs by season, daily or even drill into the run details to see run details, such as speed, duration and vertical drop.</p>
<p>Not only that, WINTER SKI &amp; RIDE motivates you to ski or ride more, and improve endurance, by setting goals. You can currently set vertical and run goals, and if you reach a goal, ta-da: your run is marked with an achievement pin, and you move closer to the leaders of the mountain.</p>
<p>LEADERBOARD OF BEST SKIERS AND RIDERS</p>
<p>WINTER SKI &amp; RIDE is a very social app that lets you ski with your buddies and see the best skiers on the mountain.&nbsp; You can also invite your friends and once you become friends with someone, you can share the runs and excitement about skiing.</p>
<p>SNOW REPORTS AND MAPS</p>
<p>WINTER SKI &amp; RIDE automatically updates snow reports and you can view reports by proximity, by best conditions, powder, and maximum snow base. You can pin your favorite resorts as tiles to the start screen. The app beautifully presents resort information, shows vertical, open lifts and other information..</p>
<p>LESSONS: SKI, SNOWBOARD, TELEMARK, OH-MY…</p>
<p>Because WINTER SKI &amp; RIDE is endorsed by Professional Ski Instructors of America, it has professional lessons from the best ski instructors on the planet. Lessons are carefully selected, adhering to the highest standards of the sport, lucky Windows Phone owners can now ski and learn.</p>
<p>SOCIAL</p>
<p>WINTER SKI &amp; RIDE connects you with a social network of skiers and riders, making millions of ski buddies interconnected. This technology is based on Microsoft Windows Azure powerful cloud service. Do you want to see what runs your buddy did in Vail, or Whistler, or Chamonix? Just look him up on the Winter!</p>
<p>FOR SKI TEAMS AND COACHES</p>
<p>WINTER SKI &amp; RIDE app changes the way coaches and ski instructors communicate with their students. By using the NFC technology available in Windows Phone, a ski instructor can instantly have a group of students join a team, and make recommendations based on a ski day, and individual runs.</p>
<p>WITH WINTER SKI &amp; RIDE APP WINDOWS PHONE BECOMES TOP PLAYER IN WINTER SPORTS</p>
<p>With WINTER SKI &amp; RIDE, Microsoft Windows Phone becomes a top player in the Winter sports. Forget the aging iPhone or battery-hungry Android. With the app endorsed by Professional Ski Instructors or America, Windows Phone becomes a very powerful player in the snowsports industry.</p>
<p>&nbsp;</p>
<p><a href="http://www.windowsphone.com/en-us/store/app/winter-ski-ride/58d99f70-3164-4b42-9924-f10fc32b16c6">DOWNLOAD WINTER</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kevinashley.com/the-best-ski-and-snowboard-app-on-the-planet-exclusive-to-windows-phone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Retrieving more data from Azure Mobile Services using paging and LoadAllAsync extension</title>
		<link>http://kevinashley.com/retrieving-more-data-from-azure-mobile-services-using-paging/</link>
		<comments>http://kevinashley.com/retrieving-more-data-from-azure-mobile-services-using-paging/#comments</comments>
		<pubDate>Wed, 06 Feb 2013 00:25:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Windows Azure Mobile Services]]></category>
		<category><![CDATA[Windows Phone 8]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure mobile services]]></category>

		<guid isPermaLink="false">http://kevinashley.com/?p=651</guid>
		<description><![CDATA[Azure Mobile Services allow you to take 50 records at a time by default, or 1000 records at maximum. What if you have more records and want to retrieve the entire table? I just created this beautiful extension method to help you get any amount of data you want, given any page size you want. [...]]]></description>
				<content:encoded><![CDATA[<p>Azure Mobile Services allow you to take 50 records at a time by default, or 1000 records at maximum. What if you have more records and want to retrieve the entire table? I just created this beautiful extension method to help you get any amount of data you want, given any page size you want. This simple call to LoadAllAsync will asynchronously load ALL data from a WAMS table in pages of 1000 (or whatever number you specify) records (may also be good for bandwidth reasons):</p>
<pre class="code"><span style="background: white; color: blue">var </span><span style="background: white; color: black">updatedReports = </span><span style="background: white; color: blue">await </span><span style="background: white; color: black">azureTable.Where(r =&gt; r.complete == </span><span style="background: white; color: blue">true</span><span style="background: white; color: black">).LoadAllAsync();</span></pre>
<p>And this is an extension method, which elegantly does exactly what it says: loads all data. Enjoy:</p>
<pre class="code"><span style="background: white; color: black">        </span><span style="background: white; color: blue">public async static </span><span style="background: white; color: #2b91af">Task</span><span style="background: white; color: black">&lt;</span><span style="background: white; color: #2b91af">List</span><span style="background: white; color: black">&lt;T&gt;&gt; LoadAllAsync&lt;T&gt;(</span><span style="background: white; color: blue">this </span><span style="background: white; color: #2b91af">MobileServiceTableQuery</span><span style="background: white; color: black">&lt;T&gt; table, </span><span style="background: white; color: blue">int </span><span style="background: white; color: black">bufferSize = 1000)
        {
            </span><span style="background: white; color: blue">var </span><span style="background: white; color: black">query = table.IncludeTotalCount();
            </span><span style="background: white; color: blue">var </span><span style="background: white; color: black">results = </span><span style="background: white; color: blue">await </span><span style="background: white; color: black">query.ToEnumerableAsync();
            </span><span style="background: white; color: blue">long </span><span style="background: white; color: black">count = ((</span><span style="background: white; color: #2b91af">ITotalCountProvider</span><span style="background: white; color: black">)results).TotalCount;
            </span><span style="background: white; color: blue">if </span><span style="background: white; color: black">(results != </span><span style="background: white; color: blue">null </span><span style="background: white; color: black">&amp;&amp; count &gt; 0)
            {
                </span><span style="background: white; color: blue">var </span><span style="background: white; color: black">updates = </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">List</span><span style="background: white; color: black">&lt;T&gt;();
                </span><span style="background: white; color: blue">while </span><span style="background: white; color: black">(updates.Count &lt; count)
                {

                    </span><span style="background: white; color: blue">var </span><span style="background: white; color: black">next = </span><span style="background: white; color: blue">await </span><span style="background: white; color: black">query.Skip(updates.Count).Take(bufferSize).ToListAsync();
                    updates.AddRange(next);
                }
                </span><span style="background: white; color: blue">return </span><span style="background: white; color: black">updates;
            }

            </span><span style="background: white; color: blue">return null</span><span style="background: white; color: black">;
        }
</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://kevinashley.com/retrieving-more-data-from-azure-mobile-services-using-paging/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making $30,000 a month on Windows 8 apps</title>
		<link>http://kevinashley.com/making-30000-a-month-on-windows-8-apps/</link>
		<comments>http://kevinashley.com/making-30000-a-month-on-windows-8-apps/#comments</comments>
		<pubDate>Mon, 04 Feb 2013 21:04:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Game]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://kevinashley.com/?p=626</guid>
		<description><![CDATA[When I started this project, I never thought about making any money at all: this is my hobby, what I like doing on the weekends and nights, when I’m away from my everyday business. Someone likes ping-pong or dancing, I like building apps and skiing. I built several apps close to launch of Windows 8, [...]]]></description>
				<content:encoded><![CDATA[<p>When I started this project, I never thought about making any money at all: this is my hobby, what I like doing on the weekends and nights, when I’m away from my everyday business. Someone likes ping-pong or dancing, I like building apps and <a href="http://aka.ms/winter">skiing</a>. </p>
<p>I built several apps close to launch of Windows 8, including <a href="http://apps.microsoft.com/webpdp/app/card-games-chest/2634d007-ff3a-4697-a44e-f34f42128785">Card Games Chest </a>, and is the first six months since Windows 8 launch apps my apps generated around $100,000 in ad revenue and sales (in-app purchase and ads, apps are free). </p>
<p>This post is <strong>NOT</strong> about how to get rich fast: I spent many nights and weekends, polishing the code, staying up late at night until 2AM coding. This is not easy: to build apps that can be used by half a million people from many different countries. I read all reviews, thousands of them, answered thousands of questions, made hundreds of improvements suggested by users to achieve this result. The truth is: any app reaching this stage is a work of art, it requires a lot of work, patience, time and dedication. </p>
<p>This is simply my account of what an individual developer can achieve in Windows ecosystem in just about 6 months.&nbsp; I build everything: code, graphics, artwork, database, Azure backend. Everything. </p>
<p>If you are looking for code samples, this post is mostly about a story, but I posted quite a bit of code samples in this <a href="http://www.amazon.com/gp/product/1118205707/ref=as_li_qf_sp_asin_il?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1118205707&amp;linkCode=as2&amp;tag=keviashl02-20">book</a>, and my blog, and actually Microsoft documentation is very good, so if you are interested in the code please go there and you’ll find it.</p>
<h2>D-Day, October 26th</h2>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-41-metablogapi/3884.image_5F00_2D0AFBDE.png"><img title="image" style="float: left; display: inline" border="0" alt="image" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-48-41-metablogapi/1323.image_5F00_thumb_5F00_2BC662FF.png" width="230" height="240"></a></p>
<p>The days following October 26th (the release date of Windows 8) were a little bit of a shock to me (in a good, positive sense). What happened after October 26th is best illustrated on this hockey-stick chart, since then the total number of downloads rapidly reached half a million and keeps growing. </p>
<p>My regular job keeps me pretty busy, and oftentimes I didn’t have enough time to check the revenue, but in a couple of months following October 26th,&nbsp; the numbers really started to grow, and finally reached the point when I decided to share the story, because I think that this is the “magic” moment for all Windows developers. Right now it is, and I hope that if you read this post, it’ll keep you motivated and you’ll know that this can happen, can happen to the app that you can build, providing it’s a good high quality product. </p>
<p>So, October 26th was the D-Day for all developers who believed in Windows ecosystem. If you want to time the market, the time-count started on October 26th, 2012. The 1+ billion strong ecosystem of Windows users opened doors for apps, and opened it quite literally by opening stores on millions of devices. <strong>And it worked! </strong></p>
<h2>Windows Store: Developer Prospective</h2>
<p>What to expect from the Windows Store? The Windows Store helps you build, deploy, distribute, and sell your Windows 8 apps and in-app products. As a developer, you also have the option to monetize your app through ad revenue using the <a href="http://adsinapps.microsoft.com/?s_cid=global_prem_aia_generationapp__kevin_ashley">Microsoft Advertising SDK</a> for Windows 8 (as I have in my apps!). Integrating the SDK into your app is quick and easy to do &#8211; with a few lines of code, you can quickly get ads being served in your app in a non-intrusive manner.</p>
<p>On the paid apps and in-app purchases side, one significant advantage of the Windows Store, compared to the Apple or Google stores, is that your revenue share actually increases, as you make more sales. You take home 70%, and Microsoft commission is 30%, same as Apple or Google, but once your app starts making $25,000 in revenue, you take home 80%. As your app scales, you can expect to take home more, for example on a $1 million revenue, you’ll be taking home $97K more in revenue than your Apple or Google competitors. As a developer I like that.</p>
<p>The <a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.store.aspx">Windows Store API</a> is very well documented and allows you to implement any type of business model: free, to pay-per-download, trial, in-app purchases and even subscriptions (by using <a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.store.productlicense.expirationdate.aspx">ExpirationDate</a> for example. In addition, you can use Microsoft Advertising SDK to monetize ads. </p>
<h2>Revenue Split: Ads vs In-App Purchase</h2>
<p>I&#8217;m often asked the question: what percentage of revenue is made from ads vs. in-app purchases. The answer is: that number changes greatly with the number of downloads, you may need to adjust your pricing model several times as your app begins to grow, so be prepared to update your app. Any answer I give you is meaningless, because it depends at least: a) on how good is your app b) how many downloads you have c) how long users stay in your app. I’m sure there’s half a dozen other variable to that equation.&nbsp; When I passed half a million downloads, the ad revenue increased, but that depends on the nature of the app and volume. The ultimate formula is a black box for developers, and it better stays this way. </p>
<p>I don’t encourage you to start searching for Philosopher&#8217;s stone to start making gold from nothing, and instead focus on the content and quality of your apps. No magic in the world will help you if consumers don’t like your app.</p>
<h2>Pricing your app</h2>
<p>Windows Store allows you to price the apps between $1.49 and $999.99. Finding a sweet-spot for your app is an art rather than science, it greatly depends on the type of the app you make. You can do a little price-sensitivity analysis as I illustrated in my <a href="http://www.amazon.com/gp/product/1118205707/ref=as_li_qf_sp_asin_il?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1118205707&amp;linkCode=as2&amp;tag=keviashl02-20">book (Ch. 11)</a> to find a sweet spot. This blog post doesn&#8217;t intend to go deep into pricing models, but just give you an idea of what kind of revenues are possible in Windows today.</p>
<p>Would anyone buy your app for $999.99? Maybe there’re a few apps that fit that business model, but generally the number of downloads would be fairly small, if any. So, finding a sweet sport for your apps is something you need to think about. </p>
<h2>Selling your apps and products</h2>
<p>So, for example you have a game. Games are typically trial enabled, and may have in-app purchases in them. What it means is, you can let your customer download the game for a limited period of time, and then ask them to pay. You can also include paid levels or products into your games, or consumable products spent while playing the game, for example magic items, credits or gold.</p>
<h2>Certifying and Publishing your app</h2>
<p>Before you publish your app, run it through the app certification kit. I have a monthly Webcast at Microsoft, that provides tips on app publishing and certification. I hope if you look though our events schedule, you can find it and listen to it. There’s a lot of useful information there if you want to submit your app and are curious about how to make this process nice and smooth. Overall, Windows Store is very good at detecting early problems and at the end you benefit as a developer: Microsoft helps you make your apps better.</p>
<h2>Magic moment in Windows Store</h2>
<p>When I presented to the largest iOS meetup in Silicon Valley, I asked the audience of 200 pro-iOS developers a simple question: do you believe as a new developer I can enter Apple Store market today with a bunch of Solitaire games and make this kind of money? Their response was: you’ll waste your time, the Apple Store market is too saturated! I think every market has its magic moment, and this time existed in Apple store a few years ago, maybe even Android store had it (maybe), but I think that this time is in Windows Store today, and I don’t need any further proof than my banking account to tell me where the wind is blowing.</p>
<h2>Build for Windows? Build for Windows Phone</h2>
<p>Windows Phone is a great companion device for your Windows 8 apps. I recently <a href="http://aka.ms/winter">built a top app for Windows Phone as well</a>, and I think every developer should consider both Windows 8 and Windows Phone, because they are also part of the ecosystem and augment each other. The apps are very easy to port from one system to another. While the namespaces are different, the code is mostly portable, first by using PCLs (Portable Code Libraries) and re-using most of the logic.</p>
<h2>Where to start</h2>
<p>Windows 8 is a fantastic operating system, fast, fluid, with beautiful modern design targeting both tablet and desktop, sensors, NFC support, amazing new concepts built into user interface both touch and desktop, and did I mention: it&#8217;s fast! I can also re-use most of my code for Windows Phone. The beauty of Windows is that it spans across all kinds of devices: from phones to tablets, to desktops, to servers and gaming consoles, such as XBOX.</p>
<ul>
<li>For general Windows information: <a href="http://www.microsoft.com/windows">http://www.microsoft.com/windows</a>
<li>From design guidance to coding resources, <a href="http://www.generationapp.com/build/#fbid=Oj4_IQLjTmE">get help making your app stand out</a> with GenerationApp, a program by Microsoft to help and connect developer community with Microsoft programs.</li>
</ul>
<p>Windows is very developer friendly. You have plenty of languages and modern technologies to choose from, and the development tools, Visual Studio and Blend are stunningly good! You can use JavaScript and HTML5, C#, XAML and .NET, or C++. You can also use many of the frameworks to build your apps, most of them support Windows.</p>
<ul>
<li>For Windows Development, go to: <a href="http://dev.windows.com ">http://dev.windows.com </a>
<li>For Windows Phone: <a href="http://dev.windowsphone.com">http://dev.windowsphone.com</a></li>
</ul>
<p>Some developers ask me about the best PCs to choose: visit a Microsoft Store, check out some new models available there. I personally like convertibles, and the touch screen is highly recommended. There&#8217;re so many vendors, that it really becomes the choice of your lifestyle.</p>
<ul>
<li>For hardware, visit Microsoft Store: <a href="http://www.microsoftstore.com">http://www.microsoftstore.com</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://kevinashley.com/making-30000-a-month-on-windows-8-apps/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>Monetizing Windows 8 apps: examples from my book</title>
		<link>http://kevinashley.com/monetizing-windows-8-apps-examples-from-my-book-2/</link>
		<comments>http://kevinashley.com/monetizing-windows-8-apps-examples-from-my-book-2/#comments</comments>
		<pubDate>Sat, 02 Feb 2013 04:25:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Book]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[windows 8]]></category>

		<guid isPermaLink="false">http://kevinashley.com/?p=619</guid>
		<description><![CDATA[If you are looking for code examples for Professional Windows 8 Programming: Application Development with C# and XAML book, specifically for the monetization section, you can get them directly from Wiley: Chapter 11 code for Pro Windows 8 Programming563.02 KBClick to Download What I’ve done in that example is helping you put all monetization techniques [...]]]></description>
				<content:encoded><![CDATA[<p>If you are looking for code examples for <a href="http://www.amazon.com/gp/product/1118205707/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1118205707&amp;linkCode=as2&amp;tag=keviashl02-20">Professional Windows 8 Programming: Application Development with C# and XAML</a><img style="border-top-style: none !important; border-left-style: none !important; border-bottom-style: none !important; border-right-style: none !important; margin: 0px" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=keviashl02-20&amp;l=as2&amp;o=1&amp;a=1118205707" width="1" height="1"> book, specifically for the monetization section, you can get them directly from Wiley:</p>
<p>Chapter 11 code for Pro Windows 8 Programming<br />563.02 KB<br /><a href="http://media.wiley.com/product_ancillary/07/11182057/DOWNLOAD/205709%20C11.zip">Click to Download</a></p>
<p>What I’ve done in that example is helping you put all monetization techniques together: from unlocking the trial, to using in-app purchase. There’re some neat ideas implemented with the example, for example I use an MVVM model to wrap store licensing schema. </p>
<p>I recommend reading the book first, about the ideas implemented here. This snippet illustrates the first technique of using an MVVM model to wrap the store objects. This may be necessary if you need to expose them later through data binding. </p>
<p><!-- mode -->
<p>&nbsp;</p>
<pre class="code"><span style="background: white; color: blue">using </span><span style="background: white; color: black">System;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.Collections.Generic;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.ComponentModel;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.Linq;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.Text;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">System.Threading.Tasks;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">CatalogShoppingAppCS.Data;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">Windows.ApplicationModel.Core;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">Windows.ApplicationModel.Store;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">Windows.Foundation;
</span><span style="background: white; color: blue">using </span><span style="background: white; color: black">Windows.UI.Core;

</span><span style="background: white; color: blue">namespace </span><span style="background: white; color: black">CatalogShoppingAppCS
{
    </span><span style="background: white; color: blue">public class </span><span style="background: white; color: #2b91af">AppLicenseDataModel </span><span style="background: white; color: black">: </span><span style="background: white; color: #2b91af">INotifyPropertyChanged
    </span><span style="background: white; color: black">{
        </span><span style="background: white; color: blue">public event </span><span style="background: white; color: #2b91af">PropertyChangedEventHandler </span><span style="background: white; color: black">PropertyChanged;

        </span><span style="background: white; color: blue">private bool </span><span style="background: white; color: black">_licensed = </span><span style="background: white; color: blue">false</span><span style="background: white; color: black">;
        </span><span style="background: white; color: blue">private string </span><span style="background: white; color: black">_price;

        </span><span style="background: white; color: blue">public </span><span style="background: white; color: black">AppLicenseDataModel()
        {
            </span><span style="background: white; color: blue">if </span><span style="background: white; color: black">(</span><span style="background: white; color: #2b91af">CurrentAppSimulator</span><span style="background: white; color: black">.LicenseInformation.IsTrial)
            {
                </span><span style="background: white; color: #2b91af">CurrentAppSimulator</span><span style="background: white; color: black">.LicenseInformation.LicenseChanged += OnLicenseChanged;
                GetListingInformationAsync();
            }
            </span><span style="background: white; color: blue">else
                </span><span style="background: white; color: black">_licensed = </span><span style="background: white; color: blue">true</span><span style="background: white; color: black">;
        }

        </span><span style="background: white; color: blue">private async void </span><span style="background: white; color: black">GetListingInformationAsync()
        {
            </span><span style="background: white; color: blue">var </span><span style="background: white; color: black">listing = </span><span style="background: white; color: blue">await </span><span style="background: white; color: #2b91af">CurrentAppSimulator</span><span style="background: white; color: black">.LoadListingInformationAsync();
            _price = listing.FormattedPrice;
        }

        </span><span style="background: white; color: blue">private async void </span><span style="background: white; color: black">OnLicenseChanged()
        {
            </span><span style="background: white; color: blue">if </span><span style="background: white; color: black">(!</span><span style="background: white; color: #2b91af">CurrentAppSimulator</span><span style="background: white; color: black">.LicenseInformation.IsTrial)
            {
                _licensed = </span><span style="background: white; color: blue">true</span><span style="background: white; color: black">;
                </span><span style="background: white; color: #2b91af">CurrentAppSimulator</span><span style="background: white; color: black">.LicenseInformation.LicenseChanged -= OnLicenseChanged;

                </span><span style="background: white; color: green">// need this to the license change occurs on a different thread
                // to update UI bound elements from the data model
                </span><span style="background: white; color: #2b91af">CoreApplication</span><span style="background: white; color: black">.MainView.CoreWindow.Dispatcher.RunAsync(</span><span style="background: white; color: #2b91af">CoreDispatcherPriority</span><span style="background: white; color: black">.Normal, () =&gt;
                {
                    </span><span style="background: white; color: blue">if </span><span style="background: white; color: black">(IsLicensed)
                    {
                        </span><span style="background: white; color: blue">var </span><span style="background: white; color: black">groups = </span><span style="background: white; color: #2b91af">CatalogDataModel</span><span style="background: white; color: black">.GetGroups(</span><span style="background: white; color: #a31515">"AllGroups"</span><span style="background: white; color: black">);
                        </span><span style="background: white; color: blue">foreach </span><span style="background: white; color: black">(</span><span style="background: white; color: blue">var </span><span style="background: white; color: black">group </span><span style="background: white; color: blue">in </span><span style="background: white; color: black">groups)
                            </span><span style="background: white; color: blue">foreach </span><span style="background: white; color: black">(</span><span style="background: white; color: blue">var </span><span style="background: white; color: black">item </span><span style="background: white; color: blue">in </span><span style="background: white; color: black">group.Items)
                                item.IsAdDisplayed = </span><span style="background: white; color: blue">false</span><span style="background: white; color: black">;
                    }

                    </span><span style="background: white; color: blue">if </span><span style="background: white; color: black">(PropertyChanged != </span><span style="background: white; color: blue">null</span><span style="background: white; color: black">)
                    {
                        PropertyChanged(</span><span style="background: white; color: blue">this</span><span style="background: white; color: black">, </span><span style="background: white; color: blue">new </span><span style="background: white; color: #2b91af">PropertyChangedEventArgs</span><span style="background: white; color: black">(</span><span style="background: white; color: #2b91af">String</span><span style="background: white; color: black">.Empty));
                    }
                });
            }
        }

        </span><span style="background: white; color: blue">public bool </span><span style="background: white; color: black">IsLicensed
        {
            </span><span style="background: white; color: blue">get </span><span style="background: white; color: black">{ </span><span style="background: white; color: blue">return </span><span style="background: white; color: black">_licensed; }
        }

        </span><span style="background: white; color: blue">public bool </span><span style="background: white; color: black">IsTrial
        {
            </span><span style="background: white; color: blue">get </span><span style="background: white; color: black">{ </span><span style="background: white; color: blue">return </span><span style="background: white; color: black">!_licensed; }
        }

        </span><span style="background: white; color: blue">public string </span><span style="background: white; color: black">LicenseInfo
        {
            </span><span style="background: white; color: blue">get
            </span><span style="background: white; color: black">{
                </span><span style="background: white; color: blue">if </span><span style="background: white; color: black">(!_licensed)
                    </span><span style="background: white; color: blue">return </span><span style="background: white; color: #a31515">"Trial Version"</span><span style="background: white; color: black">;
                </span><span style="background: white; color: blue">else
                    return </span><span style="background: white; color: black">(</span><span style="background: white; color: #a31515">"Valid until " </span><span style="background: white; color: black">+ </span><span style="background: white; color: #2b91af">CurrentAppSimulator</span><span style="background: white; color: black">.LicenseInformation.ExpirationDate.LocalDateTime.ToString(</span><span style="background: white; color: #a31515">"dddd, MMMM d, yyyy"</span><span style="background: white; color: black">));
            }
        }

        </span><span style="background: white; color: blue">public string </span><span style="background: white; color: black">FormattedPrice
        {
            </span><span style="background: white; color: blue">get
            </span><span style="background: white; color: black">{
                </span><span style="background: white; color: blue">if </span><span style="background: white; color: black">(!</span><span style="background: white; color: #2b91af">String</span><span style="background: white; color: black">.IsNullOrEmpty(_price))
                    </span><span style="background: white; color: blue">return </span><span style="background: white; color: #a31515">"Upgrade to the full version for " </span><span style="background: white; color: black">+ _price;
                </span><span style="background: white; color: blue">else
                    return </span><span style="background: white; color: #a31515">"Upgrade to the full Version"</span><span style="background: white; color: black">;
            }
        }
    }
}
</span></pre>
<p><a href="http://www.amazon.com/gp/product/1118205707/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1118205707&amp;linkCode=as2&amp;tag=keviashl02-20">Professional Windows 8 Programming: Application Development with C# and XAML</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kevinashley.com/monetizing-windows-8-apps-examples-from-my-book-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data, Files and Networking in Windows 8 apps: examples from my book</title>
		<link>http://kevinashley.com/monetizing-windows-8-apps-examples-from-my-book/</link>
		<comments>http://kevinashley.com/monetizing-windows-8-apps-examples-from-my-book/#comments</comments>
		<pubDate>Sat, 02 Feb 2013 04:22:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Book]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[windows phone]]></category>

		<guid isPermaLink="false">http://kevinashley.com/?p=617</guid>
		<description><![CDATA[If you are looking for code examples for Professional Windows 8 Programming: Application Development with C# and XAML book, specifically for the section on handling data, files and networking, you can get them directly from Wiley: Chapter 6 code for Pro Windows 8 Programming11.23 MBClick to Download These examples include everything: from managing local and [...]]]></description>
				<content:encoded><![CDATA[<p>If you are looking for code examples for <a href="http://www.amazon.com/gp/product/1118205707/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1118205707&amp;linkCode=as2&amp;tag=keviashl02-20">Professional Windows 8 Programming: Application Development with C# and XAML</a><img style="border-top-style: none !important; border-left-style: none !important; border-bottom-style: none !important; border-right-style: none !important; margin: 0px" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=keviashl02-20&amp;l=as2&amp;o=1&amp;a=1118205707" width="1" height="1"> book, specifically for the section on handling data, files and networking, you can get them directly from Wiley:</p>
<p>Chapter 6 code for Pro Windows 8 Programming<br />11.23 MB<br /><a href="http://media.wiley.com/product_ancillary/07/11182057/DOWNLOAD/205709%20C06.zip">Click to Download</a>
<p>These examples include everything: from managing local and remote settings, to networking and proximity.</p>
]]></content:encoded>
			<wfw:commentRss>http://kevinashley.com/monetizing-windows-8-apps-examples-from-my-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MarkedUp to Windows 8 apps is what Google Analytics is to Web sites</title>
		<link>http://kevinashley.com/markedup-to-windows-8-apps-is-what-google-analytics-is-to-web-sites/</link>
		<comments>http://kevinashley.com/markedup-to-windows-8-apps-is-what-google-analytics-is-to-web-sites/#comments</comments>
		<pubDate>Mon, 08 Oct 2012 23:34:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kevinashley.com/markedup-to-windows-8-apps-is-what-google-analytics-is-to-web-sites/</guid>
		<description><![CDATA[MarkedUp may become to Windows 8 apps what Google Analytics is to a large portion of the Web sites: an easy to add analytics solution that gives an insight developers need for their Windows 8 apps. I&#8217;d like to quote MarkedUp Web site to explain their solution goals in their own words: MarkedUp is an [...]]]></description>
				<content:encoded><![CDATA[<p>MarkedUp may become to Windows 8 apps what Google Analytics is to a large portion of the Web sites: an easy to add analytics solution that gives an insight developers need for their Windows 8 apps. I&#8217;d like to quote MarkedUp Web site to explain their solution goals in their own words:</p>
<blockquote><p>MarkedUp is an analytic and logging service built from the ground up to support Windows 8 apps (also known as metro-style apps) in the WinRT environment. Designed to be usable across all of the supported WinRT language from JavaScript to C# to C++ the client SDK allows you to capture analytics and diagnostic logging no matter your preference in development language.</p></blockquote>
<blockquote><p>If you want a quick overview on <a href="http://www.youtube.com/watch?v=ytVaxgzsqL4"><span style="color: #0088cc;">how MarkedUp works and how to install it into your Windows 8 apps</span></a>, check out our <a href="http://www.youtube.com/watch?v=ytVaxgzsqL4"><span style="color: #0088cc;">MarkedUp tutorial video</span></a>.</p>
<p><span id="more-605"></span></p></blockquote>
<div class="wp-caption alignleft" style="width: 350px"><img src="http://kevinashley.com/wp-content/uploads/2012/10/100812_2334_MarkedUptoW1.jpg" alt="" width="340" height="255" align="left" /><p class="wp-caption-text">PICTURE ABOVE: Aaron Stannard, the Founder of MarkedUp, with the localized version of Card Games Chest using MarkedUp Analytics. </p></div>
<p>Aaron Stannard, the Founder of MarkedUp spent a few minutes with me today, and walked me through a trivial process of adding analytics to my <a href="http://apps.microsoft.com/webpdp/en-us/app/card-games-chest/2634d007-ff3a-4697-a44e-f34f42128785">Card Games Chest app for Windows 8</a>. Aaron was kind enough to offer all my readers a registration code for MarkedUp analytics. Please, feel free to use it and add MarkedUp to your apps:</p>
<p><strong>MarkedUp registration code: </strong><span style="color: #333333; font-family: Helvetica; font-size: 10pt; background-color: white;">KEVINASH<br />
</span><strong>MarkedUp registration url:</strong> <a href="https://markedup.com/account/register">https://markedup.com/account/register</a></p>
<p>MarkedUp can be simply dropped onto any Visual Studio Windows 8 project as a NuGet package:</p>
<p><img src="http://kevinashley.com/wp-content/uploads/2012/10/100812_2334_MarkedUptoW2.png" alt="" align="left" /></p>
<p>Once you are registered, you can create a name for the app you adding analytics to in MarkedUp friendly Web interface. After adding the app, simply click &#8220;Install MarkedUp&#8221; which will provide you with the API key you can use in your code to initialize MarkedUp:</p>
<p><img src="http://kevinashley.com/wp-content/uploads/2012/10/100812_2334_MarkedUptoW3.png" alt="" align="left" />Once you&#8217;re done, add this simple call to your initialization code, such as OnLaunched event for WinRT apps:</p>
<p><span style="color: black; font-family: Consolas; font-size: 9pt;"><span style="background-color: white;">MarkedUp.<span style="color: #2b91af;">AnalyticClient<span style="color: black;">.Initialize(<span style="color: #a31515;">&#8220;YOUR API KEYS GOES HERE&#8221;<span style="color: black;">);</span></span></span></span></span><br />
</span></p>
<p>Mostly, you are done. For example, I was interested in games my users play, so every time they play a new game, I simply add this line to report on a new game.</p>
<p><span style="color: black;"><span style="font-family: Consolas; font-size: 9pt; background-color: white;">MarkedUp.<span style="color: #2b91af;">AnalyticClient<span style="color: black;">.Info(<span style="color: #a31515;">&#8220;NewGame&#8221;+gameName<span style="color: black;">);</span></span></span></span></span><br />
</span></p>
<p>MarkedUp analytics tracks data you are interested in and reports it back in a friendly Web interface.</p>
<p><img src="http://kevinashley.com/wp-content/uploads/2012/10/100812_2334_MarkedUptoW4.png" alt="" align="left" />I believe MarkedUp has a great potential and may be used in individual apps, as well as in the enterprise scenarios where reporting is often needed. MarkedUp may clearly become Google Analytics for Windows 8 apps. Well done!</p>
]]></content:encoded>
			<wfw:commentRss>http://kevinashley.com/markedup-to-windows-8-apps-is-what-google-analytics-is-to-web-sites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ready to make some money, Windows 8 is coming!</title>
		<link>http://kevinashley.com/ready-to-make-some-money-windows-8-is-coming/</link>
		<comments>http://kevinashley.com/ready-to-make-some-money-windows-8-is-coming/#comments</comments>
		<pubDate>Thu, 04 Oct 2012 04:53:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[XAML]]></category>

		<guid isPermaLink="false">http://kevinashley.com/ready-to-make-some-money-windows-8-is-coming/</guid>
		<description><![CDATA[This weekend I invite you to my session at Silicon Valley Code Camp 2012: We&#8217;ll discuss Windows 8 Store, monetization and… a bit of a surprise: for the first time I&#8217;ll be announcing my book Professional Windows 8 Programming: Application Development with C# and XAML , written with a great team of authors: Nick Lecrenski, Doug [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/product/1118205707/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1118205707&#038;linkCode=as2&#038;tag=keviashl02-20"><img border="0" src="http://ws.assoc-amazon.com/widgets/q?_encoding=UTF8&#038;ASIN=1118205707&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=US&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=keviashl02-20" ></a><img src="http://www.assoc-amazon.com/e/ir?t=keviashl02-20&#038;l=as2&#038;o=1&#038;a=1118205707" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
This weekend I invite you to <a href="http://www.siliconvalley-codecamp.com/Sessions.aspx?sessionid=973">my session at Silicon Valley Code Camp</a> 2012:</p>
<p>We&#8217;ll discuss Windows 8 Store, monetization and… a bit of a surprise: for the first time I&#8217;ll be announcing my book <a href="http://www.amazon.com/gp/product/1118205707/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1118205707&#038;linkCode=as2&#038;tag=keviashl02-20">Professional Windows 8 Programming: Application Development with C# and XAML</a><img src="http://www.assoc-amazon.com/e/ir?t=keviashl02-20&#038;l=as2&#038;o=1&#038;a=1118205707" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
, written with a great team of authors: <a href="http://www.wiley.com/WileyCDA/Section/id-302475.html?query=Nick+Lecrenski">Nick Lecrenski</a>, <a href="http://www.wiley.com/WileyCDA/Section/id-302475.html?query=Doug+Holland">Doug Holland</a>, <a href="http://www.wiley.com/WileyCDA/Section/id-302475.html?query=Allen+Sanders">Allen Sanders</a>, <a href="http://www.wiley.com/WileyCDA/Section/id-302475.html?query=Kevin+Ashley">Kevin Ashley</a>. At this session we&#8217;ll focus on practical aspects of monetizing Windows 8 apps. I&#8217;ll share some code examples, including: in-app purchase, trial unlocking, placing ads in the apps and using trial model to support monetization. We&#8217;ll also touch on more advanced topics, and as an <a href="http://apps.microsoft.com/webpdp/en-us/app/card-games-chest/2634d007-ff3a-4697-a44e-f34f42128785">author of several apps in Windows Store</a>, I&#8217;ll be happy to answer your questions.</p>
<p><span style="color: black; font-size: 10pt;">Windows 7 sold over 500 million copies in just three years, if Windows 8 does that well this is going to be one of the biggest opportunities our industry has ever seen. Come learn how to get your app into the Windows Store and how to make money. After all, you want to be the first app in the marketplace and have the early mover advantage, don&#8217;t you?<br />
</span></p>
<p><span style="color: black; font-size: 10pt;">SESSION CODE EXAMPLES INCLUDE: Trial, in-app purchases, store simulation.</span></p>
<p>1:45 on Saturday</p>
<p><strong>Foothill College<br />
12345 El Monte Road<br />
Los Altos Hills, CA 94022<br />
</strong></p>
<p><a href="http://binged.it/WmQYKH">http://binged.it/WmQYKH</a> <!--?xml:namespace prefix = "o" ns = "urn:schemas-microsoft-com:office:office" /--></p>
]]></content:encoded>
			<wfw:commentRss>http://kevinashley.com/ready-to-make-some-money-windows-8-is-coming/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows 8 for iOS Developers (Part I)</title>
		<link>http://kevinashley.com/windows-8-for-ios-developers-part-i/</link>
		<comments>http://kevinashley.com/windows-8-for-ios-developers-part-i/#comments</comments>
		<pubDate>Tue, 25 Sep 2012 21:53:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://kevinashley.com/windows-8-for-ios-developers-part-i/</guid>
		<description><![CDATA[I happened to attend a weekly class by Joe Conway, the author of iOS Programming &#8220;The Big Nerd Ranch Guide&#8221;. The class covered ObjectiveC and iOS development, but today I&#8217;d like to talk about what wasn&#8217;t covered in this class: mainly discuss how can an iOS/Apple developer get into Windows 8 world, and what are [...]]]></description>
				<content:encoded><![CDATA[<p><span style="font-family:Times New Roman; font-size:12pt">I happened to attend a weekly class by Joe Conway, the author of iOS Programming &#8220;The Big Nerd Ranch Guide&#8221;. The class covered ObjectiveC and iOS development, but today I&#8217;d like to talk about what wasn&#8217;t covered in this class: mainly discuss how can an iOS/Apple developer get into Windows 8 world, and what are the differences between iOS and Windows 8 development from the programmer&#8217;s prospective. Especially, this post is for Apple iOS developers: it may sound strange, but despite the obvious differences between the platforms, you&#8217;ll easily find ways of doing familiar tasks in Windows 8.<br />
</span></p>
<p><span style="font-family:Times New Roman; font-size:12pt">I have to admit that Joe&#8217;s task was daunting, but Joe handled it brilliantly. With about 20 Microsoft developers in the audience he had to give an ObjectiveC iOS class. The great news for iOS developers: by learning Windows you will actually advance in your computer science class, and may be even by a lot! As Joe put it: there&#8217;re two sides of the spectrum: one is people who ask me to fix syntax errors, another is you guys with &#8220;why can&#8217;t you do it that way&#8221;? With Windows some relatively hard tasks become easy and possible: editing animations, asynchronous programming, neat process management, I hope these topics will be interesting for you. This won&#8217;t be a side-by-side comparison, instead I&#8217;ll focus on helping developers move from iOS to Windows and learn something new along the way.<br />
</span></p>
<p><span id="more-579"></span></p>
<h2>Design Differences<br />
</h2>
<p><img src="http://kevinashley.com/wp-content/uploads/2012/09/092512_2153_Windows8for11.png" alt=""/><span style="font-family:Times New Roman; font-size:12pt"><br />
		</span></p>
<p><span style="font-family:Times New Roman; font-size:12pt">In Windows 8 we like starting with design. Design is what makes Windows 8 and Windows Phone visually and aesthetically different. Apple and iOS design is distinctively skeuomorphic, using properties of objects from the real world (like brushed metal, stitched leather or the now famous Swiss Railroad clock). Windows 8 design is distinctively digital and minimalistic. It doesn&#8217;t mean one is better than the other: these are two different design schools. Windows design guidelines are very pragmatic about design approach: a game app doesn&#8217;t need to be digital, while a financial app would benefit from a simpler, minimalistic interface. A great resource for iOS/Apple developers and designers for Windows design, has the simplest URL: <a href="http://design.windows.com">http://design.windows.com</a>.<br />
</span></p>
<p><span style="font-family:Times New Roman; font-size:12pt">If you&#8217;re interested in migrating your iPad app to Windows 8, this design case study is a great place to start: <a href="http://msdn.microsoft.com/en-US/library/windows/apps/hh868262">http://msdn.microsoft.com/en-US/library/windows/apps/hh868262</a>. For designers we have tons of design assets, in Photoshop and Illustrator format: <a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh975421.aspx">http://msdn.microsoft.com/en-us/library/windows/apps/hh975421.aspx</a><br />
		</span></p>
<h2>From Objective-C to Windows C++, C# or JavaScript<br />
</h2>
<p><span style="font-family:Times New Roman; font-size:12pt">If your only language for the last few years has been Objective-C, I have good news for you. You don&#8217;t have to learn something completely new: Objective-C is very close to C or C++, and even C# and JavaScript on the big scale of things (really big scale of things). As developers we&#8217;ll start with documentation. Just like the Mac developer library, Microsoft has Microsoft Developer Library, or MSDN: <a href="http://msdn.microsoft.com">http://msdn.microsoft.com</a>. Everything I&#8217;m posting here is very well documented there.<br />
</span></p>
<p><span style="font-family:Times New Roman; font-size:12pt">So, you&#8217;re coming from an Objective-C background and want to try some Windows coding? I started to put this table together as a point of reference: it&#8217;s not intended as a comprehensive comparison, but more as a reference for developer of where to start. You can also skip through this table, and we&#8217;ll go straight to the topics.<br />
</span></p>
<div>
<table style="border-collapse:collapse" border="0">
<colgroup>
<col style="width:137px"/>
<col style="width:336px"/>
<col style="width:718px"/></colgroup>
<tbody valign="top">
<tr style="height: 20px">
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid 0.5pt; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Topic</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid 0.5pt; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Windows 8 and Windows Phone</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid 0.5pt; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">iOS</span> </p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Design</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><a href="http://design.microsoft.com"><span style="font-family:Times New Roman; font-size:12pt">http://design.microsoft.com</span></a></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><a href="http://developer.apple.com/library/ios/"><span style="font-family:Times New Roman; font-size:12pt">http://developer.apple.com/library/ios/</span></a><span style="font-family:Times New Roman; font-size:12pt"><br />
							</span></p>
<p><span style="font-family:Times New Roman; font-size:12pt">#documentation/userexperience/conceptual/<br />
</span></p>
<p><span style="font-family:Times New Roman; font-size:12pt">mobilehig/Introduction/Introduction.html</span> </p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Documentation</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><a href="http://msdn.microsoft.com"><span style="font-family:Times New Roman; font-size:12pt">http://msdn.microsoft.com</span></a></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><a href="http://developer.apple.com/library"><span style="font-family:Times New Roman; font-size:12pt">http://developer.apple.com/library</span></a></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Native Languages</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">C#, JavaScript, C++</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Objective-C</span> </p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Application Package</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">APPX or XAP</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Bundles</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Model View Controller</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Supported (also includes HTML and XAML databindings)</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Supported (enforced)</span> </p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Initialization</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Constructor<br />
</span></p>
<p>
<pre><code>Item(
</code></pre>
</p>
<p>
<pre><code>          string name, 
</code></pre>
</p>
<p>
<pre><code>          int dollars, 
</code></pre>
</p>
<p>
<pre><code>         string  serialNumber)
</code></pre>
</p>
<p>
<pre><code>{ 
</code></pre>
</p>
<p>
<pre><code>    Name = name; 
</code></pre>
</p>
<p>
<pre><code>    Dollars = dollars; 
</code></pre>
</p>
<p>
<pre><code>    SerialNumber = serialNumber; 
</code></pre>
</p>
<p>
<pre><code>}</code></pre>
<p> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Designated initializer<br />
</span></p>
<p>
<pre><code>-(id) initWithItemName:(NSString *)name 
</code></pre>
</p>
<p>
<pre><code>valueInDollars:(int)value 
</code></pre>
</p>
<p>
<pre><code>serialNumber:(NSString *)sNumber 
</code></pre>
</p>
<p>
<pre><code>{ 
</code></pre>
</p>
<p>
<pre><code> self = [super init]; 
</code></pre>
</p>
<p>
<pre><code> if(self){ 
</code></pre>
</p>
<p>
<pre><code>  [self setItemName:name]; 
</code></pre>
</p>
<p>
<pre><code>  [self setSerialNumber:sNumber]; 
</code></pre>
</p>
<p>
<pre><code>  [self setDollars:valueInDollars];
</code></pre>
</p>
<p>
<pre><code> } 
</code></pre>
</p>
<p>
<pre><code>} </code></pre>
<p> </p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Memory Management</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">.NET and JavaScript in WinRT support full garbage collection</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Objective-C is very close to C, so you need to take care of the memory management, although recently some improvements were made with Automatic Reference Counting (ARC) a new feature in XCode, which you can enable on the compiler, but you are not required to use it</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Tools</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Visual Studio 2012 (for everything)<br />
</span></p>
<p><span style="font-family:Times New Roman; font-size:12pt">Expression Blend (for animation editing and such)</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">XCode 4.5</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Animation Editing</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Expression Blend and XAML edits animations with timelines and keyframes</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">There&#8217;s Core Animation, but without editing (code-only)</span> </p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Data Binding Markup</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Data Binding is available via HTML or XAML markup</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Not available</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Localization</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Localization supported XLIFF standard, with UI tools for translation: Multiligual Toolkit for Visual Studio</span> </p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Command line and resource localization</span> </p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Asynchronous Programming</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">C#: async and await and promises in JavaScript</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Limited, but possible with block objects. </span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Data Query Language</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">LINQ</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Not available</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Process Lifecycle</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Suspended, Terminated states</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">No suspended state signaled to the apps</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Charms and Contracts</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Windows 8 is all about contracts between apps: these charms for Search, Share and Settings is something you want to learn as you move from iOS to Windows. This is new and this is cool!</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt">
<p><span style="font-family:Times New Roman; font-size:12pt">Not available</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family:Times New Roman; font-size:12pt">This is just a brief overview of the most interesting comparative and &#8220;go-to&#8221; pointers I found for iOS folks to begin with Windows 8. Honestly, it&#8217;s much more interesting to go from Objective-C to C# than vice versa. May be this is because Microsoft really made great investments in technology, and you really need to be motivated to go from .NET code to Objective-C. For the purpose of this review, I&#8217;m actually surprised that similar paradigms are understood by both camps of developers mostly without translation.<br />
</span></p>
<p>
 </p>
<p> <br />
 </p>
<p> <br />
 </p>
<p> <br />
 </p>
<p> <br />
 </p>
<p> <br />
 </p>
<p><span style="font-family:Times New Roman; font-size:12pt"> </span> </p>
]]></content:encoded>
			<wfw:commentRss>http://kevinashley.com/windows-8-for-ios-developers-part-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
