Home > View Post

Feedback for your Smart Client

Inspired by Scott Hanselman's recent post called Measuring Satisfaction (about the cool 'Send a smile' feature that shipped alongside Office 2007 Beta) I've decided I want one. Yup, I've been working on a windows application (WPF and ClickOnce, naturally) for a while now and it would seem a missed opportunity not to include this.

Send A Smile

Send Feedback Dialog

I also love the idea of optionally sending a screen shot to help understand the feedback. Very neat. I want that too.

So, how is this going to shape out:

1. Rather than running as a seperate process in the tray we're going to be part of the main application by adding an extra 'Feedback' menu with an 'I like...' and an 'I dislike...' options. (Disadvantage: since we're in process the menu might be inaccessible if the UI is blocked by a dialog - but we have limited time and this is the quickest route to market. Also, this isn't Office and I think the notify icon route would be just too invasive).

Feedback Menu

2. We'll use WCF to send the feedback data (and screenshot image) back to a central server. We'll use MTOM encoding since we're going to be sending a reasonable amount of binary data.

3. The WCF host on the server will write the values to a SQL Server 2005 database and store the screen grab in a varbinary column.

4. We'll need a web application to access the feedback data (rudimentary, to start with). We'll use the ReportViewer control to allow us to quickly create a Report that can be viewed in ASP.NET. Note that we'll use a .rdlc report (the c stands for client) so NO Reporting Services server will be required. It will all happen thanks to the report viewer control and it will all happen on the server, no browser plugins required.

5. We'll also need to provide access to the screen grabs in the database and we'll create a handler to support this.

Stay tuned over the next few days as we look at the interesting pieces of the implementation.

The articles:

Tags: .NET

Josh Post By Josh Twist
7:47 AM
06 Aug 2007

» Next Post: Part I. Designing the Feedback Contract
« Previous Post: Dedicated thread or a ThreadPool thread. Or a Custom ThreadPool thread

Comments are closed for this post.

© 2005 - 2022 Josh Twist - All Rights Reserved.