This document discusses how programmable networking can enable better interaction between applications and networks. It proposes using programmable touchpoints and standardized APIs to allow applications to provide input to networks and networks to provide intelligence to applications. This would allow for improved user experiences through real-time optimization of traffic routing, content placement, and resource allocation between applications, content, end users, and networks.