Developers working on mobile web apps need to be able to test their apps or sites in all of the major mobile platforms. Unfortunately, there are not a lot of good resources online for how to go about this. You could pay for a service from a mobile testing company, like DeviceAnywhere, who provides access to a wide selection of real devices (using a virtual client). Or you could go the free route by installing a variety of SDKs and mobile phone simulators.
I’m developing on a Mac. Many of these emulators are Windows-specific. Additionally, this could end up being a lot of work to setup, so putting all of these tools onto a Windows virtual machine will let me move the VM to another machine in the future and save me from reinstalling from scratch. On my Mac I’m running Parallels Desktop with a copy of Windows XP.
The only exception is the iPhone SDK which includes a simulator for the iPhone. The iPhone SDK is only available for installation on the Mac OS and I’ll be leaving it out of the instructions below. I also haven’t installed or tested the 3.2 (beta) yet which includes an iPad simulator.
Big surprise that Java is used for some of these SDKs and simulators, so we might as well get started by installing the JDK and runtime if you don’t already have it installed. You should be able to download a copy of the JDK from here:
I grabbed “JDK 6 Update 18”.
Download the Android SDK from Google’s Android Developer site and run the enclosed SDK Setup program.
Unzip the .zip package you download and put in a location you want to keep the files (perhaps within Program Files) and then run the SDK Setup program.
In the “Installed Packages” section of the setup program, click “Update All…” to download the platforms and APIs that will be run by the SDK.
To create an emulator for a specific version of the Android OS, select the “Virtual Devices” option, then click the “New…” button. In the dialog box that opens, enter a name for your emulator and select a target OS (e.g. “Android 2.0.1”). Then click the “Create AVD” button. Select your new emulator from the list and click the “Start” button. When the emulator starts you’ll find an icon for “browser” on the main screen.
In the past, I have setup Symbian emulators and SDKs to do local testing. When I returned to their site to download new software I was pleased to find that they now provide a service for accessing virtual devices over the Internet using a Java application. Visit http://apu.ndhub.net/ to register and access a wide selection of devices.
BlackBerry simulators for various models and OS versions can be downloaded from their developer site. Each simulator is downloaded as its own installer package. So download all of the emulators you want to test (Storm, Bold, Pearl, etc.) and run their installers.
This seems simple enough, but if you start up one of these simulators and open the web browser you’ll quickly find that you’re missing a critical piece: network access. To access the web from these emulators you need to also download the MDS Services Simulator package. Find a link for this download from the resources page:
Also note that BlackBerry makes available some documentation specific to web application development for the BlackBerry platform. You can find these resources at the address below (registration required):
Palm webOS SDK
The Palm SDK includes a web browser within its phone simulator which is useful for testing the browser that runs on the Palm Pre and Palm Pixi.
Go to Palm’s developer site and look for a button or link to download the SDK.
The emulator runs within Sun’s VirtualBox software. There is a link from the Palm download site for downloading VirtualBox. Follow the instructions and install VirtualBox first.
Next, download and install the webOS SDK.
Once you’ve completed the installation, you can start up Palm emulator from your Start Menu: Programs > Palm > SDK > Palm Emulator.
When you run VirtualBox, it may prompt you to download an updated version. The Palm Emulator (as of January 30, 2010) will not run on the latest version of Virtual Box. Stick to the version that you download from the Palm Developer web site (3.0.10).
This should get your started with a testing environment for a few of the top mobile browsers on the market today.
If you’ve got other tips to share about testing mobile browsers, share them in the comments below.