Discover The Future of Silverlight at the Ottawa Silverlight Firestarter Event

Come to the Microsoft Ottawa office on Dec 2nd 2010 @ 11:45 am ET sharp to watch the the future of Silverlight unfold. 

On Dec 2nd 2010, Microsoft is running the all-day Firestarter event about Silverlight.  It opens with a keynote from Scott Guthrie (Corporate VP of the Developer Division) on the Future of Silverlight and features various sessions from renowned speakers.   It’s like another day of PDC just for Silverlight. 

We’ll be watching and discussing the morning portion of the live event as a group.  As a Microsoft MVP for Silverlight I’ll be there along with Microsoft’s Christian Beauclair to discuss the event and answer questions.

Silverlight is THE developer platform for rapidly building and deploying UI- and media-rich data-connected business and consumer applications for the web, the desktop and the phone.  It’s available today.  Microsoft has invested and will continue to invest in Silverlight, and in products that use it including LightSwitch, Lync, Windows InTune, the new Azure Portal, etc.

 

SLFirestarter_150X240

No registration is required.

Dec 2nd 2010

11:45 ET (event started at noon)

100 Queen Street (the World Exchange Plaza – with underground parking)
Suite 500 (5th floor)
Ottawa, ON
K1P 1J9

Bringing Azure+OData+Silverlight Goodness to Open Data Apps in Ottawa

On Saturday April 24th 2010, at Open Data Ottawa Hackfest, a team built the ‘OttGuide’ application (here showing 6000+ bus stops on the Ottawa public bus transit network), built on the Open Data Application Framework using Silverlight and Bing Maps, accessing an OData service built with .NET 3.5 and hosted on Windows Azure and SQL Azure.  For more on open data and cross-platform togetherness, consider for the Make Web Not War conference on May 27th 2010 in Montreal.

odata1

This passed Saturday Apr 24th 2010, the very successful Open Data Ottawa Hackfest took place for the first time in Ottawa City Hall organised by Edward Ocampo-Gooding and friends.  A large number of people (enough to exhaust the free t-shirt supply) attended for 4+ hours from different fields (developers, designers, librarians, statisticians. media and city officials).  The event included opening presentations, a hack fest where attendees worked on applications showing use of Ottawa data and closed with a series of presentations showing the fruits of the attendees’ labour.

Prior to the event, the City of Ottawa (unlike cities like Vancouver and Edmonton) hadn’t officially published municipal data or a data publication policy.  This meant that attendees to the hackfest were using various interesting methods to get data for their application from screen scraping to manual data re-enty.

I had the opportunity to talk at length with the city’s CIO, Guy Michaud, and discovered that the city is in fact on the verge of agreeing a policy and then immediately publishing a few initial sets of satic data, most likely sometime in May.  It’s quite possible that the hackfest event helped push this action ahead, but Guy is clearly a guy with forward-looking ideas on the issue of data publishing.

I was told about the event a few weeks ago by friend and Microsoft Canada IT Pro Advisor Rick Claus who was planning on attending.  So, in those weeks, I took a look at some of the work that has been done to obtain Ottawa municipal data and at open data work in general.  In particular I looked in 3 things:

odata2

  • Craig Davey had done extensive work on taking Google-compatible data published on the City’s OCTranspo site, augmenting it, converting it to GTFS format and publishing it with updates in a feed.
  • I had been familiar for some time with Microsoft’s open protocol for providing access to queryable and updateable data sets in a RESTful way – OData.  I did further research into this.  OData builds on ADO.NET Data Services and is fully incorporated into WCF Data Services within the recently released .NET 4 framework.  OData is designed to be consumed (or produced) by many different clients on many platforms. There are client libraries available or in the works for .NET (3.5 with an update & 4.0), Silverlight 4.0, iPhone, Javascript, Windows Phone 7, PHP & Java.  In fact, any client that can make web requests and handle XML can access OData-based services.

