What I'm trying to do is present transient highlights, circles, and annotations to draw attention to certain things while I talk. I'm not particularly interested in keeping these after the lesson is done, but I do need to be able to make the marks and remove them fairly easily. Also, it would be very useful to be able to draw with alpha, since part of what I'm looking for is a 'virtual highlighter pen'.
The four applications that I've been looking at are:
Each has their own strengths and weaknesses for this kind of dynamic annotation task. Let's take a look.
Desktastic has been around for a while, and is pretty minimalist in its intent. It has a line tool, a text tool, stamp and eraser. It also supports a couple of levels of opacity, although the maximum line width isn't quite large enough to make a good highlighter effect. For getting rid of everything quickly, there's a 'clear' button too.
Importantly for this task, Desktastic allows one to draw over the top of all other windows. For my needs, Desktastic works pretty well. Its feature set is perhaps slightly too minimalistic, but it will do the job.
FlySketch is a nice little app from Gus Mueller. Compared to Desktastic, FlySketch has a wealth of features. Its biggest problem, for this application, is that it can't run in an 'invisible mode', by which I mean that you can't hide the FlySketch UI and just have a clear screen overlay to doodle on.
What you can do with FlySketch is reduce the opacity of its window canvas area to zero, to give the impression of drawing on top of the other applications. However, you still have to manage bringing FlySketch to the front and deal with the possibility of the non-transparent parts of the window will occlude whatever you're talking about.
OmniDazzle is marketed as a screen highlighter, special effects generator and cursor locator. I've been pretty sceptical of OmniDazzle in the past, but it turns out to be really quite nice for this particular application, particularly the 'Scribble' plugin.
Scribble lets you define four different pens (combinations of line width and colour) and select them with ctrl-1 through ctrl-4. Ctrl-` clears the screen. My only complaint here is that OmniDazzle lets you define colours with alpha, but doesn't actually draw them with alpha on the screen (at least on my MacBook's Intel GPU). That rather lets down the 'virtual highlighter' application, but that's not the end of the world.
Skitch is a bit more like FlySketch in that it's really about making annotations on top of static images. Both of these apps are not really in quite the same game as OmniDazzle and Desktastic, but I thought they were also worth a look.
Skitch has some great integration features with the online world - primarily myskitch.com and Flickr - but my main interest is in dynamically annotating a live screen, rather than producing annotated static screenshots. Skitch and FlySketch both have better drawing tools than either OmniDazzle or Desktastic, but they're not as transparent as I need them to be for this application.
The winner so far? Although it's not perfect, it's got to be OmniDazzle.