Title Image

Don Xml's Grok This

The home of Don Demsak
Welcome to Don Xml's Grok This Sign in | Help
in Search

This Blog

Syndication

Site Sponsors

DonXml's All Things Techie

Just Say No to Console App Demos

It is a major pet peeve of mine; presenters that use Console Application Projects to demo some non-UI code.  That’s so 1990’s.  So, what should a presenter use?  Well, Test Projects, of course!  It is something that I think should be added to Scott Hanselman’s 11 Top Tips for a Successful Technical Presentation (it sort of fits under Tip # 8).  At one time, when I would approach a known speaker about using Test Projects, the typical answer was that the majority of .Net developers don’t install NUnit, and MSTest is only available in Team System, so they would be using a tool that the masses don’t use.  My reply was that more developers should be using Test Projects, and we as presenters could influence them if we would just use them in or demos.   Well, now that MSTest is now available in everything but the Express versions, that excuse is shot.  So, it comes down to old habits, and those are hard to break without a little incentive.  To provide that incentive, what I’d suggest that you do is the next time you are in a session where the presenter uses a console project to demo some code, when you fill out the eval form, leave a comment that would would prefer that they used a Test Project instead of a console application.  As a tech presenter, I really appreciate constructive comments from attendees, and I’m sure that if the presenter got enough requests to use Test Projects, they will make sure to get comfortable using them instead of console apps in their demos.

I’ll be at PDC 2008, and I’ll be looking out for presentations that use console app demos, making sure to leave a comment in the eval.

Published Friday, October 24, 2008 8:51 AM by donxml
Filed under: ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Keith Elder said:

Console apps are perfectly fine if it is the right tool for the job. It boils down to using the right tool for the job. We can discuss this at PDC in more detail. If your argument held water then shouldn't we see a huge usage in Console apps if so many presenters are using them? My point is, it really doesn't matter what we use to do a demo. The point of the demo is to communicate the concepts of the talk. If that can be communicated more clearly with a Console app then that is fine. As presenters we should never say *use this always*. It never works in technology. Tests projects don't produce output and that's why they fail on many levels. I personally find the best way to demo something is use a WinForm. You can still write your tests to check your libraries but users like to see a UI, they like to see code done in a real world scenario type of application, not just unit tests. Using a WinForm is quick to get up and running and also provides the ability to change values quickly and see different results. As presenters we should always strive to cover the material not just one way but as many ways as we can.
October 24, 2008 7:28 AM

Mike Moore said:

Link bait! You got me, I totally thought you were going to make a different point. For what it's worth, I agree with you. Showing your tests would be more interesting than a shallow demo project.
October 24, 2008 7:36 AM

Peter Provost said:

YES YES YES!!
October 24, 2008 7:48 AM

Jim Bonnie said:

I agree 100% and think that Keith is missing the point. Test runners DO allow console output to be shown, so your argument stands up 100% when you say use test projects instead of console apps. Of course if you are demo'ing winforms or asp.net then use them, but test projects can still fit there as well :) As far as versions, with VS2008, test Projects are not supported in the standard edition, but they are in the professional edition and above. Boy was I surprised when they handed out standard editions of VS2008 at the launch event, and I could not open VSTest Projects.
October 24, 2008 12:12 PM

James Curran said:

I agree. I've often tried to get people to dump WinForm (or sometime even WebForm) apps in favor of Console app when they were demoing some simple concept, on the theory that that the 10% demo code was being lost in the 90% boiler plate code. With a Console app, it's 90% demo code, 10% boilerplate. Now, if I were to switch to a Test project, we could get it done to about 99% demo code, 1% boilerplate.
October 27, 2008 9:26 AM

Pipp0 said:

Ok, but 1) how do you pass parameters easily to a test project using MSTest?, and 2) how do you generate output easily from a TestMethod? and by 'easily' I mean not adding code that is not demo code...
February 26, 2009 10:11 AM

donxml said:

@Pipp0 - a test is very specific so you don't "pass in parameters" they are hard coded as part of the test.  As for Output, the only output you need is Pass/Fail (Green/Red) in the Test Resutls.  You don't use your eyes to validate that something "works", you use Assert statements in the test.

Just think of it as a way of making the implicit stuff you are doing explicit.

February 26, 2009 11:09 AM

abe said:

I go with Keith on this. The concepts are more important. Just as important is understanding the audience and adding value. Most people do understand console apps. not everyone understands unit tests. It would be great if they did, but they dont.
May 14, 2009 12:53 PM

Leave a Comment

(required) 
(optional)
(required) 
Submit

About donxml

I’m an independent consultant, specializing in .Net solutions architecture, based out of New Jersey who also doubles as an evangelist for XML, Domain Driven Design, enterprise architecture and .Net. I do not work for Microsoft, the W3C or any other big company that you may know of (at least not yet). I’ve been an indie for over ten years, and although I’ve been tempted a couple times to take a job with companies like Microsoft, I’ve haven’t found something better than my current situation. I work mostly with the large pharmaceuticals that are based here in New Jersey, and usually find myself on long term contracts. Definitely not the prototypical indie consultant, but it lets me dedicate time to my non-income generating activities like the developer community stuff, plus financing open source projects like XPathmania and MVP-XML. If you would like to talk to me about doing some contract work, just contact me via the contact page. My rates vary widely, depending on lots of different variables, but mostly distance from Jersey, and type of work. Plus, I’ve been known to donate some of my code for various projects.
Powered by Community Server, by Telligent Systems