Susan Warren's Blog

Sub Title

February 2004 - Posts

IssueVision != TaskVision

Just to beat back a little of the speculation, IssueVision is not TaskVision (the scenario is helpdesk vs task list  -- close but not quite ;-). 

I can tell you a little bit, however.  IssueVision an entirely new code base, quite a bit richer in terms of features, and more solid in terms of best practices for data, security, deployment and patterns in Smart Client applications.  We got a ton of great feedback from both RDs and Microsoft internal folks when writing it.

Some of the cool code snippets in it: 
- Observer pattern for coordinating multiple views of data
- Nice 'occasionally connected' data flow for switching seamlessly between online/offline modes (like Outlook 2003)
- Nice scheme for downloading incremental updates to data, and merging them with the offline cache
- Secure offline data persistence (binary serialization, DPAPI)
- Storing a connection string securely with DPAPI ~and~ setting per-user in during installation
- Installing .NET security policy
- Web services security, pre-WSE 2.0
- Storing user passwords securely using Hash and Salt
- AppUpdater deployment project

For the Full Monty, you'll have to check it out at DevDays ;)

Death of the browser? Again??

Just kidding :)  The browser is not dead by a long shot, for many many “reach” applications.  And yet...

First, a nod to Billie Hollis and his prophetic October 2001 article. Way back then, he nailed the big issue: many of the Web apps we build would be better for users as Windows clients.  But we make 'em Web applications because it's so much cheaper to deploy.

Now that I've abdicated my position as the “queen of ASP.NET” (as Tim Huckaby used to call me), I've started to give Windows client applications a fresh look. It took a couple years for me (and the platform) to catch up to the Smart Client vision, but now it's official -- I have sipped the coolaid (sweetened with future prospects of Avalon, ClickOnce, and managed Office development), and it tastes good!

Ever since Outlook 2003 landed on my desktop I've been grooving on smart clients... apps that work on the airplane just as well as in they do in the office, with great usability and zippy performance.  Ever since OWA 2003 landed in life I've been thinking: too bad it's still so hard to develop a great web application like that.

My team got the chance to do the deep dive into smart clients recently by authoring the content for the Smart Client track at the upcoming DevDays, as well as a new smart client reference application: IssueVision.  I learned a ton about just about every aspect of authoring smart client applications -- especially some very cool architecture and data patterns, and some great security/deployment tips.  One of the hangups I'd had with smart clients is that there seem to be at least 3 different choices for each basic design/ security/ deployment decision you face.  Well, for IssueVision, we drilled into just about every choice, and now I know which ones really work, and when.  :D

IssueVision is about as Outlook-2003-like as we could make it, and “just works” if the network is connected or not.  The scenario is pretty lightweight (online/offline issue tracking) but the application is chock full of those choices/tips we learned about.  The full source for the application (including setup, deploying security policy and post-deploy updates) will be available to DevDays attendees in VB, C#, and a couple other .NET languages.  I'm pretty proud of it :)

More Posts