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 |
EMERGENCY NET |
|
http://www.empireonline.co.uk/site/news/index.asp |
EMPIRE [MOVIES] |
|
http://www.pathfinder.com/ew |
ENT WEEKLY |
|
http://www.ft.com |
FINANCIAL TIMES |
|
http://www.forbes.com |
FORBES MAG |
|
http://www.foxnews.com |
FOX NEWS |
|
http://www.gawker.com |
GAWKER |
|
http://www.hellomagazine.com |
HELLO! |
|
http://www.hillnews.com |
HILL |
|
http://www.hollywoodreporter.com |
HOLLYWOOD REPORTER |
|
http://www.huffingtonpost.com |
HUFFINGTON POST |
|
http://www.humanevents.com |
HUMAN EVENTS |
|
http://www.insightmag.com |
INSIGHT MAG |
|
http://www.iht.com |
INTERNATIONAL HERALD TRIB |
|
http://www.investors.com |
INVEST BUS DAILY |
|
http://www.jpost.com |
JERUSALEM POST |
|
http://www.jewishworldreview.com |
JEWISH WORLD REVIEW |
|
http://www.dailynewslosangeles.com |
LA DAILY NEWS |
|
http://www.latimes.com |
LA TIMES |
|
http://www.lexisnexis.com/news |
LEXISNEXIS NEWS |
|
http://www.lucianne.com |
LUCIANNE.COM |
|
http://www.mediaresearch.org |
MEDIA CHECK |
|
http://www.medialifemagazine.com |
MEDIA LIFE |
|
http://www.mediaweek.com |
MEDIA WEEK |
|
http://www.msnbc.msn.com |
MSNBC |
|
http://www.muchmusic.com/news |
MUCHMUSIC |
|
http://www.TheNation.com |
NATION |
|
http://www.nationalenquirer.com |
NATIONAL ENQUIRER |
|
http://www.nationalreview.com |
NATIONAL REVIEW |
|
http://www.thenewrepublic.com |
NEW REPUBLIC |
|
http://www.nydailynews.com/news/todays_headlines |
NY DAILY NEWS |
|
http://www.observer.com |
NY OBSERVER |
|
http://www.nypost.com |
NY POST |
|
http://www.nytimes.com |
NY TIMES |
|
http://www.newyorker.com |
NEW YORKER |
|
http://newsbusters.org |
NEWSBUSTERS |
|
http://www.newsbytes.com |
NEWSBYTES |
|
http://www.newsmax.com |
NEWSMAX |
|
http://www.newsweek.com |
NEWSWEEK |
|
http://www.kcna.co.jp/index-e.htm |
N. KOREAN NEWS |
|
http://www.people.com |
PEOPLE MAG |
|
http://www.philly.com/mld/inquirer |
PHILLY INQUIRER |
|
http://www.philly.com/mld/dailynews |
PHILLY DAILY NEWS |
|
http://www.radioandrecords.com |
R & R |
|
http://www.reasonmag.com |
REASON MAG |
|
http://www.rollcall.com |
ROLL CALL |
|
http://www.sky.com/skynews/home |
SKY NEWS |
|
http://www.slate.com/Code/TodaysPapers/TodaysPapers.asp |
| |