The night before the event, on a total whim, I decided to knock up an OData service exposing OCTranpo data, so I: 

  • started with Craig’s GTFS-format data provided as CSV files in a ZIP file. 
  • created an ADO.NET Entity Framework Model in a new .NET 3.5 Class Library project in Visual Studio 2010 to represent the GTFS data with entities and relationships
  • used the designer tools to generate DDL script to create the database schema
  • generated the schema using the script
  • created a database in my local SQL Server 2008 server
  • wrote code to import the CSVs and use the ADO.NET Entity Framework classes to import the data which was taking 3+ hours
  • wrote new code to import the CSVs with the SQL using bulk copy class bypassing the model which did the import of over 2 million bus stop time rows in a few minutes
  • added a WCF Service project and removed the default service from the project template
  • added a WCF Data Service item, setting it up to use the class of the entity model I created and providing read access to all entities
  • copied the connection string from my entity model class library app.config into the WCF Service web.config
  • tested my OData service using the OData URL query syntax, here showing a list of all stops… but this could be queried to find things like a nearby stop (from GPS coordinates), the bus times for a stop, the trips (e.g. ‘saturday service to ABC on route x’) and routes (i.e. bus number) going through a stop, find the stops on a trip, when a specific service gets somewhere, or even for full journey planning, etc.

odata3

  • re-opened by solution as administrator so I could use the Azure Cloud tools
  • added a Windows Azure cloud project with no roles and added my existing WCF Service project to the roles
  • tested OData access running in the local Azure Development Fabric connecting to my local SQL Server database
  • created a SQL Azure server and database in the cloud using the SQL Azure portal
  • connected to SQL Azure using SQL Server Management Studio and created my database schema using a modified version of my existing DDL script (removing USE statements)
  • used the bcp utility to export tables from my local database to local files and then again to import those up to SQL Azure
  • updated the connection string in my web.config to use the SQL Azure database
  • tested OData access running in the local Azure Development Fabric connecting to the SQL Azure database
  • published by cloud project in Visual Studio, created a Hosted Service on the Windows Azure portal and deployed the application to Azure using the portal
  • tested OData access running in on Windows Azure connecting to the SQL Azure database

So I had an OData service exposing the OCTranspo bus routes, trips, stops and trip stop times – sweet!

When I got to the event at 3:15pm, I met up with Christian, Rick & John Weigelt (Microsoft Canada’s National Technology Officer).  They were looking at the VanGuide application and potential Ottawa data sources to hook up to it as a demonstration.  Demonstrations were due at 4pm.  Of course, as I’ve stated, good data sources were hard to find because the City of Ottawa hadn’t published any official open data sets.

OData service to the rescue…?

We set to work on integrating my sample OCTranspo OData service (which was already running the cloud), into the the Open Data Application Framework, transforming the VanGuide application into an ‘OttGuide’ application.  The framework includes a Silverlight application project that includes dynamic handling of web-based data sources (the dynamic list of landmark sources on the left of the UI) and asynchronous data retrieval and handling code (that takes KML and other format data and adds data points as map points on a Bing Maps Silverlight control).

We wanted to make this Ottawa specific, wo we went ahead and:

  • modified the data source list to show an entry for OCTranpo and removed the other ones
  • removed other Vancouver-specific map region options
  • added custom code to handle OCTranpo GTFS entities in a feed (our OData feed) using Linq to XML to create Landmark instances that the framework already understands
  • made the application zoom in on Ottawa
  • made some other cosmetic changes for Ottawa

The result is the application you see at the start of this blog entry.  For full disclosure, we got the full bus stop retrieval and map point creation working literally 1 minute after the public presentation section finished, but Christian managed to demonstrate the VanGuide version and the OData feed.

The ODAF framework means that an OttGuide application user can select bus stops, rate them, add comments, etc.  It would be relatively easy to add datasets for other ‘landmarks’ (e.g. water foundations, tourist spots, parks and even pot holes).

The same OData service could be used on clients like the new Windows Phone 7 platform to give bus services users valuable travel information :).  Perhaps more on that later…

Open data and open web technologies are current hot topics and OData is a great protocol to bring things together on many platforms.  Silverlight is a great technology to deliver rich user experiences on many platforms using data sources from a variety of platforms. 

