Words as Filler when Public Speaking

Public SpeakingMel Grubb read my post on Public Speaking and Movement onstage and inspired me to write this post with his comments.

“I think a good background in stagecraft could benefit a lot of public speakers. Simple things like basic blocking, “cheating” your face toward the audience, finding and eliminating your particular “tics” or problem words, etc. Speakers who say “basically” more than once every five minutes drive me up a wall.  ‘Essentially’ is even worse.” – Mel Grubb in comments and email.

He struck another of my nerves. I was on a conference call just yesterday with people that will go unnamed partly because I don’t want to call out anyone (don’t worry it’s no one local) and partly because I can’t remember who was talking or what they were talking about because I was so distracted. I IMed with Larry Clarkin about it and this is a snip of the conversation.

Josh Holmes‎‎:
I’m really hoping that he’ll really use the word really to really make a really good point soon.

‎‎Larry Clarkin‎‎:

‎‎Josh Holmes‎‎:
Really really…

My wife actually reminded me of a story from a class that she took where the professor used Um and Ah non-stop. There was at least one lecture where they focused on counting the number of Um and Ah’s that he used rather than listening to the presentation.

The primary reason that speakers fall back on these type of words is that they are used to fill the air while the speaker is constructing the next sentence in their head. Even though most speakers are terrified of it, Silence is still ok. Some call it Golden. There’s a huge difference between dead air and silence. Dead air is when nobody is saying or thinking anything. Silence is when it’s quiet.

In addition to my background in theatre, I was a member of a ToastMasters International for 4 years. imageIn fact, I was president of my chapter for a year. As an organization, they have a great curriculum for teaching people the basics of speaking. While we, including me, have been obsessed with the format of the slide deck, they have been continuing to educate great speakers by focusing on delivery and real speech writing. There’s a series of talks that you have to give. Some of these are using props. Some are very serious and dramatic. Others are humorous speeches. Side note – I actually took second in a regional humorous speech competition with a speech about the plight of the thumbless in America.

One of the components of a Toastmaster meeting is an “Ah Counter”. This is a person who sits in the back of the room and listens for filler or crutch words. When they hear these, they take a note and they ring a bell. It’s the most aggravating thing in the world! The first talk that I did there, despite my background in theatre, sounded like a parade.

Um, ah, so it’s like, um, well, you know a thing that you, ah, might basically find in, um, your, ah, backyard” – Josh Holmes in one of his first public speeches.

You might think I’m joking but you’ve done it too! There were more filler words in my talk than content. When I realized that it was astounding. After a while, you start consciously weeding out those filler words. You will be at lunch somewhere and be ringing that bell yourself inside your head. At some point later, you have eliminated most of them from your vocabulary. Unfortunately, I’ve slipped in the 9 years that I’ve been away from ToastMasters International. I’ve started noticing that I’ll start repeating words in my speech pattern. I’ve started answering questions with “Sooo, the answer to that question is…”. I have got to stop! It’s annoying me. I can’t imagine what it’s doing to you listening to me.

I hope that you’ll take this to heart and start listening to yourself speak. First, look for a ToastMasters’ club near you with their handy meeting locator. There are 10 clubs within 20 miles of my house and I live in the sticks. If you can’t get to ToastMasters, or really even if you can, you should tape your sessions and review them. Watch for movement, speech and more. Make notes and practice with those notes in hand.

This will help you be a better speaker. Even if it’s not obvious to you, two things will happen. First, you’ll be able to say more in less time and second, people will focus on your message rather than your quirks.

Public speaking and movement onstage

Playing God - fight sceneMovement when speaking is very important.

“Acting is, therefore, the process of illustrating the dramatic action – through activity. Activity is the how; action is the what” – Play Directing by Frances Hodges

For those of you who don’t know, I was a theatre major in college. Specifically, I studied directing. I was a decent actor but directing was what I really enjoyed from light design to directing actors and the full blown play. For a ton of reasons, I ended up with an English degree with a minor in Drama and a minor in Communications.

Recently, I was asked to critique a talk by a friend of mine. One of the pieces of feedback that I gave him was that he wanders while speaking. I expressed it as it drove me nuts, but I didn’t really go into detail so I’m going to do that here.

I chose the word wanders for a reason. I started thinking about how I would have directed the talk if it were a play and I was directing him. The blocking (movement that the director lays out for the actor) is very important as it emphasizes the meaning of what’s being said (or not said) at the moment. One of the many exercises that actors and directors go through when preparing with a script is to tear apart the script line by line, sentence by sentence and assign verbs to those lines. Every line in the script has a verb and action.

“If you can sense the action, the verb will come easily to you” – Play Directing by Frances Hodges

