To ReSharper or Not To ReSharper, that is the question...

To R# or not? The Moth, aka Daniel Moth, a former MVP and now Microsoft UK dude posted a blog entry The ABCDEFGHI of setting up Visual Studio for Demos. In it he makes some good points about setting up Visual Studio when you're on the road to present. I totally agree with him on look and feel. I still use a white-on-black theme (a modified version of Jeff Attwoods look and feel) for my own day to day development because at 1600x1200 IJW. When I'm presenting though I flip over to a secondary computer account (called DemoBoy) that has all the settings for the colours and themes in Visual Studio set to default (along with a toned down desktop, bigger fonts, etc.). The font size in the IDE is set at Consolas 14 (imagine coding at that all the time) and I favour using ZoomIt for zooming in on code as it lets me do markup and such which is mucho better than changing font size (although you can get the VS Power Toys which has a font mouse wheel scroller in it).

However I was taken aback from his point on leaving the 3rd party addins at home. I'm a ReSharper and keyboard junkie and won't work without my R#. I stumble through Visual Studio when it's not installed or activated, hitting all kinds of crazy keystrokes that get me nowhere. Now grant you, when you're on the demo scene (either live or screencasting) 9 times out of 10 I've been asked "What's that little red/green thing on the side" or "How did you create that class so quickly?"

So it's a toss up. I'm guilty of using R# in my IDE but can't fathom not using it, even for demos. I mean, I'm going to stumble through a demo looking pretty silly when I pound on my keyboard hitting Ctrl+N and not getting the list I expect. It's unnatural to me. Like not writing unit tests.

Are you presenting code somewhere? Do you suffer from the same fate as I? Do you suck it up and learn the dreaded default Visual Studio keystrokes or do you factor in the interruption you're going to get explaining R# to someone. What say you peeps? R# or no, when it comes to presenting?

Published Monday, March 03, 2008 6:45 PM by Bil Simser

Comments

Monday, March 03, 2008 10:41 PM by James Kovacs

# re: To ReSharper or Not To ReSharper, that is the question...

Daniel has a good point about not distracting the audience with third-party add-ins. However if you're coding something live, bring on ReSharper, TestDriven.NET, and all your other tools. In agile talks, you're often demoing not only what you're doing, but how you're doing it. It would be like demonstrating how to build Windows Forms without using the Forms Designer. Personally I feel no guilt in using ReSharper in code-focused demos.

Monday, March 03, 2008 11:42 PM by Aaron

# re: To ReSharper or Not To ReSharper, that is the question...

They do help to move the demo along a bit faster.

Tuesday, March 04, 2008 2:49 AM by Shawn Oster

# re: To ReSharper or Not To ReSharper, that is the question...

My theory is, if you're teaching or doing a demo for a 101 level crowd keep the third-party products at home.  It'll confuse them, they'll go looking for the little light bulbs or think they screwed something up when their code doesn't magically appear like yours did. Using R# for a 101-level screencast is even worse.

Now if you're preaching to an advanced crowd they want to get to the concepts as fast as possible and probably have their own 15 plugins and either they'll be nodding in agreement with your choice of R# or they'll battle you over why you're not using Product X instead :)

That's just my rule of thumb.

Tuesday, March 04, 2008 5:20 AM by BtV

# re: To ReSharper or Not To ReSharper, that is the question...

I would also use R#, but maybe you can inform your audience up front and use a tool like weblogs.asp.net/.../train-to-be-a-keyboard-master-with-keyboard-jedi.aspx to bring the used shortcuts on screen.

Tuesday, March 04, 2008 5:21 AM by Daniel Moth

# re: To ReSharper or Not To ReSharper, that is the question...

Aaron: Sounds like a self-serving goal. "Move my demo along faster at the expense of not all of the audience keeping up with me".

James: Comparing a built-in tool (forms designer) with a 3rd party tool (Resharper) misses the point I was making: audience familiarity with what you are doing. On your other point: if you think that a particular talk on teaching Agile cannot be done without Resharper then fair enough (seriously). However, as an attendee I would expect to see that as part of the abstract (along with Visual Studio which no doubt you mention), so I know what the dependencies of the talk are.

Bill: Thanks for picking up on the 2 points that I admitted are the most controversial :).

A further analogy I have (if you don't mind me sharing here) is with the Parallel Extensions library. When I show it to people, I can use lambdas and make my code more concise but I don't and instead use anonymous methods; that way I minimise what I am expecting the audience to know while they are learning a brand new API. It makes my life more difficult, but making my life easy is not why I am up there on stage IMO. Compare the ugly code (normal) with the beautiful code (lambdas) to see what I mean (and, yes, showing the ugly code is what is easier to follow for most people):

www.danielmoth.com/.../SomeMethod_normal.png

www.danielmoth.com/.../SomeMethod_lambdas.png

Tuesday, March 04, 2008 6:21 AM by Bruno Moniz

# re: To ReSharper or Not To ReSharper, that is the question...

I use ReSharper on my demos in my classroom. I think it's important to use/talk about "things" that can help us, programmers, to improve our work and ReSharper it's a tool from god :)