Microsoft and Open Source Communities are sponsoring the Make Web Not War conference on May 27th 2010, showcasing the latest cross-platform techniques and technologies, including presentations, panels, workshops, a codefest, the FTW coding competition and a party!  Open Data, HTML 5, PHP, JQuery, Mobile, SEO and the Cloud, are amongst the topics being covered.  Speakers and panelists attending include myself, Microsoft Canada team members and many open source experts.

Make Web Not War

PDC09 Announcements – Day 2 Keynote

Blogged live – now completed.

Check out further PDC coverage

Background

  • Everything is about 3 screens (desktop, phone and TV) and the cloud.
  • Day 1 focus – Backend, i.e. Azure.
  • Day 2 focus – Office, Silverlight & Windows focus on Day 2.
  • Microsoft emphasis will be on IE + Silverlight for all 3 screens – desktop, phone and TV.

Announcements

  • Not going to announce Windows 8 stuff in the interests of being ‘responsible’ and ensuring that what is disclosed is actionable – not ready for that yet.
  • FREE Windows 7 ‘PDC laptop’ (Acer machine with Microsoft’s preferred software image, resistive multi-touch, accelerometer) available to all paying PDC attendees (!!!).  Conditions apply ;).  Is this Oprah?
  • ‘3 weeks’ into IE 9 development – Standards progress (HTML 5); performance improvements in JavaScript; Hardware-accelerated DirectWrite/Direct2D Graphics & Text
  • IE9 already on 32/100 on Acid3 test, up from 20/100 on IE8
  • Channel9 videos on IE9 being posted today
  • Silverlight will be used this Winter for Victoria’s Secret Fashion Show and Winter Olympics
  • Silverlight will be used by Bloomberg, National Instruments, Siemens (medical diagnostic imaging)
  • Silverlight now on 45% of the world’s internet-connected devices (up from 33% in the summer)
  • Silverlight 4 – Media, Business Applications, Beyond the Browser
  • Silverlight 4: Webcam & Microphone on the machine (including raw access); multi-cast streaming; offline DRM support
  • Silverlight 3 media framework on codeplex this week
  • Next version for IIS Media Services will support IPhone clients as streaming client – see iis.net/iphone.
  • Silverlight 4 introduces support for: printing; rich text; clipboard access; right click; mouse wheel; implicit styles; drag/drop; bidi & rtl; html hosting (including content as brush); commanding/mvvm; additional controls (including rich text)
  • Silverlight 4 includes: compile once, use in both SL and .NET 4; UDP multicast (p2p); rest protocol enhancements; improved WCF support (inc. TCP channel support); RIA Services; works better with OData (Astoria)
  • Visual Studio 2010 Silverlight support: WYSIWYG Design Surface (not news), XAML IntelliSense Improvements; Improvements for Data Binding, Layout & Styles; WCF RIA Services Integration
  • Silverlight 4 offline includes: Windowing APIs; Notification popups; HTML hosting; Drop Target
  • Silverlight 4 offline ‘elevated’ includes: Custom Windows Chrome, Local File System, Cross-Site Network; Keyboard in Full Screen Mode; Hardware Device Access; COM Automation of local objects (and location APIs).
  • Silverlight 4: Twice as fast; 30% faster startup; new profiling support
  • Silverlight 4 supported on Google Chrome.
  • Silverlight 4 still under 5MB to install.
  • Will ship the Silverlight 4 Facebook-integration demo as reference sample
  • 70% of voted-for Silverlight 4 features (including 9 of top 10) included
  • Silverlight 4 Beta – announced as NOW AVAILABLE!!!!!!! at http://silverlight.net/getstarted/silverlight-4-beta/ and see http://channel9.msdn.com/learn include (what’s new)
  • Silverlight 4 RC – No Date
  • Silverlight 4 Final Release – No Date (I think perhaps March 22nd with VS 2010)
  • Office 2010 Beta and SharePoint 2010 Beta general availably announced – http://www.microsoft.com/office/2010/en/default.aspx – no new announcements yet though
  • Silverlight can use client-side object model to talk to SharePoint 2010
  • Office 2010 Mobile available on Windows Market Place for Mobile on 6.5 devices
  • Outlook Social Connector (part of Office 2010 Beta): Get social networking in Outlook with people info, history, activities; SharePoint 2010 Provider, Windows Live Provider in 2010; Linkedin Provider in 2010; has general SDK for making providers

