Susan Warren's Blog

Sub Title
IssueVision source code available
Wow, finally.  What with all their great work on Whidbey it took the Windows Forms team a while to find the time, but they have finally released source code for IssueVision!  You can download the source code from the site:
Diversity is a choice

A (female) friend sent me a link to this blog entry:, and I had to comment. 

Not to beat up Rob at all, I agree with him that quotas are unfair.  But I think there is a real issue around diversity in technology (and most other places in life).  I tend to think of it as the PLU problem.  Folk (including MVPs) tend to connect best with folks most like them ("People Like Us").  In this case, male MVPs pick other men to become MVPs.  It's just human nature.

As one reply notes, diversity is good.  I'd go as far as to say it's awesome, amazing, priceless.  But it's hard to get to -- the classic chicken and egg problem -- if you rely on your natural tendancies alone.  In that case, if you want more female MVPs to be invited you need more female MVPs.  If you want more Asian-American MVPs to be invited you need more Asian-American MVPs, etc.  And the (cheap) way to break a new group in is via quotas.

IMO, building diversity via quotas is bad because they are unfair.  Educating folks on why diversity is awesome and how to build it is the right way to go, but also far more costly.  Hopefully conversations like the one on Rob's blog help the MVP community understand how diversity happens a little better.

Diversity != Quotas
Diversity is recognizing that your natural human tendancy to favor PLU is cutting you off from a lot of great ideas, and doing something about it.

That's my 2 cents, as a female technologist working exclusively with Microsoft technologies.  BTW, no one has ever asked me to be an MVP... does that mean I'm not up to snuff technically?  I doubt it. ;-) 


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

Snacking at the .NET buffet

OK, I promise this is the last 'about me' post -- next ones will be about technology ;)

Among the many nice responses to my first post was the question “Are you still working with .NET?”  The answer is: most definitely yes.  While I'm no longer delving deeply into a single technology like ASP.NET, I work with .NET technologies every day -- pretty much to the exclusion of all other technologies.  So far, here's what I've sampled from the .NET buffet in my new role:

VSTO (Visual Studio Tools for Office).  I lead a team here at Vertigo to create a document workflow sample in Word 2003 and VB.NET.  The data and a part of the process for the workflow is hosted on, and accessed using their free sforce Web services toolkit.  The sample itself was featured at the VSTO launch in October, and can be test-driven on the hosted VS.NET experience site.

Smart Documents.  We did a second version of the same workflow sample, using the technology in Office 2003 called Smart Documents.  This provided some enhancements in the end-user experience, but was quite a bit harder to implement from the .NET developer perspective.  (We implemented a .NET wrapper for the ISmartDocument COM interface to make this code a bit more reusable.)  This sample will be demo'd Monday in Marc Benioff's keynote at the developer's conference in San Francisco.  Watch the sforce site next week for access to the bits.

SharePoint 2003.  Anyone who has used the newest sharepoint can tell you it's a lot mo' better than SPS 2001.  A LOT.  I hate to sound like a fanboy, but this has actually become a tool I use every day.  It's great for small teams, and dead easy to customize the common stuff using the web interface.  And for the not-so-common stuff, there's ASP.NET :)

And more...  I'll start to post about the other technologies I learn about 'em.


Where's Susan?

After a long break to deal with health issues (bleh, 25 years of my sleep-under-the-desk workstyle finally took a toll), I'm back in the saddle.  And working hard to learn a more sustainable work-life balance.  Wish me luck, hehe ;)

But where?  Well, I've joined Vertigo Software in Point Richmond, Ca. as a Senior Software Engineer.  The work is exciting and fulfilling (as it was at Microsoft), and the sunshine doesn't hurt either.  Best of all, however, is that my family is just a few minutes away and I walk to work.  Can't beat that!

My new business card:

Susan Warren, Senior Software Engineer
Vertigo Software, Inc.
51 Washington Ave.
Point Richmond, CA 94801  
desk     (510) 307-8230


More Posts