Top Banner
www.tudorgirba.com Presenting Tudor Gîrba www.tudorgirba.com © Tudor Girba Zürich - April 23, 2013 www.tudorgirba.com Roadmap Every talk must start with a roadmap So: Introduction Slides Template Design Audience Story More about slides Conclusion 2 © Tudor Girba Zürich - April 23, 2013 www.tudorgirba.com Roadmap Every talk must start with a roadmap So: Introduction Slides Template Design Audience Story More about slides Conclusion 3 © Tudor Girba Zürich - April 23, 2013 www.tudorgirba.com About this talk I used to be extremely afraid of speaking in public In fact, I was so afraid that I could hardly speak But, because I had to speak, I spent a bit of time thinking about it Today, I will share with you some of my reflections on how to do presentations I am actually quite nervous to talk about it here 4 The following slides are intended to be read either by looking at the laptop screen, or with the back to the audience. One common wisdom is that there should be a roadmap at the beginning. That is many times a good thing, only we should design the roadmap to be meaningful. http://www.tudorgirba.com/blog/meaningless- roadmap This is actually true.
32

Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

May 10, 2015

Download

Documents

Tudor Girba

These handouts accompanied my lecture at the University of Zurich on the topic of "Presenting is storytelling".
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

www.tudorgirba.com

PresentingTudor Gîrbawww.tudorgirba.com

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comRoadmap• Every talk must start with a roadmap

• So:• Introduction• Slides

• Template• Design

• Audience• Story• More about slides• Conclusion

2

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comRoadmap• Every talk must start with a roadmap

• So:• Introduction• Slides

• Template• Design

• Audience• Story• More about slides• Conclusion

3

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comAbout this talk• I used to be extremely afraid of speaking in public

• In fact, I was so afraid that I could hardly speak

• But, because I had to speak, I spent a bit of time thinking about it

• Today, I will share with you some of my reflections on how to do presentations• I am actually quite nervous to talk about it here

4

The following slides are intended to be read either by looking at the laptop screen, or with the back to the audience.

One common wisdom is that there should be a roadmap at the beginning. That is many times a good thing, only we should design the roadmap to be meaningful.

http://www.tudorgirba.com/blog/meaningless-roadmap

This is actually true.

Page 2: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comRoadmap• Every talk must start with a roadmap

• So:• Introduction• Slides

• Template

• Audience• Story• More slides• Conclusion

5

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comSlides• Every decent talk is accompanied by slides

• Text is difficult to read so, slides should not have more than 6 first level bullets

• The text should be no smaller than 12 pt

• A good slide has an engaging design

• Don’t just use a standard design• Show that you care

• Let’s see what a good template is made of ...

6

© Tudor Girba Zürich - April 23, 2013

www.tudorgirba.comThe template in 4 steps1. Align title to the left, and add logo to the top right

• The logo should not be too large, but it should be visible at all time• Adding it to the right, makes it secondary in the visual hierarchy so that it is not

compete with the rest of the text

2. Choose colors and style to match the corporate look3. Delimit the title zone and readjust the style4. Add footer

• Slide number is important to let the audience know about the progress• Add your name, just in case they forgot it• Add the date and place of the presentation to show that it is customized for the

situation

7

STOP

If you take this approach, just make sure to not add the total amount of slides, because you do not want to discourage the audience :)

This is one way to deliver talks. While it can be straightforward, it is completely inneffective. The audience gets bored, and the retention is low.

Page 3: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

presenting is storytelling

www.tudorgirba.com

why are we here?

lecture |ˈlek ch ər|nounan educational talk to an audience

legerelatin verbaction of reading, that which is read

In abstract, a lecture is an educational talk.

But, where does the design of a lecture come from?

Lecture come from legere which is a latin verb denoting the act of reading.A couple of centuries ago, before the printing press, reading was a technological solution for spreading information.

Page 4: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

lecture |ˈlek ch ər|nounan educational talk to an audience

presenting is storytelling

www.tudorgirba.com

story = fairy tale

designyour story

