It’s not about what we have, it’s about what we share… Part One.
Steve Plank (Planky) is an Architect Evangelist on the Microsoft DPE team (Developer Platform Evangelists). Planky, in his own words, is ‘unusually intrigued by things like encryption and that kind of caper. Very interested in protocols and all the malarkey that surrounds them’. If you want to know more, take a look at his blog.
It’s not about what we have, it’s about what we share…
Facebook, MySpace, Twitter, Messenger, Spaces, Linkedin, Bebo and so the list goes on: places we share different aspects of our lives. We see something on the net that we like and we put it on our wall, we tweet it, we promote it, we chat about it, we allow others to share in the pleasure we get from it.
Each of these services is an Island. We go to the first one and register, create a profile, log out, log in, add to our profile, add friends, add photos, share photos, share the things we like. Then we go to the next service and guess what we do? We register, create a profile, log out, log in, add to our profile, add friends, add photos, share photos, share the things we like. As they say in the Rock and Roll world – repeat till fade.
Windows Messenger Connect is a way for us to connect these experiences and services together. For some of the features – such as creating a single login or sharing profiles, contacts and friends across different sites it does require the co-operation of the site concerned. Your site.
But many things can be shared in a natural way, because of the APIs and services exposed by these sites in any case.
We’ve all seen this sort of thing on various web-sites:

…a way of sharing that page through email, with our Facebook friends, or through Twitter. We can now add a new sharing icon – the Messenger Connect Sharing Badge:

When you see this icon on a site, it means you can share it with your Messenger friends just by clicking it. This is the simplest Messenger Connect feature to implement on your site because it just requires a few lines of HTML – Messenger at the back-end takes care of everything else for you.
Why would you do this on your site? The more people who share your pages with their Messenger friends, the more visitors you will have to your site.
Messenger Connect Capabilities
There’s more than just sharing a page. This list gives you an idea of the sorts of things you can build right in to your site:
- Lower the friction of getting users to register at your site. We’ve all done it – hit yet another page that asks for personal information like Last Name, Home Address, Home Telephone Number. We often find the process too onerous for the benefit we feel we might receive from the site and so we bail out. Depending on which study you read, between 80% and 99% of users who go to the registration page of a site, abandon the process.
- ASP.Net has built-in mechanisms for authenticating users. Or you can build a home-grown authentication system or use libraries from a 3rd party. The advantage of using Windows LiveID on your site is that it’s a ready-made market of about half a billion people in the world who have already registered.
- There’s a Windows Live Signin Control where you can integrate the authentication and consent process into your site using little or no JavaScript code
- There are JavaScript and .Net libraries that allow you to sign users in, monitor their authentication state and, with user permission, get access to their Windows Live profile information so they don’t have to go through the process of re-keying all that information yet again.
- Real-time chat within your site:
- A small bar at the bottom of the page; the Messenger Web Bar is a single UI Control that contains a full Windows Live Messenger experience. It allows users to manage contacts and interact with them, shows all active conversations, allows users to update and display presence and most interestingly – enables the user to stay signed in to Windows Live Messenger while they navigate from page to page within your website. Conversations that start on one page can continue on another.
- The Chat Control can be embedded right in to your web pages: users can view a Messenger chat session and users who have a Live ID can use Messenger chat to send their own messages.

- Contacts: Users spend more time on a site when they know their friends are there. Make it easy for them to discover their Windows Live contacts on your site.
- Share your activities: Let your friends and contacts know what you are doing – it’s a way to remain connected on a personal as well as a network to those close to you.
- Share your Calendar and Photos: Isn’t this really about sharing some of the minutiae of your life with the people you care about. Whether you can make it to a dinner party on a certain date, or a picture of you and your partner on a beautiful beach somewhere is not interesting to anybody unless they know you. The level of interest and engagements goes up exponentially when you know the people you share these things with. Messenger Connect just makes that process easy to do in an ad-hoc way when using the Internet.
The mechanics
Almost all of this is possible because of a web based protocol which is used for authorizing API access across sites: OAuthWRAP or Open Authorization Web Resource Authorization Profile. WRAP is a profile within OAuth. In the cases we are interested in, it uses browser redirects, HTTP headers and HTTP Post messages to transfer control and tokens between web sites, Live ID and the web browser. The tokens contain authorization information that determines what site can get access to what information. The protocol has built-in features such as timeouts, security, encryption, secrecy and so on. There are 4 parties in an exchange:
- The Client Application (your website)
- The Authorization Server (Windows Live)
- The Protected Resource (Windows Live): for example your profile or your contacts
- The web browser (and attached to the screen, keyboard and mouse of the browser – the user)
In the case of Windows Live – it performs roles as both an Authorization Server and a Protected Resource. It authorizes or denies authorization to resources such as a user’s profile, contacts, calendar or photos.
Setup
Before any exchanges can take place, some things need to be set up. This section talks about that.
Windows Live APIs trust Windows Live ID
Firstly, there needs to be a trust relationship between the Protected Resource (Live profiles, Live API service etc) and the Authorization Server (Live ID). The trust involves a certificate exchange which essentially results in the 2 services swopping public keys with each other. This ensures that tokens can be encrypted and signed – just a precaution to ensure tokens aren’t cracked open and inspected, faked or modified. The diagram below shows the way this is achieved.

