Liquid foams are used in areas such as mineral separation, oil recovery, food and beverage production, sanitation and fire fighting. To improve the quality of products and the efficiency of processes in these areas, foam scientists wish to understand and control foam behaviour. To this end, foam scientists have used foam simulations to model foam behaviour; however, analysing these simulations presents difficult challenges. We describe the main foam research challenges and present the design of FoamVis, the only existing visualization, exploration and analysis application created to address them. We describe FoamVis' main features, together with relevant design and implementation notes. Our goal is to provide a global overview and individual feature implementation details that would allow a visualization scientist to extend the FoamVis system with new algorithms and adapt it to new requirements. The result is a detailed presentation of the software that is not provided in previous visualization research papers.