Moving computation and services from the desktop and local back office to large, centralized, multi-tenant data centers ("The Cloud") has been the dominant trend of the last decade in computing. This has led to a vast profusion of new applications and services and broad new areas of research, from networking to building highly-scalable, robust, distributed systems. However, the Cloud is far away from the edge device. Microsoft Azure has been particularly aggressive about building large-scale data centers, but even Azure cannot guarantee better than 30 ms latency. Further, Cloud-edge bandwidth is limited, and for many Cloud applications and services, the dominant cost is not Cloud computing and storage but rather Cloud-edge bandwidth. A ubiquitous edge cloud, with latencies to the edge in the 1-10 millisecond range and bandwidth to the edge in the gigabit range, would usher in a new class of application -- "Cloud-in-the-loop" applications, where the inner loop of the application performs a real-time Cloud transaction. I will give some examples of these applications including a live demonstration of a collaborative visualization application. Building such a ubiquitous edge Cloud using a centralized model demands resources far beyond what is available to a research organization. I will describe an opt-in, viral edge Cloud where individuals and institutions offer local VMs on an as-available basis to the edge Cloud, and its early prototypes. I will also describe a programming environment for wide-area distributed systems that can rest on top of this (or any) Cloud, which will permit the assembly of highly distributed applications and services from existing, persistent services.