Demos/Information

  • Silly video from Windows Management Team about collecting feedback/error report information – new non-lethal torture methods? 😉 – complete with entertainment-only disclaimer
  • Lots of telemetry data from the Windows development cycle – they even monitored stuff like number of presses on Start button and Aero Snap/Shake uses.
  • They analyzed the audio of the audience at the last PDC – best reaction was to the new Windows 7 slider control for UAC levels.
  • Various usability study videos cut out from live feed to protect IP.
  • Various demos of W7 new hardware-supporting features – touch, sensors, hardware-accelerated encoding, directx 11, etc.
  • Using yesterday’s IE9 build: Acid3 test results’; GDI vs. Direct2D smooth text rendering and animation; Bing maps jittery in software vs. smooth in hardware (60fps)
  • Recap video of SketchFlow in Expression Blend 3.
  • Silverlight 4 demos: video/image capture from local webcam; live preview of effects on webcam capture (incl. chromakey, bulge effect based on sound level, alien effect) using pixelshader effects; opensource barcode scanning with demo of scan of barcode goes to amazon page.
  • Silverlight 3 Demo (not shown on live stream) of PVR functions including pause and slow motion on live and pre-recorded events.
  • Silverlight 4 Demo of rich text control (including direct copy from grid selection in Excel)
  • Silverlight 4 Demo of Bing, Flash and even Silverlight hosted inside Silverlight including using it as a live brush (!!!).
  • Demo of VS2010 features for Silverlight 4: RIA data services; OData in data sources (and drag/drop to design surface); datagrid; implicit styles; new resource picker; new databinding picker; client-side validation from entity attributes
  • SnapFlow Silverlight app that allows building of online business applications hosted on Azure: DirectBuy example; HR example
  • Silverlight 4 Demo of elevated app integrated with Facebook including: local automation of Office; webcam photo upload; supper thumbnail listing performance; drag and drop of pictures; direct device photo import (!!!)
  • Demo of SharePoint 2010 Development with race track engineering/telemetry app: SharePoint on Vista/Win7; Sandbox solutions; VS Debugging; Read data from Azure; SP 2010 & Excel 2010 Client Object Models in Silverlight; show telemetry against video playback

PDC09 Announcements – Day 1 Keynote

Blogged live – now complete – curiously Bob Muglia’s closing remarks were cut off on the live feed.  Very much looking forward to the Silverlight stuff tomorrow.

Check out further PDC coverage

Background

  • Everything is about 3 screens (desktop, phone and TV) and the cloud.
  • Day 1 focus – Backend, i.e. Azure.
  • Day 2 focus – Office, Silverlight & Windows focus on Day 2.
  • Microsoft emphasis will be on IE + Silverlight for all 3 screens – desktop, phone and TV.
  • Ray Ozzie wants you to bet on Windows 7, IE8, Silverlight, Windows Azure, SQL Azure, 3 screens and a cloud
  • Bob Muglia talks at length about moving existing applications to the cloud (‘move, enhance, transform’) – partnering with Avanade & Accenture
  • Cloud application aspects being covered at PDC Self-Service, Elastic, Service-Orientated, Federated, Scale-Out, Staged Productions, Always Available, Multi-Tenant, Failure Resilient

