Simulating delay and limited bandwidth when testing mobile apps

I found this to be very useful when testing mobile applications under real world bandwidth constraints on Mac OS X.

Open Terminal and type the following as sudo:

ipfw add pipe 1 src-port http

ipfw is a BSD tool used to configure firewall rules. This command creates a pipe for the HTTP traffic on port 80.

ipfw pipe 1 config delay 200 bw 500kbit/s

This sets the delay to 200ms and the download speed to 500kbit/s for the pipe previously created.

[Test your app here]

In order for your HTTP traffic to get back to normal delay and speed, you have to type as sudo:

ipfw flush