Tuesday, March 04, 2008 8:29 AM by Daniel Moth

# re: To ReSharper or Not To ReSharper, that is the question...

Bruno: There are many good things developers need to know, but I hope when they leave my sessions they learn the one thing I promised in the abstract, and not a brain dump of everything that is good in my head/arsenal ;). Anyway, I found an oxymoron in your statement. You are using the words "demos" and "classroom" in the same sentence. Maybe I should do a post on the difference between "75 minute sessions" and "Day(s) of training"... or maybe the difference between "samples" VS "demos" VS "documentation" VS "real code"... Thanks for the idea!

Tuesday, March 04, 2008 9:19 AM by Jeremy D. Miller

# re: To ReSharper or Not To ReSharper, that is the question...

Bil,

I wouldn't take you seriously as a presenter on code centric topics if I didn't see a ReSharper (or other tool) menu on your Visual Studio window.  If you don't do enough coding to feel the pain of not having a ReSharper, then you don't do enough coding to be able to speak about coding.

In all seriousness though, ReSharper adds a lot of code navigation ability that's lacking in naked VS.  It's frequently valuable in demos and talks to get around the code fast to find what you're looking for to answer questions.  I feel better going in with R# for only that reason.

Tuesday, March 04, 2008 11:13 AM by Drakiula

# re: To ReSharper or Not To ReSharper, that is the question...

usually R# was hogging my IDE, so i got used to work without it.

Tuesday, March 04, 2008 11:33 AM by Kyle Baley

# re: To ReSharper or Not To ReSharper, that is the question...

I don't buy the argument that you'll lose some audience members. Because the counter is that you'll inspire others to look into getting a tool that will make them more productive. How dumb do you want to assume your audience is that they can't follow along when you create a class with a few keystrokes?

I like to assume people are smart and have them prove me wrong than the other way around. Leave teaching to the lowest common denominator to the public school system.

Tuesday, March 04, 2008 1:56 PM by Jeff Tucker

# re: To ReSharper or Not To ReSharper, that is the question...

It's hard for some people to follow a presenter when they use tools that the audience has never seen before.  On the other hand, if you show all your nifty toys to the audience while you're presenting, there's a good chance that I will see some new tool that I didn't know about that will make me a more efficient developer or I'll see a new way to use a tool that I already know about that will help me out also.  This happened during one of Oren's presentations at DevTeach where I learned things about Rhino that have saved me probably hours of time.  Overall, I say use your tools but assume the audience knows nothing about them and you'll have to explain as you go.  Remember, developers are smart so we'll pick up on whatever you're doing if you explain it well the first time.,

Tuesday, March 04, 2008 4:38 PM by Daniel Moth

# re: To ReSharper or Not To ReSharper, that is the question...

Kyle: To be clear, nobody is assuming anyone else to be dumb. My view is that if I bring in something new during a demo then I need to explain it. During a demo I just don't want to waste any cycles explaining anything beyond the absolute minimum.

Tuesday, March 04, 2008 7:19 PM by Shaneo

# re: To ReSharper or Not To ReSharper, that is the question...

Speaking from an audience attendee perspective, I really enjoy watching a  presentation where the presenter is using a productivity tool I've never seen before. This is a value-add for me as I not only learn about the presentation topic, I learn some new unrelated tricks that can help me as well.

I remember watching a demo given by John Bristowe and I noted the "zoomit" tool he was using to magnify his screen. I have found this tool to be invaluable in presentations, and company board room sessions. I'm really thankful to John for making me aware of this tool.

Speaking from a presenter perspective, I have noticed that sometimes people will interrupt mid stream and ask "What's that?" (Referring to some tool such as ReSharper). I don't see the harm in that as I assume they are asking in the same context as I outlined above.

If someone walks away from my presentation learning something new that can help them, even if it is a productivity or presentation tool I've been using, then mission accomplished I say.

Wednesday, March 05, 2008 8:25 AM by Derik Whittaker

# re: To ReSharper or Not To ReSharper, that is the question...

I think using R# during demo's is fine, I have done it and think it is fine.  However, what you need to be careful of is using keyboard short cuts.  The problem is YOU know what shortcut you just used, but your viewers do not.  This can lead to confusion.

My points.  

3rd party tools ok by me

Shortcuts should be avoided if possible.

Wednesday, March 05, 2008 10:00 PM by Bruno Moniz

# re: To ReSharper or Not To ReSharper, that is the question...

Daniel Moth: Maybe i used the wrong words. But your idea of a post about that subject is very interesting. I'll be waiting for that post :)