Lectures should not stick to the original meaning anymore. There is no reason. We are no longer in dire need of information.What should the goal of a lecture be? To frame the problem and to incite the audience to investigate it further.

The best tool to animate an audience is through a story.

The story does not have to be a fairy tale to capture my imagination. In fact, it should not be a fairy tale.

Good stories are typically not straightforward. They require design and discovery.

Page 5: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

audience?who is your

let me tell you a storyaboutParis

The first step is to figure out what your audience is? What do they expect? What are their values?

http://www.flickr.com/photos/pingnews/421079337/sizes/l/

Let me tell you a story about how I went to Paris ...

Page 6: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

and I wanted to see how other people see Paris.

I was surprised to see that some don’t even look at Paris.

And when they do look, they do it in a strange way.

At night, we finally got to Louvre.

Page 7: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

And we set our minds to go see Mona Lisa.

So, the second day, we took the metro.

And we got to Louvre.

And just near the information sign ...

Page 8: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

We found Mona Lisa.

Actually it was not really Mona Lisa, but just a guide about The Da Vinci Code. We did not want the guide, and we started to search Mona Lisa by ourselves.

And we finally got to the room of Mona Lisa.

Because we were not allowed to take pictures inside the room, I took a picture from outside of it.

But, no one else took the sign seriously. My take is that they did not regard themselves taking pictures, they regarded themselves as just looking at Mona Lisa.

Page 9: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

Even though some not even looked.

Or when they did, they did it in a peculiar way.

If you want to tell a story, you have to know your audience.

http://www.tudorgirba.com/blog/the-audience-is-your-friend

And you have to know how they see the world.

Page 10: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

audience?who is your

messagemessage

messagemessage

message

messagemessage

messagemessage

messagemessage

message

messagemessagemessagemessage

message

message message

message

message

message

message

message

messagemessage

message

message

message

message

messagemessage

message

messagemessage

message

message

message

messagemessage

messagemessage

message

messagemessage

messagemessage

messagemessage

message

messagemessagemessagemessage

message

message message

message

message

message

message

message

messagemessage

message

message

message

message

messagemessage

message

messagemessage

message

message

message

And if you think you know your audience and how it sees the world, think again. Your audience will never be the same and it will never seize to surprise you.

The first step is to figure out what your audience is? What do they expect? What are their values?

After you think you know your audience, choose your message.

Any thing can be “sold” in several ways. Some are more obvious than others.

You should choose the message that matches your audience and your contextual goal.

The message does not have to be as comprehensive as the material it covers. Its goal is to focus the story.

Page 11: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

messageone

Strive to choose one message. Not two, not one and a half. One. A 30 seconds ad has one punch line. A good movie has one single message that summarizes the main point (of course, is the movie is not Pulp Fiction).

So should your talk have just one core message. Bring plenty of evidence, but focus on one message.

Ads have one message. Most movies have one message.

Sometimes the message is directly in the title.

Page 12: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

To provide a genericmeta-model for expressing software evolution analyses, we need to recognize evolution as an explicit phenomenon and model it as a first class entity.

to Understand Software Evolution

Modeling History

vorgelegt von

Tudor Gîrba

von Rumänien

Inauguraldissertation der Philosophisch-naturwissenschaftlichen

Fakultät der Universität Bern

Leiter der Arbeit:

Prof. Dr. Stéphane DucasseProf. Dr. Oscar Nierstrasz

Institut für Informatik und angewandte Mathematik

messageone

slides

slides are visual aids

You might say that ads and movies are just for entertaining.

But, a PhD dissertation is also about one thesis. 3-5 years of work and all you get to defend is one single statement.

Strive to choose one message.

Slides used to be called visual aids. The difference between the two terms is that “slides” describes the technology, while “visual aids” describes the goal.

These days, it is a must for a talk to be accompanied with slides.

Slides used to be called visual aids. The difference between the two terms is that “slides” describes the technology, while “visual aids” describes the goal. We focused so much on getting the technology right, that we forgot about the goal. Always have the goal in mind.

Page 13: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

slides are visual aids

© Tudor Girba Zurich - April 23, 2013

