Expert Texture Home Contact me About Subscribe Digipede Connect on LinkedIn rwandering on Twitter rwandering on FriendFeed

The blogged wandering of Robert W. Anderson

Live Framework

David Treadwell announced the Live Framework at the PDC2008 this morning.  Live Services is the collection of Live Messenger, Contacts, etc., plus Live Mesh.  Live Framework is the set of APIs to program against Windows Live Services. 

This is very cool stuff.  There are two things here that I think are significant:

  1. A programmable synchronization platform.
  2. An application framework for installing/running applications across multiple devices.

This is very exciting stuff, but now back to my old saw.

I really want to see Live Framework go beyond Windows Mobile devices to every major mobile platform.  This means the Apple, RIM, Google, Nokia platforms, etc.

My main reason?  A major value proposition of Live Framework is phone device support.  Duh.  But, I don’t want to invest my time and data in Live Mesh applications if it comes with a lock-in to the Windows Mobile platform.

Given the discussion at a partner meeting yesterday about Windows Mobile, I think this will be a pretty common feeling.

Microsoft may not be able to make this happen, of course, but I hope they really try.

BTW: We interviewed David on Gillmor Gang 04.25.08 specifically talking about Live Mesh.

Tags: , , ,

Windows 7

Recently I lauded the new name in my post, Windows 7? Right on!  I led that post with

First of all let me say that I’m not that excited about the “Windows” part of Windows 7.  I’m sure that will change when I see it later this month at the PDC.

A Microsoft guy not involved with the Windows team emailed me to tell me that his experience with Windows 7 is that it performs dramatically better.

That got me interested.  And now I’ve seen it at PDC2008.  Am I excited?

Well, not really.  With Windows Vista I allowed my love for shiny new objects to drive some of my decisions.  Windows 7 does have plenty of new — and cool — features.  Some that struck me:  some real improvements in Windows management (finally), create and mount VHDs, bitlocker on thumb drives, boot from VHDs, better multi-monitor and high DPI support, multi-monitor remote desktop,

These are all good things that make Windows better, but what I really care about is that it perform better and that the features can be used without killing performance.  To this end, they have worked on reducing Windows memory footprint, reduced disk I/O for indexing, better power management, increase boot speed, device readiness and responsiveness

If Windows 7 enhances my productivity through performance and stability, then I can get excited.

Tags: , , ,

Microsoft Windows Azure

imageMicrosoft’s long awaited cloud platform has finally been unveiled here at PDC 2008.  Late to the Internet, Microsoft hit it hard.  Late to the cloud, Microsoft is doing the same with Windows Azure.  Happily, this will put an end to all the guessing about what Zurich, Red Dog,, SSDS, Live Mesh, etc., actually are.  

Of course, now begins the discussion of how all these pieces fit together.  

This is not a simple approach like Amazon’s EC2 or Google App Engine.  Not to trivialize either, but they are certainly easier to understand.  Try explaining them to the proverbial grandmother — no problem, especially if you leave out virtualization and pythons 😉  (preemptive comment: I know AWS is much more than EC2 and that bigger and better things are coming from Google).

Regardless, the Microsoft Azure is multi-faceted.  In typical Microsoft fashion, there is a lot for a developer to choose from:

  • Azure Storage, Management, and Compute.  Run WCF/ASP.NET based services, with work queues and data storage.
  • Microsoft .NET Services, nee (wrote about here).  This gives you an Internet Service Bus, Access Control, and Workflow Services.  Messages and workflow in the cloud connecting other cloud and enterprise offerings.  Very big deal.
  • Microsoft SQL Services, nee SQL Server Data Services or SSDS.  Eventually a relational model in the sky, currently not too different from Azure Storage.
  • Live Services: Not too much detail on this today, but this is clearly what was “Live Mesh”: a rich synchronization framework, “live operating environment” for writing applications to across the Web and on user’s devices. 
  • Windows Live (Live Office, Live Sharepoint, Live Dynamics CRM, etc). In-cloud applications extensible by partners and users with in-cloud and in-premises solutions.

It all does fit together, and will be of immediate value to developers.  As Marc Jacobs of Lab49 said to me afterward,

We could make use of all of these services today.

