Mobile Development: Simulating Poor Connection

Yeah, is good to be back in blogging – been very busy with my work life lately. Nevertheless, today I’m sharing some cool tips on mobile development in general. Today’s tips will also be useful to all kinds of mobile native/ web development that requires an internet connection to retrieve data.

During my time working on several data driven project, I noticed a constant recurring problem and it’s all related to :-

Managing conditions that only occur during data timeouts / poor internet connection

Very often, problem like this are seldom tested, as we always develop and tested on a fast Wifi environment; until it’s too late.

Most of the developer choose to use airplane mode (when testing on device) to test but, I still find it hard to simulate what happened between connection at times. Especially when the data is transferring but it’s going at such a very slow data rate, the device still thinks it’s online.

I’ve been searching the net for months trying to find solution to help detect and handle such conditions especially during development. Then, I remember the technique game testers used when testing on online game client. They use a tool called bandwidth/network speed limiter to simulate a sudden drop of network connection speed.

Since, our mobile simulators / emulators are also connected to the same source of network. I figured this same technique can also be used as well. I also managed to even share a wifi hotspot which have a poor connection to simulate a very slow Internet connection to a device connected to my laptop – BANG! it was awesome!

Those doing web / even facebook flash game apps can also limit the network speed in browsers to test the connection handlers

Below are some of the tools I found on the net, go ahead give it a try :-

IOS and XCode Specific

Network Link Conditioner – works when you are coding and testing apps in simulator. This tool is an addon and you have to install it from Xcode > Open Developer Tool > More Developer Tools. Download the Hardware IO Tools for Xcode. Look for Network Link Conditioner.prefpane and double click on it. It will appear as an icon in System Preferences

Mac OSX

Speedlimithttp://mschrag.github.io same as above but, its a third party open source tool.

Windows

NetLimiterhttp://www.netlimiter.com/ This is one of the best I’ve found, it has various ranges of customization and caps on even the processes (e.g. only on Chrome.exe) in Windows. It is also my favorite tool when testing my web app in Windows platform. It’s not free though.

Traffic Shapper XPGet it here. Similar to netlimiter, but simpler functionality and most of all it’s a freeware.

 

Comments

comments