What is Pingify?
Pingify is an iOS application for assisting in testing network coverage, VPNs, and reliability. Pingify provides a visual representation of your network adapters in use and assigns reliability scores to determine how well each adapter on a particular network is performing.
The main features are:
- A simple user interface that shows a few data fields in scrolling fashion during tests.
- Ability to ping on every interface (VPN, WiFi, Cellular) once per second and record the results.
- Logging of which carrier or SSID the device is connected to in the “network name” column.
- Measuring the “bytes sent” and “bytes received” over each interface device every second (as reported by the OS, will include data sent by the operating system itself.
- GPS location tracking. The “gps latitude” and “gps longitude” columns contain the location results from the phone for that row.
- Creates a TSV file with logs from the most recent run. Ability to use “Share” to send the logs via email, Slack, etc.
How does Pingify Work?
Pingify sends out a ping every second on each of the network adapters that are currently in use by your device. As you can see in the screenshot, the Cellular, Wi-Fi and VPN adapters are all in use and sending pings out over the network.
So that begs the question, what exactly is a ping? ?
Plainly stated, a ping is like a computer to computer version of the children’s game marco polo. It’s a basic way to determine the connectivity and reachability of a device.
Or, as wikipedia so eloquently states:
“A Ping operates by sending Internet Control Message Protocol (ICMP/ICMP6) Echo Request packets to the target host and waiting for an ICMP Echo Reply. The program reports errors, packet loss, and a statistical summary of the results, typically including the minimum, maximum, the mean round-trip times, and standard deviation of the mean.”
Round-trip time (RTT) is the duration, measured in milliseconds, from when a adapter sends a request to when it receives a response from a server. This value is also known as latency (or lag in online gaming).
Running a Test with Pingify
To start a test just press the “Start Test” button – yes, it’s that simple! Once a test starts, Pingify will start pinging on every available adapter. So, if you are are on a cellular device with an active Wi-Fi hotspot running Speedify, you will see the above photo. However, if you are not on a Wi-Fi hotspot don’t sweat it, Pingify will actively keep trying pings over that adapter until you stop the test or a Wi-Fi hotspot becomes active. Adapters may go offline and come back online and Pingify will intelligently start and stop Pings in the correct sequence numbers. This way you can walk around dense urban areas and bounce off Xfinity hotspots, Optimum Wi-Fi hotspots, or even Bloomingdale’s hotspots to your heart’s content! Once you are satisfied with your test you can hit the “Stop Button” to stop your test.
The top layers of the Interface show the adapters in use as well as what network(s) they are current operating on. Speedify is pinging on the uTun adapter but is known by the UI so it receives a friendly interface name under VPN. The center icon is showing the Wi-Fi adapter pinging over the “FiOS-90BHY-5G” network and the cellular adapter on the right pinging over the “AT&T” network.
The middle layer below the adapter names show the reliability score. The reliability score is the main factor in determining how well the adapter performs on the current network. The reliability score is calculated based on how many pings are successfully sent and received without errors.
The RTT times will show up in different colors determining how well they performed. RTT times marked in green are performing well, orange is moderate, and red is poor.
To start a test just press the “Start Test” button, yes it’s that simple! Once a test starts, Pingify will start pinging on every available adapter. So if you are are on a cellular device, with an active Wi-Fi hotspot running Speedify, you will see the above photo. However, if you are not on a Wi-Fi hotspot don’t sweat it , Pingify will actively keep trying pings over that adapter until you stop the test or a Wi-Fi hotspot becomes active. Adapters may go offline and come back online and Pingify will intelligently start and stop Pings in the correct sequence numbers. This way you can walk around the hotspot minefield ? AKA center city and bounce off Xfinity hotspots, Optimum Wi-Fi hotspots or even Bloomingdale’s hotspots! Depending on the settings, the Pingify app will stop testing once the VPN disconnects or when you hit “Stop Test”.
Each ping Pingify sends out has a 3 second window in which to return (also known as the timeout period) before it is marked with a symbol. If it successfully returns within that window of time, the UI will display the RTT time, sequence number, and the amount of data sent during that ping. As you can see in this image we have a VPN that is offline indicated by “—” as RTT times as well as a ? emoji. The Wi-Fi connection on the “Connectify-5” network is connected but showing a less than reliable network. You can see the reliability percentage has dropped to 83% and an exclamation symbol (⚠️) has appeared indicating the connection timed out during that specific ping, but Pingify does recover and continues the Ping later in the table. If a ping is sent and returns with an error it is marked with a red X (❌). This “warning” symbol gets calculated against the reliability score as the ping was sent out but not returned.
Analyzing Pingify Test Results
Once you finish your tests, pop over to the Analyze tab to pick a file to work with.
The results are recorded to an exportable .TSV file. Each file is represented in the “Analyze” tab of Pingify. Each file is listed in order from newest to oldest. The file subtitles will give you insight to the .TSV file such as the Date/Time in which the test occurred, the total session time, which adapters were in use and the reliability scores of those adapters. The top right button will allow you to share the .tsv file via email, slack etc.
Once you select a file, Pingify will create an interactive report on your test results.
The map view displays the Pings by coordinates and color coded by adapter. You may click on any pin to display the adapter in use and the RTT. You can pinch to zoom and drag to move around the map. The graphs below the map only show the pins that are currently visible, so you can zoom in on one area to see much more detail.
The RTT by time chart displays each ping’s RTT color coded by adapter and by time.
Histogram of all of the pings separated by number of RTT for each bucket. The histogram puts the pings together into “buckets” of different latencies.
The stat view displays the reliability of each ping as well as the slowest, average, fastest and connect time separated by adapters. Note: Scores will change based on pings displayed on map. You may zoom in and out to see statistical values for any period of time.
Pingify Data Exports
Pingify allows test results to be exported as a tab separated value (.TSV) file. This file is suitable for importing into other programs such as spreadsheets or data analysis tools. The available fields are described below.
|Version||1.0||Current version of the Pingify TSV Parser|
|time started||2017-06-13_07:54:25.680||The time stamp, down to ms, of the first row of this test. Repeated on every value, while repetitious, this lets you load multiple tests into one SQL table and group this field to separate different runs.|
|current time||2017-06-13_07:54:25.680||Time stamp, down to ms, of this row.|
|gps latitude||39.9496206395959||Location, part 1|
|gps longitude||-75.1654609734332||Location, part 2.|
|seq num||23||Starts at 0 and counts up for each ping sent during a test.|
|rtt||43||Round trip time in ms.|
|adapter name||“Wi-Fi”||The name of the adapter. Some common devices get friendly names, less common will show an OS device name|
|network name||“Xfinitywifi” or “AT&T”||The name, if found of the network that the device is currently connected to. SSID on WiFi, cellular carrier on Cell.|
|bytes sent||84||Change in the number of bytes sent over the underlying network device (as reported by OS) since the last row in this log that used that device. Always starts at 0.|
|bytes received||64234||Change in the number of bytes received by the underlying network device (as reported by OS) since the last row in this log that used that device. Always starts at 0.|
|response||ok||Results of the ping command. “Ok” on success,|
The settings page allows you to change hosts and decide on the duration of the test, as well as access more information about Pingify and contact our Support team.
Changing hosts for Pingify testing: this is an optional feature but one that allows you to ping different hosts anywhere in the world. By default, it’s set to ping the Google public DNS (184.108.40.206) and will revert to that if you don’t specify another host.
Pingify test duration: you can choose to run the test until the VPN disconnects (default option) or until you manually stop the test by pushing the “Stop Test” button in the app’s real time testing screen.
When set to “VPN Disconnects”, Pingify will automatically stop the test and notify you if the VPN connection becomes unavailable.
We encourage you to Contact Support if you encounter any issues with the app or have a question related to its functionalities. This will send an email to us.