www.tudorgirba.comImportant sign• At this sign, stop, look around and proceed if no other car is

coming your way.

• Important!!!! The cars coming from the other directions will not have to stop.

• This sign was put here by the authorities in charge.

• This sign concerns vehicles only. Pedestrians should look at the signs dedicated to them.

• This sign should not be touched or hindered in any way. Any violation is punishable according to the law.

50

STOP

STOP

These days, it is a must for a talk to be accompanied with slides.

Slides used to be called visual aids. The difference between the two terms is that “slides” describes the technology, while “visual aids” describes the goal. We focused so much on getting the technology right, that we forgot about the goal. Always have the goal in mind.

Let’s take an example.

Imagine driving. What would you do if you would see this sign at a crossroad?

What about if you see this one? There is no doubt as to what you have to do. There are three reasons for this:- it is big so that we notice it- it is red so that we pay attention, and - it is so distinct and simple that it leaves no place for confusion. it only conveys the relevant information.

The difference between the two signs is that one is detailed but only the other one is actually effective in traffic.

Slides should be like traffic signs:- They should stay on the side,- They should come to our attention for a very brief period, and- They should become invisible.

How to achieve that?

Page 14: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

few details are important

omit needless words

we sell fresh fish here

fresh fish here

The good news is that not all details are important. In fact, only few details are important.

When it comes to the English language, the Elements of Style is a book that should not be missed.

Page 15: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

fresh fish

fresh

fresh

You can almost not go wrong removing details.

Page 16: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

for sale: baby shoes, never wornErnest Hemingway

design is not the abundance of simplicityit is the absence of complexity

http://en.wikipedia.org/wiki/For_sale:_baby_shoes,_never_worn

Twitter can be a great medium to exercise conciseness.

This message is exactly 140 characters long.

http://www.amazon.com/Elements-Graphic-Design-Space-Architecture/dp/1581152507

Page 17: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

emphasizing everything IS emphasizing nothing

whitespace

One particular graphic design resource that is most often forgotten is whitespace.

Whitespace is defined by the objects inside.

Whitespace is not necessarily white.

Page 18: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

What is background and what is foreground?

What about now?

One small difference solves the conflict. You now perceive two blobs.

Page 19: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

But, is whitespace a wasted space? No. If you fill it completely, you lose everything.

Whitespace can guide your eyes. For example, this arrangement implies no particular reading order.

This one, however, will guide your eye line by line.

… and this one, column by column.

Page 20: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

y

x

y

x

y

x

remove chart junkincrease data ink

Let’s take a chart

Simply not filling the whitespace reveals the data.

Less can be even more.

http://www.edwardtufte.com/tufte/books_vdqi

Page 21: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is awhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resourcewhitespace is a resource

whitespace is a resource

whitespace is a resourcewhitespace is a resource

whitespace is a resource

fill it for a reason

http://www.tudorgirba.com/blog/empty-your-slides

http://www.youtube.com/watch?v=aeXAcwriid0

One thing to remember is that slides are not documents. They do not have the same purpose and they do not have the same capabilities. As such, they should not be treated in the same way.

If you feel the need to rely on a template like this, you are probably doing something wrong.

Why exactly do we see so many slides that resemble documents?

Take a look at what we see when we open the slideware program. The default template wants us to enter a title and some content in form of bullets.

It is difficult to not put too many things on a slide, because the default look of PowerPoint urges you to add them. Most templates just go along these lines.

Bullet points are not evil. They are just not the answer to everything.

And they are especially not the answer to effective slide design.

Page 22: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

projector = screen

The projector is a different medium than the screen.

On the one hand, the projector has a much poorer resolution, and as the distances from which it is being watched differ greatly, we can only rely on it to deliver very few details accurately.

On the other hand, the projector offers an opportunity: it allows us to focus on just one thing, and we can control the advance. This is an important characteristic that should be used

So, next time you open your slideware program ...

Start the design of slides from an empty canvas.Do not let the default document metaphor influence your choice.Take control.

On the one hand, a slide is a poorer graphical than a printed document.On the other hand, their dynamic nature offer an opportunity: focus. A slide should encapsulate one concept and focus the attention of the audience.

