I love building keynote applications! I had the great fortune to work with John Shewchuk – Technical Fellow at Microsoft – as he demonstrated a vision for how identity in Windows Azure can enable great experiences in Windows 8. I wanted to quickly provide some background on the components of the sample application he showed called Margie’s Travel.

Margie’s Travel is a sample travel application that demonstrates how you can track and manage your trips across multiple Windows 8 machines using a combination of technologies in Windows Azure and Windows 8.

The application is a Metro styled app built on HTML5, CSS, and JavaScript. Additionally, this application was rapidly built by using the templates and samples found in the Windows Azure Toolkit for Windows 8.

When the application is launched, the user needs to login. Rather than creating yet another identity store, or mapping directly to a specific identity provider, Margie’s Travel uses the Windows Azure Access Control Service.

Margie's Travel

When you click the login button, the application first checks the Windows PasswordVault to see if the credential (which includes the token) exists:

var vault = new Windows.Security.Credentials.PasswordVault();
var cred = vault.retrieve(url, username);

If this exists, the application will login.  If not, the the application calls out to the Access Control Service to get a list of identity providers from which the user can select.

Windows Azure Access Control Service

This code is also very simple to write in JavaScript:

var request = new XMLHttpRequest();
request.open("GET", IPSFeedURL("https://ACSNAMESPACE.accesscontrol.windows.net"), false);
request.send(null);
var jsonString = request.responseText;
var jsonlist = ParseIPList(jsonString);

BindJsonToList(jsonlist);

Once the users makes the selection, the Windows Web Authentication Broker invoked. This allows us to use a consistent and secure method for handling authentication. The login page for the selected identity provider is rendered in the broker.

Windows Web Auth Broker

Once the user logs in, the Access Control Service token is return to the Web Auth Broker. The application is able to take the credential and store it into the Windows Web Vault. This gives us a consistent SSO experience so that upon subsequent launches thee user does not need to log in again.

To store the credential, we simply take the various components, create a new PasswordCredential, and add it to the vault.

var cred = new Windows.Security.Credentials.PasswordCredential(
    url,
    username,
    token);
vault.add(cred);

Furthermore, since the Web Broker can synchronize across trusted devices using Windows Live, the token is automatically synchronized to any trusted device so that you can get SSO across multiple devices.

Rich Data in Margie's Travel

Once logged in, the application will call out to additional Web services in Windows Azure (like the GetTravelerInfo() method) so that we can validate the users credentials before returning the results.

In addition, this token can be used to call out to additional services in Windows Azure, to get rich pictures from Bing, specific data from the Windows Azure DataMarket and Wolfram Alpha, and even weather information.

Data from Windows Azure DataMarket and Bing

All of this is made possible by unique features and capabilities provided by Windows Azure and Windows 8.

If you want to give this a try, and learn more about how all this works, download the Windows Azure Toolkit for Windows 8. Additionally, take a look at posts by Nick Harris and Vittorio Bertocci.

I hope this helps!

I know that Twitter is nothing new and that many of you are already using it, but until recently I had managed to resist.  However, upon joining Microsoft and getting to know my evangelist peers, I found Twitter to be a great way to both keep in touch and coordinate with my friends and coworkers.  Furthermore, having recently moved from Colorado to Illinois, I found that Twitter is also a great way to keep in touch with distant and remote friends.  It’s great to hear what’s going on with my friends, like Rich Finn and Ryan McCutchen; also, unlike instant messaging technologies, we don’t have to be online at the same time.

So, as you have probably guessed, I have started to Twitter; you can follow me at: http://twitter.com/wadewegner/.

There are tons of people twittering away all day long, and one of the challenges I’ve had is filtering out the the noise.  Consequently, the one bit of advice I will give to newcomers is to start slow and resist the temptation to start following hundreds of people all at once; I did this at first, and I found it overwhelming.

As a RESTful service using simple SMS, Twitter makes it easy to interact via many different clients.  One that I’ve started using on my Windows Mobile 6 device is TinyTwitter.  This tool allows me to read the messages of people I’m following and post updates when I’m away from my computer.

Neat stuff.  Try it out, and feel free to follow!

Earlier today I learned about the new partnership between Microsoft and Cactus Commerce through some press releases, but finally some official announcements come from the Commerce Server product team.