Microsoft Announcements

  • Azure platform going live Jan 1 2010, but no charging until Feb 1 2010 – this is not news btw
  • Azure projects are available in Visual Studio 2010
  • Windows Azure has RESTful service APIs to manage configuration
  • Windows Azure Pricing: $0.12ph (1×1.6GHz/1.75MB); $0.24ph (2×1.6GHz/3.5GB); $0.48ph (4×1.6GHz/7.0GB); $0.96ph (8×1.6GHz/14GB)
  • Windows Azure now supports fast CGI support, PHP, MySQL
  • Azure – auto geo-replication in pairs – 3 pairs (NA, EU, Asia) going live in Jan 2010
  • Azure Storage Updating features – entity group transactions, snapshot, copy
  • Azure Storage Accessing features – block blobs, page blobs, leases
  • Azure Storage Serving features – shared access signatures, custom domain names, content delivery network (CDN)
  • Azure Storage – X-Drives – NTFS-like drive access to cloud storage
  • SQL Azure – Fuller DB, T-SQL, Stored Procedures, ADO.NET, works against Excel, support from SQL Server Management Studio (2008 R2)
  • Some customers will be able to go live today including WordPress
  • Microsoft PinPoint – catalogue of products and services targeting developers and IT (showing in Azure portal and partner network, and later into online portal for IT)
  • Codename “Dallas” (completely on Windows Azure and SQL Azure) open catalogue for data (public and commercial) with uniform discovery, trial and licensing – touted as a game-changer
  • ADO.NET Data Services (Astoria) also now known as OData.
  • Project “Sydney” – connects Azure platform to existing private data-centre services together
  • Windows Azure creatable images (with admin access) coming in 2010 (Windows base, customise, snapshot, deploy)
  • AppFabric (Windows Server Beta 1 available now & Windows Azure Beta 1 in 2010) – create high availability, scale-out, multi-tenant, manageable apps (especially using WCF and WF) covering caching, Workflow hosting, monitoring, service bus, service hosting, access control – formerly called “Dublin”?
  • Windows Identify Foundation RTM
  • Go-live license for Visual Studio 2010 Beta 2 & .NET Framework 4 beta 2 – this is not news
  • Oslo now SQL Server Modeling Services
  • The stack is now: Applications – Exchange/SharePoint; Dev Tools – VS; Programming Model – .NET Framework; App Services, Windows Server/Azure AppFabric; DB – SQL Server/Azure; OS – Windows Server/Azure; Management – System Center
  • System Center Cloud Beta in 2010
  • SQL Server 2008 R2 RTM in 2010
  • Visual Studio 2010 & .NET 4.0 RTM March 22nd 2009 – this is not news

Demos

  • Seesmic.com demo of Twitter client using Silverlight and for Windows with WPF – will become a platform soon
  • WordPress (who hosts 10 million blogs) demo on Azure and how it can scale easily
  • OddlySpecific.com (from creators of ICanHasCheeseburger, FailBlog & PunditKitchen) launched today on Windows Azure & SQL Azure – also can use CDN
  • Codename “Dallas” – Showing discovery (by catalogue); explore data with REST, AtomPub, etc. and Excel 2010 PowerPivot; demo of service proxy it can build for you; 3D (!!) demo of mars image exploration – underwhelming reaction from audience
  • US Federal Chief Information Officer – talking about democratising information (like GPS and NASA Pathfinder);  http://beamartian.jpl.nasa.gov; Career finder application on mobile device (via data.gov) – yawn (despite the profound implications)
  • Silly fictional video about the cloud starring Bob Muglia – groan
  • Azure Low-level access (Don Box & Chris Anderson) – Windows Azure application in low-level simple C++ (and assembler!); Azure SQL accepting T-SQL from SMSS to create pdc ‘talks’ table and insert rows; Show OData javascript app (using o-auth wrap to .NET Services Access Control Service) on ‘talks’ table
  • Kelly Blue Book (kbb.com – 14M unique per month in 2 data centres) Silverlight App (showing filtering and zooming) – showing flexible cost model with Windows Azure; less than 1% code-base change plus Azure config file; also using SQL Azure (using same mechanisms as before) and showing SQL Azure Data Sync – most scripted/stiff demo of the keynote.
  • Video of how customers can use Azure platform: Dominoes (peaks on Superbowl and Friday nights); Siemens; RiskMetrics
  • Project “Sydney” demo – connection of Azure application to private data-centre SQL database
  • Increasing functional of the Tailspin travel app (.NET 3.5) with .NET 4.0 and VS 2010 tools: showing VS 2010 multi-monitor; using ASP.NET MVC diagram; adding single sign-on quickly with Windows Identity Foundation (uses AD token service); new find-in-files window; client-side validation with ASP.NET MVC 2; Intellitrace shows trace (e.g. ADO.NET) and allow navigation back to code that produced the trace; add AppFabric to use distributed memory cache feature; automated web-app UI test(!) which shows that the memory cache improved performance; new Windows Workflow 4 designer; AppFabric exposes WF 4 through a web service automatically with tracking UI shown in IIS Manager; MSDeploy integrated with Visual Studio for each single-file publish/deploy (to staging/live)
  • Moving Tailsping travel app (as enhanced above) seamlessly to Azure; creating an app model with designer in VS 2010 by adding web role, AppFabric role and database role and associating with projects; published to Azure (using Windows Identity Foundation to allow federation of AD identity); use System Center Operations Manager (SCOM) to monitor Azure application and help check for SLA violations

