[Update: There's a huge, awesome update to this story, so be sure to scroll all the way down.]
I'm probably just getting philosophical in my old age, but how 'bout we, as speakers, change our terminology regarding whether we are selected to speak at an event:
This got me thinking a bit, particularly since I wrote about the topic earlier this week: Rejection Gets Harder (Not Easier). What can we do to change our perceptions to make this process more productive?
Words Have Meaning
It seems like I've run into a number of different examples of how the words we use change the perception of the situation. A big example is the difference between "Sorry" and "Thank You".
When you keep someone waiting...
Don't say, "Sorry I'm late." Instead say, "Thank you for waiting."
This changes the tone of the statement and injects gratitude into the relationship. The same thing is true when a speaker thinks about being "accepted" or "rejected" for an event. These words have meaning that may not really apply.
Let's look at an example, let's say that I decide to play Xbox. I've got a number of choices:
If I choose to play "Zoo Tycoon", I'm not rejecting "Batman Arkham Knight" or "The Witcher 3". I'm selecting the item that best matches my current needs (whether relaxation or catharsis), and I can only accommodate one selection. The other items just remain unselected. (Of course, I may decide to forego Xbox and watch "Rocky and Bullwinkle" instead.)
"Rejected" implies that someone made a conscious choice to exclude you from the selection process. This translates into "We don't want you." This may be true in some cases, but the vast majority of events get way more submissions than they can possibly accept.
"Not Selected" implies that other choices were made in preference. This may mean, "We really like you, but we don't have space for everyone."
A Speaker Problem, Not an Event Problem
The terminology of "accepted" and "rejected" is not coming from the events themselves. I think that events go out of their way to avoid the term "rejected". Here's an example from a recent event notification that I received (and I've got lots of examples):
"We regret to inform you at this time that your papers were not selected."
This is pretty common, but we as speakers tend to translate this into "rejected".
Change Your Words, Change Your Thoughts
As I mentioned in the previous article, it's really easy to take rejection personally even though it isn't personal. But by changing how we refer to things, we can change how we think about things.
I'll be the first to stop using the word "rejected". I will now say that I wasn't selected. I know that I'm good at what I do. I know that my talks are useful. But I also know that there are other speakers and topics that are better fits for a particular event than I am.
And that's okay.
Huge, Awesome Update
This topic had been on my mind for a while. A couple of events that I have submitted to use PaperCall.io to collect submissions and handle selection. I noticed that the site used the term "rejected", so I tweeted about it.
To my huge surprise, PaperCall.io responded within just a few minutes of the tweet:
Then 2 hours later, they implemented the changes (tweet link):
I immediately went out to my profile, and found that the updates were already in place (I had grabbed a screenshot from before the updates were made):
A big thanks to PaperCall.io on getting on board with this idea and jumping on it so quickly. This is really amazing.
When starting out as a speaker, you get a lot of rejections. It takes a while to get used to, particularly because you're never quite sure why your submission was rejected. I don't take it personally (at least that's what I say publicly even though it does feel a bit like a personal rejection).
Different events have different priorities: sometimes they are looking for particular topics, sometimes they are looking for particular speakers, sometimes they put preference on local speakers to build the community, sometimes they are looking for brand new sessions, sometimes they are focused on a particular audience.
You generally don't get feedback for a rejection. (I don't think I've ever received feedback from a rejection.) Many times events get so many submissions that they can't go through and say why a particular session was *not* selected. Often times, it's just that they have too many submissions for each slot, and you're number 105 when there are 100 openings.
Look to the next event on the list, trust that you'll find the right audience, and keep moving forward.
When you're first starting out, this isn't as big of a deal. Yes, it hurts when someone says "no". But it's also pretty much expected, particularly when you don't have much of a track record.
Fewer Rejections
Something I didn't expect is that rejection has gotten harder as I've been accepted at more places.
Here's why: early in my speaking journey, I would submit to a lot of events, and I would get selected for a few of them. It was really easy to double- or triple-submit for a particular time frame because there was no way that I would get selected for more than one of them.
But I hit a turning point, and I started to get more acceptances than rejections. I actually ran into a problem with this last year. I was accepted to two events for the same time period, and I had to decline an acceptance. (I actually had to do this twice.)
No More Double-Submissions
After this happened to me, I stopped double-submitting. This is because I know how difficult it is for a selection committee to get a line up that works well for their event. When someone backs out, it leaves a hole that they need to back fill.
In order to make sure that doesn't happen, I no longer submit for more than one event for the same time period. Often I don't submit for two events that are back-to-back so that I won't be too tired from attending multiple events during a single trip. (I did this one time last year; it was a great experience, but I was exhausted. It's not something I want to do again.) This is especially important since I am committed to being present at events, and I want to be able to talk to as many people as possible.
Picking the "Right" Events
So now comes the hard part. Now I have to select which events I'm going to submit to. This means picking one event over another (and sometimes over two others). And that makes each rejection that much harder.
For example, last year I submitted to a particular event that I was pretty sure I was going to get in to. There was another event that I really wanted to speak at as well, but the dates overlapped. Well, I submitted to the first event (and not the second). There were a couple of reasons for this decision (including travel cost), but I got rejected from the first event. That left a gap in my schedule, and I was left wondering if I had made the wrong decision.
Finding the Right Audience
In my particular case, I have a pretty specific focus: I deal with mid-level language features and patterns. You can look through my presentation topics to get an idea of what that is. These are core skills that are important for developers, but they aren't new or shiny.
No Feedback
It is difficult when you don't get feedback from an event. For example, if I knew that an event was only looking for fresh topics that haven't been presented before, then I would know that I'm not a good fit for that. If I knew that an event was focused on "what's new", then I would know that I'm not a good fit for that. Some events put this in their descriptions, but many do not.
"Wrong" Decisions, New Opportunities
The end result is that I do make "wrong" decisions, but those sometimes work out for the best. For example, remember the event I mentioned above where I got rejected? Well that opened up additional time for another event I was already scheduled to attend. Because of that, I was able to add a workshop for that event, and I got some good experience with a full-day format.
I've also received a rejection from an event I was planning on speaking at this summer, and I chose not to submit to another event in order to leave space for it. It was hard to get the rejection, but I think it will all work out for the best. I have some changes coming up in my life and having some free time during the summer is probably just what I need.
Rejection Gets Harder
When I have to pick among three events for a time period, I never know if I'm making the best decision. For the events that I know, I can make a pretty intelligent choice (Yes, this is the right audience for me. No, I don't quite fit in with what they are looking for.) But for the events that I don't know, I have to take a gamble.
As someone who loves to speak, I hate to miss out on opportunities. At the same time, I'm better off speaking in front of the right audiences.
This is one reason why I asked people to contact me if they want me to come to their events. If someone wants me at their event, then I know that I'll probably have the right audience. This makes it easier for me to prioritize things on my schedule.
The good news is that I have gotten to know a lot of event organizers. And I've also managed to build a good reputation at the events I've spoken at. This has opened up a lot of opportunities for me.
No Second Guesses
Ultimately, when you're rejected from an event, you have to accept that you won't know why. And it's really easy to second-guess reasons. But don't do that.
Instead, look to the next event on the list, trust that you'll find the right audience, and keep moving forward.
This is normally where I would put my speaking engagements for February, but I don't have any. I'll be taking a bit of time off instead.
So let's take a look back at January.
A Look Back
I had the great opportunity to go back to NDC London this year. I had an amazing time. It was really great to catch up with friends from all over the world and also make some new friends.
I gave 2 talks. The first was Get Func<>-y: Delegates in .NET. I had a good group in attendance, and it seemed to be well received.
Thanks for the great picture (although it does make me look like a bit of an evil genius).
My friend Dave Fancher (@davefancher) was also there (direct link):
I also got some nice nice compliments on the talk:
I also got some great comments a week later:
My second talk was Focus on the User: Making the World a Better Place. These were the brave folks who came to the first presentation of the day the day after the event party. So I knew they were serious.
Liam Westley (@westleyl) was nice enough to point out that I tend to stand like a teapot. Based on the pictures from Twitter, it's kind of hard to deny that.
And thanks to Andy (@Pondidum) for this nice comment (direct link):
Recordings from both of these talks will be posted in the coming months. I'll be sure to post the links when they're available.
In addition to the presentations, I had a ton of great conversations. I got to catch up with some folks who I haven't seen for a while. I got to see some of my friends from Europe. And I met some new folks. I had some really great conversations on a huge variety of topics. That's one of the best parts of going to any event.
Sightseeing in London
I also had 3 days to spend in the city. London is one of my favorite places. There is history everywhere, you can walk around and find interesting stuff without even trying, and I really like riding the underground.
Here are a few pictures:
"Sophie" (at the Natural History Museum) is the most complete stegosaurus ever found. Considering that I've also met "Sue" (the most complete T-Rex), I think I'm starting to build a collection.
The Victoria and Albert Museum was amazing. And it included this sculpture. How do you even do that?!?
I spent time in Regents Park, the London Zoo, and Hyde Park. One of the highlights was visiting Speakers Corner in Hyde Park.
This is a place where people get on a soapbox and talk about whatever they'd like. This was a really interesting experience. The topics were varied, the people were interesting, and the dialogues made you think. There was also a bit of humor as people listening threw in their own comments.
I had many other adventures in London (and took over 500 photos). I'm looking forward to going back in May for SDD 2017.
A Look Ahead
Even though I don't have anything scheduled for February, I do have a few events in March. On the 18th, I'll be at the Boise Code Camp in Boise ID. Details are still pending. I've heard great things about this event, and I've wanted to go for the last 2 years. So I'm really glad that I have the chance to get there this year.
At the end of the month, I'll be in Las Vegas NV for dotNet Group.org. I've been to this group several times, and I'm glad for the chance to go back. Keep an eye on my website for more details.
You can always check my website to see what's coming up.
Remember, if you'd like me to be at your event this year, be sure to drop me a note. I already have 16 tentative events planned. I'm not sure how many I'll be able to fit in this year.
October has been crazy busy. I was on the road for 19 days, but it was totally worth it. November is a bit slower (although I'll still be out and about a bit). I've got 2 speaking engagements coming up in the Phoenix area.
Wednesday, November 16, 2016 North West Valley .NET User Group
Glendale, AZ Meetup Site
o Topic: Practical Reflection in .NET
I always have a great time when I'm in the Phoenix area. This time around, I'll be talking about how reflection is useful to everyday developers. Reflection is a very powerful tool, but if you aren't creating developer tools or frameworks, it seems to be of limited use. But there are a few elements that we can use to make our code easier to extend. We'll look at dynamically loading business rules in a system and see that it takes very little actual code. Cool stuff.
Thursday, November 17, 2016 South East Valley .NET User Group
Chandler, AZ Meetup Site
o Topic: Abstract Art: Getting Abstraction "Just Right"
Abstraction is another topic that has been very important in my world. When I talk about interfaces and dependency injection (especially), I show how abstraction can make our world a better place. But if we take things too far, we end up with code that is hard to debug and maintain. We'll work on finding the right balance of abstraction in our code, so that we can get things "just right".
A Look Back
October was really busy, really fun, and really exhausting. But I'm glad that I did it. The month started out with a trip to the Silicon Valley Code Camp. I talked about this previously.
The following week, I did 3 talks at the Desert Code Camp in Chandler AZ. I've been to this event 8 times, so I was really glad to see it come back this year. Here's a picture of me talking about unit testing:
In addition, I got to make a stop at Organ Stop Pizza. They have an amazing organ that you have to see to believe:
A couple weeks later, I headed to St Charles MO for Dev Up. This was my first time at this event, and I had heard really great things about it. My presentations on design patterns and dependency injection were a lot of fun. Sorry, no photos of me speaking, but I do have a photo of me with some of my speaker friends at the attendee party:
Guess which one is me.
From there I headed to Des Moines IA for Prairie.Code(). This was a great event. If I hadn't known, I never would have guessed that this was a first-time event. Not really hard to believe since it was put on by the same folks who do the really good Nebraska.Code() event.
Thanks to Heather Downing (@quorralyne) for the great picture of me in my over-caffeinated shirt during my Clean Code talk.
I also had a couple days to spend in Des Moines. This was great for me since it was my first time in Iowa. I got to the world's largest truck stop, the zoo, the art museum, and the sculpture garden.
Upcoming Events
I'm not going to be standing still for very long. Next week, I head to the Microsoft MVP Summit in Redmond WA. This is a chance for me to spend time with a lot of my friends from all over the world. I wish I could see them more often.
In December, I'll be speaking at Visual Studio Live! in Orlando. I've got 3 talks scheduled, including Lambda Expressions, Unit Testing, and Task & Await. These are all things I love to talk about, and I'm really looking forward to being a part of this event again.
In January, I'll be heading back to NDC London. I'm really excited about getting another opportunity to speak here. I'll be giving 2 talks, one on delegates in C#, and one on making the world a better place by focusing on our users. It should be a great time.
The hard part about all of this traveling? It's looking at things like this:
My cats have been seeing me leave quite a bit. I just got back from an 11 day trip, and they really missed me (which must be really bad because cats normally don't show that).
I'm not sure how busy my schedule will be next year. I'm trying to balance the travel (which I love) with getting enough rest (which doesn't happen when I'm on the road). I'm still playing things by ear at the moment. I'm sure I'll get the hang of it soon. See you at an upcoming event!
I was honored to be awarded with a Microsoft MVP (Most Valuable Professional) for the 5th time. This is in recognition of my contributions to the developer community including my speaking, blogging, and videos.
This is a great opportunity for me because it opens up access to some of the inside information in the Microsoft world -- including the ability to give feedback and influence future releases of Visual Studio, C#, and other products.
In addition, I get to spend time with the other folks who have been awarded the Microsoft MVP. I've developed a ton of friends in this area. Next month is the annual summit where I get to spend time with lots of these folks (many of whom I haven't seen for a year).
I'm also excited to see some of my speaker friends get awarded for the first time this year including Spencer Schneidenbach (@schneidenbach) and Matthew Renze (@MatthewRenze) - and I know that there are others that I'll be happy to see at the summit.
October started out a bit busy, and things are going strong through the end of the month. Don't miss your chance to join me for a full-day workshop in Des Moines, IA. And feel free to contact me if you'd like me to bring a presentation or workshop to your company.
Saturday, October 8, 2016 Desert Code Camp
Chandler, AZ Website
Topics:
o I'll Get Back to You: Task, Await, and Asynchronous Methods
o Clean Code: Homicidal Maniacs Read Code, Too!
o Unit Testing Makes Me Faster: Convincing Your Boss, Your Co-Workers, and Yourself
I'm really looking forward to heading back to the Desert Code Camp. It's been on hiatus for a couple years. I've had a great time there in the past, and it looks like it's coming back with a bang: lots of great sessions and speakers. It should be a lot of fun.
Thu-Sat, Oct 20-22, 2016 Dev Up
St. Charles, MO Website
Topics:
o DI Why? Getting a Grip on Dependency Injection
o Learn the Lingo: Design Patterns
This will be my first time at Dev Up. I've heard some great things about this conference, and I'm looking forward to being a part of it this year. It will be my first time speaking in the St. Louis area, so I'm looking forward to meeting a lot of new people, too.
Wed-Fri, Oct 26-28, 2016 Prairie.Code()
Des Moines, IA Website
Topics:
o Getting Better at C#: Interfaces and Dependency Injection - Full-Day Workshop
o Clean Code: Homicidal Maniacs Read Code, Too!
o Design Patterns: Not Just For Architects
This is a brand new conference in Des Moines. The good news is that it's being put on by the same organizers of the great Nebraska.Code(), so I'm looking forward to a great time. I'm happy to be part of the inaugural event, and it's sure to get better each year.
A Look Back
I've had a busy September, and it's been a great experience. I had a great time in Omaha at AIM hdc (you can read some more about the keynote I gave: "User Driven Development" at AIM hdc).
Keynote at AIM hdc
In addition, I went to the Silicon Valley for several events. First, I spoke at the SouthBay.NET user group in Mountain View:
Jeremy at SouthBay.NET
There was a good crowd, and there was quite a bit of interaction. I got to talk about asynchronous programming, and that always stimulates conversation as we try to better understand the hurdles we need to get over.
Then I did a full-day workshop as part of the Code Stars Summit:
Jeremy at Code Stars Summit
We had a small group, and that was really good for conversation. We were able to talk through problems and look at specific examples that related to situations that folks had faced in their own development.
Finally, I gave two presentations at the Silicon Valley Code Camp:
Jeremy talks Interfaces at Silicon Valley Code Camp
Jeremy chatting before starting a presentation on Asynchronous Programming
This is my 5th year at the Silicon Valley Code Camp. It's always a fun event with tons of people, tons of sessions (usually 20 choices during each time slot), and tons of interesting conversations. I was happy to be a part of it for another year.
I'm looking for more great events. It's a lot of time on the road, but it's been totally worth it.
I've had a few people ask me about recording live presentations recently, so now's a good time to talk about how I do it.
I've been recording my presentations for about a year and a half now. There are a couple of reasons why I've wanted to record myself speaking:
By watching myself, I can learn my quirks that I don't notice. This helps me improve my speaking technique.
I can put together clips of me speaking to create a promo video to help get me more speaking opportunities. (I never did this because I had some great professionally recorded videos to showcase before I got around to completing it.)
I can post recordings that come out well to my YouTube channel.
I have fully-produced two talks so far. This is from April 2016 (Central California .NET User Group, Fresno CA):
And this is from March 2015 (Nebraska.Code(), Lincoln NE):
So here's what I've done. It's not professional quality, but it gets the job done for what I was looking for.
Sound Quality is King
One of the most important things about recording live presentations is making sure that you have good audio. If there is echo-y sound that's hard to understand, no one will watch the video. I've passed up watching videos of people I really wanted to hear just because the audio was so distracting. This problem actually kept me from recording my presentations for quite a while.
For a previous discussion on the importance of audio quality, check out my article on screencasting: Jeremy's Screencast Production.
Record Audio Separately
Don't rely on the camera or your computer to pick up the audio. Record the audio separately. I use a Zoom H1 digital recorder (Amazon link) that I'm very happy with:
This has a built-in microphone array which would be good for recording interviews or something where you don't move around a lot. For my presentations, I pair this with a Sony ECMSC3 lapel microphone (Amazon link):
This is an inexpensive microphone, but the quality is surprisingly good. I can clip the microphone to my collar and stick the Zoom recorder in my pocket.
Note: If you take this approach, make sure the microphone is plugged in all the way to the recorder. I have a couple presentations that are nothing but a recording of the inside of my pocket.
What I Like
I am happy with the results of the Zoom recorder. It runs on AA batteries and records to a micro-SD card. Battery life is very good, and 2-1/2 hours of audio takes about 1-1/2 gigs of space (which isn't much when you can buy 64 gig cards really cheaply).
I use the "Auto Level" feature of the Zoom recorder (you can see the switches on the back). This has a few quirks, but it's easy to fix in editing (more on that below).
You'll also notice that there is a "Hold" switch. This will save you from accidental button presses, particularly if you put the recorder in your pocket.
Repeat the Question
A general piece of speaker advice is to always repeat the question so that other members of the audience can hear it. This is especially important when recording because you will not pick up the audience at all on the lapel microphone. So you want to repeat the question for the recording as well.
Screen Capture
I use Camtasia Recorder (from TechSmith) for screen capture. I've spent a bit of time talking about Camtasia in my screencasting article, so I won't repeat it here. I'll have a bit more to say about it when we get to editing.
One thing to be aware of is that the Camtasia Recorder will capture some keystrokes for its own use. So be prepared to re-map some keys in Camtasia or be ready to use alternate methods in your demo. The most prominent one that I run into is that F10 is "pause" for Camtasia, so in Visual Studio, I'll use the toolbar buttons for debugging instead of F10 to step through code.
Video
High-quality video was not really important to me. I primarily wanted to be able to see myself in action (and again, potentially put together a promo video). Rather than spend a lot of money on a video camera, I spent a couple hundred dollars on a little Sony HDR-AS100V (Amazon link):
This is the Sony version of a GoPro. It's really designed as an action camera, so the lens is a bit fish-eyed. I got this a while back, so I'm sure there's an improved version of this now.
The recording quality is good: 1080p. And if you crop the video (like is shown in the first video in this article), then you don't see the fish-eye. Note: the second video in the article was actually recorded first, and I learned some things about editing that I was able to use in the other video. But more on editing later.
I have the camera mounted on a small tripod (this was included with the Zoom kit that is linked above):
It's nice and small to stick in a bag with the other gear. But the legs expand to give it a decent height when placed on a table. Here's the rig with the camera attached:
I usually put the camera on a table in the front row (which gives a bit of a side-angle). I've put it in the back of the room a few times, and the image was a bit small. When it's closer, it's easier to see my movement and mannerisms.
What to Watch Out For
There are a couple things about this camera to watch out for. First, it can only be charged by the USB port (there's a removable battery, but you would have to buy a separate charger for that). It cannot be plugged in and record at the same time, so you're limited by battery life.
In my experience, battery will go about 1 hour 45 minutes. This can usually accommodate one of my presentations at a user group, but I make sure to start it just before I start, and I'll even pause it at breaks to save a bit of battery.
This also uses micro-SD for storage. And it runs about 4 gigs for 35 minutes of video. I use those weird increments because it actually splits up video files into 35 minute chunks. Again, with a 64 gig card, I've never had any problems with space. The limiting factor has always been battery life.
Audio Everywhere Record audio in all three places: digital recorder, screen capture, and video camera. Even though the final audio will be from the digital recorder, it's easy to use the sound waves to line up the various tracks when editing the video.
And here's a tip I picked up from my friend and fellow speaker Justin James (@digitaldrummerj):
After starting all 3 recorders, clap your hands.
This will create a very visible audio spike that you can use to line up the various tracks. (Just like movies use the clappers to start a take.)
Lots of Files
The result of the recordings are lots of files:
The ".mp4" files come from the video camera. As mentioned, this records in 35 minute chunks, so these need to be put together in editing. The ".trec" file is the screen capture from Camtasia. And the ".wav" file comes from the Zoom audio recorder.
The ".camproj" file is the Camtasia project. We're headed there next.
Putting Everything Together
Now that we've got all of the sources, we need to put everything together in Camtasia Studio. First job is laying down the tracks and lining them up. This is where the audio helps A LOT.
First, here's a look at the Camtasia interface:
The order of the tracks are important, the track that is "on top" (in this case, Track 4) appears over any other tracks.
Track 1: Audio track (not visible). This comes from the Zoom digital recorder and it will be the audio that we ultimately use.
Track 2: Screen capture (left side of screen). This comes from the Camtasia Recorder.
Track 3: Video capture (right side of screen). This is from the Sony video camera.
Track 4: Overlays (text at top of screen). We'll take a closer look at this a bit later.
Lining Things Up
After getting the media in the right slots, we have to line everything up. For this, we can look at the audio for each track:
We can use the audio tracks to line everything up. Notice that the peaks line up across the media. And as noted earlier, a "clap" at the start can create a spike to make it easy to see where the start point is.
In this case, I've already trimmed down the video and audio, so we can't see that part. Once everything is lined up, you can trim the excess at the beginning and end of the tracks.
You'll see different intensities when looking at the audio, this is because the computer is one side of the room, the camera is on the opposite side, and I'm walking around with the voice recorder in the middle.
Audio Processing
After getting all of the tracks lined up, we can use the Audio tab in Camtasia to simply mute the 2 video tracks. This will leave the audio just from the Zoom recorder.
When I'm doing screencasting, I don't normally use the audio leveling tool (as mentioned previously). This is because screencast recording is in a much more controlled environment where I'm sitting still. Things are a bit different when I'm doing things live and don't get a "second take".
So I use the volume leveling tool in Camtasia:
Just select the audio track and click "Enable volume leveling". This smooths out the peaks, and the audio track now looks more like this:
This is a bit different from the audio track we saw above.
I do this to smooth out some of the "Auto Level" from the Zoom recorder (remember I mentioned that above?). The auto-leveling of the Zoom recorder generally works well, but if you cough, tap the microphone, or cause some other "spike", the recorder will lower the sound levels, and it takes a few seconds to re-adjust.
The "Auto Level" in Camtasia will correct this. It's not ideal. But I also don't have a professional audio technician doing these recordings for me. The audio still comes out a lot better than many of the "live recordings" that I come across.
Video Processing
There are a couple different approaches to take when trying to show both the screen and the person at the same time. For the April 2016 video, things were pretty easy:
This projector was had a 4x3 aspect ratio, so my screen capture had that same ratio. This made it really easy to put the screen and video side-by-side (although it does look a little strange in the beginning when I'm showing my wide-screen slides).
In contrast, in the March 2015 video, I put in a lot of edits to show the live video when that was important and to show the screen when that was important. This was *a lot* of work. It is much easier to do side-by-side or an overlay if you can get away with it.
Since the videos were side-by-side, the order of the tracks wasn't as important (since they don't overlap). But if you're overlaying or doing other interesting things, you want to make sure that the right video is "on top".
Stitching Video
As mentioned above, the Sony video camera records in 35 minute chunks, and these end up as separate files. The good news is that if you put the two media files right next to each other in Camtasia (on the same track and touching each other), there is no gap or stutter at all.
Cropping and Panning
It's possible to crop and pan inside Camtasia to show just parts of the video. Some of these features are really hard to find. For example, the "crop" button is in the top right corner of the preview window:
This is entirely non-obvious, and I haven't found the "crop" feature on another screen or menu (maybe I'm missing it).
Here's what the video looks like un-cropped:
So you can see that I cropped out quite a bit of the frame. Cropping also can make the "fish-eye" of the camera a bit less obvious. This is why having the 1080p recording is nice. Even if you don't show the video full screen, you can crop and zoom into different areas and still have decent quality output.
This video was shot at the Central California .NET User Group in Fresno, CA. It's a small group; there were 10 people there that night. But it's not always the size of the room that makes a good presentation. Sometimes the smaller groups are better because you get more questions and interaction. (And remember to "repeat the question" even in a small room. Otherwise, you'll have an audio gap in your recording.)
Callouts
The last step in the editing process is to add callouts to the video. I've talking about adding callouts in screencasts, but it's also important when showing live presentations.
Here's a good example of why:
You'll notice in the video that I'm pointing at the screen. This is pretty common for me (especially when I'm talking in a training room). But it's impossible to tell what I'm pointing at.
This is where the "Callouts" feature in Camtasia comes in handy. I can highlight the area on the screen that I'm talking about. In this case, I'm pointing to a method signature and using a red rectangle to highlight it. This is on the "top track" (Track 4 here) so that it shows up over everything else. I've added similar callouts throughout the presentation.
Rendering
After getting all the bits together, it's time to render and upload. I try to render at the highest resolution I can (which is generally 1080p). Then when I upload to YouTube, they'll process it down to lower-quality versions.
Rendering projects with live video take significantly longer than rendering screencasts. So be prepared for that. This is compounded because my screencasts are generally in 20 minute chunks and will render in about 20 minutes. But a live presentation is over an hour long, so it's both more material and also a slower render.
Make sure that your computer is well ventilated during this process.
Wrap Up
This is a lot of work. But it's not that hard to do. The equipment cost me around $500 (which isn't cheap), but I've gotten quite a bit of use out of it. The Zoom recorder in particular has been a great little tool. I'm surprised at the quality that I can get from this little plastic device. This is the recorder that I also used to record bits of my banjo playing.
I have recorded about 20 of my presentations. And I've gone through the process of laying down the tracks, lining up the audio, and rendering each of them. Most of them have just been for my personal use (so you don't see all of the work behind those). But a couple have made it out into the wild, and when I come across a good presentation, I'll be sure to post it.
If you decide to start recording and producing your own presentations, I hope that my experience will make the path a bit easier for you.
Last week, I had the great opportunity to give the Thursday evening keynote at AIM hdc in Omaha NE. I was honored to be invited to talk, and I had a great time.
Preparation
The topic was "User Driven Development", but I probably should have called it "Making the World a Better Place". Since this talk was me telling stories (with no code, gasp), I figured that I would take the same approach as I did previously with "Becoming a Social Developer" at NDC Oslo.
This meant that I hand-drew my slides:
I picked this up from David Neal, and it has been quite useful for these types of talks. I'm not quite as practiced as David at this point, so I've got simple stick figures:
And rather crude drawings (this is an application that is on fire):
The talk itself is based on a number of stories from my past which have made it into several articles over the years. You can check out the articles (and also the presentation slides) here: User Driven Development.
I ended up with a total of 109 slides. This sounds like a whole lot of slides for a 50 minute talk, but they tend to go by pretty quickly.
Presentation
The presentation itself went very smoothly. I was fortunate enough to have a group of friends sitting at a table near the front. (And they were nice enough not to heckle me during the talk.) They took some great pictures. Here's the view from the front (thanks to Heather Downing (@quorralyne) for this one):
And Cory House (@housecor) took a great panoramic shot from the back of the room:
The room held 650 people, so I figure that I had close to 500 in the audience.
The timing came out *almost* perfectly. Since I was telling stories, the timing for each part wasn't exactly metered out. About halfway through my talk I had this slide:
This related to a story about an application that would give the current time in whatever city you selected. I was *really* hoping that this would be the actual time in Omaha, but I looked at the time just before I got to this slide and found that it was 4:39 p.m. (Missed it by "that much".) But it gave me a chance to crack a joke about how close I was.
Response
The response was very positive. My Twitter notifications went pretty crazy that evening (and my definition of crazy is probably quite a bit different from other people -- it was 20 times more than I normally get.)
A couple of points from the talk stuck out for the audience. This one was tweeted out by Heather Downing, and a couple other people picked up on this point as well:
Our job as developers is not to type code.
Our job is to solve problems.
I was also happy to see Paul Oliver (@ItsPaultastic) pick up on this:
I am not "just" a corporate developer.
I am a corporate developer.
I've hated it when I have been referred to as "just" a corporate developer. This belittles the awesome work that we do. *All* developers can make the world a better place. Making someone else's job easier doesn't seem like it's world-changing, but it makes things better for that user. And that makes a difference.
In addition, I had several people talk to me about the presentation that evening and the next day. And I even received some email after the event was over.
Wrap Up
Of course, I also found time to talk about "Becoming a Social Developer" (this was requested by the event organizer). And it was great to be talked about by Cory House:
This is the first full-length keynote that I have given. Previously, I'd had 10 minutes on stage (sharing someone else's keynote). The best compliment that I got was from Cory (who has given keynotes at several events). He said that he couldn't believe that was the first time I'd given a keynote. So I guess I looked like I knew what I was doing. 😉
I don't know if I impacted everyone in the room (probably not), but I did make an impact on some people. And that means that I did succeed in making the world a better place.