If it's not already completely obvious, the L Developer Preview is shaping up to be an absolutely massive sea change for Android. While we've been treated to an entirely new design language called Material, a redesigned Recents screen, huge performance improvements, and over 5000 other new APIs and features for developers, it's easy to overlook plenty of exciting improvements that aren't quite as flashy. One such change was briefly mentioned by Dan Sandler during the "What's new in Android" session: Multi-Networking, the capability to maintain multiple network connections simultaneously.


Historically, Android's design philosophy about networking has dictated there should only ever be one connection to the Internet at a time. This may seem logical since maintaining extra connections tends to eat up a lot of battery, but there are times when it's useful. The new API allows developers to request a network connection with a specific set of criteria, which the ConnectionManager will attempt to provide. The options can be found in the NetworkCapabilities class, which currently offers 18 options including things like unmetered throughput, high-bandwidth, and carrier-specific services like MMS.

As a user, you might be wondering why developers may want to activate multiple network connections on your device. We already see some of this happening for activities like carrier billing or transmitting MMS messages, which are already handled by firing up cellular data for a short time. Other examples include maintaining a high-quality and consistent connections, which will be important for VoIP services like Skype where a seamless handoff between networks can prevent dropped calls. This may also enable the use of devices like Wi-Fi storage drives without completely cutting off data from hotspots or cellular connections, a problem I've discussed in a previous product review.

Here's the short introduction given at Google I/O 2014:

If you're a developer and this seems like something you could implement in your own apps, a few more details can be found on the API Overview doc.

Most competing mobile platforms like Windows Phone and Blackberry have nothing like Multi-Networking; even Apple only implements a couple of very specific scenarios. This probably won't be a widely recognized or acknowledged feature, but it gives developers enough access to make their apps even better and more fluid in ways that are not possible anywhere else.