I have a few questions about it:- The understanding of an image-stream is not totally clear. I will try to explain what I think it is. So when you create an application by using S2I, than you will create a new image, which will be stored in your registry. It will also create an image-stream to that image. So I think it's a 'pointer' to the existing image in the image-stream. This image can be updated when the project, which has created the image, update something (for example of the source code). Than this image will change. The existing image-stream will detect an update of the image. The applications which are using the image-stream will be informed, and they will update their application with the 'new' image. Applications which are using the image (not the image-stream), will not be informed and will still using the 'old' image. Am I right?

​yes that's pretty much it.​ The bit you missed which might explain your confusion below is that ImageStreams contain ImageStreamTags, much like docker image repositories contain docker image tags. So an application really points to an ImageStreamTag within an ImageStream.

- On a certain moment, he is watching the image-stream of the development-project. And he's tagging the image etc. But for me it looks like the test-project will now use the image of the development-project and no image-stream. So it's not totally clear.

​at 8:25 in that video, the "tester" is creating a new application using the ImageStreamTag "test/development:promote" which exists in the "test/development" ImageStream, so yes, it's still using an ImageStream reference (specifically an ImageStreamTag within that ImageStream) and therefore will get different images as the ImageStreamTag is updated to point to different Images.​