Each node in a MANET is a potential router, and an extensive body of research into efficient MANET routing protocols has resulted in several being commercially available. . . . Because each node in a MANET acts as a potential router, the implementation and use of MANETs face many of the same challenges as mesh networks. They also face difficulties in supporting high-bandwidth links (e.g., for live audio visual feeds), especially between devices many hops away. However, they also face significant power constraints due to the fact that, for portability, most of the devices are battery powered. Therefore, intelligent routing protocols that minimize the number of retransmissions and message copies necessary to successfully deliver a message are crucial. Furthermore, the nodes' mobility creates a unique challenge because their locations are constantly changing, and links are constantly gained and lost. This so-called churn requires highly dynamic protocols to overcome, which further decreases the efficiency of the system due to high overhead. MANETs also may be more likely to contain heterogeneous devices and radios. For example, smartphones are often considered ideal candidates for MANETs due to their programmability, pervasiveness, and inclusion of WiFi radios. . . . However, the heterogeneity of smartphones introduces potential compatibility problems that may prevent some devices from talking to one another directly."