Damned straight.  It is the openness of this platform, the ability of developers to mix and match the different components, and to do it between the cloud and in-premises solutions that makes this such a winner. 

This last point is an important one.  Microsoft is in a unique position to help enterprise IT bridge to the cloud.  While I don’t think Amazon and Google will cede that market to Microsoft, their current offerings aren’t a natural fit. 

Taking this all together — not forgetting Microsoft’s leading developer productivity story — it looks like a home run to me.

Tags: , , , , , ,

Going to PDC2008


I’m going to the PDC. 

I am mostly excited to hear about how all Microsoft’s cloud + parallel programming +  distributed computing story all fits together.  And hopeful that it really does all fit together.

I’m interested in hearing more about Windows 7, but I’m not that excited about it. 

As in all conferences, 99% of the value is in meeting and hanging out with people.   If you are going too and want to meet up, let me know. 

email me: robert at digipede dot net.

Tags: , ,

Windows 7? Right on!

imageFirst of all let me say that I’m not that excited about the “Windows” part of Windows 7.  I’m sure that will change when I see it later this month at the PDC.

I have a long history as a Windows user.  In fact, I have Windows 1 sitting on my desk.  Actually, these are installation floppies for the Microsoft Windows Operating Environment. 

I have disliked the Windows product naming convention since Windows 95.  That should have been Windows 4.0 with some extra designation to distinguish it from NT.  Since then, the naming of Windows versions has been absurd.

I’m thrilled that the next one is called Windows 7.  I hope this is the end of the trend of seemingly arbitrary names interspersed by release years.  If the subsequent name isn’t 7.x or 8, however, this will actually just have been worse then calling it 2010.

Tags: , , ,

Some thoughts on Chrome


Google releases a new browser.  The world declares “browser war” with some apprehension and  relish.  Web developers are cringing because browser compatibility is a major source of effort, cost, and frustration for software developers.

Q. Why would Google do this to us?  Just to take away Microsoft browser share? 

A. No.

Q. Are they doing this to extend the “Google OS” to the desktop in a way they control?

A. Probably, but that isn’t even their first concern.

Q. So, what is going on?

A. Well, I’m glad you asked.

Google is working to make their JavaScript-view of the Web as powerful as possible.  This makes sense given their enormous investments in JavaScript and in their own application suite.

Contrary to the approaches of Microsoft and Adobe with their Rich Internet Applications (RIA) frameworks, Google has focused on JavaScript. Where Microsoft and Adobe are building a better user experience inside of a container, Google is creating a better user experience through dynamic HTML and AJAX techniques.

Their developer model includes building out tooling to make it easier to author AJAX applications.  This includes the efforts made in the Google Web Toolkit (GWT) to enable modern IDE tooling for AJAX development. This allows developers to build maintainable object-oriented applications (in Java) that get converted and optimized to JavaScript.  Plus it promises cross-browser compatibility.

On the client side, they have Google Gears to enable local storage, improved caching support, and offline mode.

Q. So what have they been missing?  A browser? 

A. Not exactly.  They’ve been missing a JavaScript client runtime engine.

Google has made great advances in AJAX application development and tooling, but they have had to rely on others to provide reliability, responsiveness, performance, etc.

And that is what Chrome is about: taking control of the runtime engine for Google applications.  This makes the Google applications way more compelling.  More specifically, Chrome is about delivering that engine.  As Google says, they would love it if other browsers adopt the engine too.  I buy that.

Of course, by that time Chrome will be differentiated from its JavaScript engine.  By then Chrome will be about the Google OS.

Tags: , , , , , ,

The Cloud Services Stack — Infrastructure

I posted Cloud Services Continuum a couple of weeks back.  In that post I articulated a simplified view of cloud services and how they fit together.  This was simple by design — others had found this view useful, so I wrote it down.  I intentionally ignored some kinds of services, greatly simplifying the Infrastructure piece.  In this post I delve deeper into infrastructure services.  I’ll move on to platform next.

BTW: Stack is a more fitting word than continuum for various reasons, so I’m using that instead.  And a shout out to Matias Wolsky — check out his SaaS Taxonomy Map.

Infrastructure as a Serviceimage

