Speaking of folks that I got to work with last year, I had the opportunity to work with Alberto Arias on a major WF project in the UK (the first Fortune 500 WF project in production, I believe). Earlier this fiscal year, Alberto crossed the pond and took a job over in the Connected Systems Division.
He's been working on activities for BPEL (Business Process Execution Language) for awhile now, and while chatting with him tonight, he told me that with today's announcement on Paul Andrews blog, it was now cool to talk about the BPEL support externally. He and I then booted up Meeting Space in Vista (if you've not used it, check it out, it's quite cool), and he stepped me through how it works.
Having spent alot of time with customers and partners last year, I regularly heard requests for BPEL support. The implementation is very clean, very straightforward, with capabilities to import and export BPEL. BPEL 1.1 wil be supported in the March CTP, and 2.0 will be supported after it is ratified by OASIS. I think people are going to be happy with it, it's very cool stuff - hats off to Alberto and team!
Just about a year or so ago, I was down in Tulsa working with the good folks at Dollar Thrifty Auto Group, who were doing some great stuff with WF and WCF. If it sounds familiar, I chatted about what they were doing in an ARCast wit Ron Jacobs, and Ron also did an interview with them from Tulsa. (both recordings are available over on http://channel9.msdn.com or http://www.skyscrapr.net.)
Earlier in the week I was talking to Jim Arrowood, a friend and architect at Dollar, and he asked how I'd like a free trip to Tulsa. A s I told him, there are no free lunches in life, and I'm sure no free trips to Tulsa. It turns out there's a CodeCamp event coming up (http://www.tulsacodecamp.com) and was curious if I might be interested in speaking.
A couple hours later I had a ticket to Tulsa and was slotted in for two sessions, an hour in the afternoon and the closing keynote.
I'm looking forward to it, as codecamp is focused much more on code. Last year ,when I was speaking at events, I had to spend a good amount of my sessions doing intro stuff. With the framework having been released for awhile now, I'll be able to dive right in and show some cool stuff I've been working on. If you've seen my previous sessions, expect all new content for this.
The timing of the event is literally days before the release of the updated WCF: Unleashed and I should be wrapping up the Understanding CardSpace and Information Cards book.
If you're going to be in Tulsa and there are particular aspects you're interested in, let me know and we'll see if we can squeeze it into the sessions.
Going through my email this morning, I received my official Mix07 confirmation. Last year, I had a number of customer commitments so was really not in the loop on Mix, this year, though, I've had some overlap with some of the things I've been working on and have had a chance to get involved in various aspects of the event.
Earlier this year I went to another web conference(which shall remain nameless), and was so dissapointed I left the conference (and Vegas) a day early. (Me, leaving Vegas early? unheard of, I know).
Mix, though, is a different story. From what I've seen of the sessions, this is actually an event I'd pay out of pocket to go to. It's got a good mix of folks from MS, as well as from third parties. I may or may not be delivering a session, that's something that'll get decided in the next month or so, but will be onsite either working in certain areas of the event, or attending sessions.
One of the great things about conferences is that I get a chance to meet up with former colleagues and people I've chatted with via email and blogs. If you're going to be in Vegas the 29th - 2nd and want to chat about WCF, CardSpace, Mashups, or whatever - shoot me an email and we'll make some plans to sync up.

Some of you may have been in on the Soapbox invitation only beta, but as of 3pm PAC, it's now open to everyone.
Soapbox is a video sharing / community site, you can check it out here: http://soapbox.msn.com.
If you need a laugh, here's a video of someone who's taken the audio from Monty Python and the Holy Grail and attached it to a video 're-enactment' done with legos. Sounds weird, but it's definately amusing. Video: Monty Python's Camelot, with Legos! UI Below:
The other day, I realized I'd never tried to publish a state machine workflow as as web service. These are more interesting than your standard sequential workflows, as you can have multiple service operations that interact with the workflow over an extended period of time.
I added my web service inputs and outputs, and then published the state machine as a service.
It worked... eventually. I ran into two gotchas one tied to the delay activity the other with IIS7 and proxy servers. After some research, I resolved both. A colleague suggested I write them up for my blog, so here we go...
I wont get into the details of the workflow itself, but here are the high level pieces of information you'd need to know:
The workflow has multiple states, State A is the only state that activates the workflow. Upon receipt of a web service request, the workflow returns a response and transitions to State B StateB is triggered by a delay/timer, and pulls down an XML document from a URL.
Handling Delays in IIS
First, if you want to use state machines in IIS7 and use delay objects, you’ll need to modify web.config to use the ManualWorkflowSchedulerService and the element for that should set the attribute useActiveTimers to true.
The DefaultWorkflowSchedulerService creates threads for every instance. This is not a desirable situation on ASP.NET. Instead, you use the ManualWorkflowSchedulerService allows the thread that is processing the HTTP request to execute a workflow instance. The ManualWorkflowSchedulerService creates a background thread that can monitor delays/timers. Setting useActiveTimers to true enabled this functionality.
<WorkflowRuntime Name="WorkflowServiceContainer">
<Services>
<!--<add type="System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
<add type="System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" useActiveTimers="true"/>
<add type="System.Workflow.Runtime.Hosting.DefaultWorkflowCommitWorkBatchService, System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</Services>
</WorkflowRuntime>
Handling Delays in IIS
Make this change, and your delays will trigger just fine. What came up next was a bit more interesting. Running a workflow inside the debugging web server that ships with Visual Studio (the one that runs when you hit F5), my workflow retrieved the XmlDocument from the web just fine.
Putting it into IIS7, and it came back with nothing. After adding some logging, I was seeing that the remote servers domain name could not be resolved. So I both pinged it and tried it again in my VS web server. Both worked fine. Switched to the IP address, and 'remote server could not be found'. As it turns out, it was a proxy issue.
Why? IIS7 is not running as a user (the VS Web Server is), so it doesn’t automatically connect with the proxy. You need to add a reference in web.config that points to the proxy. Add the following:
<system.net>
<defaultProxy>
<proxy
usesystemdefault = "False"
proxyaddress="http://yourproxyserver.com:80"
bypassonlocal="True"
/>
</defaultProxy>
</system.net>
Once done, your calls will now work.
When the first version of the WCF book was posted up on Amazon for pre-sale, the title was different than agreed to and there were some concerns about the editorial text. They were shortly fixed, and the real title 'Windows Communication Foundation: Hands On (Beta Edition)' and appropriate text was posted.
A few weeks back, I announced that Windows Communication Foundation: Hands On (Beta Edition) was being renamed (and over 200 pages added) as Windows Communication Foundation: Unleashed.
I've been talking for awhile now about a book I've been working on related to CardSpace and information cards. Like with the first book, the title posted to Amazon was different than what I'd initially agreed to do and the 'about the author' was written when I proposed the book (while working on another team at MS) last year.
Thus, I've not really said much about it, other than referring to it as the 'CardSpace book'. CardSpace is the client-side technology that provides the identity selector and personal sts. While the book covers CardSpace, a large focus is also on the information cards used there. From creating cards, to consuming cards on the web, integrating card-support into ASP.NET membership, consuming cards or requesting them via services, to a simple card issuance system, the book is more than just CardSpace. Fortunately, after talking with my publisher, we've reached an agreement on the new title "Beginning CardSpace and Information Cards: From Novice to Professional".
This book was written by a guy who buys alot of books, and the structure of the book reflects that. When I buy a book, I'm either
(a) Investigating - I'm interested in a high level overview and examination of a technology, the rationale for that technology and the competitive landscape. Ideally, this is at a level where the content is accessible to my team - be they architect, dev, or manager.
(b) Topic Learn By Doing - Just as with the 'Hands On' book, I think there's value in not just reading and then doing simple samples. Let me roll up my sleeves and do some coding and learn by doing.
(c) Prototype Acquisition - A book may have a functional prototype of something (i.e. workflow activities for card creation) that I either want for a demo or to build for real. For $30-$50, the book is a steal to get that.
So that's what I wrote. It's been a long process, but it's due out in April. While the title's not updated on Amazon yet, it is now available for pre-order here: http://www.amazon.com/Beginning-Windows-CardSpace-Novice-Professional/dp/1590598075/sr=8-1/qid=1170952106/ref=pd_bbs_sr_1/103-5507602-4763836?ie=UTF8&s=books
One of the interesting things about writing a book on an emerging technology, is that you rev the chapters several times before they're released. With the WCF book, this was because we were dealing with CTPS where the object model was changing, with the Information Cards/CardSpace book it's a much better reason. The industry is coming together and collaborating in a most excellent way.
One chapter I'm happy to update this week is the one that looks at information cards outside of Microsoft.
If you haven't heard, some signficant announcements came out of the RSA conference.
#1 JanRain, Microsoft, Sxip and Verisign will collaborate on interop between OpenID and CardSpace
As reported on Kim Cameron's Identity Blog:
JanRain, Microsoft, Sxip, and VeriSign will collaborate on interoperability between OpenID and Windows CardSpace™ to make the Internet safer and easier to use. Specifically:
- As part of OpenID’s security architecture, OpenID will be extended to allow relying parties to explicitly request and be informed of the use of phishing-resistant credentials.
- Microsoft recognizes the growth of the OpenID community and believes OpenID plays a significant role in the Internet identity infrastructure. Kim Cameron, Chief Architect of Identity at Microsoft, will work with the OpenID community on authentication and anti-phishing.
- JanRain, Sxip, and VeriSign recognize that Information Cards provide significant anti-phishing, privacy, and convenience benefits to users. Information Cards, based on the open WS-Trust standard, are available though Windows CardSpace™.
- JanRain and Sxip, leading providers of open source code libraries for blogging and web sites, are announcing they will add support for the Information Cards to their OpenID code bases.
- JanRain, Sxip and VeriSign plan to add Information Card support to future identity solutions.
- Microsoft plans to support OpenID in future Identity server products
- The four companies have agreed to work together on a “Using Information Cards with OpenID” profile that will make it possible for other developers and service providers to take advantage of these technology advancements.
Dick Hardt, Sxip Identity Kim Cameron, Microsoft Michael Graves, VeriSign Scott Kveton, JanRain
http://www.identityblog.com/?p=668
#2 Ping Identity has released an open source module for Apache:
Ping Identity Corporation today announced the immediate availability of an open source module that allows Apache-hosted applications to use Windows CardSpace Information Cards for authentication. The Apache Authentication Module for CardSpace can be downloaded from http://www.SourceID.org, the open source federated identity management site sponsored by Ping Identity.
The Apache Authentication Module for CardSpace allows applications using an Apache Web server to use Information Cards as an additional authentication mechanism. It allows LAMP-based Web applications written in Perl or PHP to act as CardSpace relying parties (RP) by means of simple configuration. The module is responsible for decrypting the token submitted by the CardSpace identity selector, retrieving the claims and making the claims available for the application’s use.
http://www.pingidentity.com/about/show/165
This is important as it will increase the potential universe of sites secured with phishing-resistant mechanisms and provide a consistent user experience for consumers in CardSpace.
Last Thursday, I was watching television and saw the latest Mac ad. The one where they imply that upgrading to Vista requires all sorts of upgrades.
I thought the ad was pretty lame. Not just because of the lame joke about peripherals, but because for most people who've bought computers in the past couple of years, there's a version of Vista that will work on your computer.
So I decided to do an experiment. Was installing Windows Vista on an older personal computer as difficult as the Mac guys were implying?
Now, over the last year or so, I've installed Vista several times (various betas and then the RTM), but each time it was on my work PC. For those of you who've seen my work PC, you know it's a monster. It's classified as a gamer's machine with 2 gigs of ram, dual core, etc. So I decided to try and upgrade my home computers to see if the Mac ad was right. Both of the computers are atleast 2 years old and nowhere near as powerful as my work laptop.
So I went out to the web, downloaded the Vista Hardware Advisor, and ran it on both my home media center PC (dell dimension 4550, 1 gig of ram) and my wife's laptop ($500 toshiba). It does a good job of identifying which version of Vista is right for your computer and identify any potential issues. It turns out that both of my home computers were compatible with Vista as-is. My wife's laptop could run Vista Basic, and the mediacenter PC could run Vista Ultimate. I'd not installed Vista Ultimate at the office, so I went to the web to check out the new mediacenter interface. It looked pretty slick, so as I was heading home on Friday night, I decided to upgrade my mediacenter PC. I made a stop at the company store and bought both a copy of Vista Ultimate and a copy of Office 2007 Ultimate.
Long story short, the install went fine. It went faster/smoother than my last install of XP.
It found more drivers automatically, and if I had to describe the process, it would be 'it just worked'. As with any upgrade, if you've installed cards into your computer, you'll want to know where the drivers are. Vista found everything (including a hard to find hauppage 16-bit video capture card driver) except for one. It didn't recognize my SATA card from Adaptec, but after inserting the driver disk that shipped with the card, I was set.
I did have a memory issue, though. Not a computer memory issue, but a personal one . I know alot of folks have the Soundblaster Live! audio cards with digital out. I do too, and was concerned that after installation there was no sound coming out of the speakers. After fiddling around with settings for a half-hour, I finally remembered that when I set the card up on XP, I had to go to the control panel and enable the digital audio out. I went to the control panel and found the same checkbox in Vista. Click. The speakers came to life.
So if you're thinking about upgrading, forget the Mac AD and download the Vista Hardware Advisor.
No, not the DaVinci Code, but his Codices. Leonardo DaVinci's two notebooks, the Codex Arundel and the Codex Leicester, are being brought together digitally. This is the first time that the two parts have been together since DaVinci's death in 1519.
The British Library owned the former, Bill Gates owned the latter, and they've brought them together in an WPF Browser AP.
You can experience “Turning the Pages” 2.0 here www.bl.uk , following the link with take you to http://ttpdownload.bl.uk/browserapp.xbap


Between some exciting day job work, updating WCF content for the WCF Unleashed book, and writing 15 chapters for the CardSpace book (this time as a sole author) things have been pretty hectic. Mix in the storm that flooded the first floor of the house, and it got even crazier.
The blog has been fairly dark for awhile, but that's about to change. In a few weeks, the CardSpace book will be handed in, and I can start focusing on other activities. In addition to weekly updates here, I'm also going to be starting a sister blog to this one, more details on that in the weeks to come.
So what's coming? Lots of stuff.
Like what?
I talked with the good folks at APress (my publisher for the CardSpace book), and I'm going to be able to release some of my code from the CardSpace book early, and put it into CodePlex. This will include ASP.NET controls that integrate with membership. This will also include Windows Workflow Foundation activities and some utilities for creating managed cards. These will hopefully be in CodePlex, which will include source, so you'll be able to get source and enhance them as you need to. I need to stress that these are from my book written as my 'night job', these are not official controls from Microsoft and should not be viewed as such.
I've actually been pretty busy on some other stuff during the day, and we're looking at what we can release of that (unrelated to CardSpace) to CodePlex as well.
Plus.. I've written about 6 labs in the past couple of days for an internal event. I'm looking to release those as well, likely with the launch of the sister blog to this one.
Oh, and some InfoCenter Controls may just find there way into CodePlex as well (and if not, I'll release them as binaries from my blog). And I might just include a reference app that shows how to snag podcasts for your Zune 
A few weeks back, we had a heck of a storm here in Seattle. It hit hard and fast, and knocked power out for days (4 in my case). Even though we don't live near a body of water, through a series of unfortunate events, the whole first floor of my house was flooded. With the lack of electricity mixed in, it made for a nasty situation. Net-net, as part of the losses, my media room was trashed. I lost my Xbox, Xbox 360, standing front speakers, center channel speakers, along with all of the furniture. (It is a truly sad thing to tip over an Xbox and see water pour out of it)
Because of the holidays and the number of folks affected by the storm, my first floor likely won't be done over until February. This presented an interesting challenge - I received 2 new Xbox 360 games for Christmas, Call of Duty 3 and Gears of War. These are truly great games that deserve to be played in HD and in 5.1 surround sound. My TV (62" HD) is just too big to put in the upstairs living room, so I decided to wait to play both of these great games until the downstairs is done over.
I still wanted to play *something*, so I started looking around. I was at BestBuy just before Christmas, and there was a stack of Playstation 3s there, but I wasn't interested. In addition to my loss of HD, the cost was fairly high, and only one of the games looked remotely interesting (Resistance: Fall of Man).
I decided I wanted a Wii. As did, apparently, most people in North America. Sold out everywhere, I kept an eye out. I leanred the inside info (i.e. BestBuy only puts them on the floor on Sunday, etc.). I wrote .NET applications to query the Amazon page for the Wii to determine when the page changed from out of stock to in stock so I could place my order. All without success. During all of this, I was reading stories about how great people thought the Wii was, stories of people trading their $600 PS3s for the $250 Wiis on Craigs List and considering it a fair trade. I found a site that said that Best Buy would have them on the 31st. The challenge? I'd likely have to get there early, before the store opened to guarantee I'd get one. This was new years eve, and my wife and I were heading in town - hotel and part at the experience music project by the space needle - getting up at 4am and then trying to party until 3am, was probably a bad idea.
Fortunately, I checked my mail yesterday. A colleague sent a note that Fred Meyer, sort of grocery store / k-mart type store hybrid owned by Krogers, got a shipment in near the Microsoft campus. I assumed that since it was on a distribution list, it would have been sold out and didn't bother. The next morning, I saw another post that someone had picked one up at 5pm. Hmmm.. I went to the Fred Meyer web page, found all the stores near me and the last store on the list had one. Literally, one.
Two minutes later, I'm dressed and punching the address into my nav system. The store was 20 minutes away, at about 5 minutes out I called. Was it still there? It was. Just then, my nav system was less than precise and I miss a turn. Another 5 minutes added.
I get there, walk to the electronics department. The woman looks at me, unshaven, quickly dressed, looking hobo-esque - and says 'Let me guess, you're here for the Wii." The one was still in stock. I snapped it up and brought it home.
So what can I say about the Wii? Wow. It's really *fun*. Don't get me wrong, I love my Xbox 360 and the Wii - with a meager 480p - is not going to beat it out on graphics. With it's Dolby II, it also won't match the 360 on immersive audio. But it's fun.
For those who don't know about it, the controllers actually track motion, so you're not just working a joystick or a thumbpad. Tonight, I played baseball on the wii, and I held the controller like a bat and swang like I was in Fenway Park. I boxed, and the onscreen character knew when I was blocking, when I was weaving right, when I moved my right hand for a jab. I bowled, moving my arm like I would have if I was at a real bowling alley. I looked ridiculous - if I wasn't sure, my wife let me know. When she played, she looked ridiculous. We both knew it, and we didn't care, this thing was fun.
There are lots of small nuances that were surprising (in a positive way) - for example, in bowling, if the control was twisted (in 3d space) just a bit, it applied spin to the ball. Moving your arm faster when pitching in baseball, resulting in the ball being thrown faster (I was at 94mph). Nintendo has done a really fantastic job.
The interesting thing, is that I don't see this as a competitor to the 360, but instead see it as a complement. When I want immersive gameplay with HD and 5.1 audio, I go to the 360. If I want to play online with groups of people from all over the world, it's the 360. But if I want to play with a bunch of people who are in my living room, I'll go for the Wii. The controls are simple, the movements are intuitive - as they reflect what you're familiar with in real life, so everyone from my hardcore gamer friends to my mom can pick up the wii and have some fun.
If you happen across one, I'd definately recommend picking one up.
On the heels of writing that last article, I found a copy of Amazon.com Mashups in the post. The book was written by a friend of mine, Francis Shanahan, and the book also has a great chapter that covers the S3 service mentioned in my previous post. From defining objects and buckets to building out working prototypes that interact with the S3 service, this chapter helps you get up and running with S3 in an hour, well worth the price of the book for that chapter alone (<$20 on Amazon).
Beyond S3, the book provides a good introduction to the concept of mashups, as well as hands on introductions to mashing up services from Yahoo, Microsoft, YouTube, and others. It also showcases some of Francis' mashup creations, which are cool in their own right (i.e. Zollage, Zuggest, RoboCast, etc.).
I'd recommend checking out the book and his mashups.
The book can be found here:
http://www.amazon.com/Amazon-com-Mashups-Francis-Shanahan/dp/0470097779/sr=8-1/qid=1167221205/ref=pd_bbs_sr_1/104-4399996-7228729?ie=UTF8&s=books
His site (and related mashups) here:
http://www.francisshanahan.com
I've been on the web services bandwagon, since... well, I think before there was officially a bandwagon, actually. When I was VP of development at Gazelle Systems, we had the challenge of providing our software (POS integrated CRM for hospitality, which included loyalty, couponing, gift cards, etc.) such that it readily integrated with point of sale systems. For those unfamiliar, the POS market is fairly diverse as the solutions (at that time) ran on a multitude of platforms (windows, unix, qnix, dos, proprietary) and also in a number of location configurations (1 self-contained terminal, multiple terminals on a store specific lan, multiple stores on a wan, and remotely hosted POS by an Application Service Provider). We needed a location agnostic, platform agnostic approach to integration. Around this time, I'd heard about Don Box and SOAP, and we built out our own SOAP server and built out our loyalty and other functions as services, and defining XML (pre-XSD XSD) that would represent our messages for loyalty et al.
At that time, I saw that services represented a bright future for the development of software, but I also saw them as the end of an era. Specifically, for the 'little guy'. In the early days of development on the Windows platform, particularly for the VB community, there was a great ecosystem of third party control vendors that offered up .VBXs and eventually .OCXs to incorporate canned functionality inside of your Visual Basic and Visual Studio applications. The beauty of it was that anyone could do this, the fabled 'two guys in a garage' could put together some innovative controls and offer them up. For me, this was immortalized in folks like the company Mabry. They were always advertising in Visual Basic programmers journal, putting out things like an SMTP control, and I can't imagine they were a large operation. For those unfamiliar, scan the newsgroups archives and you'll find multiple references.
In a web services world, however, it rapidly becomes more difficult for Mabry and the category now known as the Micro-ISV. Why? Infrastructure. In the days of .VBXs and .OCXs, you were shipping compiled code that typically ran on the desktop. Moving into the services space is a much different animal - you need servers, bandwidth, memory, disaster recovery scenarios, multi-tenant geo-clustered databases, storage, real-time/near-time support in a global setting, and enforceable service level agreements. The upfront investment in infrastructure is a major barrier to entry, and really limits innovation in the ability for Micro-ISVs to deliver services.
This is starting to change, with vendors such as Amazon offering what are being called utility services. Utility here having a similiar meaning to the water/power/natural gas utilities you have for your home. Like your home utilities, utility services provide a pay-for-what-you-use model, providing the ability to scale. Like with standard utilities, these services require a metering infrastructure - with that meter being found in the cloud vs. the side of your home.
Amazon offers something in this space focused on storage, a service called S3. Effectively, if you need storage, they can provide it to you on a metered basis for a very reasonable cost. If you wanted to build your own Flickr, YouTube/SoapBox, or any other service that requires storage, you can do it and do it in a fashion that will scale with your business. It's services like these that lower the barriers to entry to the Micro-ISV, allowing them to innovate without the upfront costs. These sorts of services free up the ability to innovate in a services world, and the 'two guys in the garage' are back in business.
With utility services coming onto the scene and standards for both identity federation and secure web services established, I'm hopeful and eager to see the next generation of Mabry's innovate around the platform.
Mercuri's "Services SLA Paradox"
Paid services haven't taken off because there aren't SLAs from Service Providers. There aren't SLAs from Service Providers because people aren't paying for services.
-----------------------
When someone gives you something for free, they have no obligation to you and you have no recourse if something goes wrong. When I was a student, if I was moving to a new apartment, my friends would would help me pack up my old place, load the truck, and unload it at my new apartment. Sometimes people would show up late, sometimes things would get broken, but hey, they were doing me a favor, so I had no room to complain.
When I move now, I hire a moving company. Why? Because my time is more valuable to me than it was 15 years ago, and I also have much more expensive stuff. If I was scheduled to move out of a house on the 31st, and the mover's truck broke down, I'd want to make sure the company could swap in another truck from their lot. If my $4,000 television is dropped, I want someone who's insured and who's going to make it right.
Today, we have a number of people giving away services - Google, Yahoo, Flickr, Amazon, StrikeIron, etc. While there are exceptions like Amazon and StrikeIron that are doing some good work in the utility services space, where they're doing metered usage, I've had a hard time finding SLAs anywhere else. People are doing interesting mash-ups with 'free stuff', but is anyone willing to put free stuff in their application for any key piece of functionality? If you do, and you don't have SLAs, you're a gambler, and for your sake, I hope you're very lucky.
At the Web Builder 2.0 conference held earlier in the month, Day 1's keynote had a speaker who talked about Ajax and mashups, using his company's product as an example. At the end of the presentation, he opened up the floor for Q&A, at which point I asked him two questions - "what about SLAs" and "what about federated identity". The answers?
SLAs: These services are free, so there are no SLAs.
Identity: These services (Yahoo) are free, so that's not an issue.
I find it amazing that people don't pro-actively address the SLA and Identity issues, and I find it borderline irresponsible that 'experts' ignore or wave off these questions when raised. The need for SLAs should not be such a surprise, people who've spent time looking at the space at this have written about it, myself having done so back in 2001 ("14 Best Practices for Selecting a Web Service Provider", 2001, .NET Magazine, Fawcette) Yes, it's cool to include maps, search, and images in my application but if the service code go down - or disappear entirely - at any time, for many scenarios they're a non-option.
If you want to use services for anything real - and by real I mean something you'd use in a key area of an Enterprise or Commercial Software/WebSite - you need to have a Service Level Agreement. Using a service effectively moves a third party from being a vendor to being a business partner. The service provider controls the hardware, the bandwidth, the support, etc. but the service interactions are exposed through your application, with your brand, and your reputation attached to it.
With today's lack of SLAs, if the service goes down for an hour on Thursday, it goes down for an hour on Thursday. Moreover, there's no guarantee that the service is going to be around for a week, a month, a year, etc. Google just announced (http://news.com.com/2061-10812_3-6145053.html) that they're no longer taking on new customers for the SOAP API they'd been offering. They're moving new customers to an AJAX API. If you were evaluating this and building this functionality into a spec for a smart client application you were developing, and now it's gone, sorry charlie. What were you expecting? You're not paying for it, so you can't complain. Without an SLA, no promises are ever made made by the provider, so there are no promises to break.
My argument is that SLAs are late to the game, because people aren't paying for services and people aren't paying for services because there are no SLA's. Something I've shamelessly named 'Mercuri's Services SLA Paradox'. There are some positive movements in the right direction - Amazon and StrikeIron come to mind - but they are definately the exception and not the rule.
If you're like me, you'd like to be able to leverage and mashup services that you can depend on. If we collectively don't stand up and insist on these, we're stifling innovation. I challenge you to ask the providers - at conferences, in forums, online and in person - "What is your SLA for your services and what will it take/cost for you to offer me this service in a dependable fashion?"
Way back in May, I wrote a post on context and search (http://www.marcmercuri.com/PermaLink,guid,9d050e2c-e3dc-4b16-953a-4ea7c2d48702.aspx). The post was prompted by something that was going on in the national media. Essentially, the US President's Press Secretary, Tony Snow, had come out and said that certain newspapers were being less than factual or selective in statistics they were reporting. In that post, I made a statement and a 'wouldn't it be cool' ask.
The statement was - set aside the politics for the context of discussion. The issue raised by Mr. Snow's statements questioned the level of trust associated with a particular periodical. Some people trust the Washington Post more than the New York times, that sort of thing. The 'wouldn't it be cool' ask was about custom search. Whether I'm searching on anything from presidential politics to the hottest new gadgets or the latest antics of Paris Hilton, I should be able to do that with a sense of context and trust.
At Microsoft, I attended a 'Search Mashup Day'. People across the company can get together, learn about search, throw out ideas, and for some of us, build out some mashups. My 'wouldn't it be cool' ask was the intended basis of my work at Search Mashup day. Unfortunately, the search guys made it too damn easy, so I finished up pretty quickly (a good problem!)
The Live Search guys implemented this via something they call a search macro. You can create one in less than 10 minutes.
Step 1. go to http://search.live.com/macros
Step 2. Select Basic and click the Next Button
Step 3. Enter in the news / gossip sites you want to include in your custom search engine.
Here's a sample list of some of the more popular news and gossip sites (remember, only copy in the web addresses from the first column):
|
http://www.abcnews.com |
ABCNEWS |
|
http://abcnews.go.com/sections/politics/TheNote/TheNote.html |
ABCNEWS THE NOTE |
|
http://adage.com/news_and_features/deadline/index.html |
AD AGE DEADLINE |
|
http://www.amconmag.com |
AMERICAN CONSERVATIVE |
|
http://news.bbc.co.uk/default.stm |
BBC |
|
http://www.bbc.co.uk/worldservice/news/summary.ram |
BBC AUDIO |
|
http://www.billboard.com |
BILLBOARD |
|
http://www.boston.com/globe |
BOSTON GLOBE |
|
http://news.bostonherald.com |
BOSTON HERALD |
|
http://www.tvinsite.com/broadcastingcable/index.asp?layout=webzine |
BROADCASTING & CABLE |
|
http://www.cbsnews.com |
CBS NEWS |
|
http://inside.c-spanarchives.org:8080/cspan/cspan.csp?command=dschedule |
C-SPAN SCHEDULE |
|
http://www.chicagotribune.com |
CHICAGO TRIB |
|
http://www.suntimes.com |
CHICAGO SUN-TIMES |
|
http://www.csmonitor.com |
CHRISTIAN SCIENCE |
|
http://www.cnn.com |
CNN |
|
http://cnn.com/TRANSCRIPTS/index.html |
CNN TRANSCRIPTS |
|
http://www.variety.com |
DAILY VARIETY |
|
http://www.washtimes.com/national/daybook.htm |
D.C. DAYBOOK |
|
http://www.eonline.com/index.jsp |
E! |
|
http://www.economist.com |
ECONOMIST |
|
http://www.editorandpublisher.com/eandp/index.jsp |
EDITOR & PUBLISHER |
|
http://www.emiratestodayonline.com |
EMIRATES TODAY |
|
http://www.emergency.com/ennday.htm |
| |