Making X.509 authenticated HTTP requests in Windows 8 apps – a.k.a Calling the Azure Management API from Store apps

Recently I decided that I wanted to see how easy it would be to build a Windows 8 application that consumed the Windows Azure Management API. It seemed like it should be an easy thing, and something that could potentially end up in a nice management/overview/dashboard kind of application. However, it isn’t quite that simple as I thought as Windows Azure uses certificates for authentication of the HTTP requests being used.

Using certificates for HTTP requests isn’t really that hard, at least not when working in .NET. But in Windows 8 apps, we are using WinRT, which is way more sandboxed, and to be honest, a bit more complicated, which makes it a little bit more complex…

More...

A way to upload files to Windows Azure Mobile Services

Ok, so it is time for another Mobile Services post I believe. My previous posts about the subject has covered the basics as well as authentication when it comes to Mobile Service. But so far, I have only been doing the most simple tasks, such as added and read data from a SQL Database. However, I have mentioned that Mobile Services is supposed to be sort of a layer on top of more of Microsoft’s cloud offering like for example the Service Bus, storage etc. So in this post, I want to demo how you can utilize Mobile Services to upload files to blob storage.

There are probably a lot of different ways to do this, but 2 stood out for me. The one I am about to describe, using public containers, as well as using shared access signatures (SAS). So before going about it “my way”, I am going to explain SAS, and why I don’t like it even though it might be a “cleaner” way to do it.

More...

An Introduction to Windows Azure Mobile Services

At the time of writing, Mobile Services is still in preview, so I believe that you have to “request” access to it. But as soon as you have, you get a new icon in your menu in the Azure management portal, which is all cool. But what is Windows Azure Mobile Services (Mobile Services from now on)?

Well, Mobile Services is basically a “layer” on top of Microsofts cloud offering. Initially, it is a great abstraction for SQL Databases, but the idea, as I have understood it at least, is that it will grow as the amount of Azure services expand, giving the users a simple API to work against. And in doing so, will make us as developers much more productive. But as I said, today, it is basically a very nifty layer on top of SQL Databases. However, that layer is really cool, simple to work with, and supports very rapid development.

More...

Sample code from my LEAP presentation about cross-framework code sharing

Yesterday I was invited to speak in front of a bunch of really sharp guys attending the Lead Enterprise Architecture Program, LEAP, at Microsoft here in Stockholm. The topic of the day was how to share code between projects targeting multiple frameworks/platforms. Basically “how can we share code between projects aimed at WP7, Windows 8, Silverlight and WPF” in a useful way, limiting the duplication of code as well as maintenance.

Most of my presentation revolved around a sample I had written to target all platforms. It is a very simple application, but still shows that it is very possible to get it to work.

More...

Windows 8 TTT First Day Summary

Ok, so the first day of the TT has passed, and I guess it is time to sum it all up… Well, my impressions of the first day is that I feel that both VS11 and Windows 8 has matured a lot between the releases. It feels a lot more solid, and I am actually going to switch my private laptop, and maybe even my work one over to Windows 8 as soon as I get back.

It is hard to pinpoint what exactly make me say this, but it just feels a lot more solid. It seems to have a lot less “quirks” and the errors you get while coding against it seems a WHOLE lot better. Having that said, we haven’t actually coded a whole lot today. It has mostly been walkthroughs of features and design and so on. Basically covering the same thing that was covered during BUILD last year…

So unfortunately there isn’t a whole lot to sum up. Nothing really new at all…

More...

On the way again…

I barely managed to get back from this years MVP Summit before I am on my way again. I landed in Stockholm yesterday at 11:30, and it is now 15:30 and I am back on the train to the airport…

This time I am headed to Amsterdam for a “Train the Trainer” for Windows 8. For those of you who do not know what TTT events are, they are basically a way for Microsoft to educate trainers on their new platforms, making sure that there are trainers out there ready to educate people when their new platforms launches. I personally think this TTT is going to be extra interesting as it is covering the next version of Microsoft’s biggest product (Windows…duh), which just a couple of days ago was released as a “consumer preview” version. And this time, Microsoft is handling the whole thing a bit differently than normal, so it is quite exciting…

More...

Building a template selector in Silverlight

There are several “missing” features in Silverlight that people keep bringing up, or keep trying to find solutions for. One of them is the template selector, or DataTemplateSelector class to be more specific.

The DataTemplateSelector has a single responsibility, which is the way it should be. It is responsible for returning a DataTemplate based an object. Generally, it is used in lists, where the data template can be selected based on the bound item, and thus give different templates to different kind of objects in the list.

In Silverlight, this is not possible out of the box, and instead requires us to create multiple UI controls, and hide and show them using data binding. This approach works, but it easily becomes heavy and complicated, which is why I want a template selector that works…

More...

Windows 8 communication is not very Microsofty

A couple of weeks has gone by since Microsoft unveiled Windows 8 at the BUILD conference in Anaheim, and things are kind of back to normal. Except for the fact that Microsoft has gagged all of their normal information channels.

Apparently, Microsoft representatives are not allowed to talk about Windows 8 at all. And speakers at some conferences have been informed that they are not to talk about Windows 8 on stage. At least not their personal opinions. I assume that they are allowed to talk about the facts that were unveiled in Anaheim…

More...

Choosing technology for Windows development

I feel that the one thing that has been lacking here at Build is information about the fact that “old” windows application technologies are still there in Windows 8, and are just as much first class citizens as the new Metro style apps. They even have a lot on offer that the new apps don’t.

Microsoft promises that any application that runs on Windows 7 will also run on Windows 8. They are also saying, repeatedly but not loud enough, that the “old” technologies are still a very viable option for developing apps. You should not necessarily default to building a Metro style app when creating a new application. To be honest, in my world at least, I am very likely to lean towards another technology when starting a new project.

More...

Windows 8 feature - Charms

Windows 8 introduces a new concept called “charms”. Charms are basically a set of features that is handled by the OS, but is used/implemented/extended by the installed apps.

That sounds really confusing…but it isn’t…or…well…I will try to explain…

When you expand the “toolbar” on the right hand side of Windows 8 (swiping from the right edge of the screen towards the center) you are faced with a couple of buttons. First off the start button (Windows logo), but also share, settings, search. These are all “charms”. A charm is basically a feature that can be called up through the OS by using that toolbar, but should be implemented by the individual apps.

More...