In my earlier post, I defined IaaS to include provisioning of hardware or virtual machines on which one generally has control over the OS; therefore allowing the execution of arbitrary software. This definition isn’t really enough, because there are many other kinds of infrastructure.  Take a look at the services that are out there:

  • connectivity / messaging services.  Examples: Microsoft BizTalk Labs and Connectivity Services, Gnip.
  • identity services. Countless OpenID identity providers, again the BizTalk Labs Identity Services.
  • data storage.  Examples: Amazon’s S3 and SimpleDB, Microsoft SQL Server Data Services.

One might argue that together these services create a “platform” — and they get close — but since none of these host general user-written code, they don’t quite get there.

Then, of course, there is flexible machine provisioning like Amazon EC2.  These are definitely infrastructure — where the platform is the OS, Web servers, and other software.

Calling this all IaaS is fine — it is all infrastructure — but, maybe we should further divide these:

  • Virtual Hardware Infrastructure
  • Storage Infrastructure
  • (Other) Infrastructure Services

Granted, these names need some work, but I think the categories are useful.  And I won’t make them into acronyms because I think we have enough of those.

Tags: , , , , , , , , , , a public Microsoft cloud service

There are a lot of questions circling around the blogosphere about Microsoft’s plans in the cloud.  These plans are clearly secret and tangled up with code words, but some bits are public and getting more so. 

If you haven’t checked out BizTalk Labs and the Internet Service Bus, you can get an overview here.  But more than an overview, you can download version 12 — OK, 0.12 — of the SDK and get started very quickly. 

The Internet Service Bus consists of three main parts:

  • Identity Service.  A service to unify  authentication and authorization across the Internet Service Bus with support for other identity providers.
  • Connectivity Service.  A general service to connect applications with message relay when necessary.
  • Workflow.  A service that runs Windows Workflow Foundation workflows in the cloud.

Workflow was added this week.  Before that, the Internet Service Bus looked mostly like infrastructure, but with this new addition, it is moving up the stack towards platform. 

I played with the SDK earlier in the week.  The Workflow Service supports a set of cloud activities included in the SDK.  Using these activities as building blocks, you can build simple workflows hosted by Microsoft in the cloud.  The available activities for the cloud are only a subset of the standard .NET 3.0/3.5 activities, but I’ll bet more are added as the service matures.

Now, this is all a CTP and final plans aren’t public, but, a quick glance at the ISB and some very interesting possibilities emerge.  For example, the existing features in the CTP today, would greatly ease the engineering effort of extending a Digipede Network into the cloud.  Pretty cool, huh?

BTW: A recent comment on my blog shows that some people aren’t aware of another Microsoft Cloud service: SQL Server Data Services (or SSDS).  That one is in a limited beta, but you can sign up for it at Microsoft Connect.

Tags: , , , ,

Cloud Services Continuum

I have found myself talking about cloud services a lot recently.  We have been talking about them here — there is an obvious synergy between what we do at Digipede and cloud services.  And I’ve been talking about them externally too: at the recent CloudCamp, on the Gillmor Gang, and in all sorts of other interesting contexts. 

Note that I refer to cloud services, not to the cloud.  I am not interested in defining cloud as a term, because I don’t think it very useful.  For those of us in the distributed computing space, cloud is the latest buzzword to compete with the word grid in terms of utter ambiguity.  I think the ship has already sailed on this one and I’m not going to try to call it back.

So, everyone is talking about cloud services and much of the conversation centers on understanding them and how they are changing the landscape.  Of course, cloud services are not one thing.  I find it helpful to think about them as parts of a continuum.  This seems useful regardless of the technical level of the people with whom I’m speaking.

imageThe diagram to the right shows this continuum from infrastructure to platform to software.   Brief definitions of these parts are:

  • Infrastructure includes provisioning of hardware or virtual computers on which one generally has control over the OS; therefore allowing the execution of arbitrary software.
  • Platform indicates a higher-level environment for which developers write custom applications.  Generally the developer is accepting some restrictions on the type of software they can write in exchange for built-in application scalability. 
  • Software (as a Service) indicates special-purpose software made available through the Internet.

I have indicated several companies that play at different parts of this stack.  This list is not comprehensive nor does it attempt to represent motion across the stack.