Google Maps’ Street View – The Online Dating Bunny Boiler’s Friend?

So after trolling searching the Internet dating sites you’ve gone on that first in-person date but it doesn’t seem like it will go anywhere, or perhaps, you’re a little way into a new Internet-initiated relationship and you’ve kept things on a first-name only basis and now things are not going very well.  At this point, you decide you’d like to walk away. 

In some cases (and this can happen), you may be concerned that your date may not take the news so well (especially if you had a long online courtship before meeting or he/she is just a little bit weird) and you may be wondering if there will be any unwelcome in-person ‘visits’ for a ‘talk’ (from either gender) this Halloween.

However, you feel confident that you have not provided your address or your phone number (you know about reverse look-up if you don’t pay the rip-off non-listed fee right?).

Just wait a second…

You may have mentioned the area of town you live in and your date/ex may have seen your vehicle or you may even have picked him/her up in it.

That shouldn’t matter though, because he/she most likely doesn’t have your license plate information (unless they texted it to their friends for their own safety of course), and even if they did, they don’t have access to the Government’s vehicle licensing database.

Oh… but who needs the vehicle licensing database, when you have Street View on Google Maps – now available in some major Canadian areas.

Yes.  That’s right.  If your scorned date/ex has a bone to pick, he/she can virtually cruise around your neighbourhood looking for your car, all from the comfort of his/her home computer without a neighbourhood watch captain in site.  It doesn’t matter if the license plate is blurred out because someone on a mission will just go and check out the real view on a few narrowed down options ;-).

So if you have an unhappy ex. and you thought they’d never find you while you move on to the next dating adventure, it’s time to park off the streets, in the garage or just lose the car and hope the Google van comes around again soon for a fresh picture…  Alternatively consider limiting disclosure of your home location to planet Earth and hope they don’t have great image searching software.

Mix 09 Microsoft Announcement Highlights

See the ondemand version of the keynote for the details

Expression Web 3 – Coming soon
Includes SuperPreview for seeing preview of web content in different browsers even if not installed (using cloud services)
Standalone SuperPreview for comparing IE 6,7,8 available today in Beta

ASP.NET MVC 1.0 – Available today (for .NET 3.5 and VS 2008)

MVC update within the ASP.NET 4 & VS 2010 timeframe

Web Gallery for ISV web server applications

Web Platform Installer V2 – free from microsoft.com/web today
Installer for web servers making latest (from feed) Microsoft platform components and 3rd party gallery applications available in integrated setup UI

Commerce Server 2009 available now

Azure Sevices Platform – on track for commercial release this year

  • SQL Data Services becoming full relational database API
  • Fast CGI support also in Azure this week
  • .NET Full Trust support coming

Silverlight 1 & 2

  • 350 Silverlight installs
  • 200+ Microsoft Products & Websites using it
  • 10,000s of apps globally (inc. Ebay, NBC, Careerbuilder, Aol, Intuit, BSkyB, Yahoo Japan)

Silverlight 3 – Beta available today with VS tools at silverlight.net!

  • GPU hardware acceleration (Windows & Mac) – 3D transforms and pixel shaders on controls, images and video – not clear if 3D model rendering supported
  • New codec support (H.264, AAC, MPEG-4)
  • Raw bitstream audio/videop API
  • Improved logging for media analytics (ads and monetisation)
  • Deep linking, navigation and SEO
  • Improved text quality
  • Multi-touch support
  • 100+ controls available
  • Live library caching
  • Merge resource dictionaries
  • Style inheritance
  • Running outside of the browser with connectivity awareness events!

