A blog by Marc Mercuri RSS 2.0
 Thursday, August 02, 2007

Mike Jones was kind enough to post a mention for my new book recently, and it was great to see comments and other blog posts triggered by that.  One of the blogs that mentioned the book was James McGovern's. In his post he mentioned that it was disappointing that the book didn't cover Java. This is unfortunately not accurate and I wanted to clarify what's covered outside of Microsoft technologies.

Five chapters of the book are implementation agnostic and focus on key topics ranging from authentication and authorization to personalization.  One of those chapters examines the majority of the projects in the open source community.  Another chapter is focused on implementing relying parties - which is what most people will require - in Java and PHP. For Java, this focuses on code provided by Chuck Mortimore (if unfamiliar, he's created a fair amount of information card-related plugins and artifacts).  For the other chapters, the code is written in C#. While this is not Java, the syntax is similiar enough that it can be reviewed for both structure and approach. While Ruby code is not covered in the book, the book does contain links to Ruby resources and open source projects related to information cards.

I've got several screencasts I'll be posting shortly that highlight what's covered in key chapters. Look for these to start popping up online soon.

8/2/2007 7:16:31 AM UTC  #    Comments [1] - Trackback
Book | CardSpace
 Monday, July 30, 2007

So I'd been reading alot about Joost - the new internet video company from the folks who brought you Skype - and wanted to check it out. I'm not at a point where I'd recommend it yet, but if you want to see it for  yourself, I thought I'd pass along  how to get access to it.

If you go to their homepage, you could sign up and you're placed in a first come, first served queue for access. I found a faster way to the beta,via http://www.joost.com/vh1. With that,  you can jump to the head of the list and get an account immediately. 

 

 

7/30/2007 4:34:39 AM UTC  #    Comments [0] - Trackback

 Sunday, July 29, 2007

In case you missed it, Microsoft just released some great new downloads, specifically new versions of VS 2008, Silverlight, and Expression Blend.

As someone who started writing what are now called AJAX apps since 2000, I *really* appreciate how Silverlight and Blend make RIAs much easier to develop.

Links to all the bits-

 

7/29/2007 6:11:35 PM UTC  #    Comments [0] - Trackback
Atlas | CardSpace | RSS | Visual Studio | WCF | Web Services | WF | WPF

After spending most weekends of the past couple of years writing books or papers, I'm finding it novel to have my weekends free again. Now, instead of writing, I've been catching up on my reading.

The week after the book was set at the publisher, I headed off to the UK to spend some time with my in-laws. We spent part of the trip in of one my favorite places, the family summer house on the Irish Sea. They added a conservatory since my last visit (see pic below), and it looks out over the sea, which made for a truly relaxing environment to read. While I hadn't done much 'fun' reading while I was writing, I had been acquiring a number of books.

The name of this blog is 'Living in a World of Connected Systems', and a number of books I read covered 'connectedness', among them were the Tipping Point, Spreading the Idea Virus, and The Black Swan.  Different authors, very different styles, and all enjoyable reads. I'd definately recommend them (particularly The Black Swan), so if you're looking for something interesting to read, check them out.  

 

7/29/2007 5:44:04 PM UTC  #    Comments [0] - Trackback

 Tuesday, June 26, 2007

When I wrote my new book, Beginning Information Cards and CardSpace: From Novice to Professional, I wanted the reader to go beyond building just 'Hello World' applications that just focused on learning features. Instead, I wanted to have the readers build practical, usable code.

In an effort to let you see what you'll be getting when you buy the book, I thought I'd do some screencasts to highlight what you'll build out.

I'm going to start with Chapter 13, which focuses on automating the issuance of managed cards with Workflow Foundation.

In that chapter, you'll create a number of Workflow Foundation custom activities that can help you automate the issuance of managed cards, complete with email delivery.

Also included is a sample application will calls the workflow and generates a card based on data provided.

Click on the image below to see the video:

Workflow Activities for Cardspace Issuance

6/26/2007 5:40:15 PM UTC  #    Comments [0] - Trackback
Announcements | CardSpace | Identity | Webcasts | WF
 Saturday, June 23, 2007

With the blogging starting up again, I had a number of notes for topics. At the top of the list was a response to getting blog tagged by Francis .

For those unfamilair with blog tagging, once you're tagged, you need to reveal 5 things about yourself that people might not know.

(5) I have 3 Xbox 360s.

(4) Some people write or code to music, I write to the TV show 'Law and Order'. Between the CardSpace book and chapters for the WCF book (and thanks to 4 dvrs), I've seen almost every episode of Law and Order, Law and Order:Criminal Intent, and Law and Order:SVU.

(3) I'm one of 400 people in the world who have a real Pong clock.

(2)  I have what looks like the  'Fight Club' scar on my left hand. I got it during my first 2 weeks at Microsoft.

(1) My full-time career in software (vs. writer) came about after spending a finals week at Wellesley College. (ask me over a beer, and I'll tell you the details)

6/23/2007 7:02:01 AM UTC  #    Comments [1] - Trackback

After a very long hiatus, I am very happy to report my return to regular blogging. The book is now done, some of my major projects are either completed or winding down, and I'll have time to write, post and add screencasts.

So what have I been doing for the past year? Last summer, I took on a new role as an Architect in DPE Platform Incubation Team. I've spent the last year working on solving difficult problems and working on interesting projects. This has hands down been my most intellectually rewarding year in the company. While you won't hear publicly about alot of my work, there are some things I've contributed to that have been entering the public view recently.

I've been doing alot of work with teams in the company doing mashups and mashup events. Last December I wrote 5 'blocks' for a product we had in development that's now been launched over at http://www.popfly.com.  I believe it's still on an invite only basis. If you've been on the site, you know it's pretty cool stuff. If you haven't, I believe it's still in an 'invite only' mode. If it is, let me know, as I've got a couple of invites I can share.

In addition, I ended up modifying the dasBlog engine and starting another site.  That site http://www.mashupguy.com, is something you may have seen at various conferences this year.  I wrote a number of labs that show how to work with various Live APIs, checked out a number of third party services, found some videos, and brought them altogether on that site.  It's been used as a resource for everything from the MVP Summit to Mix07 to the Web2Open at O'Reilly's Web 2.0 Conference earlier this year. I've been pretty quiet about the site outside of those events, and plan to migrate it over to silverlight when I get back from Europe later this summer.

I also had a chance to do some work with the folks over at Windows Live and worked with Koji Kato to get LiveInABox published. Specifically, I wrote some workflow activities that wrapped Live Expo and Live Search and generated an aggregate RSS feed and RSS client for them.  In addition to being on CodePlex, we've managed to get VPCs hosted in the cloud for folks to try out.

I did have a chance to work with another one of our online properties as well, and expect to see some impact from one of our projects before the year is out.

In addition to cutting back on blogging, I also cut back my public speaking engagements this year, with just one exception. I had worked with the great folks over at Dollar Thrifty Auto Group last year and one of their architects asked if I'd be interested in coming to deliver a keynote at the Tulsa code camp, so I flew out to Tulsa for the day (an interesting route from Seattle) and had a chance to talk about CardSpace. For private speaking engagements, I was pretty engaged at a number of our internal events, and recently was interviewed for some of our internal videos for Engineering Excellence and Innovation. 

My largest project, you won't hear anything about anytime soon, but I was honored to find out recently that I was nominated for 2 awards for it, Microsoft's Circle of Excellence Award and the Customer Partner Experience Award.

And then there's the book... with my change in role last year, I ended up spending much more time outside the office working on the research and writing of the book. The book, initially targeted for March, was pushed to June when content grew from the 300 pages I committed to, to almost twice that. Expect to hear (and see) more about the book over the next week or so.

So blogging will resume starting today, the blog will likely go through a site redesign later in the month, using the new template I created for mashupguy.com, and I'll be expanding the scope beyond framework 3.0, where things have been for the past year and a half or so. 

Glad to be back, and happy to have you reading,

Marc

6/23/2007 4:08:04 AM UTC  #    Comments [0] - Trackback
Announcements | CardSpace | Visual Studio | WCF | Xbox360
 Saturday, April 07, 2007

The blog may be down periodically this weekend, as I'm upgrading the blogging software. Downtime should be limited to late evening hours (US Pacific Time)

4/7/2007 7:08:20 PM UTC  #    Comments [1] - Trackback

 Thursday, March 29, 2007

Richard Turner has posted a couple of information card / Windows CardSpace videos on his blog.

If you've kinda/sorta heard about CardSpace and information cards and want to get a quality intro with a demo and a description of what's happening behind the scenes, check out the first one.

http://blogs.msdn.com/richardt/archive/2007/03/18/cardspace-simple-demo-screencast-on-channel9.aspx

If you're looking to develop a site on IIS7 (meaning Windows Vista or Longhorn Server), and were curious about how to configure the site to support information cards. That video steps through how to configure your IIS7 server for sites that will accept information cards.

http://blogs.msdn.com/richardt/archive/2007/03/28/new-screencast-how-to-configure-iis7-for-windows-cardspace-sites.aspx

3/29/2007 12:40:49 AM UTC  #    Comments [0] - Trackback
Announcements | CardSpace | Identity | Webcasts
 Monday, March 26, 2007

Chapter Three of my upcoming book focuses on the work being done with information cards and in the identity metasystem by people outside of Microsoft. The chapter covers third parties and open source projects,  focusing primarily on the folks building identity selectors and security token servers.  In the process of researching that chapter, I ,of course, ran across the work of Chuck Mortimore. If not famliar with his work, Chuck has built out a Java Relying Party, an identity selector plug-in for FireFox, and his site ( http://www.xmldap.org) issues managed cards.  His identity selector has even been enhanced to handle interop with OpenID (see screenshot below).

Needless to say, I was impressed with his work, and reached out to him about including screenshots of his work in that chapter. He was very gracious and gave his approval. As I was wrapping up the book, one of the readers of this blog asked if we were going to have support for Java in the book. Initially, for relying parties, I'd only committed to the publisher for ASP.NET and PHP. In the pre-.NET world, I actually was an early adopter of Java  (heck, I even hired Gary Cornell, of Core Java fame, to come to Boston and train my team on Java), so I thought what the hell, and decided to  have a go at it. As I was dusting off my core-java books to write the sample, I thought to myself, if I was a java guy, who would I want a sample from? A Microsoft guy who hasn't written any Java code in awhile? Probably not :-)

I thought of who - if I was a reader - I'd like to see the Java sample come from. A big fan of his work over at xmldap.org, I reached out to Chuck and asked if he'd be interested in contributing a java sample for the chapter. I am really pleased to announce that not only did he agree, he's already sent me the code. If you've not done so already, definately check out his site, he's doing some great work.

3/26/2007 3:57:54 AM UTC  #    Comments [0] - Trackback
Announcements | CardSpace | Identity | Interop | Trust | WCF
 Sunday, March 25, 2007

I'm pleased to announce that my book now has a new technical editor, Steven Woodward. Steven leads the Identity and Access Management team in Microsoft's Developer & Platform Evangelism Group. Steve works very closely with our top customers looking at the adoption of Information Cards and Windows CardSpace, and he's a regular fixture at a number of major conferences. I had the good fortune to work with Steven last year when we were both members of the Windows Server evangelism team, and am super excited to have Steve onboard.

He's provided some great insights and comments that have already added value to the book. 

Welcome Steven!

 

3/25/2007 5:43:38 PM UTC  #    Comments [1] - Trackback
CardSpace | Identity | Interop | WCF
 Saturday, March 17, 2007

I'd mentioned that the BPEL for Windows Workflow Foundation was about to be released, and now it has.

http://www.microsoft.com/downloads/details.aspx?FamilyID=6d0daf00-f689-4e61-88e6-cbe6f668e6a3&displaylang=en

Check it out.

3/17/2007 9:17:19 PM UTC  #    Comments [0] - Trackback
Announcements | WF
 Wednesday, February 28, 2007

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! 

2/28/2007 6:22:23 AM UTC  #    Comments [0] - Trackback
Announcements | Demos | Interop | Legacy | Other | WF

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.

2/28/2007 6:09:09 AM UTC  #    Comments [0] - Trackback
Announcements | CardSpace | Demos | Interop | Meet | RSS | WCF | Web Services | WF
 Wednesday, February 14, 2007

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.

Mix Elvis

2/14/2007 5:02:05 PM UTC  #    Comments [1] - Trackback
Announcements | Atlas | CardSpace | Identity | Interop | Live | Mash-ups | Meet | Presentations | REST | RSS | WCF | Web Services | WF

I was just getting caught up on email and realized that the XAML Schema for WF has been published. Among the benefits here is that you'll get intellisense now in Visual Studio.

This was something that I know several customers expressed interest in, so I wanted to make sure everyone knew where it was.

You can find it here:

http://wf.netfx3.com/blogs/news_and_announcements/archive/2007/01/30/xaml-schema-for-wf-published.aspx

2/14/2007 4:57:47 AM UTC  #    Comments [0] - Trackback
Announcements | WF
 Tuesday, February 13, 2007

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:

 

2/13/2007 11:05:29 PM UTC  #    Comments [0] - Trackback

 Friday, February 09, 2007

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.

2/9/2007 10:18:15 PM UTC  #    Comments [0] - Trackback
WCF | WF

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

2/9/2007 4:41:28 PM UTC  #    Comments [0] - Trackback
Announcements | CardSpace | Identity | Interop | WCF | WF
 Thursday, February 08, 2007

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.

 

 

 

2/8/2007 4:16:12 PM UTC  #    Comments [0] - Trackback
Announcements | CardSpace | Identity
 Tuesday, February 06, 2007

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.

2/6/2007 4:35:26 PM UTC  #    Comments [5] - Trackback

 Wednesday, January 31, 2007

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

 

 

1/31/2007 4:49:42 PM UTC  #    Comments [1] - Trackback
Ideas | Other | WPF
 Tuesday, January 30, 2007

 

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 :-)

 

 

1/30/2007 5:33:31 AM UTC  #    Comments [2] - Trackback
Announcements | Identity | REST | RSS | WCF | Web Services | WF | WPF | Zune
 Sunday, January 28, 2007

Windows Communication Foundation Unleashed (WCF) (Unleashed)

I was just on Amazon and it looks like the follow up to Windows Communication Foundation: Hands On! is now available for pre-order.

This book contains all of the content updated for RTM, plus 200+ more pages than the original. You'll also see that we've got a new co-author, Matt Winkler.

For those unfamiliar with Matt, he's the technical evangelist for Windows Workflow Foundation here in Redmond, and he's added some great WF content to the book.

If you want to get more details, you can find it here:

http://www.amazon.com/Windows-Communication-Foundation-Unleashed-WCF/dp/0672329484/sr=1-3/qid=1170008872/ref=sr_1_3/002-4228351-3336016?ie=UTF8&s=books

 

1/28/2007 6:36:01 PM UTC  #    Comments [0] - Trackback
CardSpace | Identity | REST | RSS | WCF | Web Services | WF
 Saturday, December 30, 2006

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.

 

12/30/2006 6:54:03 AM UTC  #    Comments [1] - Trackback
Xbox360 | Gaming | Wii
 Wednesday, December 27, 2006

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

 

12/27/2006 12:07:39 PM UTC  #    Comments [0] - Trackback
Web Services | Mash-ups | REST

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