Thinking about the first quote – if the action is the what, the action is what you are trying to get the other person (in public speaking this is the audience) to do or feel. The activity (movement) is how you conveying that to the audience. When you are giving a talk, you are typically trying to convince the audience of your ideas and thoughts around the given topic. To do that, you have to be careful about how you convey your thoughts on stage. Think carefully about each thing that you are saying and what you are trying to get the audience to do or feel with that and what verb and activity should go with that. Are you going to threaten the audience? Retreat from the audience? Are you going to ignore, shame, beg, torment, entrance, lead, relax, motivate, berate the audience? These are verbs and you should think about everything that you say in a talk as conveying some verb. Once you understand the Action and Verb, the Activity, read walking or gesture or other visible motion, that you make on stage will become obvious. Each and every activity is there to illustrate the verb to the audience. It’s extraordinarily difficult to motivate an audience while sitting. On the other hand, if you are leaning back against the front of the table, it becomes easier to relax the audience.

The reality is that it’s the same in public speaking. It kills me to see someone walking backwards or sideways or heading back to the podium when they are making a big point. What this says (yells, screams…) to the audience is that they don’t believe in this point because they are retreating from the audience. As this poor soul gets to the podium and finish the point as they get there – right when they put a large obstacle between themselves and the audience. These are not things that the typical audience member will consciously pick up on, but they will on a subconscious level. If they didn’t, directors could go home and actors would wonder aimlessly all over the set. When someone is pacing aimlessly back and forth on stage, they are wandering or lost in thought and pontificating so the audience will automatically start to wander in their thought train as well.

The solution is to block out your session. In other words, choreograph your talk so that your movements match the verbs that you’re trying to convey. I’m not going to pretend that this is easy. Especially since many talks have a decent amount of improvisation in them. The trick is to figure out what your big points are and make sure that you nail those.

One way to get started is to pick two spots that you are allowed to be at in the room. Call them home and away. Home will be placed somewhere in the middle of the stage with easy access to your laptop and your water. Away will be closer to the audience and slightly to the right or left of center of the stage. While you are at home – pretend that you a playing basketball and you have to keep one foot planted. You can move your upper body all that you want to but the lower body has to stay still. Only after you have decided to really make a point will you start moving and it will always be movement the the away spot and it’s the build up to a point. While making your point, plant on the away spot with both feet square to the audience, shoulders back and speak clearly in a loud firm voice. Hold that position for as long as you need to for the point to really sink in. I’ll often make a point and then wait 10 or more seconds for it to sink in. Maybe I’ll even wander back to “home” and take a drink while letting it sink in. And then you slide back home to reset before your next point.

As you get comfortable with that you can start getting fancier and start doing more and more.

Technorati Tags: ,

Domain Specific Languages (DSL)

image I’ve been spending a lot of time recently looking at DSLs. That’s not on purpose, it’s just happened that way as I’ve been to a number of different conferences, such as Central Ohio Day of .NET where Jay Wren was talking about Boo and DSLs. I’ve also been in on a lot of discussions with Joe O’Brien and others about them.

From Martin Fowler – “The basic idea of a domain specific language (DSL) is a computer language that’s targeted to a particular kind of problem, rather than a general purpose language that’s aimed at any kind of software problem.”

There are a number of DSLs that we use every day. One of them that Joe likes to reference is:

no whip
2 pump
white mocha

Obviously (hopefully), this is Starbucks’ DSL that they use. This is a very efficient way for the Starbucks employees to communicate. The cashier starts by taking the order and transmitting that order to the person working the espresso machine who fulfills the order and passes it on to the customer. I usually understand it when they hand it back to me even though it sounds little to nothing like what I said to the cashier in the first place.

Domain – Every Domain has a their own vocabulary and dialect. Think about the medical field, banking, real estate, investments, mathematics, zoology, chemistry, grocery stores and on and on. Everyone of these has a way of communicating that the outside world has to understand to understand them.

Specific – these vocabularies and dialects are specific to the domain that they are in. In fact, the various terms don’t transfer from domain to domain. As an example, if I’m say Prime to an investor vs. Prime to a butcher, they are going to have completely different ideas as to what I’m talking about.

Language – this specific vocabulary in each of these domains is about communication quickly and efficiently. It’s a language all unto itself. Now, the majority of these are created from within the languages that we speak on an every day basis – such as English or French. Some of them have a touch of Latin thrown in but for the most part, they are local centric.

In very much the same way, DSLs in the software world are created, typically, from a language that already exists. There are languages, such as BOO, where the point of the language is to make it easy to create DSLs. There are other languages, such as Ruby, that make it very easy to create DSLs (see Joe’s talk on referenced at the end of this post). This is one of many reasons that I’m geeked about IronRuby.