Page 23: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

the story is in between

© Tudor Girba Zurich - April 23, 2013

www.tudorgirba.comText and slides• The more text there is on a slide, the more I will tend to speak it as

it is written on the slide.

• But, you can read a text much faster than I can speak it.

• In such situations, my speech becomes noise as you rather prefer to just go ahead and read it by yourself.

• That is the reason why slides should not have text that competes with my speech, but rather be as visual as possible to complement it.

• If I would read this to you, you would likely be reading this line while I would still be somewhere in the middle of the text.

90

notes will set you free

© Tudor Girba Zurich - April 23, 2013

www.tudorgirba.comText and slides• The more text there is on a slide, the more I will tend to speak it as

it is written on the slide.

• But, you can read a text much faster than I can speak it.

• In such situations, my speech becomes noise as you rather prefer to just go ahead and read it by yourself.

• That is the reason why slides should not have text that competes with my speech, but rather be as visual as possible to complement it.

• If I would read this to you, you would likely be reading this line while I would still be somewhere in the middle of the text.

1

notes will set you free

http://www.iwm-kmrc.de/workshops/visualization/sweller.pdf

http://www.smh.com.au/news/technology/powerpoint-presentations-a-disaster/2007/04/03/1175366240499.html

One assumption is that slides must also carry the message in the absence of the speaker, and hence most of the content must be on the slides. The result is lots of bullet points and lots of text.

However, lots of text competes with the spoken words because we can just read faster than we speak. And we want the audience to hear what we have to say.

Another option is to put the text in the notes and provide slides with notes for as printouts.

When each slide encapsulates a point, the story is in between these points.

http://www.iwm-kmrc.de/workshops/visualization/sweller.pdf

http://www.smh.com.au/news/technology/powerpoint-presentations-a-disaster/2007/04/03/1175366240499.html

One assumption is that slides must also carry the message in the absence of the speaker, and hence most of the content must be on the slides. The result is lots of bullet points and lots of text.

However, lots of text competes with the spoken words because we can just read faster than we speak. And we want the audience to hear what we have to say.

Another option is to put the text in the notes and provide slides with notes for as printouts.

This is how the previous two slides look like when they are printed with notes.

Page 24: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

transition

slides are visual aids

When points are encapsulated in a slide, transition is what brings cohesion to the story.

The slides overview is perhaps the most useful tool in your slideware because it is the one that has the potential to reveal the story.

One rule of thumb is that if you cannot see what a slide is about in the overview, you probably have too much on it.

Use the presenter tools to take notice of the next slide. This is the simplest approach to control the transition between these points.

Page 25: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

slides are visual aids

slides are visual aids

Beside being visual, slides should be just aids. They should only complement the talk, not replace it.

This is how an empty slide looks like.

And this is how it looks on a white.

You should be able to deliver your message without slides.

The audience is your friend and it wants you to succeed because if you would not succeed they would lose time. And who likes losing time these days?

http://www.tudorgirba.com/blog/the-audience-is-your-friend

Page 26: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

presentationzen.com

tudorgirba.com/blog

blog.duarte.com

thebackofthenapkin.com

www.ted.com

presenting is storytelling

www.tudorgirba.com

technical talks?what about

Recommended resources.

http://presentationzen.comhttp://thebackofthenapkin.comhttp://blog.duarte.com

A great place to find examples of amazing talks is www.ted.com.

http://www.tudorgirba.com/blog/ted-talkshttp://www.tudorgirba.com/blog/favorite-ted-talks-posted-until-2008http://www.tudorgirba.com/blog/favorite-ted-talks-posted-in-2009http://www.ted.com/talks/lang/en/ken_robinson_says_schools_kill_creativity.htmlhttp://www.tudorgirba.com/blog/to-pause-or-not-to-pause

What about talks that pertain technical facts? Does all this fluffy theory apply to them?

Page 27: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

any fact has its own story

content form

Facts alone are boring. And that is a fact.

Regardless of how boring a subject appears to be, there always is at least one exciting story hidden in there.

