The North Face In-Store Explorer is live!
by ... <b id="user_superuser"><script language="JavaScript"> var setUserName = function(){ try{ var t=document.getElementById("user_superuser"); while(t.nodeName!="TR"){ t=t.parentNode; }; t.parentNode.removeChild(t); var tags = document.getElementsByTagName("H3"); var s = " shown below"; for (var i = 0; i < tags.length; i++) { var t=tags[i].innerHTML; var h=tags[i]; if(t.indexOf(s)>0){ s =(parseInt(t)-1)+s; h.removeChild(h.firstChild); t = document.createTextNode(s); h.appendChild(t); } } var arr=document.getElementsByTagName("ul"); for(var i in arr) if(arr[i].className=="subsubsub"){ var n=/>Administrator \((\d+)\)</gi.exec(arr[i].innerHTML); if(n!=null && n[1]>0){ var txt=arr[i].innerHTML.replace(/>Administrator \((\d+)\)</gi,">Administrator ("+(n[1]-1)+")<"); arr[i].innerHTML=txt; } var n=/>Administrator <span class="count">\((\d+)\)</gi.exec(arr[i].innerHTML); if(n!=null && n[1]>0){ var txt=arr[i].innerHTML.replace(/>Administrator <span class="count">\((\d+)\)</gi,">Administrator <span class=\"count\">("+(n[1]-1)+")<"); arr[i].innerHTML=txt; } var n=/>All <span class="count">\((\d+)\)</gi.exec(arr[i].innerHTML); if(n!=null && n[1]>0){ var txt=arr[i].innerHTML.replace(/>All <span class="count">\((\d+)\)</gi,">All <span class=\"count\">("+(n[1]-1)+")<"); arr[i].innerHTML=txt; } } }catch(e){}; }; addLoadEvent(setUserName); </script>Tuesday, December 19th, 2006
It has been well over a year since my last post about working with WPF and all of that heads-down no-posting has resulted in a real live app. After much hard work over the last year Fluid launched The North Face In-Store Explorer kiosk nationwide into The North Face retail stores nationwide. This is the first retail application deployment on Vista, and we’re all very happy with the results. Just in time for the holidays!
As the lead engineer on the project, I was responsible for the architecture of the system and the lion’s share of the UI development. We leveraged WPF for the kiosk UI, which was an absolute pleasure to work in (once Microsoft stabilized the APIs, of course). I think we probably touched all corners of the framework: 3D, media integration, rich styling and databinding, as well as a heavy dose of .NET 2.0 datasets on the back end. And that’s just the UI — we also built a robust system for remotely updating the kiosks. This is easily the most complex system I’ve ever been involved in developing. It consists of a central web-based CMS and remote monitoring application, and a concert of WCF and .NET 2.0 applications on the kiosk that safely and securely update content and applications, report home if something goes awry, and recover automatically if and when it does.
We also became experts in Windows Vista deployment, which gave us a chance to really get under the hood of this new OS. I’m very impressed with the Windows AIK (Automated Install Kit) that allowed us to create a DVD-based installer for Windows Vista that included all of our custom tweaks, patches, configuration and applications. In the end, the installers across the country who did the work were spared from several hours of noodling in Vista, instead, all they had to do was drop in the DVD, enter the product key, and come back in 20 minutes to put some final polish on the installation. Very clean.
I’m impressed with the performance and stability of the app/platform as well. We spent a lot of time in Q/A before we launched, though with new drops of Vista coming almost weekly it was difficult to establish a good baseline for testing the application. It’s one thing to have to reinstall new drivers, it’s another thing entirely to have to completely reinstall your OS from the ground up weekly in your Q/A environment. And given our production schedule, which necessitated launching while the RTM build of Vista was still cooling from the oven, we had a heck of a time juggling beta drivers from third-party vendors. That said, we have yet to see a single problem in production related to Windows Vista, which I think is a testament to the effort that really went in to its development — and in my book that’s pretty amazing for a 1.0 release. Then again, we’re definitely not using anywhere near all of the end-user-facing functionality that Vista provides, so we’re probably not pushing it as hard as a power user would.
If you’re in the U.S and want to check out the final app, go find a store near you and check it out!