image It’s always a good thing when the programmers and the users are speaking the in the same languages. This makes sure that you’re in lock step on the requirements and what the application is supposed to do. I’ve seen time and time again where an application does exactly what the programmer intended for it to do but communications issues mean that they had no idea what the user actually wanted or needed.

The first time I was introduced to the topic was when I was writing banking software. We went through a lot of hoops to make sure that we were speaking in banking terms when talking to the business analysts (BA). This was a struggle for a lot of the compsci majors just out of college that were amazing programmers but couldn’t understand the business rules. Part of the problem was that the languages that we were writing in, while we had class and method names that mapped, was still the computer science language verses something that we could show the BA. I always wanted to make it a requirement that the programmers had to work as a teller for a week every couple of years so that they could understand the business. You think I’m joking, but Anheuser Busch makes all of it’s employees, from brewers to architects to executives go to brewing school. Dominoes Pizza makes everyone go through the line training to learn how the pizzas are made. There are a lot of these examples, but not nearly enough all at the same time.

We are getting the tools, however, at this point where the language that we write in can start to become the interface with the BAs and the users because we can write it in such a a way that they can understand it.

To get a fantastic primer on DSLs and see them created in Ruby, go watch Joe O’Brien‘s talk that he did at Mountain West Ruby Conf called Domain Specific Languages: Molding Ruby.

Other things to check out:

Martin Fowler on domain-specific languages
Creating Domain-Specific Languages

Central Ohio Day of .NET 2008 by Andy Erickson

I love it when the community steps up and really shows me something new. This past weekend I attended Central Ohio Day of .NET. This was one of the first events in a while that I’ve been to where I was just a participant. It was refreshing. As always, they did a fantastic job putting on the event and pulling together top notch speakers and content to really put together a solid show. Most of the day I was really torn between at least 2 if not 3 talks that I wanted to see. I was not surprised by that – that’s become the norm. Jim Holmes started the community conferences here in MI/OH/KY/TN (AKA Heartland District). That was picked up by Columbus and Ann Arbor who created the branding Day of .NET. That’s inspired a lot of other conferences around the district including Memphis, Grand Rapids, Cleveland and so on. Each of these have between 150 and 300 attendees. Those are anchored by the two huge community conferences, DevLink in the fall in Nashville at around 400-500 attendees and CodeMash which is a completely different animal.

image What I hadn’t seen before was what Andy Erickson put together. He put together a 5 minute video of the Central Ohio Day of .NET conference and really captured the event. Visit Central Ohio Day of .NET 2008 to see the video. He obviously put in some real work on this video. He even started a little bit of buzz about the event by interviewing some of the conference organizers such as Mike Wood. Listen to Mike Wood and Day of .NET ’08 for more on that. I really hope that more people will do this in the future. Even though I was there, there was a ton that I missed – like the fact that Michael Neel was there. Michael drove all the way up from Knoxville to Ohio to speak on the “Church of Agile“. It’s a fun and bizarre talk where he breaks out the Jedi garb and everything.

So, hats off to the organizers Jim Holmes, Mike Wood, Bob Sledge, Carey Payette and Justin Kohnen – they did an amazing job and I hope that they will continue to do so in the future.

West Michigan Day of .NET 2008Cleveland 2008Now I’m looking forward to speaking at the second annual West Michigan Day of .NET on May 10th, 2008. I’ll be speaking on Architecting a Rich Internet Application. Jay Wren is going to be doing his Boo and DSL talk. Wally McClure is coming all the way from Knoxville to do his deep dive into the ASP.NET AJAX panel. Michael Eaton is going to be speaking on LightReader, a Silverlight feed reader. Really, there are two many great sessions to list them all. Hope to see you there!

If you miss that one (or really, even if you don’t), you should try to make it to Cleveland Day of .NET! Again, they’ve got an amazing set of speakers and content. This is their first time but they’re coming out swinging. Unfortunately, I won’t be able to make that one personally but I’m hoping that someone will pull an Andy and catch me up on what I missed. 🙂

Definition of a Mashup

The JournalSince Larry Clarkin and I wrote the Enterprise Mashups article in the Architecture Journal, I’ve been getting a ton of questions about mashups and what they are. To that end, I thought I’d put my neck out and lay down a public definition.

A mashup is an application that pulls together data from different sources and puts that with functionality that didn’t know about each other previously to provide a interesting graphical look at that data.

Often, a mashup is used to the end of making decisions based on a visualization of the data.

The canonical example is putting data on a map. For example, Wikipedia (at least as of when I wrote this) defines it as follows:

In technology, a mashup is a web application that combines data from more than one source into a single integrated tool; an example is the use of cartographic data from Google Maps to add location information to real-estate data from Craigslist, thereby creating a new and distinct web service that was not originally provided by either source.

Mashup (web application hybrid) – Wikipedia, the free encyclopedia

