An iPhone application that attempts to detect whether ISPs are throttling online services was rejected by Apple when its developer tried to get it into the company's App Store.

David Choffnes, a Northeastern University professor who researches distributed systems and networking, built an app called "Wehe" that tests the speeds of YouTube, Amazon, NBCSports, Netflix, Skype, Spotify, and Vimeo. Abnormally low speed results for one or more of those services might, in theory, provide evidence that your mobile carrier is throttling a service.

But as Motherboard reported today, Apple refused to let the app into the iPhone App Store, telling him that "your app has no direct benefits to the user." Motherboard was able to test a beta version of the app using Apple's TestFlight platform and provided this screenshot of the application in action:

Apple allows other iPhone applications that test a user's overall Internet bandwidth, such as Ookla's Speedtest. Testing the speed of Web services individually isn't that different, so it's a bit surprising that Apple rejected the app.

Apple may be reconsidering its stance on the app, however. "Perhaps in response to the [Motherboard] reporter's calls, yesterday afternoon Apple spontaneously decided to 'escalate' review to re-assess it. I am awaiting their response," Choffnes told Ars today.

Choffnes said he isn't able to provide Ars with a TestFlight invitation yet because the servers he uses for speed testing are under heavy load. There's been high interest in the iPhone application since the Motherboard story hit Reddit.

The app is available on Android.

(UPDATE: Hours after this story was published, Apple reversed course and approved the app. Choffnes confirmed the update to Ars just before 7pm ET, and the app is now available in the App Store.)

“1.0 Binary Rejected”

Choffnes provided Ars with screenshots of his discussions with Apple's App Store Review team. Under the subject line, "1.0 Binary Rejected," an Apple app reviewer told Choffnes the following on December 19:

Your app's metadata contains misleading content or content that is intended to deceive users. Specifically, your app is marketed as a way to check if their carrier is violating Net Neutrality. However, your app has no direct benefits to the user from participating in this study. Please note that adding a disclaimer to the app description is not sufficient if the rest of the metadata and the app are misleading. The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

Choffnes replied the next morning, asking for more specifics on what about the app is misleading. Apple replied later that day, saying they would set up a call with Choffnes within three to five business days.

Before that call, Choffnes responded to Apple with this explanation of why he thinks the app is not misleading:

The app detects net neutrality violations and this is not deceptive. My research group has a long line of peer-reviewed publications establishing that our techniques identify traffic differentiation, i.e., when an ISP gives preferential (or worse) performance to specific applications (e.g., slowing down iTunes downloads). This is colloquially known as a form of violating Net Neutrality. In addition, my team is partnering with ARCEP, the French telecom regulator (i.e. , the France equivalent of the FCC), to provide this app to French users so they can monitor lSPs. (They wrote about our work in their annual report.) In other words, even French regulators assert that we are indeed testing for net neutrality violations. There is direct benefit to users. We show them whether there is differentiation (and how much), so they can make more informed decisions about whether to keep their current carrier or switch to one with different behavior. We additionally provide a dashboard of our measurement results (included in the app) so that they can see what other carriers are doing. Please let me know if there is anything else that was considered deceptive or misleading. I am more than happy to provide additional evidence as needed.

On Tuesday of this week, an Apple app reviewer gave Choffnes what appeared to be Apple's final word on the matter:

Hello David, thanks for your time on the phone today. As we discussed, app provides functionality that may mislead users by providing inaccurate determinations. We encourage you to review your app concept and incorporate different content and features that are in compliance with the App Store Review Guidelines.

Apple appears to be reassessing its determination now, as we mentioned earlier. We contacted Apple about Choffnes' app today, and will update this story if we get a response.

Testing net neutrality

Testing whether a carrier is throttling is complicated because online services themselves play a major role in service quality, and numerous other network variables can affect throughput. How each Web service is structured, what content delivery methods or networks they use, the distance from a user to a service's closest CDN node, and other factors can affect speeds.

We asked Choffnes if speed differences for mobile apps might reflect factors other than ISP interference.

"There are many factors, but we discuss how we handle them in our IMC [Internet Measurement Conference] publication," Choffnes told Ars. "In short, we use our own servers for our tests, and we run multiple tests to rule out transient performance issues that would lead to false positives."

The research paper says the system's "key idea is to use a VPN proxy to record and replay the network traffic generated by arbitrary applications, and compare it with the network behavior when replaying this traffic outside of an encrypted tunnel."

The Federal Communications Commission last month voted to eliminate net neutrality prohibitions on blocking, throttling, and paid prioritization. Technically, the rules are still in place until 60 days after the repeal is published in the Federal Register, which hasn't happened yet.

After the repeal, carriers will be allowed to block, throttle and prioritize in exchange for payment as long as they disclose such activity publicly.

Verizon does throttle video

The Motherboard screenshot shows app throughput of 4Mbps for Netflix, 6Mbps for YouTube, and 8Mbps for Amazon on Verizon Wireless's LTE network. On average, the fastest home Internet providers in the US provide about 4Mbps throughput for Netflix, according to Netflix's speed index. (The index doesn't include mobile speed stats, which may be lower.)

Verizon says it limits video to 10Mbps at most on tablet plans in order to limit resolution to 1080p. The maximum bitrate for video is likely lower on phones, as Verizon says it limits quality to 720p on smartphones.

Those limitations may have been detected by the Wehe app in Motherboard's testing. But while Verizon's speed limits effectively rule out watching 4K video on Verizon's mobile network, they may not have violated the net neutrality rules.

Verizon implemented the throttling last summer when the commission was still chaired by Tom Wheeler, who led implementation of the net neutrality rules. At the time, Verizon said the throttling was allowed under the rules' exception for reasonable network management, and the FCC doesn't appear to have challenged Verizon's interpretation.

"Current net neutrality rules clearly state that providers may employ reasonable network management practices to ensure that their networks and services run efficiently and work well for their customers," Verizon said at the time. "Video optimization is a non-discriminatory network management practice designed to ensure a high quality customer experience for all customers accessing the shared resources of our wireless network."

While the FCC is giving up its role in preventing carriers from throttling, Choffnes aims to gather useful data that that might help determine if carriers are throttling specific services.

"The purpose of this research study is to understand how cellular Internet providers give different performance to different network traffic from your smartphone,” the Wehe app tells users, according to Motherboard. “For example, we would like to know if a provider is speeding up YouTube traffic and/or slowing down Netflix."