Packet channels are subject to packet losses and these can be modeled as packet erasures where we know the lost packet's location but not its content. Channel coding provides a way to recover much of this content and thus protect against the impact of packet losses. The straightforward choice is then for MDS block codes. When coding against burst erasure patterns, a larger playing field is provided by the class of convolutional codes and it has been shown that these can also be optimal. In many modern interactive applications, such as interactive video and telesurgery, there are requirements to optimize latency, throughput and error rate. Since 2004 two different approaches to the coding of packets have emerged in the literature. In this talk I review some of the results obtained in each of these approaches. In all of the approaches the decoding delay time is explicitly involved. This area currently attracts attention because of its relevance to ULLC, ultra-reliable low-latency communications.