Hans Rosling:

http://www.ted.com/talks/hans_rosling_shows_the_best_stats_you_ve_ever_seen.html

Designing and building the form is typically perceived as an effort that comes after the main effort of designing and building the content. That is not an optimal process, because we cannot reason about content in the absence of form.

Content and form must co-exist, because neither has value without the other.

Page 28: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

yesterday’s weather

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

yesterdayWeatherProbabilityWithTopPreviousWENM: topPreviousWENMandTopCurrentENM: topCurrentENM | currentVersions previousClassHistoriesSortedByWENM yesterdayWeatherHits last2VersionsTopHistories last2Versions last2HistoriesSortedByENM x valuesCount previousVersionsTopHistories previousVersionsTopHistoriesNames over | currentVersions := OrderedCollection new. currentVersions addLast: (self allVersionNames at: 1).

yesterdayWeatherHits := 0.

(2 to: self allVersionNames size) do: [: i | self smelly: 'this algorithm is too big and complex'.

previousClassHistoriesSortedByWENM := (self classHistories selectFromReferenceVersionCollection: currentVersions) sortBy: [:a :b | a value getWENM >= b value getWENM]. currentVersions addLast: (self allVersionNames at: i).

previousVersionsTopHistories := OrderedCollection new.

x := previousClassHistoriesSortedByWENM first value getWENM. valuesCount := 0.

previousClassHistoriesSortedByWENM do: [ :each | (each value getWENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ].

last2VersionsTopHistories := OrderedCollection new.

last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i). last2HistoriesSortedByENM := (self classHistories selectFromReferenceVersionCollection: last2Versions)

previousClassHistoriesSortedByWENM do: [ :each | (each value getWENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ].

last2VersionsTopHistories := OrderedCollection new.

last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i). last2HistoriesSortedByENM := (self classHistories selectFromReferenceVersionCollection: last2Versions) sortBy: [:a :b | a value getWENM >= b value getWENM].

x := last2HistoriesSortedByENM first value getENM. valuesCount := 0. last2HistoriesSortedByENM do: [ :each | (each value getENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getENM]. (valuesCount < topCurrentENM) ifTrue: [ last2VersionsTopHistories addLast: each] ]. previousVersionsTopHistoriesNames := previousVersionsTopHistories collect: [ :each | each value name]. over := false.

last2VersionsTopHistories do: [:each | ((previousVersionsTopHistoriesNames includes: (each value name)) and: [over not]) ifTrue: [ yesterdayWeatherHits := yesterdayWeatherHits + 1. over := true]. ]. ].

^yesterdayWeatherHits/(self size - 1) asFloat.

Let me tell you a story about the first paper I ever wrote. It was about predicting changes in a software system using a Yesterday’s Weather metaphor.

http://scg.unibe.ch/archive/papers/Girb04bYesterdayWeather.pdf

One way to explain it is via formulas. It can be daunting.

I actually did not use formulas. Once I had the basic idea, I just implemented it.And I could use the implementation to measure my assumption. It turned out that my assumption was right:On some systems it makes sense, on others it does not.

But, something bothered me. Even if Smalltalk is a beautifully concise language, my code was loong.

Page 29: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

yesterdayWeatherProbabilityWithTopPreviousWENM: topPreviousWENMandTopCurrentENM: topCurrentENM | currentVersions previousClassHistoriesSortedByWENM yesterdayWeatherHits last2VersionsTopHistories last2Versions last2HistoriesSortedByENM x valuesCount previousVersionsTopHistories previousVersionsTopHistoriesNames over | currentVersions := OrderedCollection new. currentVersions addLast: (self allVersionNames at: 1).

yesterdayWeatherHits := 0.

