<?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>Ben Dewey - Web, XAML, and Cloud &#187; WinRT</title>
	<atom:link href="http://www.bendewey.com/index.php/tag/winrt/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bendewey.com</link>
	<description>Father, Developer, Microsoft MVP, Speaker, and Author</description>
	<lastBuildDate>Sat, 22 Mar 2025 05:04:02 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.8.41</generator>
	<item>
		<title>Build 2014</title>
		<link>http://www.bendewey.com/index.php/508/build-2014</link>
		<comments>http://www.bendewey.com/index.php/508/build-2014#comments</comments>
		<pubDate>Wed, 09 Apr 2014 02:39:55 +0000</pubDate>
		<dc:creator><![CDATA[bendewey]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Windows8]]></category>
		<category><![CDATA[WinRT]]></category>

		<guid isPermaLink="false">http://www.bendewey.com/?p=508</guid>
		<description><![CDATA[//build was a great event this year. Given that I&#8217;m the mobile guy I&#8217;m particularly excited that they started the day 1 keynote with Windows.]]></description>
				<content:encoded><![CDATA[<p>//build was a great event this year.  Given that I&#8217;m the mobile guy I&#8217;m particularly excited that they started the <a href="http://channel9.msdn.com/Events/Build/2014/KEY01">day 1 keynote</a> with Windows Phone and Windows 8 announcements.</p>
<h3>Windows Phone 8.1</h3>
<p>Microsoft announced their latest version of Windows Phone, version 8.1, this new version is due out this summer and is compatible with all existing Windows Phone 8.0 devices.  In addition manufacturers, such as Nokia, are coming out with new devices tailored to Windows Phone 8.1.</p>
<p><span id="more-508"></span></p>
<p>Regarding Windows Phone 8.1 the new features include Cortana, a new Notification Center, Enterprise VPN and Workplace features, among many new apps and app updates.  Cortana looks really cool, she&#8217;s far more than &#8216;Siri for the Windows Phone&#8217; as she&#8217;s been called.  I like how she mimics a personal assistant and offers something unique in this world of privacy concerns, where she opens her &#8216;notebook&#8217; and provides transparency about what information she&#8217;s tracking about you, such as likes, favorite places, and favorite people, which she calls your inner circle.  You can also modify any of this information if it&#8217;s incorrect.</p>
<p>The Notification center is huge, it allows apps of your choice to provide a higher level of feedback to the user regarding content.  I&#8217;m also excited about the Workplace features because it makes Windows Phone an enterprise ready device, not that it wasn&#8217;t already, but the new features, such as VPN, cover many more use cases that come up in larger organizations.  Windows Phone has also been updated with all the power of Internet Explorer (IE) 11, including in-private browsing on the phone.</p>
<p>While Windows Phone 8.0 runs on the Windows Runtime (WinRT), there were many APIs, suchs as the camera APIs which were different between Windows and Windows Phone.  Windows Phone 8.1 includes developer changes to make the APIs consistent and created a new style of WinRT apps for Windows Phone called Universal Apps.</p>
<h3>Windows 8.1 Update</h3>
<p>Windows 8.1 also received an update, which is already available on MSDN.  This update includes visual updates, such as a Windows Store apps surfacing on the task bar, better mouse and keyboard support within Windows Store apps, and the addition of a power and search button on the start screen.</p>
<p>There is also new pricing around enterprise side loading of apps which makes it more economical to deploy internal Windows 8 apps.  The final feature they announces was a feature called Enterprise mode within IE 11, which enables legacy functionality so those internal sites can still be compatible.</p>
<p>I&#8217;ve always loved the Windows platform and these updates make it that much more compelling.  I really encourage people to take a non-biased look at Windows 8 if they haven&#8217;t done so already.  They also leaked some secrets about unreleased features like a desktop Start Menu, yes menu, not Start Screen, and Windows Store apps running on the desktop in resizable windows.  It&#8217;s nice to see Microsoft showing their hand to the community and being transparent.</p>
<h3>Universal Apps</h3>
<p>It&#8217;s been rumored that Microsoft was converging Windows Phone and Windows Store apps.  At //build they announce a new app development template that makes this much easier.  These new templates work for both .NET and JavaScript for new apps and, as they showed in the keynote, existing apps.</p>
<p>With the convergence of the Windows Phone APIs and Windows Runtime APIs Universal apps for Windows Phone and Store can share basically all of your app code and view code.  But, it doesn&#8217;t stop there.  Microsoft is using this Universal app template with the help of Xamarin to create apps with shared .NET code for iOS and Andriod as well.</p>
<p>While day 1 came many highly anticipated announcements about Mobile and Windows, I was expecting most of them because I follow that space so closely.  The <a href="http://channel9.msdn.com/Events/Build/2014/KEY02">day 2 keynote</a> offered new announcements that I wasn&#8217;t expecting.</p>
<h3>Azure</h3>
<p>There are so many updates around Azure that it&#8217;s hard to keep up.  It&#8217;s hard not to be compelled by all the amazing Platform as a Service (PaaS) tools that are available for Azure.  The big announcement for Azure was a preview version of a <a href="http://portal.azure.com">brand new portal</a>, which surfaces pricing and monitoring right up front.  Additionally, we have new .NET support for Mobile Services, a new traffic manager, and Web Jobs for Azure websites, some of which have been in preview mode and announced earlier.  Brady Gaster and Joe Levy also <a href="http://www.bradygaster.com/post/announcing-the-general-availability-of-the-microsoft-azure-management-libraries-for-net">announced</a>, in their <a href="http://channel9.msdn.com/Events/Build/2014/3-621">session</a>, the deployment of a new Microsoft Azure Management Libraries (MAML) which provide a simplified .NET wrapper over the REST management services for Azure.</p>
<h3>VS 2013 Update 2 RC</h3>
<p>Visual Studio 2013 also received an update, currently in RC.  This update comes with numerous Azure integration improvements to the Server Explorer toolbox, like the ability to create a VM directly from Visual Studio, or create an Azure website directly from the file new website wizard.  Visual Studio 2013 Update 2 also adds all the juicy new Windows Phone 8.1 and Universal App Templates.  Finally a really cool feature, which they also showed in the keynote, is the ability to sync your development environment with the F12 debugger tools of your browser (not just IE).  This feature is powered by BrowserLink.  Scott Hanselman and Scott Hunter have a great <a href="http://channel9.msdn.com/Events/Build/2014/3-602">session</a> describing these new features.</p>
<h3>TypeScript</h3>
<p>While TypeScript wasn&#8217;t really mentioned in either keynote, Anders Hejlsberg announced the version 1.0 release of Typescript in his <a href="http://channel9.msdn.com/Events/Build/2014/3-576">session</a>.  Unfortunately I haven&#8217;t had a chance to use TypeScript much, but I&#8217;m following it closely and looking forward to an opportunity use it.</p>
<h3>Roslyn</h3>
<p>You can&#8217;t mention Anders Hejlsberg without mentioning C#, and the big announcement during the day 2 keynote was the open sourcing of the Rosyln project and the creation of the .NET Foundation.  The C# compiler has been around for quite some time and, as you can imagine, the codebase has some technical debt that has made some new features extremely complex.  Additionally most compilers to date are black boxes.  For these reasons, they decided to re-write the C# compiler as a service with an open API.  This makes the numerous syntax features from the backlog super easy, but also enables third party and even in house creation of <a href="http://channel9.msdn.com/Events/Build/2014/2-577">custom refactorings and behaviors extremely easy to write</a>.</p>
<p>While Roslyn itself it awesome, open sourcing it means that the community can closely watch any changes and discussions and even supply patches.  They are even posting their internal meeting minutes for their design sessions.  Follow it for yourself at <a href="http://roslyn.codeplex.com">http://roslyn.codeplex.com</a></p>
<h3>Project N</h3>
<p>There was another major announcement that wasn&#8217;t announced at the keynotes and that is &#8216;Project N&#8217;.  It is a new preview for a project also known as .NET Native, which increases performance for .NET apps by running them thru a native compiler to pre-JIT and optimize .NET code into pure native code.  Currently this project is in preview and supports C# for Windows Store apps on ARM and x64 only, but they&#8217;ve discussed expanding this in the future.  See the <a href="http://msdn.microsoft.com/en-US/vstudio/dn642499.aspx">FAQ</a> for more information.</p>
<p>This year&#8217;s //build conference was really amazing for me.  In addition to the numerous updates mentioned above, this year was a great networking experience for me personally.  Since I was awarded my MVP this year, I&#8217;ve had a wonderful opportunity to meet so many new people, albeit virtually.  The conference gave me an opportunity to meet these people face-to-face.  It was also nice to see all the Microsoft folks.  Overall a great event lots of content to follow up on, thankfully it&#8217;s all recorded online at <a href="http://channel9.msdn.com/Events/Build/2014">http://channel9.msdn.com/Events/Build/2014</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bendewey.com/index.php/508/build-2014/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Easily use DesignData with Caliburn.Micro for Windows Store apps</title>
		<link>http://www.bendewey.com/index.php/419/easily-use-designdata-with-caliburn-micro-for-windows-store-apps</link>
		<comments>http://www.bendewey.com/index.php/419/easily-use-designdata-with-caliburn-micro-for-windows-store-apps#comments</comments>
		<pubDate>Thu, 09 Jan 2014 02:46:30 +0000</pubDate>
		<dc:creator><![CDATA[bendewey]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Windows8]]></category>
		<category><![CDATA[WinRT]]></category>

		<guid isPermaLink="false">http://www.bendewey.com/blog/?p=419</guid>
		<description><![CDATA[They may have removed the sample data functionality in the latest versions of Blend, but have no fear, you can still accomplish effective Designer/Developer workflows.]]></description>
				<content:encoded><![CDATA[<p>They may have removed the sample data functionality in the latest versions of Blend, but have no fear, you can still accomplish effective Designer/Developer workflows using custom design data and the Model-View-ViewModel (MVVM) Pattern. I was setting up the sample data functionality on our latest mobile project and I wanted to write this quick blog post to help others setting up the same thing. To start I created our Windows Store application, added the Caliburn.Micro NuGet package, and created the initial View and ViewModel for our Hub page.</p>
<p>The first step is to create an extended version of your ViewModel, in my case I created a folder called SampleData and added a new class called HubPageViewModelSampleData.cs</p>
<a href="http://www.bendewey.com/blog/index.php/419/easily-use-designdata-with-caliburn-micro-for-windows-store-apps/solution" rel="attachment wp-att-421"><img class="alignnone size-full wp-image-421" title="solution" alt="" src="http://www.bendewey.com/blog/wp-content/uploads/2014/01/solution.png" width="301" height="231" /></a>
<p>This HubPageViewModelSampleData class inherits from our HubPageViewMode and just initializes the sample data in the constructor.</p>
<pre class="brush: csharp; title: ; notranslate">
public class HubPageViewModelSampleData : HubPageViewModel
{
	public HubPageViewModelSampleData()
		: base(null, null, null)
	{
		DisplayName = &quot;Hub&quot;;
		Sites = new ObservableCollection&lt;Site&gt;()
		{
			new Site() {
				SiteName = &quot;Site 1&quot;,
				SiteUrl = &quot;http://www.example.com/123&quot;,
				Status=&quot;Online&quot; },
			new Site() {
				SiteName = &quot;Site 2&quot;,
				SiteUrl = &quot;http://www.example.com/456&quot;,
				Status=&quot;Online&quot; },
			new Site() {
				SiteName = &quot;Long Site 1&quot;,
				SiteUrl = &quot;http://www.example.com/123/abcdefg/456/hijklmnop.html&quot;,
				Status=&quot;Offline&quot; }
		};
	}
}
</pre>
<p>If your base class has any dependencies injected you can supply a parameterless constructor override with null values or null implementations. You can also insert overridden methods/properties, which I would tend to prefer over injecting your ViewModel with a lot of checks for DesignMode.DesignModeEnabled. Once you have your sample data view model created you just have to wire it up to your view. In order to do this you&#8217;ll need setup the design time DataContext with a design time instance to this sample data view model.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;Page
x:Class=&quot;App.Views.HubPage&quot;
xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;
xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;
xmlns:d=&quot;http://schemas.microsoft.com/expression/blend/2008&quot;
xmlns:mc=&quot;http://schemas.openxmlformats.org/markup-compatibility/2006&quot;
xmlns:system=&quot;using:System&quot;
xmlns:micro=&quot;using:Caliburn.Micro&quot;
d:DataContext=&quot;{d:DesignInstance Type=sampleData:HubPageViewModelSampleData, IsDesignTimeCreatable=True}&quot;
mc:Ignorable=&quot;d&quot;&gt;
&lt;!-- … --&gt;
&lt;/Page&gt;
</pre>
<p>Visual Studio supports this design context for DataBinding and will work if you use declarative {Binding} statements in your XAML. While this way doesn&#8217;t use Blend and it is still part of your deployed Appx, it is easy to setup. Unfortunately this won&#8217;t work with our project because we are using Caliburn.Micro. One of the great features of Caliburn.Micro is the ability to do <a href="http://caliburnmicro.codeplex.com/wikipage?title=All%20About%20Conventions">convention based binding</a>. This feature doesn&#8217;t use the declartive Binding syntax that the XAML designer is expecting. Because of this the bindings don&#8217;t work with the XAML for a Caliburn.Micro view. Luckily the team has provided an attached property that executes just the ViewBinding portion of the framework in design mode. This attached property Bind.AtDesignTime should be added to the same control that has you&#8217;re design DataContext as you can see here.</p>
<pre class="brush: xml; highlight: [8,11]; title: ; notranslate">
&lt;Page
x:Class=&quot;App.Views.HubPage&quot;
xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;
xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;
xmlns:d=&quot;http://schemas.microsoft.com/expression/blend/2008&quot;
xmlns:mc=&quot;http://schemas.openxmlformats.org/markup-compatibility/2006&quot;
xmlns:system=&quot;using:System&quot;
xmlns:micro=&quot;using:Caliburn.Micro&quot;
xmlns:sampleData=&quot;using:App.SampleData&quot;
d:DataContext=&quot;{d:DesignInstance Type=sampleData:HubPageViewModelSampleData, IsDesignTimeCreatable=True}&quot;
micro:Bind.AtDesignTime=&quot;True&quot;
mc:Ignorable=&quot;d&quot;&gt;
&lt;!-- … --&gt;
&lt;/Page&gt;
</pre>
<p>With this in place we can see the effects of our design decisions right in the designer without having to run the app.<br />
<a href="http://www.bendewey.com/blog/index.php/419/easily-use-designdata-with-caliburn-micro-for-windows-store-apps/sample_data" rel="attachment wp-att-422"><img class="alignnone size-full wp-image-422" title="sample_data" alt="" src="http://www.bendewey.com/blog/wp-content/uploads/2014/01/sample_data.png" width="478" height="379" /></a><br />
By following these steps you can setup sample data support for all your view models hopefully achieve the symbiotic moment you get from an effective developer/designer workflow.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bendewey.com/index.php/419/easily-use-designdata-with-caliburn-micro-for-windows-store-apps/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build &#8211; The Developer&#8217;s Launch of Windows 8</title>
		<link>http://www.bendewey.com/index.php/370/build-the-developers-launch-of-windows-8</link>
		<comments>http://www.bendewey.com/index.php/370/build-the-developers-launch-of-windows-8#comments</comments>
		<pubDate>Wed, 14 Sep 2011 06:57:10 +0000</pubDate>
		<dc:creator><![CDATA[bendewey]]></dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Windows8]]></category>
		<category><![CDATA[WinRT]]></category>

		<guid isPermaLink="false">http://www.bendewey.com/blog/?p=370</guid>
		<description><![CDATA[The first keynote of Build was all about the launch of new Windows 8 for developers.  As they said, Windows 8 is a reimaging of the way we interact with devices and use computers.  With all this reimaging comes some major changes to the development paradigms that we are currently use to and it seems as though this conference is focusing on getting the developers up to speed with all the changes that affect how software will be created for the next version of Windows.

The keynote centered around 2 main topics.  First is the changes in computing, including  hardware, mobility, and the way in which we interact with multiple devices of all sizes.  Second, is the new Metro UI , which is the way in which immersive Windows 8 applications are built and developed to provide rich experiences on the native operating system.]]></description>
				<content:encoded><![CDATA[<p>The first keynote of Build was all about the launch of new Windows 8 for developers.  As they said, Windows 8 is a reimaging of the way we interact with devices and use computers.  With all this reimaging comes some major changes to the development paradigms that we are currently use to and it seems as though this conference is focusing on getting the developers up to speed with all the changes that affect how software will be created for the next version of Windows.</p>
<p>The keynote centered around 2 main topics.  First is the changes in computing, including  hardware, mobility, and the way in which we interact with multiple devices of all sizes.  Second, is the new Metro UI , which is the way in which immersive Windows 8 applications are built and developed to provide rich experiences on the native operating system.</p>
<p>Computers have been changing for quite some time, devices are getting smaller, they are responding to touch input, and customers are using them on the go.  This means applications need to be built in a way that allows customers to interact with content in a performant way no matter the screen size.  Customers are also using computers in all aspects of their daily lives.  They need applications that are mobile and that actively synchronize themselves across multiple devices, so that the experience is seamless.</p>
<p>Touch is an extremely important aspect to all this, with former GUI technologies there were some affordances to lags in performance when using a traditional mouse input.  When using touch as a primary input it seriously impacts the user experience if the application doesn&#8217;t respond to a gesture.  Microsoft has stated that they are committed to increasing performance and with reports of an 8 second boot time, quick resumes through Connected Standby, and a decrease in overall operating system memory consumption to 281 MB of core OS memory (down from 484MB), it is apparent that they are really squeezing every byte possible out of the operating system.</p>
<p>Microsoft also announced a brand new line of computing devices from the small tablet devices (which were given out to all attendees) to large multi-monitor desktops which support touch and hardware accelerated graphics.  Power users will also benefit from the new Hyper-V support which is now included in Windows 8.  Another important hardware feature that was announced is the ability to Refresh and Reset your desktop settings to a factory state.</p>
<p>The Metro UI is much broader, while reimaging the entire Windows 8 application experience, they have also reimagined the entire application model in the form of new API that sits on top of the Windows kernel call the Windows Runtime.  This new Windows Runtime (WinRT) is a brand new application model that is completely different than the previous Win32 model.   It offers a fresh new Windows start screen with Live Tiles and Notifications.  Applications can now interact with the entire screen real estate without the need for window management complexities like chrome, minimizing, etc.  WinRT has built in support for Charms, which allow developers to communication across applications.  The only bit of screen real estate consumed by the runtime is a single pixel around the entire screen which is used to invoke both system and application commands via a concept called &#8220;first pixel sensitivity&#8221;.</p>
<p>There has been a lot of talk about Silverlight and WPF developers getting phased out of the new Windows 8 platform, first off, this is not true.  Windows 8 has committed to offering full backwards compatibility with Windows 7 and all the Win32 applications and frameworks which are built on top of it.  This doesn&#8217;t mean Silverlight or WPF will work on WinRT.  However, (before you get too upset), your skills as a XAML developer are not lost.  WinRT has rebranded their previous UI frameworks into a new set of components, which you will find very similar, under the distinction of XAML (the UI markup language) and the model/controller language of your choice (ie. C#, VB, C++).  They&#8217;ve also added to the WinRT the ability to create applications with a view markup defined in HTML5 and CSS with controller logic written in javascript.  A move that will hopefully attract designers who were previously constrained to web technologies to come on board and start creating native applications for the windows 8 platform.</p>
<p>Since this is a &#8220;Developer&#8217;s Preview Release&#8221; and since so many changes were made to the application development and deployment model, Microsoft also announced the release of new version of Visual Studio 11 and Expression Blend.  The hope is that developers will download the bits and start looking as ways in which they can reimagine their own applications.  Everything presented today will be provided for developers to download at <a href="http://dev.windows.com">http://dev.windows.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bendewey.com/index.php/370/build-the-developers-launch-of-windows-8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
