Tag Archives: windows8

Entypo: An OpenType Pictogram Font

I blogged a while back about using the new Segoe UI Symbol font to create high quality scalable application bar icons. Well, to add to that, Entypo is an OpenType font containing over 100 handcrafted pictograms that will work well for the same thing. An EPS vector file is also available in case you want to convert them to a different format for use as Windows Phone application bar button icons (for example).

It’s available for free (including commercial use) under the Creative Commons Attribution-Sharealike license, though the author, Daniel Bruce is open to donations.

Getting Started with the Windows 8 Consumer Preview

There are plenty of posts around on how to actually install the Windows 8 consumer Preview, so I’m not going to both covering that right now, but there were a couple of really useful resources that I wanted to highlight.

First up is some great design resources for designing the user experience for Metro style apps: http://design.windows.com. This includes:

  • Guidance on how to implement common design patterns in Metro style apps for navigation, commanding and touch interaction.
  • PhotoShop design assets for common controls and layouts.
  • Detailed UX guidelines.
  • Guidance for assessing usability.

The other resource is a collection of approximately 200 sample applications in C#, VB.NET, C++, and JavaScript covering pretty much every topic for the new SDK for Windows 8 Metro-style application development: http://code.msdn.microsoft.com/windowsapps/Windows-8-Modern-Style-App-Samples.

Go forth and enjoy!

Windows Phone Development on Windows 8

UPDATE: You can now run the Windows Phone emulator on the Windows 8 Consumer Preview using the latest 7.1.1 SDK. As mentioned in the announcement, it’s not officially supported until the Windows RTM and performance is likely to be degraded if Hyper-V is enabled.

If you’re a keen early adopter and have already tried out the Windows 8 Developer Preview, then you may have also tried to do some Windows Phone development on it, too (assuming that you’re reading this because you’re into Windows Phone development, too!). Well, you can’t use the shiny new Visual Studio 11 (the number, not the year!) Developer Preview, you have to do a side-by-side install of Visual Studio 2010 to get the Windows Phone developer tools up and running.

Once you’ve already been through these hurdles to get this far, you may have noticed that the emulator doesn’t work. Thankfully, debugging and deploying to a device does, so all is not lost, but I’ve actually got a solution for.

Before I get to the solution, you may have also tried using the awesome Hyper-V to install Windows 7 on Windows 8 and installing the tools inside this environment. Unfortunately, even though Hyper-V is awesome, this particular scenario doesn’t work either and I’ll explain why shortly.

Get to the Solution Already!

imageOk, ok. The solution is to uninstall Hyper-V. Well, OK, that’s a bit extreme, but it works. Alternatively, you can create a 32-bit Windows 8 Hyper-V virtual machine on top of your existing Windows 8 installation. Sounds weird, right? Well here’s why. The virtualization software than runs the emulator doesn’t play nicely with Hyper-V as confirmed by Ben “Virtual PC Guy” Armstrong.

imageSo, while it’s not going to be fast, if you really need to run the emulator on Windows 8 and you don’t want to uninstall Hyper-V, this convoluted solution works even though doing the same with Windows 7 doesn’t because (as confirmed again by Ben) when you run Windows 7 in a virtual machine you get an XDDM display driver, which isn’t good enough for the Windows Phone emulator, however, if you run Windows 8 in a virtual machine, you get a software WDDM driver, which is just what the emulator needs. The reason it’s slow is that it’s a software driver.

Personally, I dual boot my spare dev laptop to Windows 7 and Windows 8, but it’s nice to know there’s a solution if I need one.

SLUGUK Build Round-up

build_logoI was lucky enough to present at the Silverlight User Group hosted by EMC Consulting in London tonight. Thank you very much for the opportunity, especially to Mark Mann for inviting me; I had a great time, met some great people and I hope they enjoyed it, too.

I’ve uploaded my slide deck to SlideShare in case there was anything you missed.

There was a lot more content at BUILD than I had time to talk about, so feel free to ask questions here on this blog post and I’ll answer them as best I can as soon as I can. Take a look at the following sections for some useful resources and the BUILD sessions to watch for more information.

For More Information

Here are the sessions to watch and some useful resources if you want to learn more about the different topics discussed in my presentation.

Windows Runtime

Silverlight vs Windows Runtime

What’s new, what’s changed, and how do I port existing Silverlight code to Windows Runtime?

Visual Studio 11 and Expression Blend 5

Metro Design

Unable to activate Windows Tailored Application

Whilst developing Metro-style applications (quite possibly limited to XAML apps) you may be unfortunate enough to receive the error message “Unable to Activate Windows Tailored Application” when you try to run the application from Visual Studio. You’ll probably find that other applications that worked previously still do so, but this one won’t budge. In my case, the only additional information was the message: “The remote procedure call failed” and a message in the Output window to say that the program exited with code -1073741819 (0xc0000005).

Possible Solutions

This has been experienced by a few people and the following have been reported as solutions:

  • Running at a screen resolution higher than 1024×768.
    This is the minimum resolution for Windows 8 Metro-style apps.
  • Creating a new project and migrating the existing files.
  • Fixing errors in the application manifest.
    These may not be reported at compile/deploy time, but if you double-click on the Package.appxmanifest file, an error indicator is shown in the relevant tab.
  • Ensuring that you only have one merged resource dictionary.
    This is completely weird and was actually my problem!

Many thanks to Jeremy Brayton for his help debugging this issue on the forums.

Stick to One Merged Resource Dictionary

As mentioned above, my solution was to do with merged resource dictionaries. As with many projects that I’ve worked on, my application resources were split into separate resource dictionaries: one for brushes and one for styles. These were then added in App.xaml as follows:

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MyApp.App">
  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="Assets/Brushes.xaml"/>
        <ResourceDictionary Source="Assets/Styles.xaml"/>
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>
</Application>

As it turns out, I only had a single style in Styles.xaml, so I moved that into a <Resources/> section in MainPage.xaml, removed the entry from App.xaml and hey presto! My app now builds, deploys, and runs without error.