However, it doesn’t have to be a map. It could be a graph, chart, mind map or any number of different overlays.

Now, notice that I didn’t talk about any given UI technology in my description. It could be AJAX. It could be Silverlight or Flex/Flash. It could be Java Applets. I’m not concerned about the exact technologies involved – just the overall idea that you are pulling together data with functionality with a UI none of which knew about each other before your “glue” code put them in the same room and let them dance.

Granny wants to Mashup?Things that are not mashups

Composite applications are not mashups. This is actually a funny one. Mashups are, by and large, composite applications. You can equate it to inheritance. Mashups have an IsA relationship with Composite Applications. However, the composite application that simply pulls together a number of different widgets each completely independent of the others on the page is not a mashup. So, what I’m saying here is that CAB Smart Parts, Sharepoint web parts and Java Portlets are not mashups – they are simply part of an overall application that has been assembled.

Aggregations are not mashups. I’ve been asked several times if aggregating 2+ RSS feeds or simply combining different data sources is a mashup. The reality is that it’s not.

If, on the other hand, you were pulling in 1+ RSS feeds and/or data sources and laying those out on a timeline or some different view of the data than just an aggregated list – then we are probably talking about a mashup. The key part here is that we are doing something more with the data than adding it together. We are enabling decisions to be made based on that data.

Tools to build mashups

You don’t actually need tooling to build a mashup. You could create it from scratch with a little bit of Javascript and a chart control. The most common mashup, as stated in the canonical example above, is a map with geographical data laid on it. Both Google Maps and Live Maps have SDKs that you can build on top of. Actually, the Live Map SDK has a completely interactive documentation set as you can play with that will let you try different things and copy source code right into your own applications. In a lot of ways, you can look at these maps as not only applications but mashup platforms.

Popfly and Yahoo! Pipes

Then there are more complete frameworks and platforms that will help you build mashups such as Popfly and and Yahoo! Pipes. These platforms allow you to drag and drop different data sources and apply logic and ultimately run that through a front end visualization. My 12 year old son has played with Popfly and created mashups with ease. Denny Boynton wrote a great post entitled “Is the Future of Popfly in the Enterprise?“. I think that he’s got something there.

One of the interesting parts about Yahoo! Pipes is that it allows you to pull in your data, build out your functionality and then at the end you produce it and have a tabbed view with a different visualization on each tab. That’s cool! If your data is geo tagged, then it will give you a map view. If you have numeric data, it will show you charts and so on.

Where to get started

There are a couple of ways to get started playing with mashups. First, you can take a look at Popfly and the like. Or you could get started with one of the online mapping applications/mashup platforms. However, if you are serious about mashups in your own company and want to produce mashups with your own data – you need to start by taking a long and hard look at your SOA strategy.

Are all of your services written because you needed to move the client to a different machine? Often you can tell these because they start to resemble your table names and fall into Ron Jacob‘s CRUDy Web Service Anti-Pattern. Unfortunately, this is the vast majority of applications that I’ve seen in the world that use web services. It’s just using web services rather than truly service enabling your platform.

Or are they strategically built services that encapsulate business logic? Are you thinking about your authentication and authorization strategies? Are you thinking about SOAP verses REST? Can you produce either from your platform?

These are all decisions that need to be made before you decide on the UI technology.

Organizing A Conference like Day of .Net

John Hopkins (who needs to blog more) wrote a fantastic article on how to run a community based conference. John is speaking from experience as he’s successfully run the Day of .NET two years in a row and he’s been on the board at CodeMash. I was on the organizing committee for both of these as well and can tell you that what John speaks is gospel.

I’m not going to rehash his whole article but to sum up a few points.

              • You can’t be too organized.
              • You can’t do it alone – you need as many volunteers as possible.
              • Venue is critical.

I will say that there are one or two tricks that you can employ that he didn’t think of. One of them is that there are a ton of registration services out there that run from a simple RSVP system to a full blown event engine. You really need some idea of how many people are coming so that you order the right amount of food, satisfy venders, stay safe on the fire codes and more. On the low end, you could just do a Upcoming, Facebook event or something like it with RSVPs. On the high end, you could go with an event company like EventBrite to do that for you. Or you could do what most of us morons do (And I’m including myself in this) and write your own registration engine for the show. This can come in handy if you actually include things like picking sessions that you’re interested in and the like.

He also didn’t talk about communications and such before the event. It was invaluable to have a collaboration site to stick notes, speaker abstracts, vendor contact and all that type of stuff. I’d recommend looking at BaseCampHQ and Sharepoint as possible collaboration implementations.

John’s advice has helped start and successfully run several conferences. It’s worth a read to go check out Organizing A Conference, especially if you’re planning to host a conference yourself.