4.4MB download – actually 40k smaller than Silverlight 2!

Expression Blend 3 Preview available today

  • SketchFlow (for idea sketching of states and transitions)
  • Adobe Photoshop and Illustrator Import
  • Behaviours and live data (not needing code or VS to get thing running)
  • Source code control
  • Intellisense added

IIS Media Services (free download via Web Platform Installer)

  • Lowest TCO for making adaptive smooth media streaming available through a web server
  • Support for live streaming
  • Support for edge caching – akamai has smooth streaming products available
  • Using shipping Expression Media Encoder 2 to encode/publish video
  • Includes PVR like functionality through Silverlight 3 player for live pause, rewind, archive.

Putting Your Eggs in the Live Services Basket

The PDC excitement is over.

The Azure Service Platform has been disclosed.

The Live Services are included in that and one of the Live Services is Web Authentication with Windows Live ID, meaning that you can use existing Live IDs to authenticate users to your service.

The Great News

From the current licensing terms of Web Authentication amongst the licensing terms for Live Services:

These services or applications have no user limits or fees.

The Concerning News

Amongst the Terms of Service for Live Services:

9. How We May Change the Contract.

If we change this contract, then we will provide notice as provided in section 20 below at least thirty (30) days before the change takes place. If you do not agree to these changes, then you must stop using the Services before the change takes place. If you do not stop using the Services, then your use of the Services will continue under the changed contract.

We may choose in the future to charge for use of the Services. If we choose to establish fees and payment terms for such use, Microsoft will provide advance notice of such terms as provided in section 20 below, and you may elect to stop using the Services rather than incurring fees.

and

12. Term.

This agreement will become effective on your first use of the Services or APIs. This agreement may be terminated immediately for any reason and without notice by Microsoft. If this agreement terminates, all rights granted to you by this agreement will automatically terminate and you will cease to have any rights to use the Services or APIs.

You could invest a lot of time making your site use Live ID for authentication only to find that you have no service with no notice or additional costs with 30 days’ notice – and 30 days’ notice means nothing if the service can be terminated without notice.

So how can plan to mitigate against this?  Well if you already have a service, chances are that you have your own authentication and that you would be adding Live ID, in which case you should make it a supplemental identity, not a replacement.  This does mean that once you’ve added it you should make it clear to users how they can recover their original service credentials in the event that Live ID needs to be removed (possibly without notice or because it would be too expensive).  In adding a secondary identity, you may as well go the whole hog and support multiple identity providers if appropriate.  Deep down in your database you may have a Users table.  This essentially becomes an Accounts table with a new Identities table allowing for the mapping of 1+ identities to each account.  Each Identity is a user claim from a provider you trust (e.g. Live ID) or provider claims you trust (e.g. the provider’s claim to be a government ID provider is trusted). 

If you are creating a new service than you need to give this some serious thought.  If you can stomach understanding the identity frameworks, then I’d suggest multi-identity support from the start.

Note that with Microsoft Federation Gateway, the owner of a domain (e.g. domain.com) can now have all Live ID web-based logins to that domain (e.g. someone@domain.com), diverted to a web page they provide for login.  The web-based identity space is become truly federated.  For the wider Microsoft claims-based federation model, you can also check out things like Geneva, ADFS & Microsoft Services Connector CTP (which works with the Federation Gateway).

The change and termination clauses I mention above apply to all of the Live Services.  Many of the services are free up until a usage limit after which you need to enter into an agreement.  I haven’t looked into whether that commercial agreement includes  Service Level Agreement clauses or better change-management clauses.  If it does then I’m wondering if one can pay for the Web Authentication in order to benefit from such potential clauses.

Back when Live ID was Passport, this kind of Web Authentication was also possible, however there was a stiff annual fee deterring service providers from using it.

I suspect that many care-free hobbyists, micro-ISVs or larger are diving headfirst into support of Web Authentication using Live ID.  Caution is required…