Instead of, "Tavis Ormandy broke news about Cloudflare's memory leak that potentially reveals sensitive data," you explain each of those terms.
"This guy, Tavis Ormandy, is a security researcher at Google, so his job is to investigate bugs and find ways into otherwise secure systems. Yesterday, he wrote a blog post about a bug with Cloudflare. Cloudflare is what's called a CDN or content delivery network. A CDN is a network of servers distributed across the world, so that when you request data, they can find the closest one to you and serve you content from that server. The closer it is, the faster your download. That seems really useful for a lot of websites with lots of traffic, right? Well, it turns out Cloudflare is one of the largest and most popular CDNs out there. Anyway, Tavis revealed that Cloudflare had a memory leak that revealed sensitive memory. A memory leak is... well, imagine an Excel spreadsheet...."
It's like teaching someone calculus. In order to teach them calculus, the must first know algebra. In order to know algebra, they need to know basic arithmetic, and so on. For reach term, you either define it and then define other terms in that definition, if needed (e.g., "Cloudflare is a CDN; a CDN is...") or you make an analogy ("if you have a spreadsheet and the cells represent bytes,...").
Anyway, that's my trick. Another way to practice this would be to subscribe to /r/explainlikeimfive on Reddit, and try to answer questions as simply as possible. Study some of the top answers and see how they do it. Like someone else said, one trick is to actually know what you're talking about!
Good luck.
People can easily grasp quite complex stuff if can teach them that way. Like for CDN would be, imagine you had to buy XYZ but only 20 shops have that. It would of course make a lot of sense for the company to have the product in a shop closest to you otherwise it would take a lot of time for you to go, buy it and come back. Now imagine that shop is a server and the product is the website data, etc...
Even when a lot of it lost in translation it still makes a good foundation to get the point across. Then you can iron out the kinks when the person has some basic understanding..
I think it boils down to two things: form a mental model of the state of the other person's mental model, and find a path from something they already know to the thing you want them to know.
Start from some basic assumptions, state them explicitly if you need to. From this starting point, build the explanation gradually, step by step, and perhaps most importantly, in a way that makes sense to them.
That's how I structured my CG course. We alternated theory classes (where we'd explore some concept, say, drawing a filled triangle) and a practical class (where the students would implement that). So after the "filled triangle" class, they applied the algorithm to their existing wireframe cube code, and most of the time it looked completely wrong, because the order of the triangles was random.
So I'd start the next class with "Last time your cube looked all wrong. Why?". Students would offer their ideas, and I always tried to find something right in them to build towards the idea I wanted them to arrive at. Then I asked "How can we fix this?", and again, depending on their suggestions, guide the conversation towards the algorithms I wanted to "rediscover" (painter's algorithm and depth buffering).
The key was that the students were very motivated to understand why their cube looked wrong even though they had no bugs in their implementation. They wanted it to look right. And I didn't just walk in and say "open your book on page 159, this is depth buffering" (I didn't use a book at all, in fact), but "reinvented" the algorithm with them, based on their suggestions and some gentle nudging in the right direction.
The worst thing in these circumstances is the opposite: "there's this random thing you need to learn, it will make sense in 5 weeks, I promise".
Sorry for the long-winded answer... I hope it applies to explaining stories and movies, and hey, this is HN ;)
I mean... There are a lot of things you can do...
Is there an algorithmic way to get an explanation ? Then
What is the filtering mechanism to make sure the audience get maximal understanding based on their comprehension level
Also, don't over think it!
practice answering questions out loud (even when on your own)
practice communicating while restricting your resources (read picture-book with it facing your audience, when discussing a bug with someone don't touch their keyboard)
when listening to your favorite examples, pause the feed to consider why they selected a particular path