The document discusses how networks and applications can become more aware of each other to improve the experience for end users. Currently, networks and applications operate independently without much visibility into each other. The document proposes that applications share information about end users and traffic with networks, and networks share information about topology, bandwidth, and resources with applications. This would allow applications to optimize content placement and resource usage, and networks to gain insights to better optimize traffic and provide new services. The document argues this type of programmable network can improve areas like security, performance, analytics and more.