<?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; .NET Compact Framework</title>
	<atom:link href="http://robtiffany.com/tag/net-compact-framework/feed" rel="self" type="application/rss+xml" />
	<link>http://robtiffany.com</link>
	<description>Author, Software Architect, Speaker, Technology Executive, Former Navy Submariner</description>
	<lastBuildDate>Sat, 04 Feb 2012 22:55:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Performance and Memory Management Improvements with Windows Embedded Handheld</title>
		<link>http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld</link>
		<comments>http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld#comments</comments>
		<pubDate>Sun, 04 Sep 2011 15:49:39 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Windows Embedded Handheld]]></category>
		<category><![CDATA[.NET Compact Framework]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Device Management]]></category>
		<category><![CDATA[Merge Replication]]></category>
		<category><![CDATA[Microsoft]]></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 Compact]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=944</guid>
		<description><![CDATA[It should be no surprise that over 80% of enterprise handhelds shipped are running Windows Mobile or Windows Embedded Handheld. ]]></description>
			<content:encoded><![CDATA[<p>A lot has changed since the launch of Windows Phone in the Fall of 2010.  Microsoft now has a compelling phone platform that targets consumers inside and outside the office.  One thing that that hasn&#8217;t changed is the widespread use of Windows Embedded Handheld to solve tough enterprise mobility problems.  It should be no surprise that over 80% of enterprise handhelds shipped are running Windows Mobile or Windows Embedded Handheld.  They include support for barcode scanning, RFID reading, rugged hardware, every type of wireless, full device encryption, complete over-the-air software distribution and device managment support, FIPS compliance, and both capacitive touch and stylus operation.  On the application platform side of the equation, they have rich support for WinForm development using Visual Studio and the .NET Compact Framework, C++ and a full-featured database with built-in sync capabilities via SQL Server Compact.  They can easily communicate with WCF SOAP and REST web services running on Windows Servers on-premise or with Azure in the cloud.  Support for Merge Replication means faster time to market to get device synchronizing with SQL Server with almost no coding.</p>
<p><a href="http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld/attachment/motorola-es400" rel="attachment wp-att-951"><img class="alignleft size-medium wp-image-951" title="Windows Embedded Handheld" src="http://robtiffany.com/wp-content/uploads/2011/09/motorola-es400-144x300.jpg" alt="" width="144" height="300" /></a><a href="http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld/attachment/pp-psion-teklogix-12-6-10" rel="attachment wp-att-978"><img class="alignleft size-medium wp-image-978" title="pp-Psion-Teklogix-12-6-10" src="http://robtiffany.com/wp-content/uploads/2011/09/pp-Psion-Teklogix-12-6-10-183x300.jpg" alt="" width="183" height="300" /></a><a href="http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld/attachment/dolphin" rel="attachment wp-att-976"><img class="alignleft size-medium wp-image-976" title="dolphin" src="http://robtiffany.com/wp-content/uploads/2011/09/dolphin-163x300.jpg" alt="" width="163" height="300" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld/attachment/intermec" rel="attachment wp-att-979"><img class="alignleft size-medium wp-image-979" title="intermec" src="http://robtiffany.com/wp-content/uploads/2011/09/intermec-140x300.jpg" alt="" width="140" height="300" /></a><a href="http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld/attachment/honeywell_99ex" rel="attachment wp-att-977"><img class="alignleft size-medium wp-image-977" title="honeywell_99ex" src="http://robtiffany.com/wp-content/uploads/2011/09/honeywell_99ex-127x300.jpg" alt="" width="127" height="300" /></a></p>
<p>Since Windows Embedded Handheld uses an advanced version of the operating system kernel used by Windows Mobile 6.5.3, many of the techniques and best practices I&#8217;ve taugh customers and developers all over the world still apply.  While it still uses the slotted memory model found in Windows CE 5 with 32 processes and 32 MB of memory per process, you&#8217;ll find that numerous enhancements and tuning has taken place to give your line of business apps more of what they need.  I&#8217;m talking about more memory per process and improved performance.  Therefore, I&#8217;d like you to sit back and watch the video of a presentation I delivered at Tech Ed in Los Angeles a couple of years ago so you can better learn what this mobile platform has to offer in the form of better memory management and improved performance:<br />
<iframe style="width: 512px; height: 384px;" src="http://channel9.msdn.com/Events/TechEd/Europe/2009/MOB401/player?w=512&amp;h=384" frameborder="0" scrolling="no" width="320" height="240"></iframe></p>
<p>A recent Gartner report recommends that organizations should stay with Windows Embedded Handheld as the best mobile platform for enterprise line of business needs.  Great devices are available from OEMs like Intermec, Motorola, Psion, and Honeywell just to name a few.  I hope this video helps you with any memory management or performance issues you may need to deal with in your enterprise mobile apps.</p>
<p>Best Regards,<br />
Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/windows-embedded-handheld/performance-and-memory-management-improvements-with-windows-embedded-handheld/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Confronting the Consumerization of IT with Microsoft MEAP</title>
		<link>http://robtiffany.com/mobile-enterprise-application-platform/confronting-the-consumerization-of-it-with-microsoft-meap</link>
		<comments>http://robtiffany.com/mobile-enterprise-application-platform/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 growing trend fueled by cloud-delivered services and compelling mobile devices with wireless capabilities.  This trend [...]]]></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/mobile-enterprise-application-platform/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/sql-server-compact-4-0-lands-on-the-web</link>
		<comments>http://robtiffany.com/sql-server-compact/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.]]></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/sql-server-compact-4-0-lands-on-the-web/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Discover the future of Windows Phone 7 in the Enterprise at Tech Ed North America 2010</title>
		<link>http://robtiffany.com/windows-phone/discover-the-future-of-windows-phone-7-in-the-enterprise-at-tech-ed-north-america-2010</link>
		<comments>http://robtiffany.com/windows-phone/discover-the-future-of-windows-phone-7-in-the-enterprise-at-tech-ed-north-america-2010#comments</comments>
		<pubDate>Sun, 06 Jun 2010 01:51:00 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[Windows phone]]></category>
		<category><![CDATA[.NET Compact Framework]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[iPAQ]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[Pocket PC]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[ROI]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[Tech Ed]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://robtiffany.com/windows-phone/discover-the-future-of-windows-phone-7-in-the-enterprise-at-tech-ed-north-america-2010</guid>
		<description><![CDATA[Ten years ago, we created the Pocket PC and Compaq launched the iPAQ. This would become the most compelling Mobile Enterprise Application Platform of the last decade.&#160; In 2006 I created the Windows Mobile Line of Business Accelerator to help jumpstart the efforts of corporate developers + enterprise ISVs with advanced tools and technologies like [...]]]></description>
			<content:encoded><![CDATA[<h2>Ten years ago, we created the Pocket PC and Compaq launched the iPAQ. </h2>
</p>
<h4>This would become the most compelling Mobile Enterprise Application Platform of the last decade.&#160; In 2006 I created the Windows Mobile Line of Business Accelerator to help jumpstart the efforts of corporate developers + enterprise ISVs with advanced tools and technologies like the .NET Compact Framework, SQL Server Compact and Visual Studio.</h4>
<p>&#160;</p>
<h4>It’s a new decade and we’ve created the most powerful Mobile Enterprise Application Platform ever with Windows Phone 7.&#160; Next week at Tech Ed North America 2010, I will begin the process of jumpstarting your enterprise development efforts again with Silverlight, WCF, Azure and Visual Studio 2010.&#160; Give yourself an edge and come check out my sessions:</h4>
<p>&#160;</p>
<h2>Developing Occasionally Connected Applications for Windows Phone 7</h2>
<h4>The Silverlight development environment has proven itself to be a rich, capable, and adaptable runtime that has reached across platforms to support Windows, the Mac and the Web. Silverlight has now become the application platform for Windows Phone 7, which is great news for new and existing Silverlight developers looking to support this exciting new phone platform. To ensure the best experience for mobile users, apps built for Windows Phone 7 must implement an occasionally-connected pattern of development that Silverlight developers for the other platforms may find unfamiliar. In this session, learn how to build mobile apps that adjust their behavior based on changing network conditions. Also learn how to conquer unreliable wireless networks by implementing RESTful principles to ensure your messages are both compact and fast. Then take those WCF REST services and use them to retrieve database tables, rows, and columns in order to drive the behavior of your mobile applications. Finally, learn how to build an in-memory database that you can query with LINQ and save its data to Isolated Storage to ensure that your Windows Phone apps keep working regardless of network conditions.</h4>
<p>&#160;</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2010/06/ContosoBottling.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="ContosoBottling" border="0" alt="ContosoBottling" src="http://robtiffany.com/wp-content/uploads/2010/06/ContosoBottling_thumb.png" width="360" height="601" /></a>&#160;</p>
<h2>Microsoft’s Next Generation Mobile Enterprise Application Platform (MEAP)</h2>
<h4>A Mobile Enterprise Application Platform (MEAP) allows corporate IT departments to support multiple mobile applications on a single platform. Gartner states that this market currently tops $1 billion and forecasts that 95% of the world&#8217;s organizations will standardize on a single MEAP offering by 2012. Companies looking for a better ROI are moving to reusable platforms instead of building tactical, ad-hoc mobile solutions that support only a single app. Attendees of this session will learn how to save money by steering away from point solutions and on to Microsoft&#8217;s MEAP stack. Come see what Microsoft&#8217;s Next-Gen Mobile Enterprise Application Platform looks like and learn how it will support a broader range of mobile platforms and operating systems including Windows Phone 7 and Azure.</h4>
<p>&#160;</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2010/06/image.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://robtiffany.com/wp-content/uploads/2010/06/image_thumb.png" width="624" height="401" /></a></p>
<p>&#160;</p>
<h4>See you in New Orleans!</h4>
<h4>- Rob</h4>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/windows-phone/discover-the-future-of-windows-phone-7-in-the-enterprise-at-tech-ed-north-america-2010/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making MEAP Real</title>
		<link>http://robtiffany.com/mobile-enterprise-application-platform/making-meap-real</link>
		<comments>http://robtiffany.com/mobile-enterprise-application-platform/making-meap-real#comments</comments>
		<pubDate>Mon, 01 Feb 2010 23:53:03 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[.NET Compact Framework]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[Laptop]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Merge Replication]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mobile Middleware]]></category>
		<category><![CDATA[Netbook]]></category>
		<category><![CDATA[Slate]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[SSCE]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Synchronize]]></category>
		<category><![CDATA[Tablet]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows CE]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows phones]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=107</guid>
		<description><![CDATA[After all the logical diagrams of Microsoft MEAP and spelling out how it meets Gartner&#8217;s critical capabilities, I thought I’d show you a picture that provides a more concrete view of what our MEAP offering looks like. Hopefully, this will better crystallize how Microsoft lines up with those critical capabilities and how our reusable mobile [...]]]></description>
			<content:encoded><![CDATA[<p>After all the logical diagrams of Microsoft MEAP and spelling out how it meets Gartner&#8217;s critical capabilities, I thought I’d show you a picture that provides a more concrete view of what our MEAP offering looks like.  Hopefully, this will better crystallize how Microsoft lines up with those critical capabilities and how our reusable mobile application platform plugs into a customer’s enterprise.  I think we have a great story here that shows customers how we can save them money on a platform that:</p>
<p>1. Works the same across laptops, tablets, Netbooks and phones.<br />
2. Gives them reusable mobile middleware that can support multiple simultaneous applications rather than needing something different for each point solution<br />
3. Lowers risk to their projects by reducing the amount of custom code needed to build any given solution.<br />
4. Gives them adapters that plug into the existing enterprise packages they use to run their business.</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2010/02/MEAPPhysical.png"><img src="http://robtiffany.com/wp-content/uploads/2010/02/MEAPPhysical.png" alt="MEAP Physical Diagram" title="MEAPPhysical" width="520" height="420" class="alignleft size-full wp-image-106" /></a></p>
<p>Regards,<br />
Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/mobile-enterprise-application-platform/making-meap-real/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Interview with Rob @ Tech Ed Europe 2009</title>
		<link>http://robtiffany.com/mobile-enterprise-application-platform/interview-with-rob-tech-ed-europe-2009</link>
		<comments>http://robtiffany.com/mobile-enterprise-application-platform/interview-with-rob-tech-ed-europe-2009#comments</comments>
		<pubDate>Wed, 23 Dec 2009 20:45:42 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[.NET Compact Framework]]></category>
		<category><![CDATA[Adapter]]></category>
		<category><![CDATA[Application Management]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[MEAP]]></category>
		<category><![CDATA[Merge Replication]]></category>
		<category><![CDATA[Mobile Middleware]]></category>
		<category><![CDATA[Reverse Proxy]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Business Intelligence Development Studio]]></category>
		<category><![CDATA[SQL Server Compact]]></category>
		<category><![CDATA[SSCE]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[Sync]]></category>
		<category><![CDATA[Synchronize]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows phones]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=49</guid>
		<description><![CDATA[Check out the interview I did with David Goon at Tech Ed Europe 2009 in Berlin.  I discuss Microsoft&#8217;s Mobile Enterprise Application Platform and talk about how it aligns with Gartner&#8217;s MEAP critical capabilities and how it can save money for companies. With the tidal wave of mobile and wireless technologies sweeping across both the consumer and [...]]]></description>
			<content:encoded><![CDATA[<p>Check out the interview I did with David Goon at Tech Ed Europe 2009 in Berlin.  I discuss Microsoft&#8217;s Mobile Enterprise Application Platform and talk about how it aligns with Gartner&#8217;s MEAP critical capabilities and how it can save money for companies.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="320" height="180" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.facebook.com/v/241564376017" /><embed type="application/x-shockwave-flash" width="320" height="180" src="http://www.facebook.com/v/241564376017" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>With the tidal wave of mobile and wireless technologies sweeping across both the consumer and enterprise landscapes, I believe MEAP offerings give us a glimpse of a new standard for designing all future infrastructures.</p>
<p>-Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/mobile-enterprise-application-platform/interview-with-rob-tech-ed-europe-2009/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MemMaker for the .NET Compact Framework</title>
		<link>http://robtiffany.com/mobile-development/memmaker-for-the-net-compact-framework</link>
		<comments>http://robtiffany.com/mobile-development/memmaker-for-the-net-compact-framework#comments</comments>
		<pubDate>Fri, 24 Apr 2009 01:24:41 +0000</pubDate>
		<dc:creator>Rob Tiffany</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[.NET Compact Framework]]></category>
		<category><![CDATA[Memory]]></category>
		<category><![CDATA[Mobile Enterprise Application Platform]]></category>
		<category><![CDATA[OS/2]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows CE]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows phones]]></category>

		<guid isPermaLink="false">http://robtiffany.com/?p=85</guid>
		<description><![CDATA[Does everyone remember the good old days of DOS when we used to spend our time making more of the 640 KB memory space available for our drivers, programs, TSRs and even Windows?  Things like QEMM, HIMEM.SYS and EMM386.EXE bring back fond memories for me.  We had this one slot and Billg said we’d never [...]]]></description>
			<content:encoded><![CDATA[<p>Does everyone remember the good old days of DOS when we used to spend our time making more of the 640 KB memory space available for our drivers, programs, TSRs and even Windows?  Things like QEMM, HIMEM.SYS and EMM386.EXE bring back fond memories for me.  We had this one slot and Billg said we’d never need more than 640 KB.</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2009/12/DOSMem_2.gif"><img class="aligncenter size-full wp-image-86" title="DOSMem_2" src="http://robtiffany.com/wp-content/uploads/2009/12/DOSMem_2.gif" alt="DOS Memory Map" width="640" height="480" /></a></p>
<p>Some of us even switched to OS/2 which could give us 740 KB to our DOS sessions while providing them with preemptive multitasking.  Yes, I could run multiple DOS games in multiple windows simultaneously with no degradation.  Wow, now I had a bunch of crash-protected slots each with 740 KB of memory.</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2009/12/dos_2.gif"><img class="aligncenter size-full wp-image-87" title="dos_2" src="http://robtiffany.com/wp-content/uploads/2009/12/dos_2.gif" alt="OS/2" width="640" height="480" /></a></p>
<p>If you fast forward to today, you’ll see that Windows CE 5.0 and Windows Mobile 6.x shares some commonalities with their forefathers from the 80’s and 90’s.  The 32-bit embedded operating system that we rely on to power our Windows phones is made up of a bunch of slots.  The mobile applications that you build run inside one of these slots and unlike DOS with its 640 KB memory space, your app gets 32 MB of virtual memory space.  But just like with DOS, you don’t get access to the whole space because other things like system DLLs are already eating into your free virtual memory. </p>
<p>Many of you might not care because you build simple apps that use very little memory.  On the other hand, most of the people and organizations I work with build the largest, most memory-intensive applications ever seen on the mobile device.  Needless to say, these folks aren’t too pleased that they don’t get the whole 32 MB of virtual memory that’s coming to them.  They probably wish they a utility like QEMM or MemMaker to put things in high memory.</p>
<p>I recently met with a good friend of mine who wanted to share some interesting findings with me.  Keep in mind, not only do I consider this person and his colleagues to be some of the top Compact Framework developers in the world, his team members designed and developed of one of the world’s largest, most complex managed apps running on a Windows Mobile device.  Like many organizations that have built very large Windows Mobile applications, free virtual memory issues and the &#8220;DLL Crunch&#8221; have deprived this app from of all the memory it would like to have.  <strong>One of the architects on this &#8220;Dream Team&#8221; noticed that by keeping their application’s EXE empty and putting all the forms, code, resources, and data in managed DLLs, he reduced the amount of virtual memory his app uses inside its slot while at the same time taking advantage of memory outside the slot in the 1 GB shared memory area.</strong></p>
<p>To help you visualize this, I’m going to show you 2 pictures of the Windows Mobile process slots running a Compact Framework application two different ways.  The virtual memory viewer you see running in the emulators below shows the 32 slots in the User space of the OS.  Everything in Red is free virtual memory, Blue is committed memory and Green is reserved.  Slot 1 is crammed full of ROM DLLs and you can’t help but notice the area of Blue at the top of every other slot.  That’s space out of everyone’s slot being used by system and other native DLLs which means nobody’s going to get their fair share of their 32 MB slot space.</p>
<p>On the left you’ll see a NETCF app called StandardExe.exe running in slot 14 of the operating system.  This simple managed EXE has a 2.25 MB bitmap bound to it as a resource and a single form that compiles to the same size as the bitmap inside it.  If you look at the picture on the left, you’ll see a 2.25 MB Blue area coming up from the bottom of slot 14.  This represents the space being taken up by the EXE.</p>
<p><img class="alignleft size-full wp-image-88" title="StandardSM_thumb" src="http://robtiffany.com/wp-content/uploads/2009/12/StandardSM_thumb.jpg" alt="Standard Memory Map" width="244" height="374" /></p>
<p><img class="size-full wp-image-89 alignright" title="OptimizedSM_thumb" src="http://robtiffany.com/wp-content/uploads/2009/12/OptimizedSM_thumb.jpg" alt="Optimized Memory Map" width="244" height="376" /></p>
<p>On the right a NETCF app called OptimizedExe.exe running in slot 11 of the operating system.  This managed EXE is completely empty.  The Main function calls into a static class of a managed DLL and that’s it.  No mas.  This results in an EXE with a file size of 5 KB.  In the managed DLL we have the same 2.25 MB bitmap bound to it as well as a simple form.  This compiles into a 2.25 MB DLL called OptimizedDLL.dll.  <strong>When you look at the picture on the right, you’ll be hard-pressed to see any Blue area coming up from the bottom of slot 11.  A closer look reveals the 2.25 MB DLL is nowhere to be found either.</strong></p>
<p>This is pretty cool and has the potential to unleash the largest, most powerful games and applications Windows phones have ever seen.  <strong>So the big question is, how is this happening?  Is it magic?  </strong></p>
<p>Those of you who have read Steven Pratschner’s <a href="http://blogs.msdn.com/stevenpr/archive/2005/12/12/502908.aspx" target="_blank">blog</a> know that the Compact Framework memory maps your managed EXE and DLLs into the 1 GB shared memory area outside the slot your app is running which is cool.  <strong>What you may not know is that the OS automatically blocks out virtual memory at the bottom of your slot that’s the same size as your EXE.</strong>  So even though the CLR is in control of app execution and is giving you lots of love by putting your managed EXE up in the shared memory area, Windows CE takes away a valuable chunk of memory because it thinks that’s where your EXE is running.  <strong>Guess what, your app isn’t running there and it’s not native.</strong>  For those of you with giant managed EXEs, you’re losing out on a lot of virtual memory in your slot that could be put to good use.  So the first lesson here is to do what Brian did and make your EXE nothing but an empty stub used to launch your app which really lives inside managed DLLs.</p>
<p>Your empty EXE code should look like the following:</p>
<p><strong>using System; </strong></p>
<p><strong>namespace OptimizedExe<br />
{<br />
    static class Program<br />
    {<br />
        /// &lt;summary&gt;<br />
        /// The main entry point for the application.<br />
        /// &lt;/summary&gt;<br />
        [MTAThread]<br />
        static void Main()<br />
        {<br />
            OptimizedDLL.StartUp.Main();<br />
        }<br />
    }<br />
}</strong></p>
<p>Your DLL code should look like the following:</p>
<p><strong>using System;<br />
using System.Windows.Forms; </strong></p>
<p><strong>namespace OptimizedDLL<br />
{<br />
    public class StartUp<br />
    {<br />
        public static void Main()<br />
        {<br />
            Application.Run(new Main());<br />
        }<br />
    }<br />
}</strong></p>
<p>So now that you’ve learned how to instantly give your managed apps more memory by beating Windows CE at its own game, let’s talk about the curious case of your managed DLL.  If you’ve read Reed Robison’s <a href="http://blogs.msdn.com/hegenderfer/archive/2007/08/31/slaying-the-virtual-memory-monster.aspx" target="_blank">blog</a> discussion about Slaying the Virtual Memory Monster, you know that DLLs seem to take up everyone’s virtual memory from the top of the slot down which doesn’t sound too fair.  DLLs keep pushing their way down everyone’s slot causing something we call the “DLL Crunch” as free virtual memory get’s squeezed between the DLLs and EXEs.  I’ve got some good news for you.  Managed DLLs do not exhibit this same behavior.  In fact, not only do they not use up memory in all the other slots of your Windows phone, they don’t even push downward on the memory of your own slot.  How could this be?</p>
<p><strong>Managed DLLs are not DLLs.</strong>  The CLR just treats them as files that it memory maps into the 1 GB shared memory area.  To the Compact Framework, managed EXE and DLL assemblies are just files full of IL that it maps outside your process slot.  So now you know where the 2.25 MB bitmap that we bound to OptimizedDLL.dll is.  <strong>It’s beyond the 32 MB barrier of your slot and therefore not using up your valuable memory.</strong> </p>
<p><strong>So if I follow this new pattern for NETCF development, will my slot ever have virtual memory allocated or do I get a free lunch?</strong></p>
<p>While there’s no free lunch, you did get a buy one get one free discount.  The JIT compiler is running in your slot and it pulls in IL from the 1 GB space as needed to compile the current call stack.  Resources that aren’t designed to be compiled or executed will never be pulled down here.  The GC Heap is in your slot and that’s where your currently allocated Objects and instance variables are hanging out.  Your slot maintains a 64 KB Stack for every Thread your app spawns and the AppDomain Heap maintains a representation of the data structures found in your assembly’s IL.</p>
<p><a href="http://robtiffany.com/wp-content/uploads/2009/12/image_thumb_1.png"><img class="aligncenter size-full wp-image-90" title="image_thumb_1" src="http://robtiffany.com/wp-content/uploads/2009/12/image_thumb_1.png" alt="Windows CE Memory Map" width="594" height="318" /></a></p>
<p>So what are the big takeaways here?</p>
<p>You can eliminate the erroneous and wasted allocation of EXE virtual memory in your slot by following the pattern of using an empty stub managed EXE to kick off your application.  Windows CE will now only block out 5 KB of memory.</p>
<p>You can take better advantage of the 1 GB shared memory area by putting your entire application inside managed DLLs.  This will make your app a good neighbor by not creating the dreaded “DLL Crunch” for all the other apps on your Windows phone.  It also reduces the amount of memory that has to be allocated inside your slot.</p>
<p>This new pattern of managed development on the Windows Mobile platform is a true breakthrough in memory management.  Come join me at Tech Ed 2009 this May in Los Angeles for a complete deep dive on this new way of building memory-intensive games and applications.</p>
<p>- Rob</p>
]]></content:encoded>
			<wfw:commentRss>http://robtiffany.com/mobile-development/memmaker-for-the-net-compact-framework/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

