Okay, so, another soda machine specification.
So this one is much shorter.
Insert some money, press a button, get a soda.
Now, why is this weak?
It's less detailed, right?
So it leaves out a lot of details.
Now leave out details in general is, some details it is okay to leave out.
But you have to be very careful about this.
I would say leave out very few details but
in practice, sometimes you leave out details,
because if you put every detail in there, the specification can get very long.
And sometimes some details are not necessary.
So for instance, if we talk about a soda machine, and everybody has already used
a soda machine, now this is assuming everybody has already used a soda machine.
But everybody I know has used a soda machine and basically knows how they work.
So, in a situation like that where everybody already knows how they work,
then why give all the details of exactly how it works, right?
Just give the key details and move on.
Now the difficulty with this is, you're assuming everybody's background.
You're assuming everybody uses soda machines that basically work the same way.
And that happens, people do that a lot, but that is not necessarily right.
And actually this course might be a good example.
This course, people view this course worldwide.
Most people who look at this course are not in the US.
And I don't know what soda machines are like in different parts of the world,
not for sure.
I've never been to India,
I don't know what soda machines are exactly like there, right?
Maybe they are different sort of machines because they are different vendors, right?
So I may make some assumption and you, say you're in India, and
you look at my specification, you may make a different assumption because
my specification is not complete and then the design is wrong.
This is the source of a lot of errors, okay?
So when you assume background knowledge, you have to be sure.
In fact, I remember an example where I saw this was with traffic lights, okay?
In the US, everybody knows what a traffic light does, red, yellow, green and
you know how basically they work and how they cycle.
So one time I went to Shanghai, right?
And I was driving through there, I was in a taxi, I did not drive.
The driving is different there all right, I didn't want to do it but
the taxi driver, he was driving.
As I'm watching, we get to a light and it's a very long red okay,
so he's sitting there forever.
And then normally after, in the US anyway, after a red,
you expect a green signal right, eventually.
Instead what happened was it went from red to yellow, all right?
And then it was like a red yellow and then it was green.