Author Archive

The North Face In-Store Explorer is live!

by Darren David
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!

One FlashGeek’s experience with WPF

by Darren David
Friday, September 23rd, 2005

Having just finished up a 3 month stint building out our proof-of-concept kiosk for The North Face, I figure it’s time to kick down about my experience. So I’m a Flashgeek - I’ve been working with Flash since Flash 3 and pretty much learned everything I know about programming from my code mentors ( you know who you are ) and dabbling in ActionScript. AS2 is ( was! ) the closest I’ve ever come to a strongly-typed language. That said, AS2 is still pretty loose with what’s allowed, and there are still a lot of gotchas that only come from having pulled yourself up by the bootstraps with the rest of the Flash development community.

Don’t get me wrong, I love Flash. I think in ActionScript. Knowing the happy and dark spaces of a platform makes you that much more efficient — and it lets you concentrate on architecture instead of chasing problems all day. So what about WPF? It’s, well, “liberating”, to say the least. C# is very elegant. XAML is a bit verbose, but when it comes to layout and styling it’s top notch. Visual Studio is the IDE that eclipse dreams of becoming one day. Compile time is fast, debugging support is powerful, and the .NET framework is *immense*. Imagine not having to roll-your-own . Results come quickly. The WPF API is well-thought-out and the layout manager makes setting up flexible UIs super simple. And the designer/developer split really exists. No more unmergeable binary files or “over-the-wall” lobs from design. You can literally start prototyping when IA is complete and let skinning exist on a separate thread without compromising logic. Imagine when IA starts working in Expression ( or similar)!

So what /didn’t/ I like? Well, the most frustrating thing was coding against a moving target. We were getting code drops every 3-6 weeks, often with breaking API changes. Perf still really isn’t there, but for the TNF POC we were definitely pushing the boundaries of the platform. It’s not always obvious /how/ to do something - the SDK is not totally complete with code samples — we couldn’t have done what we did without good hands-on support from Microsoft.

Oh, and it only runs on Windows. For now. But heck, it’s still in Beta, and they have 14 months ( Nov 2006 methinkst? ) to sort out all of these issues.

Honestly, the pros seriously outweigh the cons. If you know Java or AS2 intimately, it’s really just like learning how to speak with a different accent. And some phrases in your vocabulary have been shortened to single words ( imagine never writing another XML de/serializer again - just feed it an XML schema and let .NET create typed objects for you. In like 3 lines of code! drool…. ). Seriously, though, I wonder if I’m more amazed because I’m an AS2 developer who has never used Java - it may be less exciting for you J2EE geeks. But hardware accelerated 2D and 3D? Put that in your Swing and smoke it! ;)

maybe that’s more like $0.03.

I can’t wait to see how Flex 2.0 ups the ante, it’s looking really nice so far.