<?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>Rob Tiffany &#187; Mobile</title>
	<atom:link href="http://robtiffany.com/tag/mobile/feed/" rel="self" type="application/rss+xml" />
	<link>http://robtiffany.com</link>
	<description>Author, Mobility Strategist at Microsoft, Speaker, Advisor, Technology Executive, Former Navy Submariner</description>
	<lastBuildDate>Wed, 16 May 2012 01:19:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>The Meek Shall in Inherit the Smartphone World</title>
		<link>http://robtiffany.com/the-meek-shall-in-inherit-the-smartphone-world/</link>
		<comments>http://robtiffany.com/the-meek-shall-in-inherit-the-smartphone-world/#comments</comments>
		<pubDate>Sun, 15 Apr 2012 04:24:30 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Windows phone]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=1764</guid>
		<description><![CDATA[Like the PC&#8217;s domination over Macs in decades past, low-cost devices for the masses will win the global smartphone war.  It won&#8217;t even be close. Most of the world population has to buy their device first, without the luxury of &#8230; <a href="http://robtiffany.com/the-meek-shall-in-inherit-the-smartphone-world/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Like the PC&#8217;s domination over Macs in decades past, low-cost devices for the masses will win the global <em><strong>smartphone</strong></em> war.  It won&#8217;t even be close.</p>
<p>Most of the world population has to buy their device first, without the luxury of carrier subsidies.  This means devices with a lower hardware and software BOM cost will have the advantage over ones that absolutely depend on carrier subsidies for their very survival.  I&#8217;m not talking smartphones that are cheaper because they lack the features and functionality of higher-end device.  If you step back and look across most of today&#8217;s smartphone platforms like the iPhone, Android, Blackberry, Windows Phone, Symbian, and Bada, you&#8217;ll notice that they all have similar functionality.  They all make calls and have email, an HTML5 web browser, SMS, MMS, touch, keyboards, APIs to build apps, 2G/3G/4G data networks, digital still/video cameras, web services, calendars, app stores, contacts, push notifications, music, maps, yada yada.  Will there be variations in quality?  Sure, but that&#8217;s the case with all products people buy.</p>
<p>It&#8217;s easy to forget that most of the world is still using feature phones because they meet minimum communications requirements and because they are inexpensive to buy.  These billions of folks are moving to smartphones, but don&#8217;t make the mistake in believing that they are capable of purchasing the most envied phone in the affluent country you live in.  For wealthy nations that currently live in a smartphone reality distortion field, this might be hard to understand.  Remember, the populations of the combined affluent countries make up just 1/7th of the total world population.  Even most folks in that group of ~1 billion people couldn&#8217;t afford the $850 unsubsidized cost of a certain smartphone that comes to mind.</p>
<p>Oh and by the way, the tablet market will shake-out the same way as it matures.</p>
<p>It&#8217;s the way of things in technology.  Remember, once the IBM BIOS was reverse-engineered, we had the Attack of the Clones in the 1980s that democratized the personal computer market.  Prices plunged, and Bill Gates&#8217; vision of a computer on every desk was largely realized.  The same thing is already beginning to play out for smartphones around the world in developing and not-so-developing countries.  Players in the mobile and wireless space who are moving to where the kicked football will be in this emerging reality, rather than where it is today, are the ones who will benefit in the long run.</p>
<p>It won&#8217;t even be close.</p>
<p>-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/the-meek-shall-in-inherit-the-smartphone-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building your BYOD Baseline: Trust</title>
		<link>http://robtiffany.com/building-your-byod-baseline-trust/</link>
		<comments>http://robtiffany.com/building-your-byod-baseline-trust/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 04:06:37 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[BYOD]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=1575</guid>
		<description><![CDATA[Let’s talk about trust. So far, my BYOD guidance has been to give your employees a lot of value without allowing their devices to access your internal corporate network.  Frankly, the ability to trust any mobile device inside the firewall &#8230; <a href="http://robtiffany.com/building-your-byod-baseline-trust/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Let’s talk about trust.</h2>
<p>So far, my BYOD guidance has been to give your employees a lot of value without allowing their devices to access your internal corporate network.  Frankly, the ability to trust any mobile device inside the firewall is a hard sell for security folks.  The closest I’ve ever seen was encrypted Windows Mobile 6.1/6.5 devices that could actually join the corporate Domain, be managed by group policy, and connected via an always-on Mobile IKE VPN.</p>
<p>While you’re thinking that a VPN connection is the ticket to protect corporate data, you might not be ready to trust your <strong><em>whole network</em> with your <em>whole device</em></strong>.</p>
<p>Verizon’s ICSA labs ranked mobile malware and cybercriminals targeting and infecting app stores as the top two security threats for 2012.  They want to lure users into downloading infected apps where the infection will spread beyond the smartphone or tablet and into the corporate network.  This gives me enough pause that I don’t feel the need to punch holes in the firewall to create a VPN tunnel between my device and the internal network.  Even on PIN-enforced devices with encrypted file storage, this could lead to a false sense of security.</p>
<p>The 3rd party apps that your BYOD users freely download can be a bigger threat to sensitive data leakage then losing the phone in the back of a taxi.</p>
<p>How can this be?</p>
<p>Many people have grown numb to paying attention to the &#8216;device capabilities&#8217; apps request permission to access when they download them from an app store.  For instance, when the home screen wallpaper you&#8217;re downloading wants read/write access to your contacts, the file store, SD card, the phone dialer, and the Internet, you should probably think twice.  The problem is too many folks just impatiently tap &#8220;Accept&#8221; or &#8220;Okay&#8221; and put their device at risk.  Other people jailbreak or root their devices so they can side load or download a broader set of potentially risky apps.</p>
<p>The key takeaway here is that using a VPN to extend your Intranet out to your devices may inadvertently provide rogue apps possessing elevated rights the ability to attack your internal network and/or steal sensitive data by traversing the secure tunnel you created.  In worst case scenarios, your mobile VPN is the lowered drawbridge and rogue apps and malware downloaded by your BYOD employees are the Trojan Horse.</p>
<p>Kind of ironic.</p>
<p>For now, keep the tidal wave of devices on the &#8216;Guest&#8217; Wi-Fi network where they can only access the Internet.  Give certified, corporate mobile apps access to discreet internal web services and sites that you publish through a secure gateway.</p>
<p>-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/building-your-byod-baseline-trust/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>People are the Platform</title>
		<link>http://robtiffany.com/people-are-the-platform/</link>
		<comments>http://robtiffany.com/people-are-the-platform/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 17:52:39 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Devices]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=1505</guid>
		<description><![CDATA[The user is the Endpoint. Apps and Devices are just Enablers.]]></description>
			<content:encoded><![CDATA[<p>The user is the Endpoint. Apps and Devices are just Enablers.</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/people-are-the-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MEAP Mistakes</title>
		<link>http://robtiffany.com/meap-mistakes/</link>
		<comments>http://robtiffany.com/meap-mistakes/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 18:41:51 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Consumerization]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=1470</guid>
		<description><![CDATA[I continue to see people refer to buying a &#8221;MEAP&#8221; as if it&#8217;s a noun, a thing, or a shrinkwrapped 4GL product. It&#8217;s important to remember that Mobile Enterprise Application Platform (MEAP) is a Gartner Magic Quadrant where a stack of &#8230; <a href="http://robtiffany.com/meap-mistakes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h3>I continue to see people refer to buying a &#8221;MEAP&#8221; as if it&#8217;s a noun, a thing, or a shrinkwrapped 4GL product.</h3>
<p>It&#8217;s important to remember that Mobile Enterprise Application Platform (MEAP) is a Gartner Magic Quadrant where a stack of products from a given vendor do their best to align to 8 critical capabilities to provide the best possible ROI for customers:</p>
<ol>
<li>Integrated Development Environment (IDE for device &amp; server coding)  &gt; Does you vendor deliver a well-known IDE used by tens of millions of developers around the world?</li>
<li>Application Client Runtime (Thick/Thin cross-platform runtime)  &gt; Does your vendor provide a proven runtime used by millions of apps?</li>
<li>Enterprise Application Integration Tools (Adapters to backend packages/data sources)  &gt; Does your vendor provide a consistent adapter framework?</li>
<li>Packaged Mobile Apps or Components (Cross-platform apps &amp; libraries)  &gt; Does you vendor actually make widely-used apps that run on multiple platforms?</li>
<li>Multichannel Tools or Servers (Similar to IDE + servers supporting open protocols)  &gt; Does your vendor sell widely-used &amp; supported servers and wire protocols?</li>
<li>Management Tools (Tools to support mobile app lifecycle)  &gt; Does your vendor provide secure app provisioning to devices and policy enforcement?</li>
<li>Security (Data in transit + data at rest + data going through adapters)  &gt; Does your vendor provide encryption and digital signing?</li>
<li>Hosting (Cloud capabilities) &gt; Does your vendor have a massive cloud infrastructure?  I can count the major players on one hand.</li>
</ol>
<p>Rather than going out on the marketplace trying to buy a &#8220;MEAP,&#8221; comprised of little-known, proprietary tools and servers, you might find that the existing tools, servers, and management packages in your enterprise already align with Gartner&#8217;s critical capabilities and can be used to build and support multiple, mobile applications.<br />
-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/meap-mistakes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Books and Taxes</title>
		<link>http://robtiffany.com/books-and-taxes/</link>
		<comments>http://robtiffany.com/books-and-taxes/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 22:55:29 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Writing]]></category>
		<category><![CDATA[Apress]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Hood Canal Press]]></category>
		<category><![CDATA[Merge Replication]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[SQL CE]]></category>
		<category><![CDATA[SQL Compact]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[SQLCE]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=1376</guid>
		<description><![CDATA[Wow!  Just opened a 1099 tax document for 2011 from Apress.  People must still be buying my old books on eMbedded Visual Basic, the .NET Compact Framework 2.0, and SQL Server Compact 2.0.  The Pocket PC and Windows Mobile live &#8230; <a href="http://robtiffany.com/books-and-taxes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wow!  Just opened a 1099 tax document for 2011 from Apress.  People must still be buying my old books on eMbedded Visual Basic, the .NET Compact Framework 2.0, and SQL Server Compact 2.0.  The Pocket PC and Windows Mobile live on!</p>
<p>A separate 1099 for Hood Canal Press tells me that my SQL Server Merge Replication books are still killing it!  Our world of disconnected devices require efficient data sync now more than ever.  Despite a variety of sync technologies out there, Merge is still the best!</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/books-and-taxes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Current State and Trends of the Mobile Internet</title>
		<link>http://robtiffany.com/the-current-state-and-trends-of-the-mobile-internet/</link>
		<comments>http://robtiffany.com/the-current-state-and-trends-of-the-mobile-internet/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 17:53:22 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile Web]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Windows phone]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[Youtube]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=1153</guid>
		<description><![CDATA[Since 90% of the world's population has mobile network coverage, lets take a look at how they’re using it, where they're using it, and what we should expect from the future... <a href="http://robtiffany.com/the-current-state-and-trends-of-the-mobile-internet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Since 90% of the world&#8217;s population has mobile network coverage, lets take a look at how they’re using it, where they&#8217;re using it, and what we should expect from the future&#8230;</p>
<p><a href="http://www.webhostingbuzz.com/blog/2011/10/19/mobile-internet-trends/" _mce_href="http://www.webhostingbuzz.com/blog/2011/10/19/mobile-internet-trends/"><img src="http://www.webhostingbuzz.com/blog/wp-content/uploads/2011/10/IG_Browse_640.jpg" _mce_src="http://www.webhostingbuzz.com/blog/wp-content/uploads/2011/10/IG_Browse_640.jpg" border="0" alt="The State and Trends of Mobile Internet" /></a></p>
<p>Interesting stuff!<br />
-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/the-current-state-and-trends-of-the-mobile-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Azure at Seattle Interactive Conference</title>
		<link>http://robtiffany.com/windows-azure-at-seattle-interactive-conference/</link>
		<comments>http://robtiffany.com/windows-azure-at-seattle-interactive-conference/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 19:40:26 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Mango]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://robtiffany.com/azure/windows-azure-at-seattle-interactive-conference</guid>
		<description><![CDATA[Join the Windows Azure team at Seattle Interactive Conference (Nov 2 -3, 2011) for two days of technical content and one-on-one advice and assistance from product experts.&#160; Cloud Experience track is for experienced developers and who want to learn how &#8230; <a href="http://robtiffany.com/windows-azure-at-seattle-interactive-conference/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Join the Windows Azure team at <a href="http://www.seattleinteractive.com/">Seattle Interactive Conference</a> (Nov 2 -3, 2011) for two days of technical content and one-on-one advice and assistance from product experts.&#160; Cloud Experience track is for experienced developers and who want to learn how to leverage the cloud for mobile, social and web app scenarios.&#160; No matter what platform or technology you choose to develop for, these sessions will provide you with a deeper understanding of cloud architecture, back end services and business models so you can scale for user demand and grow your business.&#160; </p>
<p>Learn more about the <a href="http://www.seattleinteractive.com/conference/cloud-experience">Cloud Experience Track at SIC</a>, and view the <a href="http://www.seattleinteractive.com/conference/speakers/cld">speaker list</a>.&#160; Registration for the <a href="http://www.seattleinteractive.com/">Seattle Interactive Conference</a> is $350, and includes full access to conference sessions and activities.</p>
<p>SIC is developing a world-class speaker roster comprised of online technology’s most successful and respected personalities, alongside earlier-stage entrepreneurs who are establishing themselves as the leaders of tomorrow. SIC isn’t just about telling a story, it’s about truly sharing a story in ways that provide all attendees with a thought provoking experience and actionable lessons from the front lines.</p>
<h4>Our confirmed speakers include:</h4>
<p>&#160;</p>
<p><img src="http://www.seattleinteractive.com/images/sized/sic/Wade-Wegner-150x150.jpg" width="150" height="150" /></p>
<h6>Wade Wegner</h6>
<p>Microsoft</p>
<p>Wade Wegner is a Technical Evangelist at Microsoft, responsible for influencing and driving Microsoft’s technical strategy for the Windows Azure Platform. </p>
<p>&#160;</p>
<p><img src="http://www.seattleinteractive.com/images/sized/sic/rob-sydney-150x150.jpg" width="150" height="150" /></p>
<h6>Rob Tiffany</h6>
<p>Microsoft</p>
<p>Rob Tiffany is an Architect at Microsoft focused on combining wireless data technologies, device hardware, mobile software, and optimized server and cloud infrastructures together to form compelling solutions.</p>
<p>&#160;</p>
<p><img src="http://www.seattleinteractive.com/images/sized/sic/steve-marx-150x150.jpg" width="150" height="150" /></p>
<h6>Steve Marx</h6>
<p>Microsoft</p>
<p>Steve Marx is a Technical Product Manager for Windows Azure. </p>
<p>&#160;</p>
<p><img src="http://www.seattleinteractive.com/images/sized/sic/nick-harris-150x150.jpg" width="150" height="150" /></p>
<h6>Nick Harris</h6>
<p>Microsoft</p>
<p>Nick Harris is a Technical Evangelist at Microsoft specializing in Windows Azure.</p>
<p>&#160;</p>
<p><img src="http://www.seattleinteractive.com/images/sized/sic/scott-densmore-150x150.png" width="150" height="150" /></p>
<h6>Scott Densmore</h6>
<p>Microsoft</p>
<p>Scott Densmore works as a Senior Software Engineer at Microsoft.</p>
<p>&#160;</p>
<p><img src="http://www.seattleinteractive.com/images/sized/sic/nathan-totten-150x150.jpg" width="150" height="150" /></p>
<h6>Nathan Totten</h6>
<p>Microsoft</p>
<p>Nathan Totten is a Technical Evangelist at Microsoft specializing in Windows Azure and web development.</p>
<p>&#160;</p>
<p>I hope to see everyone there!</p>
<p>-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/windows-azure-at-seattle-interactive-conference/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows Phone SDK 7.1 Beta2 is Available!</title>
		<link>http://robtiffany.com/windows-phone-sdk-7-1-beta2-is-available/</link>
		<comments>http://robtiffany.com/windows-phone-sdk-7-1-beta2-is-available/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 22:34:02 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Windows Phone 7 Developer Tools]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[IE9]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SQL CE]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=753</guid>
		<description><![CDATA[Beyond developing apps and games with Silverlight and XNA, take advantage of the new emulator to view and test your new HTML5 websites. <a href="http://robtiffany.com/windows-phone-sdk-7-1-beta2-is-available/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Head on over to <a title="Download Tools" href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=26648" target="_blank">http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=26648</a> to download the new tools.  This update can be used to develop applications for both 7.0 and 7.1 (Mango) version of Windows Phone OS releases.</p>
<p>The Windows Phone SDK includes the following components:</p>
<ul>
<li>Windows Phone SDK 7.1 (Beta2)</li>
<li>Windows Phone Emulator (Beta2)</li>
<li>Windows Phone SDK 7.1 Assemblies (Beta2)</li>
<li>Silverlight 4 SDK and DRT</li>
<li>Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0</li>
<li>Microsoft Expression Blend SDK Preview for Windows Phone 7.1</li>
<li>WCF Data Services Client for Window Phone 7.1</li>
<li>Microsoft Advertising SDK for Windows Phone 7</li>
</ul>
<p>Beyond developing apps and games with Silverlight and XNA, take advantage of the new emulator to view and test your new HTML5 websites.</p>
<p>-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/windows-phone-sdk-7-1-beta2-is-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Are We Wired For Mobile Learning?</title>
		<link>http://robtiffany.com/are-we-wired-for-mobile-learning/</link>
		<comments>http://robtiffany.com/are-we-wired-for-mobile-learning/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 16:58:39 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=627</guid>
		<description><![CDATA[Via: Voxy Blog]]></description>
			<content:encoded><![CDATA[<p><a href="http://voxy.com/blog/2011/02/are-we-wired-for-mobile-learning/"><img src="http://voxy.com/blog/wp-content/uploads/2011/02/112202-VOXY-MOBILE-LEARNING-565x3759.png"></a><br/>Via: <a href="http://voxy.com/blog">Voxy Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/are-we-wired-for-mobile-learning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top Ten Mobile Internet Trends</title>
		<link>http://robtiffany.com/top-ten-mobile-internet-trends/</link>
		<comments>http://robtiffany.com/top-ten-mobile-internet-trends/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 20:32:32 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=619</guid>
		<description><![CDATA[Our friends at Kleiner Perkins have some great insights into where things are going with the Mobile Internet: Top 10 Mobile Internet Trends (Feb 2011) View more presentations from Kleiner Perkins Caufield &#038; Byers]]></description>
			<content:encoded><![CDATA[<p>Our friends at Kleiner Perkins have some great insights into where things are going with the Mobile Internet:</p>
<div style="width:425px" id="__ss_6872807"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/kleinerperkins/kpcb-top-10-mobile-trends-feb-2011" title="Top 10 Mobile Internet Trends (Feb 2011)">Top 10 Mobile Internet Trends (Feb 2011)</a></strong> <object id="__sse6872807" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=kpcbtop10mobiletrends021011finalpdf-110210002130-phpapp02&#038;stripped_title=kpcb-top-10-mobile-trends-feb-2011&#038;userName=kleinerperkins" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse6872807" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=kpcbtop10mobiletrends021011finalpdf-110210002130-phpapp02&#038;stripped_title=kpcb-top-10-mobile-trends-feb-2011&#038;userName=kleinerperkins" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px"> View more presentations from <a href="http://www.slideshare.net/kleinerperkins">Kleiner Perkins Caufield &#038; Byers</a> </div>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/top-ten-mobile-internet-trends/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Confronting the Consumerization of IT with Microsoft MEAP</title>
		<link>http://robtiffany.com/confronting-the-consumerization-of-it-with-microsoft-meap/</link>
		<comments>http://robtiffany.com/confronting-the-consumerization-of-it-with-microsoft-meap/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 06:42:46 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[.NET Compact Framework]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mobile Middleware]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=509</guid>
		<description><![CDATA[CIOs are asking for help in confronting the tidal wave of mobile devices entering the enterprise.  IT departments have raised the white flag as attempts to block consumer-focused smartphones and tablets have failed.  The Consumerization of IT has been a &#8230; <a href="http://robtiffany.com/confronting-the-consumerization-of-it-with-microsoft-meap/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">CIOs are asking for help in confronting the tidal wave of mobile devices entering the enterprise.  IT departments have raised the white flag as attempts to block consumer-focused smartphones and tablets have failed.  The Consumerization of IT has been a growing trend fueled by cloud-delivered services and compelling mobile devices with wireless capabilities.  This trend snowballs more and more each year, meaning it&#8217;s time to embrace it rather than put your head in the sand.  Microsoft MEAP is the answer.  I&#8217;ve been talking to you about how Microsoft aligns with Gartner&#8217;s Mobile Enterprise Application Platform (MEAP) for years now, and I wanted to update you on how we&#8217;ve evolved with respect to Gartner&#8217;s Critical Capabilities.  As a refresher, MEAP is Software + Services that allow IT orgs to extend corporate apps to mobile employees and business partners.  This platform must support:</p>
<ol>
<li>
<div style="text-align: left;">Multiple mobile applications</div>
</li>
<li>
<div style="text-align: left;">Multiple mobile operating systems</div>
</li>
<li>
<div style="text-align: left;">Multiple backend systems maximizing ROI vs. tactical solutions</div>
</li>
</ol>
<p style="text-align: left;">It&#8217;s already a $1 Billion business and 95% of orgs will choose MEAP over point solutions by 2012.   The picture below represents some of our familiar cloud and on-premise servers on top and a wide spectrum of mobile devices from Microsoft and other manufacturers on the bottom: </p>
<p style="text-align: left;"><a href="http://robtiffany.com/wp-content/uploads/2011/01/MEAP7.png"><img class="aligncenter size-full wp-image-512" title="Microsoft MEAP" src="http://robtiffany.com/wp-content/uploads/2011/01/MEAP7.png" alt="Microsoft MEAP" width="1032" height="542" /></a></p>
<p>Let&#8217;s do a quick rundown of Gartner&#8217;s Critical Capability list so you can see how we rise to their challenge:</p>
<ol>
<li>Integrated Development Environment for composing server and client-side logic: Microsoft Visual Studio supports on-premise and cloud server development and targets clients such as Windows, Windows Phone 7, Windows Mobile, the Web, Nokia S60, and the Macintosh. </li>
<li>Application Client Runtime: Various flavors of Microsoft .NET (Silverlight, .NET, Compact Framework) run on <a title="Windows Azure" href="http://www.microsoft.com/windowsazure/" target="_blank">Azure</a>, Windows Server, Windows, the Mac, Windows Phone 7, Windows Mobile, and Nokia S60.  Guess what, you can use <a title="MonoTouch" href="http://monotouch.net/" target="_blank">MonoTouch </a>to take your .NET skills to the iPhone, iPad and iPod Touch.  <a title="MonoDroid" href="http://monodroid.net/" target="_blank">MonoDroid </a>is in the preview stage and will bring .NET to Android phones and tablets in the future.</li>
<li>Enterprise Application Integration Tools: Connecting mobile devices to a variety of backend packages like Dynamics or SAP is critical.  Microsoft supports this integration in the cloud via Windows Azure AppFabric and on-premise though SQL Server Integration Services and dozens of adapters.  Tools like our Business Intelligence Dev Studio make EAI a repeatable, drag and drop exercise.</li>
<li>Packaged Mobile Apps: Microsoft delivers the Office suite across Windows, Windows Phone 7, Windows Mobile, the Web and the Mac.  Office will be coming to Nokia in the future and One Note just arrived on iOS.</li>
<li>Multichannel Servers: Windows Server + SQL Server on-premise and Windows Azure + SQL Azure in the cloud represents Microsoft&#8217;s mobile middleware platforms.  Windows Communication Foundation (WCF) delivers cross-platform SOAP &amp; REST Web Services and cross-platform wire protocols like XML, JSON and OData.</li>
<li>Software Distribution: Microsoft System Center Configuration Manager supports pushing software out to Windows and Windows Mobile.  Windows Phone 7 has Marketplace for this function.</li>
<li>Security: Data-in-transit is secured by SSL across all platforms.  Data-at-Rest security for apps is facilitated on Windows by BitLocker, Windows Mobile through encryption policies and Windows Phone 7 through <a title="Windows Phone 7 Encryption" href="http://robtiffany.com/windows-phone-7/dont-forget-to-encrypt-your-windows-phone-7-data" target="_blank">AESManaged </a>in Silverlight.  Cross-platform auth is facilitated by Microsoft Windows Identity Foundation so devices can access resources via a Windows Live ID, Facebook, Google, Yahoo, ADFS and others.</li>
<li>Hosting: It goes without saying the Microsoft knocks the hosting requirement out of the park with Azure.</li>
</ol>
<p>So what do I want you to take away from all this?</p>
<p>Microsoft has a great MEAP stack comprised of servers and skillsets you probably already have at your company.  You get maximum reuse on our servers and in our cloud which means you save money when it&#8217;s time to build and deploy your second, third and fourth mobile app without new training, new servers, and different technologies each time.  I hope you&#8217;re pleasantly surprised to see that our .NET application runtime lives on so many mobile platforms.  Again, this means that your existing .NET skills can be reused on Microsoft devices, the Web, Mac, Nokia and even the iPad.  Who knew?  I&#8217;m looking forward to bring Android into the .NET camp as well. </p>
<p>It&#8217;s a brave new world of disparate devices connected to the cloud.  Companies have no choice but to target most all of them when constructing B2C apps to sell products or bring in new customers.  They&#8217;ve also found that this is the case in supporting their own employees and business partners with B2E and B2B apps.  No single company has so many different skillsets and competencies to pull this off.</p>
<p>There is one thing that most companies do have though.  A Microsoft infrastructure in their data center or the cloud, Windows on desktops, laptops and tablets, plus teams of .NET developers.  As I&#8217;ve just shown you, these .NET developers armed with Visual Studio or MonoTouch can be unleashed to allow you to reach almost every mobile platform.  This dramatically reduces the amount of extra Java and Eclipse skills that you&#8217;ll consider bringing in-house or outsourcing in order to target platforms like Android or the Blackberry.  Through the magic of WCF, all these platforms can connect to your critical Microsoft back-end resources and beyond.  You save money on training, use the servers you already have, resuse business logic and get to market faster.  No matter what platform you need to target, Microsoft and its partners want to help you reach your goals.</p>
<p>Looks like you&#8217;re already ahead of the game in taking on the Consumerization of IT.</p>
<p>-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/confronting-the-consumerization-of-it-with-microsoft-meap/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SQL Server Compact 4.0 Lands on the Web</title>
		<link>http://robtiffany.com/sql-server-compact-4-0-lands-on-the-web/</link>
		<comments>http://robtiffany.com/sql-server-compact-4-0-lands-on-the-web/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 06:31:33 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[.NET Compact Framework]]></category>
		<category><![CDATA[ADO.NET]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Merge Replication]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[RDA]]></category>
		<category><![CDATA[Remote Data Access]]></category>
		<category><![CDATA[SQL CE]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SSCE]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Sync Framework]]></category>
		<category><![CDATA[Synchronize]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows CE]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Windows phones]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=486</guid>
		<description><![CDATA[With the new version 4.0, the little-database-that-could has grown up into a powerful server database ready to take on the web. <a href="http://robtiffany.com/sql-server-compact-4-0-lands-on-the-web/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A decade has passed since I first started using SQL CE on my Compaq iPAQ.  What started as a great upgrade to Pocket Access turned into the ultimate embedded database for Windows CE, the Pocket PC, Windows Mobile and Windows Phones.  The one-two punch of Outlook Mobile synchronizing email with Exchange and SQL Server Compact synchronizing data with SQL Server helped set the mobile enterprise on fire.  In 2005, version 3.0 supported Windows Tablets and progressive enhancements to the code base led to full Windows support on both x86 and x64 platforms.  With the new version 4.0, the little-database-that-could has grown up into a powerful server database ready to take on the web. </p>
<p>We&#8217;ve come a long way and you&#8217;re probably wondering what qualifies this new embedded database to take on the Internet:</p>
<ul>
<li>Native support for x64 Windows Servers</li>
<li>Virtual memory usage has been optimized to ensure the database can support up to 256 open connections &#8211; (Are you actually using 256 pooled connections with your &#8220;Big&#8221; database today?)</li>
<li>Supports databases up to 4 GB in size &#8211; (Feel free to implement your own data sharding scheme<a href="http://robtiffany.com/wp-content/uploads/2011/01/sqlserver_sql_server_2008_logo.png"><img class="alignright size-medium wp-image-496" title="SQL Server Compact" src="http://robtiffany.com/wp-content/uploads/2011/01/sqlserver_sql_server_2008_logo-300x246.png" alt="SQL Server Compact" width="180" height="148" /></a>)</li>
<li>Developed, stress-tested, and tuned to support ASP.NET web applications</li>
<li>Avoids the interprocess communications performance hit by running in-process with your web application</li>
<li>Row-level locking to boost concurrency</li>
<li>Step up to Government + Military grade security SHA2 algorithm to secure data with FIPS compliance</li>
<li>Enhanced data reliability via true atomicity, consistency, isolation, and durability (ACID) support</li>
<li>Transaction support to commit and roll back grouped changes</li>
<li>Full referential integrity with cascading deletes and updates</li>
<li>Support ADO.NET Entity Framework 4 &#8211; (Do I hear WCF Data Services?)</li>
<li>Paging queries are supported via T-SQL syntax to only return the data you actually need</li>
</ul>
<p>Wow, that&#8217;s quite a list!  SQL Server Compact 4.0 databases are easily developed using the new WebMatrix IDE or through Visual Studio 2010 SP1.  I&#8217;m loving the new ASP.NET Web Pages.  It reminds me of the good old days of building web applications with Classic ASP back in the 90&#8242;s with Visual InterDev and Homesite.</p>
<p>What about Mobility?</p>
<p>Since SQL Server Compact owes its heritage to mobile and embedded versions of Windows, you might be wanting to know what our story is there.  The good news is that you can build and deploy v4.0 databases on Windows XP, Windows Vista, and Windows 7.  If you want to implement an occasionally-connected solution that utilizes the Sync Framework, Remote Data Access (RDA), or Merge Replication, you&#8217;ll need to stick with SQL Server Compact 3.5 SP2.  Time and resource-constraints prevented the Compact team from enabling these features.  Luckily, single-user WPF/WinForms database applications running on Windows Slates, laptops and Windows Embedded Handheld devices will work just fine with the v3.5 SP2 runtime.  Get a jumpstart with this by pickup up &#8220;Enterprise Data Synchronization with Microsoft SQL Server 2008 and SQL Server Compact 3.5 Mobile Merge Replication&#8221; at   <a href="http://www.amazon.com/Enterprise-Synchronization-Microsoft-Compact-Replication/dp/0979891213/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1281715114&amp;sr=1-1">http://www.amazon.com/Enterprise-Synchronization-Microsoft-Compact-Replication/dp/0979891213/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1281715114&amp;sr=1-1</a> to start building those MEAP solutions.</p>
<p>With the tidal wave of Windows Slates hitting the market, a secure, powerful mobile database that allows users to work offline and syncs with SQL Server is definitely going to be a hot item!</p>
<p>So run, don&#8217;t walk to the Microsoft Download site to download the Next-Gen database for the web:</p>
<p><a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=033cfb76-5382-44fb-bc7e-b3c8174832e2">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=033cfb76-5382-44fb-bc7e-b3c8174832e2</a></p>
<p>If you need to support occasionally-connected mobile applications with sync capabilities on muliple Windows platforms, download SQL Server Compact 3.5 SP2:</p>
<p><a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e497988a-c93a-404c-b161-3a0b323dce24">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e497988a-c93a-404c-b161-3a0b323dce24</a></p>
<p>Keep Syncing,</p>
<p>Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/sql-server-compact-4-0-lands-on-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reducing SQL Server Sync I/O Contention :: Tip 3</title>
		<link>http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-3/</link>
		<comments>http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-3/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 23:43:35 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Merge Replication]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[RDA]]></category>
		<category><![CDATA[Remote Data Access]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[SQL CE]]></category>
		<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[SSCE]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Sync Framework]]></category>
		<category><![CDATA[Synchronize]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=475</guid>
		<description><![CDATA[Uniqueness is a key factor when synchronizing data between SQL Server/Azure and multiple endpoints like Slates and Smartphones.  With data simultaneously created and updated on servers and clients, ensuring rows are unique to avoid key collisions is critical.  As you know, each row is uniquely identified by its Primary Key. <a href="http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h5>GUIDs and Clustered Indexes</h5>
<p>Uniqueness is a key factor when synchronizing data between SQL Server/Azure and multiple endpoints like Slates and Smartphones.  With data simultaneously created and updated on servers and clients, ensuring rows are unique to avoid key collisions is critical.  As you know, each row is uniquely identified by its Primary Key.</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2011/01/key.png"><img class="alignleft size-medium wp-image-476" title="Primary Key" src="http://robtiffany.com/wp-content/uploads/2011/01/key-300x156.png" alt="Primary Key" width="300" height="156" /></a></p>
<p>When creating Primary Keys, it’s common to use a compound key based on things like account numbers, insert time and other appropriate business items.  It’s even more popular to create Identity Columns for the Primary Key based on an Int or BigInt data type based on what I see from my customers.  When you designate a column(s) to be a Primary Key, SQL Server automatically makes it a Clustered Index.  Clustered indexes are faster than normal indexes for sequential values because the B-Tree leaf nodes are the actual data pages on disk, rather than just pointers to data pages.</p>
<p>While Identity Columns work well in most database situations, they often break down in a data synchronization scenario since multiple clients could find themselves creating new rows using the same key value.  When these clients sync their data with SQL Server, key collisions would occur.  Merge Replication includes a feature that hands out blocks of Identity Ranges to each client to prevent this. </p>
<p>When using other Microsoft sync technologies like the Sync Framework or RDA, no such Identity Range mechanism exists and therefore I often see GUIDs utilized as Primary Keys to ensure uniqueness across all endpoints.  In fact, I see this more and more with Merge Replication too since SQL Server adds a GUID column to the end of each row for tracking purposes anyway.  Two birds get killed with one Uniqueidentifier stone. </p>
<p>Using the Uniqueidentifier data type is not necessarily a bad idea.  Despite the tradeoff of reduced join performance vs. integers, the solved uniqueness problem allows sync pros to sleep better at night.  The primary drawback with using GUIDs as Primary Keys goes back to the fact that SQL Server automatically gives those columns a Clustered Index.</p>
<p><strong>I thought Clustered Indexes were a good thing?</strong></p>
<p>They are a good thing when the values found in the indexed column are sequential.  Unfortunately, GUIDs generated with the default NewId() function are completely random and therefore create a serious performance problem.  All those mobile devices uploading captured data means lots of Inserts for SQL Server.  Inserting random key values like GUIDs can cause fragmentation in excess of 90% because new pages have to be allocated with rows pushed to the new page in order to insert the record on the existing page.  This performance-killing, space-wasting page splitting wouldn’t happen with sequential Integers or Datetime values since they actually help fill the existing page.</p>
<p> <strong>What about NEWSEQUENTIALID()?</strong></p>
<p>Generating your GUIDs on SQL Server with this function will dramatically reduce fragmentation and wasted space since it guarantees that each GUID will be sequential.  Unfortunately, this isn’t bulletproof.  If your Windows Server is restarted for any reason, your GUIDs may start from a lower range.  They’ll still be globally unique, but your fragmentation will increase and performance will decrease.  Also keep in mind that all the devices synchronizing with SQL Server will be creating their own GUIDs which blows the whole NEWSEQUENTIALID() strategy out of the water.</p>
<h5>Takeaway</h5>
<p>If you’re going to use the Uniqueidentifier data type for your Primary Keys and you plan to sync your data with RDA, the Sync Framework or Merge Replication, ensure that <strong>Create as Clustered == No</strong> for better performance.  You’ll still get fragmentation, but it will be closer to the ~30% range instead almost 100%.</p>
<p>Keep synching</p>
<p>Rob</p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bf960cbd-b9a9-41b8-9652-5bf27b02ff01">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/SQL+Server">SQL Server</a>,<a rel="tag" href="http://technorati.com/tags/SQL+Server+Compact">SQL Server Compact</a>,<a rel="tag" href="http://technorati.com/tags/Sync">Sync</a>,<a rel="tag" href="http://technorati.com/tags/GUID">GUID</a>,<a rel="tag" href="http://technorati.com/tags/Clustered+Index">Clustered Index</a>,<a rel="tag" href="http://technorati.com/tags/Microsoft">Microsoft</a>,<a rel="tag" href="http://technorati.com/tags/Windows">Windows</a>,<a rel="tag" href="http://technorati.com/tags/SQL+Azure">SQL Azure</a>,<a rel="tag" href="http://technorati.com/tags/MEAP">MEAP</a></div>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/reducing-sql-server-sync-io-contention-tip-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7 Line of Business App Dev :: Network Awareness</title>
		<link>http://robtiffany.com/windows-phone-7-line-of-business-app-dev-network-awareness/</link>
		<comments>http://robtiffany.com/windows-phone-7-line-of-business-app-dev-network-awareness/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 18:48:26 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[1xRTT]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[EDGE]]></category>
		<category><![CDATA[Emulator]]></category>
		<category><![CDATA[Ethernet]]></category>
		<category><![CDATA[EV-DO]]></category>
		<category><![CDATA[GPRS]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[HSDPA]]></category>
		<category><![CDATA[HSPA]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mobile Operator]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Network Awareness]]></category>
		<category><![CDATA[NetworkInterface]]></category>
		<category><![CDATA[NetworkInterfaceType]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[UMTS]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Wi-Fi]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://robtiffany.com/windows-phone-7/windows-phone-7-line-of-business-app-dev-network-awareness</guid>
		<description><![CDATA[By now, you’ve heard me talk a lot about the role wireless data networks play when it comes to the success of your mobile application.&#160; They are unreliable, intermittent, highly latent and often slower than they should be due to &#8230; <a href="http://robtiffany.com/windows-phone-7-line-of-business-app-dev-network-awareness/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>By now, you’ve heard me talk a lot about the role wireless data networks play when it comes to the success of your mobile application.&#160; They are <strong>unreliable</strong>, <strong>intermittent</strong>, <strong>highly latent</strong> and often <strong>slower</strong> than they should be due to <strong>overtaxed cellular towers</strong> and <strong>congested backhaul networks</strong>.&#160; Hopefully, you’ve built an app that tackles those challenges head-on using efficient <strong>WCF REST + JSON Services</strong> coupled with an <strong>offline data store</strong>.</p>
<p>So what is the user of your new application going to think when a Web Service call <strong>fails</strong> because the <strong>network is unavailable</strong>?</p>
<p>An end-user of your app probably won’t be too thrilled when they’re staring at an unintelligible error message.&#160; Or maybe your app will just silently fail when the Web Service call doesn’t succeed.&#160; The user might not know there’s a problem until they can’t view a list of relevant data on their phone.</p>
<p>This is no way to treat your prospective user-base because <strong>mobile apps should never diminish the user experience by trying to send or receive data in the absence of network connectivity.</strong></p>
<p>Luckily, <strong>Silverlight</strong> on <strong>Windows Phone 7</strong> provides you with a way to determine network connectivity.&#160; </p>
<p>Launch <strong>Visual Studio 2010</strong> and load the <strong>ContosoCloud</strong> solution that we’ve been working with over the last four <strong>Windows Phone 7 Line of Business App Dev</strong> articles.&#160; First, I want you to drag an <strong>Ellipse</strong> from the <strong>Toolbox</strong> and drop it on <strong>MainPage.xaml</strong>.&#160; Name that control <strong>ellipseNet</strong>.&#160; Next, I want you to drag a <strong>TextBlock</strong> control over and drop it beneath the <strong>Ellipse</strong>.&#160; Name this control <strong>textBlockNet</strong>.&#160; Now open <strong>MainPage.xaml.cs</strong> so we can write some code.</p>
<p>Above the <strong>ContosoPhone namespace</strong> I want you to add:</p>
<p><font size="1"><strong>using Microsoft.Phone.Net.NetworkInformation;</strong></font> </p>
<p>This allows you to tap into the <strong>NetworkInterface</strong> class.&#160; The next line of code I want you to add may seem a little confusing since it’s similar, yet different from <strong>Microsoft.Phone.Net.NetworkInformation</strong>.&#160; Inside the <strong>MainPage()</strong> constructor, beneath <strong>InitializeComponent();</strong>, add the following code to create an event handler:</p>
<p><font size="1"><strong>System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged += new System.Net.NetworkInformation.NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged);</strong></font></p>
<p>This is the standard, <strong>cross-platform</strong> Silverlight way to create an event handler that tells you when your network address has changed.&#160; I wrote it out the long-way because it collides with the phone-specific <strong>NetworkInformation</strong> class.&#160; Don’t ask.</p>
<p>Underneath the line of code above, add the following:</p>
<p><font size="1"><strong>NetworkStateMachine();</strong></font></p>
<p>This is going to call a method you haven’t created yet.</p>
<p>Inside your <strong>MainPage</strong> class, the event handler your just created will appear:</p>
<p><font size="1"><strong>void NetworkChange_NetworkAddressChanged(object sender, EventArgs e)       <br />{        <br />&#160;&#160;&#160; NetworkStateMachine();        <br />}</strong></font></p>
<p>As you can see, I want you to add the <strong>NetworkStateMachine();</strong> line of code inside the event handler to execute this mysterious function.&#160; By now you’re probably saying, “Enough of the suspense already!”&#160; Below the event handler, paste in the following code:</p>
<p><font size="1"><strong>private void NetworkStateMachine()       <br />{        <br />&#160;&#160;&#160; try        <br />&#160;&#160;&#160; {        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; switch (NetworkInterface.NetworkInterfaceType)        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; {        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //No Network        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; case NetworkInterfaceType.None:        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ellipseNet.Fill = new SolidColorBrush(Colors.Red);        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; textBlockNet.Text = &quot;No Network&quot;;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //CDMA Network        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; case NetworkInterfaceType.MobileBroadbandCdma:        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ellipseNet.Fill = new SolidColorBrush(Colors.Blue);        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; textBlockNet.Text = &quot;CDMA&quot;;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //GSM Network        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; case NetworkInterfaceType.MobileBroadbandGsm:        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ellipseNet.Fill = new SolidColorBrush(Colors.Blue);        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; textBlockNet.Text = &quot;GSM&quot;;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //Wi-Fi Network        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; case NetworkInterfaceType.Wireless80211:        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ellipseNet.Fill = new SolidColorBrush(Colors.Green);        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; textBlockNet.Text = &quot;Wi-Fi&quot;;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //Ethernet Network        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; case NetworkInterfaceType.Ethernet:        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ellipseNet.Fill = new SolidColorBrush(Colors.Green);        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; textBlockNet.Text = &quot;Ethernet&quot;;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //No Network        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; default:        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ellipseNet.Fill = new SolidColorBrush(Colors.Red);        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; textBlockNet.Text = &quot;No Network&quot;;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }        <br />&#160;&#160;&#160; }        <br />&#160;&#160;&#160; catch (Exception ex)        <br />&#160;&#160;&#160; {        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; MessageBox.Show(ex.Message);        <br />&#160;&#160;&#160; }        <br />}</strong></font></p>
<p>The <strong>switch statement</strong> above creates a <strong>state machine</strong> for your mobile application that lets it know what type of network connection you have at any given moment.&#160; Remember for this example, the sample code is running on the UI thread.&#160; Since the code is synchronous and blocking, you may want to run it on a background thread.</p>
<p>As you can see, the following network types are returned:</p>
<ul>
<li><strong>Wireless80211</strong>&#160; (Wi-Fi)</li>
<li><strong>Ethernet</strong>&#160; (Docked/LAN)</li>
<li><strong>MobileBroadbandGSM</strong>&#160; (GPRS/EDGE/UMTS/HSDPA/HSPA)</li>
<li><strong>MobileBroadbandCDMA</strong>&#160; (1xRTT/EV-DO)</li>
<li>
<p><strong>None</strong>&#160; </p>
</li>
</ul>
<p>As you’re probably thinking, the primary value in this is to know if you have any kind of network or not.&#160; Obviously, a return value of <strong>None</strong> means you shouldn’t make any kind of Web Service call.&#160; </p>
<p>Hit <strong>F5</strong> in <strong>Visual Studio</strong> and let’s see what you get in the <strong>emulator</strong>:</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2010/11/phone6.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="phone6" border="0" alt="phone6" src="http://robtiffany.com/wp-content/uploads/2010/11/phone6_thumb.png" width="259" height="484" /></a></p>
<p>As you can see, the <strong>ContosoCloud</strong> app detected my laptop’s Wi-Fi connection in the switch statement and therefore gave me a Green Ellipse and a TextBlock that says “Wi-Fi.”&#160; Keep in mind that the <strong>emulator doesn’t behave the same way as an actual phone</strong> so changing my laptop’s networking while the mobile app is running won’t trigger the <strong>NetworkChange_NetworkAddressChanged</strong> event handler.&#160; If you close the app, turn off Wi-Fi on your laptop and then restart the app, it will correctly report that no network is available.</p>
<p>So why would you want to know about all the other network return types?</p>
<p>In working with customers all around the world who use<strong> Pocket PCs</strong>, <strong>Windows Mobile</strong> devices and <strong>Windows Phones</strong>, it has become evident that there is always a <strong>“cost”</strong> in doing anything over the network.&#160; Not everyone has unlimited, <strong>“all-you-can-eat” data plans</strong> for their employees.&#160; Some companies have very low monthly data usage limits for each employee that has been negotiated with one or more mobile operators.&#160; For these organizations, it’s not enough to know if the network is present or not.&#160; They need to know what kind of network is available so their mobile application can make <strong>intelligent decisions</strong>.</p>
<p>If I need to download a<strong> large amount of data</strong> in the morning to allow me to drive my delivery truck route, I probably should only perform this operation over docked <strong>Ethernet</strong> or <strong>Wi-Fi</strong>.&#160; This gives me the network speed I need to move a lot of data and I don’t incur any costs with my mobile operator.</p>
<p>If I’ve captured <strong>small amounts of data</strong> in the field that I need to send back to HQ in near real-time, then a return value of <strong>MobileBroadbandGSM</strong>&#160; or <strong>MobileBroadbandCDMA</strong> is perfect.&#160; This would also be appropriate if my app is making <strong>lightweight remote method calls</strong> via Web Services as well.&#160; The use of <strong>WCF REST + JSON</strong> is probably making a lot of sense now.</p>
<p>If I’ve captured <strong>large amounts of data</strong> in the field or I’m <strong>batching</strong> up several data captures throughout the day, it would make more sense to use <strong>Ethernet</strong> or <strong>Wi-Fi</strong> when I returned to the warehouse or distribution center.&#160; On the other hand, if I have a high enough data usage limit or no limit at all, the <strong>MobileBroadbandGSM/CDMA</strong> would be fine.</p>
<p>Keep in mind that this guidance is just as valuable for <strong>B2C</strong> and <strong>Consumer</strong> apps as well.&#160; If you’re building a connected mobile app of any kind, the information I’ve discussed in this article will ensure that you’re always providing a great user experience.&#160; </p>
<p><strong>Delighting the end-user</strong> is what it’s all about!</p>
<p>-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/windows-phone-7-line-of-business-app-dev-network-awareness/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ray Ozzie sees the Dawn of a New Day for Microsoft</title>
		<link>http://robtiffany.com/ray-ozzie-sees-the-dawn-of-a-new-day-for-microsoft/</link>
		<comments>http://robtiffany.com/ray-ozzie-sees-the-dawn-of-a-new-day-for-microsoft/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 17:06:41 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[4G]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Connected Devices]]></category>
		<category><![CDATA[Continuous Services]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[LTE]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[Office 365]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[Ray Ozzie]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[SQL Azure]]></category>
		<category><![CDATA[Whitespace]]></category>
		<category><![CDATA[Wi-Fi]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows Azure]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[Xbox Live]]></category>

		<guid isPermaLink="false">http://robtiffany.com/azure/ray-ozzie-sees-the-dawn-of-a-new-day-for-microsoft</guid>
		<description><![CDATA[Five years after Ray Ozzie penned The Internet Services Disruption, he reflects on Microsoft’s move to the cloud.&#160; While he’s most proud of Windows Azure and SQL Azure, he also gives our competitors their due by mentioning that they have &#8230; <a href="http://robtiffany.com/ray-ozzie-sees-the-dawn-of-a-new-day-for-microsoft/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Five years after Ray Ozzie penned <a href="http://ozzie.net/docs/the-internet-services-disruption/" target="_blank">The Internet Services Disruption</a>, he reflects on Microsoft’s move to the cloud.&#160; While he’s most proud of Windows Azure and SQL Azure, he also gives our competitors their due by mentioning that they have out-executed us when it comes to mobile experiences.&#160; He harps on the subject of how complexity kills and then challenges us to close our eyes and form a realistic picture of what a <em>post-PC world</em> might actually look like.</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2010/10/rayozzie.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="rayozzie" border="0" alt="rayozzie" src="http://robtiffany.com/wp-content/uploads/2010/10/rayozzie_thumb.jpg" width="244" height="184" /></a></p>
<p>Ray goes on to state that those who can envision a plausible future that’s brighter than today will earn the opportunity to lead.&#160; His ultimate dream is to move us toward a world of :</p>
<ul>
<li>Cloud-based <strong>c<em>ontinuous services</em></strong> that connect us all and do our bidding.&#160; These are websites and cloud-based agents that we can rely on for more and more of what we do.&#160; On the back end, they possess attributes enabled by our newfound world of cloud computing: They’re always-available and are capable of unbounded scale. </li>
<li>Appliance-like <strong><em>connected devices</em></strong> enabling us to interact with those cloud-based services.&#160; This goes beyond the PC and will increasingly come in a breathtaking number of shapes and sizes, tuned for a broad variety of communications, creation &amp; consumption tasks.&#160; Each individual will interact with a fairly good number of these connected devices on a daily basis – their phone / internet companion; their car; a shared public display in the conference room, living room, or hallway wall. </li>
</ul>
<p>&#160;</p>
<p>As a Mobility Architect at Microsoft, I’m excited that my commitments align with this vision in connecting the Peanut Butter of the Cloud with the Chocolate of devices.&#160; Wireless data networks, bandwidth, latency and signal coverage are the wildcards when it comes to making this vision a reality.&#160; That’s why you’ll always see my concern for this Wireless wildcard reveal itself in all the Cloud-connected mobile architectures I design.</p>
<p>Check out the rest of Ray’s new memo at <a title="http://ozzie.net/docs/dawn-of-a-new-day/" href="http://ozzie.net/docs/dawn-of-a-new-day/">http://ozzie.net/docs/dawn-of-a-new-day/</a>.</p>
<p>-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/ray-ozzie-sees-the-dawn-of-a-new-day-for-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