One scenario in which I find myself talking about the continuum is when people equate Amazon EC2 with Google App Engine.  EC2 is a flexible / scalable virtual hosting platform with provisioning APIs.  It allows you to dynamically scale the number of instances of your OS (i.e., Linux).  What you do with those instances is up to you.  Google App Engine operates at a much higher level in the stack.  It is a new software platform with specific APIs.  It requires developers to build for this specific platform.  yes, they are both in the cloud, but they are very different services. 

Another scenario in which the continuum is useful is in thinking about what vendors and new entrants might be up to.  The continuum makes one thing even more clear: many vendors that operate higher in the stack are relying on their own internal lower-level infrastructure or platform.  This begs some questions: which vendors will expose lower-level interfaces?  And of course, which vendors will move up the stack? 

  • SalesForce is already moving down with their PaaS offering. 
  • Any chance Google will expose its infrastructure stack?  I doubt it, but I do expect them to move down a little. 
  • Some of the readers of this blog probably know better than I where Amazon and Microsoft are planning to go.

Yet another way it is useful is in comparing vendors inside of a particular category.  Maybe I’ll write more on that later.

Is the continuum obvious?  Using the definition of obvious from patent law, yes, but I think it a useful paradigm.

Tags: , , , , , , ,

OpenID and the Relying Party Patchwork

Recently I have been thinking and writing about OpenID.  My thoughts have centered around two topics:

  1. Sharing one credential across all of your Internet services is not a good idea.  See How many OpenIDs do I need?
  2. The OpenID vision isn’t ready because there is not yet an ecosystem for Internet services (i.e., Relying Parties) to rate the trust level of an arbitrary Identity Provider.  See OpenID isn’t ready for prime time.

This led to a conversation with Bill Washburn, Executive Director of the OpenID Foundation. He was a pleasure to talk to and receptive to my ideas and concerns.  I left that conversation with an interest in contributing to OpenID through my writing.  I have been pretty pegged lately on other activities, but found the Microsoft HealthVault announcement interesting because it is at the intersection of these two topics. 

What is the announcement?  That Microsoft’s HealthVault will become an OpenID Relying Party later this week. 

Very cool news.  Congratulations to Microsoft for becoming the first big player to be an OpenID Relying Party in a significant way.  Also, congratulations to the OpenID Foundation and Bill Washburn for their role in this.

Now how is this intersection of these two topics?

1. Sharing Credentials

I’ll start by partially answering my first question:

How many OpenIDs do I need?

Partial answer:

I need one for each health information provider; for exclusive use with that provider.

I just don’t want to share these with any other Internet service. 

So the premise that OpenID allows me to share credentials across sites is of no value to me here.  (Note: that said, there are good reasons I might choose other Identity Providers for this application).

2. How do Relying Parties know who to Trust?

There are a growing number of providers out there, new implementations of custom coded OpenID providers, established businesses, startups, etc.

So if you want to become a Relying Party, who do you trust?  Everyone?  No.  The answer is easy.  From Sean Nolan,

The deal is — as of our next release in the next few days, users will have a new way to identify themselves to HealthVault. In addition to Windows Live ID, they will be given the option of using OpenID accounts from Verisign or TrustBearer.

You, the Relying Party, choose an explicit list of trusted Providers.  This is a completely rational approach.  Especially if you are responsible for protecting confidential data. 

Before you know it, more and more companies/services will become Relying Parties.  Each service — at least those that protect valuable confidential data — will have to perform a risk analysis to determine which Providers to accept.  Each Relying Party will end up with a different set of accepted Providers — a different set in constant flux.

Earlier I suggested that I could choose how to consolidate my OpenIDs, but the reality may be much different where I have to choose OpenID providers based on the services I use.  This reality seems like a complicated, user-hostile patchwork of Identity.  Kind of like what we had before OpenID.  Only more complicated.

What do I think should be done about it? 

One answer is that the OpenID Foundation fast-track efforts to formalize trust and reputation resources for Relying Parties. Bill Washburn had some other ideas too, and maybe this Microsoft announcement is in support of that effort.

How long will any of this take?  Can’t say, but I will continue to look on with interest and write about OpenID.  Despite my criticism, I am a fan.

Tags: , , , , ,

« Previous entries · Next entries »