Read this through and you’ll see how Microsoft could be enabling a LOB platform in the cloud for ISVs. Beware however, that this could also be a research asset for Microsoft to bolster it’s own CRM and other offerings and potentially take out, devalue or acquire (for a lucky few) a few LOB app ISVs like it is or is not (depending on your point of view) with application hosting partners.
Software As A Service
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.
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. firstname.lastname@example.org), 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…
Windows Live Mesh Gives Legs or Wheels to Microsoft Sync and Auto PC
Microsoft Sync has appeared in some Ford vehicles and is apparently coming to at least two other manufacturers soon.
It amazes me how utterly appalling the uptake is of Windows in the car industry.
Microsoft Sync with a Microsoft’s Live Mesh client opens up the ability to take contacts, music, continuous user experiences (such as phone calls, paused music and podcast bookmarks), to your car.
Combine that with a ‘Windows Live PC’ running on an ‘Xbox portable’ or Zune in the mesh as I’ve mentioned in this series of posts on Live Mesh, and you can really see the magic of software plus services coming together for a seamless user experience.
A ‘Windows Live PC’ gives the UMPC, ‘Microsoft PC’ or Xbox Portable a Future
In this series of posts I’ve talked about my concept of the ‘Windows Live PC’ as the trojan strategy in Microsoft’s Live Mesh.
I’ve talked about how such a virtual PC could be available on an Xbox 360, a Mac or other platforms.
One of problems with the Microsoft UMPC initiate has been that cost of PC capabilities in a small form-factor, and the need to up the component cost to provide Vista in that form factor. This has made many UMPCs (so far built not by Microsoft, but by IHVs) more expensive than many notebook computers and with less power at the same price.
With my concept of the ‘Windows Live PC’ and minimal SSD storage, the UMPC could stop growing in power (and energy consumption, resulting in longer battery life) and just turn into a ‘Windows Live PC’ client.
In previous posts I suggested that such a client doesn’t have to be very powerful. I also said that the xbox 360 is good enough. In fact the original xbox is likely good enough too in many ways – even perhaps a PS2 or PS3!!
How about a PC the size of a Mac Mini or the size of a Zune?
What if Microsoft sold its own UMPC with SSD storage, the form-factor of something like a Samsung Q1 Ultra but not much processing power – how about an Xbox portable?
An Xbox portable would be the ultimate convergent future of Live Mesh, Xbox, Xbox Live, ‘Windows Live PC’, Xbox portable, WPF, Remote App, Windows Server 2008, Windows licensing, ISV solution channel, etc.
Robbie Bach, J Allard, Ray Ozzie, Bob Muglia, Steve Ballmer & Bill Gates – take a look at this series of posts on Live Mesh – I know what you’re up to 🙂 and if you’re not then you should be – it’s a vision I want to be involved in one way or another from the outside or the inside…
Add a ‘Windows Live PC for Mac’ to your Live Mesh with Silverlight
In this series of posts I’ve introduced the idea of a virtual ‘Windows Live PC‘. I’ve talked about how your Xbox could be the ubiquitous PC in your household without any software application installations, thanks to a potential expansion of the currently disclosed Web Desktop (storage service) in Microsoft Live Mesh, with the addition of RemoteApp from Windows Server 2008.
Silverlight 2.0+ is the SUPER TROJAN HORSE onto the Mac, Linux and I believe there could be more platforms to come (see next post…)
In previous posts I said that my notional ‘Windows Live PC’ will run (via RemoteApp) on anything that can handle the necessary technology stack with the xbox 360 being more than enough. It seems to me that Silverlight 2.0 (or perhaps a later interation) could easily talk the Remote Desktop protocol. Once that happens Microsoft can be selling you a ‘Windows Live PC’ subscription on your Mac and all those Windows-targeting ISVs can now license their product onto a Mac or Linux!!!
Note that there is already a Remote Desktop Client for Mac, but with the potential for Microsoft to offer a virtual ‘Windows Live PC’ running full screen, the Mac could fade into just a remoteapp client to a ‘Windows Live PC’ albeit a great new channel for the Windows and ISV software licensing – now that’s what I call leveraging!
Add a ‘Windows Live PC for Xbox’ to Your Live Mesh
In this series I’ve been talking about the possible strategy that Microsoft could be unleashing with Live Mesh and associated Microsoft technologies. I’ve framed it as a trojan strategy because it is not the offering being talked about, but just like Silverlight (the trojan RIA platform onto other platforms), Live Mesh could quickly spring into something dramatic – the Microsoft ‘Live PC’ concept that I predict in the last post.
Live Mesh provides a Web-based Live Desktop which is currently just a 5GB file store with a Windows-Explorer styled web interface. Add Windows Server 2008 Server RemoteApp into the mix, or should I say mesh, and you get the ability to run Windows anywhere you can run Remote Desktop.
Remote Desktop uses the Remote Desktop Protocol. So for a client device to provide a virtual Windows experience it more or less just needs to support a graphic blitting display, keyboard & mouse (or similar), TCP/IP and some cryptography for security.
So how basic could such a device be? Well that doesn’t matter because that xbox 360 is more than powerful enough and guess who sells that. That’s right, you may already have a device in one or more rooms in your house that could be the PC of your future. Remember that the RD protocol isn’t great for remoting intense A/V or graphics. That’s OK, because you would play games locally using the full local power of the xbox, and Microsoft has already mastered the Xbox Live multi-player service.
So you could have a Microsoft ‘Live PC’ which you access from any Xbox without any software installation. Xbox already does this kind of trick and even with HD video when it acts as an extender for a local Windows Media Center (running on XP Media Center or various Vista versions).
WPF makes it easier. The RD protocol does things to optimise the transfer of the virtual desktop image on the remote physical machine. When Xbox 360 is used as an extender it talks to the Media Center service on a local PC with a higher-than-pixel-level protocol to optimise the data. WPF provides a high level of retained descriptive UI too. I can see the RD protocol optimised (if it hasn’t been already) for remotely WPF applications. Microsoft would then encourage ISV to create more WPF-based apps that would be inherently optimised for a ‘Live PC’ experience.
Let’s not forget that Windows Home Server that was quietly (relatively) released last year. That server could start providing a LAN-based RemoteApp service for those things that can’t be run well over an Internet connection. A virtual ‘Home Office 201x Service’ perhaps?
The Microsoft ‘Windows Live PC’ is coming to The Mesh – IMHO
This is the 2nd in a series of posts about Microsoft Live Mesh – check out the Live Mesh tag for the others.
I’ve said that I think Microsoft Live Mesh is approximately FolderShare + FeedSync + Remote Desktop + Live Core Services.
Mesh provides a Web-based Live Desktop which currently looks like FolderShare/SkyDrive with 5GB on cloud-based storage with a new web interface that looks like Explorer. Your can remote desktop to Vista/XP devices in your mesh, but the web-based desktop does not currently… provide an application/process execution environment that you could remote desktop to… see where this could be going?
For those not familiar with remote desktop, it’s the ability to have an XP/Vista or Windows Server computer running somewhere and have your login experience appear where you are – that means the keyboard, monitor, mouse & speakers at the computer you are using (and even local hard drives and printers) can connect to your remote physical desktop (or login on a windows server) and it feels like you are physically sitting in front of your remote physical machine. To do this, your local machine needs to be able to run the remote desktop client software. You can run the client full screen or in a window. Many people work form home by using a home PC to connect to their work PC. There are performance limitations to this, but it works just fine for information workers and develops in many cases. Intense A/V experience don’t remote so well.
So you can remote your physical XP/Vista desktop and use it on the machine you have. This is a user using their computer remotely. The experience can also be shared so that the regular user can be at the physical PC and a remote user can share the experience – this is Remote Assistance and allows IT support staff to help users through procedures.
Windows Server 2003 (and a little earlier) provides Terminal Services – whereby multiple virtual (no physical keyboard, video & mouse) desktop sessions can be present on a server with each desktop session connected to by a user on a PC.
Windows Server 2008 introduced RemoteApp: “Terminal Services (TS) RemoteApp and TS Web Access allow programs that are accessed remotely to be opened with just one click and appear as if they are running seamlessly on the end user’s local computer.” So rather than remoting the whole desktop, one or more single application windows appear on the local machine which are really running on a server somewhere…
Back to my ‘Windows Live PC’ concept. Live Mesh provides this Web-based Live Desktop which as I said currently is a folder storage services but it has a Windows Explorer-like UI. What would happen if you could actually double-click on a file and the appropriate application would launch, and without having to install anything! Yep, put Windows Server 2008 behind the Live Mesh web desktop and you have Live PC – a PC anywhere.
Such a ‘Windows Live PC’ would open up a huge subscription model for Windows and applications. Microsoft could provide a service-provider infrastructure so that instead of selling you software by download or on DVD, you could just license the service through Microsoft (or perhaps independent hosting). Instant deployment. This would make Windows Marketplace something worth looking through.
Microsoft may have had a struggle moving enterprise licensing to a subscription model with the horribly executed (at least initially) Software Assurance scheme, but the ‘Windows Live PC’ concept I’ve covered here could be the beginning of real subscription licensing of Windows… everywhere… Ray Ozzie, I know what you’re up to – I may even be up for sharing the vision if you have a suitable offer 🙂
While such a named product has not been announced to my knowledge, in subsequent posts in this series I’ll examine how Microsoft could make ‘Live PC’ available on many devices and operating systems!
Mix 08 Keynote With Scott Guthrie – Part 4
Silverlight 2 Details and Demo
Adds to Silverlight 1.0:
- More to WPF UI Framework with animations, standard controls, layout, styling/skinning (visual tree templates) and data binding.
- More network support including sockets.
- Local storage.
- High performance.
- Small Download (4.3MB), Fast Install (6 to 10 seconds) – doesn’t need full .NET framework beforehand.
Open source license for included controls.
Shipping testing framework with 2000 open source unit tests.
- Visual Studio 2008 tools for Silverlight 2.0 preview – support for Silverlight 2.0 with intellisense (XAML and code) and debugging (on Windows or to Mac)
- Expression Blend 2.5 preview – support for Silverlight 2.0
See Scott’s blog for more info.
Demo of building new AOL mail client in Silverlight:
Shows lots of control templating to show Halo skin – not much audience reaction, but good data performance (retrieval and sorting) – uses isolated storage for performance (e.g. contacts list).
Anyone else tired of seeing demos by huge corporations that build products with advertising revenue deals that only they can get?
Mix 08 Keynote With Scott Guthrie – Part 2
Currently 1.5+ millions download installations of Silverlight 1.0 per day
Silverlight 2 Beta 1 available for download
Silverlight 2 stuff
1 Improving video experience
Adaptive streaming (to computer capabilities and bandwidth) – using appropriate bitrate – at initial video start and continuously (without buffering).
Plugable adaptive streaming algorithm.
HD Video is expensive – streaming and progressive download.
Windows Media Services 2008 released with Windows Server 2008.
Bit-rate throttling (with IIS 7.0/W2K8 for progressive download) – initial burst and then controlled stay-ahead (by x seconds) of playback throttling
VS 2008 project for silverlight advertising template – roll-down banner to playing video with tracking.
Demo of video.show for hosting video.
AdManager for tracking stats including interactions.
Demo of ad+video with skip control on web play list.
Overlay ads using Expression Media Encoder Two using XAML – add markers for ads (‘burned in’ or dynamic).
SDK for integration with Doubleclick Instream advertising. Demo on NBA site with handling of user events like pause, mute, etc.
Mix 08 Keynote with Scott Guthrie – Part 1
Standards-based web development
.NET 3.5 (includes Linq), Visual Studio 2008, IIS 7 (very componentised), Windows Server 2008
Coming in 2008:
New APS.NET MVC, ASP.NET AJAX update, New ASP.NET Data Dynamic. Information about this has been on Scott’s blog for a while.
IE8 – first public preview (mostly about standards)
1 CSS 2.1 support
2 CSS Certification – 702 test cases contributed by MS to W3C group because spec can have some ambiguous interpretations
3 Performance – modern sites are script-heavy – ie8 much closer to other browsers
4 Start of HTML 5 support – supporting back button in AJAX, (first demo applause), disconnection notification, local offline storage (applause)
5 Developer Tools – Debug developer tools in IE8 – Break points, watches, object model and applicable style tree syncing from selection (applause)
6 Activities – integrating experiences – select browser text and see popup-menu of activities (maps, purchase, ebay, etc.) declared through xml in minutes – OpenService Specification (through Creative Commons)
7 WebSlices – Subscribe to information related to pieces selected on a page (then carried in browser UI across any site), declared through WebSlice Specification (again Creative Commons).
8 Beta 1 available to developers microsoft.com/ie/ie8