Scrap : a multi-scale approach to media design and programming workflows