Ryan Donovan has blogged on both the Commerce Server product roadmap and the new Commerce Server Information Desk (CSID) program: Official Announcements: Commerce Server Product Roadmap & Information Desk Program.  Here are some of the things I took away from the post:

  • Technology
    • Commerce Server “7″ (codename) – next major version of Commerce Server, targeted for mid-2000
    • Commerce Server 2007 accelerators – a la carte additions that you can add to your CS 2007 implementations
      • Technology integration – MOSS 2007, Dynamics, Live services, and Silverlight (wow!)
      • Vertical scenarios – Merchandise/retail, apparel, electronics, digital downloads, and hospitality
    • Pricing, licensing, packaging, and naming are all TBD
  • Resources and support
    • Commerce Server Information Desk (CSID) program
    • Aims “to provide top quality pre- and post-sales engagement support”
    • Product-group managed program immediately available through csid@microsoft.com

I am very excited about both of these announcements.  It’s exciting to hear that the product team is plugging away at the next version of Commerce Server, and I can’t wait to get my hands on the accelerators!  I’ve wanted this for a long time now – true integration to other MS products as well as the ability to specifically target certain industries.

My guess is that these accelerates are/were the intellectual property (IP) of Cactus Commerce, and that this new partnership has allowed Microsoft to bundle them into the product.  Can anyone validate or invalidate this statement?

Ryan also posted an announcement on his personal MSDN blog: In-Depth: Commerce Server Product Roadmap & Information Desk Program Announcement.  Here are some of the additional nuggets I took away from his post:

  • CS 2007 is now a year old! (time flies …)
  • Commerce Server “7″ will be the seventh major version of MS’s e-commerce platform
  • Features
    • Migration from CS 2007
    • Commerce Foundation 3.0
      • An all-managed foundation (finally!)
      • A consistent programming model
      • 2-tier and 3-tier/web-service support for runtime and management services
    • Commerce-at-Your-Fingertips
      • It’s not just about the Web site
      • Kiosks, mobility, and in-store integrations (wow!)
    • Lifestyle Commerce
      • Social networking (man, this would be SO handy right now …)
      • Personalization
      • “… targeted marketing across all channels with predictive analytics to measure the results and make adjustments …” (artificial intelligence?)
  • “… long-term arrangement with Cactus Commerce … as the new preferred joint development and go-to-market partner for Commerce Server.”
    • MS Partners and customers can leverage Cactus’ experience and expertise
    • Working along with the product group

Great stuff!  The features that will come in Commerce Server “7″ look to be outstanding!

While I am happy to hear about Microsoft’s joint venture with Cactus, I do have some questions regarding Cactus as the new “go-to-market” partner …

  • What does this actually mean to us (i.e. Microsoft partners)?  How exactly can we leverage their expertise?
  • While I’ve never consider us to be in competition with Cactus (different markets), it does seem strange that we may compete against Cactus for solutions and services yet will rely on them for sales and delivery support.  How is this going to work?
  •  Who’s really at the helm?  Microsoft, or Cactus? (this is asked facetiously … <grin>)

Again, it’s all good stuff.  I think the partnership is really going to drive things forward.  It’s a great time to be involved with Commerce Server!

Some really interesting news on the Commerce Server front today …

Cactus Commerce Signs a Global Agreement With Microsoft Corp. for Electronic Commerce

“Cactus Commerce, a software and services company, today announced it has signed an agreement with Microsoft Corporation to drive product development, partner ecosystem development, marketing, services and support of the Commerce Server platform. The long-term strategic partnership reinforces both companies’ continued focus, investment and commitment to lead innovation for the e-commerce marketplace on a global scale. …”

Microsoft Rebrandishes E-Commerce Chops With Commerce Server Plans

“There’s been speculation that Microsoft is on the way out of the e-commerce game as the company has been largely silent about the future of its Commerce Server product. Speculate no longer. In a broad outline of Commerce Server’s future on Wednesday, Microsoft is declaring its intention to stay in the game in a big way.

‘To answer speculation, yes, we are going to continue Commerce Server as a standalone product and brand,’ says Ryan Donovan, Microsoft’s product unit manager for the Commerce Server and Web hosting product groups. …”

I can’t wait to see what this actually means for the Commerce Server product.  Exciting times!  Congratulations to Cactus Commerce — I expect good things to come of this partnership with Microsoft!