Multimedia streaming applications are - all at the same time - reactive, highly parallel, array-oriented, and subject to physical timing constraints. Furthermore, implementation constraints (speed, power, latency...) enforce the use of parallel execution architectures, which goes against the traditional compilation schemes of reactive programs. At the same time, current representations of multimedia applications are far from perfect, and provide no means to reason about application properties such as concurrency, or timing and resource constraints. In this talk, we investigate the similarities between system architects' "whiteboard notation", and the reactive programming. We take a fresh look at the concept of iterators, which provide a natural expression of repetitive computations and concurrency. We show how they can be extended to provide a representation of physical time, and how such enhanced iterators can be used to trade off space (=concurrency) and time (=serialised execution) in highly concurrent reactive programs without compromising the synchronous view of the system. Finally, we show how the physical time information captured by the iterators can be used to verify timing properties of applications.