- The Windows Live Authorization Server has a certificate (as does the Windows Live API Service). It contains a…
- Public Key.
- The related private key is held separately to protect it.
- A certificate exchange takes place, which essentially means the Windows Live Authorization Server and the Windows Live API Service swop public keys.
- When a Refresh Token or Access Token is generated by the Authorization Server, to assure its authenticity, it is signed by the Authorization Server’s private key.
- Because the Windows Live Authorization Server has a copy of the Windows Live API Service’s public key, it uses this to encrypt the Refresh/Access Token.
- The encrypted, signed token is passed to the Windows Live API Service.
- Because the Windows Live API Service has a copy of the Windows Live Authorization Server’s public key, it can use this to validate the signature and therefore be assured that the token was indeed generated by the Windows Live Authorization Server, and not modified by an imposter while in transit.
- The Access/Refresh Token was generated by the Authorization Server, which used the Windows Live API Service’s public key to encrypt the token. It therefore uses its own private key to decrypt the token. In this way the security and authenticity of the tokens transported between the 2 servers is maintained.
The reality is that this all happens entirely under the covers. It’s merely included in this description for the sake of completeness. But it does mean as a developer you can be assured any time authorization information is passed via a user’s browser, it is all safe.
I’ll continue the story in future instalments. Stay Tuned!
Car Porn – Part I
As the Geneva Motor Show kicks off today (and I’ve already fallen madly in love with the Porsche 918 Spyder), and as our very own Daniel Sumner is a self confessed car lover, we thought it would be rude not to share Part I of his ‘Car Porn’ post with you.
Car Porn – Part 1
Talking to someone who works within the car sales industry recently, he dropped the term “Car Porn” mid-sentence. Obviously the use of such words in generic technological discussion pricked my ears (so to speak). He explained that in their site statistics they have to filter out the high end luxury brand vehicles from their reports, as although they may only have a few hundred of these cars on their site, the number of users actively searching for these cars is x100 higher.
Now either there are a lot of people with very good saving plans in place, or people are having that “if I did win the lottery tonight, then I would buy…” moment. This moment of fantasy is usually born out of the fact that maybe, just maybe tonight I will win £85 million… what follows is that brief but delicious fantasy of how you would then spend the dosh, and how long you would keep on going to work for, just to keep a measured life style (I think I might manage about 3 days).
What is interesting is how many people love to window or fantasy shop and how that manifests itself in the online world. A tire kicker coming into a showroom in a car dealership is of absolutely no value at all to the seller. But online there is still value to be had; simply looking generates advertising revenue for the publisher. So while it may well be a reporting task to filter out the fantasists, it’s still a job worth doing because of the value it generates.
But is there a way we can better service the lovers of Car Porn? Or any other interest group for that matter? And by ‘service’ I mean both 1) giving the lovers of all things V12 a rewarding experience, and 2) giving the publisher a quality click steam, and improved advertising revenues?
Better still is there some way we could link together all the automotive fantasists into such a cornucopia of automotive eroticism that had not been seen since the days of Sodom and Gomorrah?
I think there is….
Photograph reproduced courtesy of CNET UK
IE6 Must Die
James O’Neill is a IT Pro Evangelist on the DPE team (Developer & Platform Evangelism). What does that mean? Well to steal a line from his blog, his focus is on ‘Windows Platform for starters, Virtualization, Real Time Collaboration and Photography to follow, served with a side order of philosophical attitude’. Need I say more?
IE 6 Must Die
I’m not quite sure where the “IE 6 Must die” meme started, perhaps it was on Mashable, or perhaps it was a tag on twitter. Although it has taken hold in a lot of places (Bing finds 76,000,000 references to it) there is still a need to spread the message. I don’t think I’m giving away any secrets when I say that we watch our share of the web browser market, and we’d like to see IE8 get as much share as possible. But this takes more than persuading people that IE8 meets their needs. A lot of organizations are stuck on IE6 and won’t move, despite things like the following:
- It’s been widely reported that Google have announced they are pulling support for IE6 (and versions of chrome and Firefox which are rather less ancient)
- In a post marking IE8’s new found position as the world’s most popular browser Microsoft’s own Brandon Le Blanc said as an aside:
“You may have recently heard about organizations including Google recommending that people update their browsers and move off older versions, such as the nearly decade-old Internet Explorer 6. Think about what technology and the Internet were like in the year 2000 – and consider how they’ve evolved since then. In 2000, “phishing” was something that happened at the lake, not online. There was no social networking, no RSS feeds, and no real blogs. It was a different time – and people’s browsing needs were different. Today’s Internet calls for more.
We support this recommendation to move off Internet Explorer 6. Modern browsers such as Internet Explorer 8 bring benefits for customers and developers alike.”
- There is a petition on the 10 Downing Street Web site, asking Government to stop ignoring its own advice and shift – over 5000 signatures so far
- The department of health has already moved on this
- This guardian article “iPhone is the new IE6” , which used IE6 as a byword for all that is bad about developing for a specific browser
Brandon’s point about phishing is a key one. The weakest part of any browser is located, as the saying goes, “between chair and keyboard”. Bodies like NSS labs do tests on how well different browsers block different kinds of Malware – their most recent test is here – and IE8 won. IE6 has no blocking. It’s like a car without seatbelts – which isn’t as far-fetched as you might think.
According to WikiPedia, Mosaic, which is the ancestor of all modern browsers, was released on 22nd April 1993, and IE6 released in 27th August 2001, 3049 days later. So, what date comes 3049 days after that? By a staggering co-incidence it is 1st January 2010. IE6 is closer to the first real browser than it is to today. Would you fly in a plane which is closer to the Sopwith Camel than an Airbus, or drive a car which is closer to the Model-T Ford of 1908 than today (that would be 1959, the year Saab introduced the first model to have seat belts as standard)?
When I came across a story about “IE6 no more”, I did wonder if they had some Axe to grind, but their home page says:
”Microsoft Internet Explorer 6 was released in late 2001. For its time, it was a decent browser, but in 2009, it is still in use by a significant portion of the web population, and its time is now up.”
Apart from the need to update the year, that’s a correct statement and about as neutral as I think it can be worded; this is simply a campaign to get people to browse the web with something more modern. They don’t care if people replace IE6 with IE8, Firefox, Safari or Chrome – and they provide a little code snippet for site owners to put into their pages to create a “please upgrade” banner. As it happens I have XP mode set up for demo purposes so I can fire up IE 6 alongside IE 8, and I wanted to see that looked like. Is it me or does IE6 look horrible?
Remember IE6 only runs on XP. Mainstream support of XP and IE6 came to an end in April 2009; it is now in extended support until 2014 – from July you’ll need to be on Service pack 3. I’m going to be talking a fair amount about deploying new software and anyone pinned on XP by IE6 isn’t going to be doing much of that.
Now: you might say “But we have a crummy line of business application that is essential to the continued operation of the business – it is unmaintained because (a) no one is entirely sure how it works and (b) it was built on old technology and uses components from vendors that have long since gone out of business” [That’s a précis of the start of an article on XP mode from Ars Technica]. I have two answers to that – one technology advice: MEDV (or XP mode for small companies) will allow you to run those applications in an XP Virtual machine. Don’t think that this is “free” MEDV is part of MDOP which has a license cost, but even the “free” XP , mode costs resources. And the other answer? Your organisation has had four years to come up with a plan to get off IE6. Yes, it involves spending money, but that is investing to make people more productive. When others were getting the benefits of new technology, your technology was frozen in 2001. Are you sure you want to work for a company like this? (And if you work in one those poorly run parts of the UK Government don’t even think telling me the taxpayer’s money isn’t there before you’ve read this).
P.S. Brad Colbow’s cartoon is a great contribution to the discussion.






