One of the greatest challenges in deploying mobile applications is determining the bandwidth they will require. Guessing wrong will not only impact wide area network costs, but it can have a negative impact on user experience, thanks to the lower bandwidth capacity of mobile data services.
To calculate mobile application bandwidth requirements, network designers will need to have a mechanism for estimating bandwidth consumption if for no other reason than to predict the cost of network operations. However, there are three major challenges to be faced:
- We don't have the same range of network monitoring tools that we have in the wired environment. Where in the wired world we can monitor from the server, in the wireless we have to monitor from the mobile device.
- The monitoring tools for the different mobile operating systems do not provide the same granularity of information.
While it might be nice to have a formula that would allow you to add up data and overhead, the more precise approach is to actually test the app itself and monitor the usage it produces; then it's a good idea to see how that compares to what the carrier actually bills.
Finding a bandwidth monitor to test mobile application usage
The first step will be to define a reasonable testing protocol. Start by identifying all of the major functions the app will perform, estimate the number of times each of those function is likely to be used in a billing period, then test each function and note the incremental usage.
The most typical platforms for deploying mobile applications are Apple's iOS and Android. Given the more open nature of the Android environment, there are any number of free or low-cost apps that allow you to monitor bandwidth usage by application; in the iOS world, we typically find tools that can only monitor total usage. Those Android options include:
There are a number of apps to measure total usage on an iPhone, but none that we've found can split it out by application. Some of the more popular are:
- Bandwidth by Kaisatec (free)
- DataMan by XVision ($0.99)
- Data Usage Pro by sigterm ($1.99)
- Data Usage Monitor by wali.com (free)
You can also use the native usage monitor in iOS by going to Settings > General > Usage > Cellular Usage. The purpose of these is not to test application utilization but to monitor your overall network usage. However, just about all of them allow you to zero-out your usage, so you can do the same type of function-by-function measurement, though it will be a little more laborious. You should also disable all other applications that make use of the data service to ensure that you are measuring just from the application you are interested in.
There are also a few data usage monitoring apps for the BlackBerry platform, but the reviews are decidedly mixed. Windows Phone has nothing for usage tracking at the moment and recommends you use the online usage tracking information the carrier provides.
Things get a little trickier if you are using a mobile device that doesn't run on one of those smartphone operating systems. Any number of purpose-built mobile devices can do bar code scanning or credit card entry functions. Typically in those cases, the manufacturer will be able to provide fairly accurate usage estimates for any of the functions the device performs.
Another area to watch is machine-to-machine applications, like meter reading, location tracking or machine monitoring. Again in those cases, the manufacturers can provide guidance, but the frequency with which the device updates the server will have a direct impact on the volume of data it consumes.
Check your mobile application bandwidth measurements against your carrier's
The last step in any of these analyses is to confirm the accuracy of your prediction against the bill. In the end, it doesn’t matter what the monitoring app has to say, the carrier will tell you what to write the check for! If there is a wide disparity between what the app reports for usage and what the carrier is billing for, you will want to do the same test with a different monitor and bring it up with the carrier if a discrepancy still remains. You probably don't want to wait until the end of the billing cycle to find out how far off you are, but most of the carriers allow you to view your current usage online.
In the end, the difference between calculating bandwidth requirements for WAN applications and mobile applications is in the constraints of the network environment. Both are still considered the task of a wide area network (WAN) designer and are essential in the application development and deployment process.