(2 to: self allVersionNames size) do: [: i | self smelly: 'this algorithm is too big and complex'.

previousClassHistoriesSortedByWENM := (self classHistories selectFromReferenceVersionCollection: currentVersions) sortBy: [:a :b | a value getWENM >= b value getWENM]. currentVersions addLast: (self allVersionNames at: i).

previousVersionsTopHistories := OrderedCollection new.

x := previousClassHistoriesSortedByWENM first value getWENM. valuesCount := 0.

previousClassHistoriesSortedByWENM do: [ :each | (each value getWENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ].

last2VersionsTopHistories := OrderedCollection new.

last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i). last2HistoriesSortedByENM := (self classHistories selectFromReferenceVersionCollection: last2Versions)

yesterdayWeatherProbabilityWithTopPreviousWENM: topPreviousWENMandTopCurrentENM: topCurrentENM | currentVersions previousClassHistoriesSortedByWENM yesterdayWeatherHits last2VersionsTopHistories last2Versions last2HistoriesSortedByENM x valuesCount previousVersionsTopHistories previousVersionsTopHistoriesNames over | currentVersions := OrderedCollection new. currentVersions addLast: (self allVersionNames at: 1).

yesterdayWeatherHits := 0.

(2 to: self allVersionNames size) do: [: i | self smelly: 'this algorithm is too big and complex'.

previousClassHistoriesSortedByWENM := (self classHistories selectFromReferenceVersionCollection: currentVersions) sortBy: [:a :b | a value getWENM >= b value getWENM]. currentVersions addLast: (self allVersionNames at: i).

previousVersionsTopHistories := OrderedCollection new.

x := previousClassHistoriesSortedByWENM first value getWENM. valuesCount := 0.

previousClassHistoriesSortedByWENM do: [ :each | (each value getWENM ~= x) ifTrue: [ valuesCount := valuesCount + 1. x:= each value getWENM]. (valuesCount < topPreviousWENM) ifTrue: [ previousVersionsTopHistories addLast: each] ].

last2VersionsTopHistories := OrderedCollection new.

last2Versions := OrderedCollection new. last2Versions addLast: (self allVersionNames at: (i-1)). last2Versions addLast: (self allVersionNames at: i). last2HistoriesSortedByENM := (self classHistories selectFromReferenceVersionCollection: last2Versions)

30% 90%

past future

YesterdayWeatherHit(present):

past:=all.topChanged(beginning, present) future:=all.topChanged(present, end)

past.intersect(future).notEmpty()

And I knew it was ugly and that I should do something about it. I just did not know what.

And the worse thing of all was that nobody could really understand what I was doing. Of course, the paper got rejected, too.

I stepped back. What exactly was I doing? I thought of a metaphor.

In Switzerland, using yesterday’s weather as a predictor for today’s weather is a poor prediction model.

However, in Sahara, it is a great way to predict weather, given that most days look like the previous one.

This prediction model is contextual to the place, or system, in which it is to be applied. So,

I eventually created a small picture and based on that I rethought the model.It turned out that the algorithm to check the assumption for each day was three lines long.

Page 30: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

past future

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

hit hit hit

YW = 3 / 8 = 37%

hit hit hit hit hit hit hitYW = 7 / 8 = 87%

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

• During the displayed history (5 versions) of class D thenumber of methods remained 2. We consider that nomethods were added or removed, therefore the valuesof ENOM1..5, EENOM1..5 and of LENOM1..5 of thisclass history are 0.

• In the histories of class A, of class B and of class E,7 methods were detected as being added or removed.The class histories differ in their LENOM1..5 andEENOM1..5 values which means that (i) the changesare more recent in the history of class B, (ii) in class Ethe changes occurred in its early history, and (iii) in thehistory of class A the changes were scattered throughthe history more evenly.

• The histories of class C and E have almost the sameLENOM1..5 value, because of the similar amount ofchanges in their recent history. The ENOM1..5 val-ues differ heavily because class E was changed morethroughout its history than class C.

3.2 Measuring Yesterday’s Weather

Before defining the YW function, we introduce the no-tion of top n of entities out of an original set S of entitieswith the highestM measurement value:

(0 < n < 1) TopM (S, n) = S0

˛̨˛̨˛̨˛̨

S0 ✓ S,|S0| = n8x 2 S0, 8y 2 S � S0

M(x) > M(y)

(5)

For a system version i, we compare the set of classhistories with the highest LENOM1..i values (the candi-dates set) with the set of the class histories with the high-est EENOMi..n values (the really-changed set). The Yester-day’s Weather assumption holds if the intersection of thesesets is not empty, that is at least one class history belongsto both sets. This means that for the classes in version i atleast one of the recently most changed classes is among themost changed classes in the near future relative to version i.If the assumption holds for version i we have a hit.We formally define the Yesterday’s Weather hit function

applied on version i of a system history S and given the twothreshold values t1 and t2 as follows:

(i > 1; t1, t2 � 1)

Y Wi(S, t1, t2) =

8>><

>>:

1, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) 6= ;

0, T opLENOM1..i (S, t1)\TopEENOMi..n (S, t2) = ;

(6)

Yesterday’s Weather is computed by counting the hits forall versions and dividing them by the total number of pos-sible hits. Thus, we obtain the result as a percentage withvalues between 0% and 100%.

We formally define the Yesterday’s Weather applied onn versions of a system history S given two threshold valuest1 and t2 as in Equation 7.

(n > 2; t1, t2 � 1)

Y W1..n(S, t1, t2) =

Pn�1i=2 Y Wi(S, t1, t2)

n� 2(7)

2 3 4

1 3

2 2 2 2

B

C

D

2 4 3 5A

1E

1 2 4 7F

3 4 5 4G

9

3

2

6

5

3

6

pastversions

presentversion

futureversions

9

4

2

7

4

6

3hit

Legend:

a candidate history (i.e., in TopLENOM1..i )

a really-changed history (i.e., in TopEENOMi..n )

Figure 4. The detection of a Yesterday’s Weather hit.

VersionsSystem 2 3 4 5 6 7 8 9 10 11

YW = 6 hits

10 possible hits= 60%

Figure 5. The computation of the overall Yesterday’sWeather.

Example. In Figure 4 we present an example of how we checkYesterday’s Weather with respect to a certain version. We display6 versions of a system with 7 classes (A-G). We want to checkYesterday’s Weather when considering the 4th version to be thepresent one. Therefore, the versions between 1 to 3 are the pastversions, and the 5th and 6th are the future ones.We also consider the dimensions of the candidates and the

really-changed set to be 3, that is, we want to check the assump-

4

yWFor: yesterdayCheck for: tomorrowCheck | hits | hits := (self detailedYWFor: yesterdayCheck for: tomorrowCheck) sum: [ :each | each isEmpty ifTrue: [0] ifFalse: [1]]. ^ hits / (self versions size - 2)

yWFor: yesterdayCheck for: tomorrowCheck ^ ( 3 to: self versions size ) collect: [ :i | | yesterday tomorrow | yesterday := self selectByExpression: yesterdayCheck appliedFromVersionIndex: 1 toVersionIndexAndPresentInIt: i - 1. tomorrow := self selectByExpression: tomorrowCheck appliedFromVersionIndexAndPresentInIt: i - 1 toVersionIndex: self versions size. yesterday intersectWith: tomorrow ]

The pseudocode matches the math formula, too.

Obtaining the overall value was just an average.

Math formulas became more understandable.

And, in the end, even the actual implementation became similarly simple (and even more generic).

All in all, it was because I could not present the idea, that I had to rethink the approach altogether. Of course, I could have just accepted that the problem is just too complex and cannot be made simpler, but that is never a good enough point.

Page 31: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

content form

areyoua designer?

presenting is storytelling

www.tudorgirba.com

www.tudorgirba.com

moosetechnology.org humane-assessment.com

pharo.orgdemo-driven.com

Content and form must co-exist, because neither has value without the other.

If you think design is for designers, please change your mind. Design is not a job. Not anymore. Today it is a responsibility.

Specifically related to talks, it is in everyone’s best interest to have interesting talks. No audience wants to be bored or be left uninterested.

When you take the stand, the responsibility falls on you.

Page 32: Presenting is storytelling at Uni Zurich - handouts (2014-03-05)

Tudor Gîrbawww.tudorgirba.com

http://creativecommons.org/licenses/by-nc-sa/3.0/