rmurphey Adventures in JavaScript

On Choosing a Syntax Highlighting Scheme for Your Next Presentation

29 Nov 2012 edit

This is a projector screen:

You will notice that it is white, or some reasonable approximation thereof. It is probably made of a reflective material that sparkles a bit when light shines on it. Still: white.

Do you know what color this screen is when you use a projector to display this image onto it?

It is still white. Crazy, I know! The thing is, projectors cannot project black; they can only not project any light on a region that you intend to be black.

Chances are you are reading this on an LCD screen of some sort, where the rules are completely different: they usually start out essentially black, not white, and pixels are brightened as required. The pixels that start out dark can generally stay pretty dark.

On a projection screen, on the other hand, the appearance of black is nothing more than an optical illusion, made possible by the projector projecting brightness everywhere else.

What does this mean? Lots of things, but in particular, it means that you should never, ever, ever use a color scheme with a dark background -- no matter how high-contrast and good it looks on your monitor -- if you will be presenting using a projector that is projecting onto a white screen. At least, assuming that you intend for your audience to be able to actually read the code.

Presentation Color Schemes That I Have Loved

  • Ben Alman's TextMate Theme: Ben has tailored this to be incredible for presenting about JS code.
  • Tomorrow Theme: The light-background flavor is decent, but could probably stand to be higher-contrast, at least for some languages.