Testing on Mobile Devices using Emulators

With mobile devices becoming more and more popular each year, it is about time for the state-of-the-art Web Developer to not only test the sites he is building on a desktop/laptop computer, but also on mobile phones and PDAs. But there are so many out there! Do you need to buy each and every model to be able to test? Well, for a start device emulators can give you a helping hand.

For a couple of years we have heard from experts that using mobile devices for using the Internet will become increasingly popular and will move peoples using habits away from the desktop and into the mobile world. Apart from Japan, this is not quite true yet. Mobile devices such as PDAs, cell phones and pocket computers are getting more and more popular and feature-rich, but it still seems quite tedious to browse web sites on small screens with limited interaction capabilities. Apple with its iPhone has done a great job and we can only hope that others will follow in terms of anticipating how users would like to use a mobile device and which features would help them in doing so.

From a developers point of view, it is not only time consuming, but also expensive to consider a fair share of devices out there for testing. Different resolutions, different screen sizes and different browser implementations form a pretty high number of combinations a developer has to cater for. Unless you have a very high budget for testing, this is not gonna be possible.

That is where device emulators and browser simulators come in handy. Luckily for a whole lot of devices out there, software programs exist that replicate the behavior of such a device on your computer screen. Whereas in device simulators you actually are able to navigate and interact with various parts of the underlying operating system (Windows Mobile, Symbian OS etc.), browser simulators provide you just with the interface you most likely will also find on a particular device (e.g. BlackBerry).

Below you can find a list of emulators and simulators which let you inexpensively test how your site will be displayed on the device. Unfortunately, all of them, except the emulator for the iPhone, can only be installed on Windows.

Windows Mobile Emulator

Windows Mobile Emulator Screenshot

Installation

To install the Windows Mobile Emulator, first you need to download and install the following components:

Network Configuration

After installing the two items above, you can find the Emulator Images under Programs > Microsoft Windows Mobile 5.0 Images, which gives you a list of images for different types of devices, e.g. Pocket PC. When selecting one of these images, it fires up the Emulator and loads the respective device image. But before you can use it to test your own site, you need to configure the Network Settings to ensure proper connection to the Internet through your computer. For this, you need to do the following after the device has been booted up the OS:

  1. Chose File > Configure > Network in the Emulator Application window
  2. Check “enable NE2000 PCMCIA network adapter and bind to” (if you are using the Pocket PC image, it might be different for the other images)
  3. Select your computer’s network connection card from the list (e.g. Intel PRO) and hit OK
  4. On the (emulated) device itself, locate the “network card” settings dialog (on Pocket PC: Settings > Network Card)
  5. Here, select “connect to: The Internet”
  6. select “NE2000 compatible Ethernet driver”

Now you should have a connection to the Internet from the emulated device and can use Internet Explorer on the device to test how your site would look like on e.g. a Pocket PC.

I just noticed that there are more up-to-date version of the emulator and device images available from Microsoft. I have not actually installed and tested these, but I am just hoping the installation is as straightforward as with version 1.0 that I used.

iPhone

iPhoney emulator screenshotThe oh so beloved iPhone also has an emulator on its own, which is called iPhoney. It can easily be downloaded from marketcircle.com and installed, but only on Mac OS X. The look and feel is pretty nice and neat and it also supports the physical device capability of switching from portrait to landscape mode when rotating the device. In the Web Development circles I heard rumors that iPhoney is, despite the slick look, not providing accurate results and is mere a simple browser window re-sizer than actually providing a correct implementation of the browsing capabilities of the physical device.

Opera Mini

Opera Mini Website ScreenshotOpera has a big market share when it comes to browsers on mobile devices with its Opera Mini. On their site, Opera offers an Opera Mini Demo/Simulator which can be used for testing your Web site. You can even call that site by using a parameter in the URL to call your site straight away, e.g. ?url=http://www.klauskomenda.com. Other people have also had a look at that Simulator and even provided an alternate implementation.

Blackberry

Blackberry Simulator ScreenshotYou can download one of the many simulators they have on their web site after registering with their developer network. After that, download and installation is pretty straightforward and you can then find the simulator under Programs > Research In Motion > BlackBerry Device Simulators.

The look and feel of the device emulator is pretty great and gives you a good understanding of what capabilities the physical device really has. Unfortunately, I was not able to get a connection to the Internet (from what I have learned you would need to connect to the BlackBerry MDS Connection Service, but how?). So, to keep it short, no testing on BlackBerry. Nice simulator though.

ACCESS NetFront

NetFront Browser Emulator thumbnailAnother emulator for mobile devices is provided by ACCESS. The ACCESS Netfront browser emulator can be obtained from their web site, and can be launched by just running the executable from the ZIP archive. Upon launching the application, it took me a couple of minutes to figure out that hitting F1 actually gives you a menu from where you can select “URL” and type in the URL of your site.

Openwave simulators

Openwave Browser ScreenshotFrom what I have heard, Openwave is also pretty popular on mobile devices and on their website, they offer a simulator for download (but you need to register before you can do so). I downloaded version 7.0 and I was a bit disappointed by the look and feel and the capabilities it provides. I am not really sure if that is the default or if there are newer versions which can provide more functionality when it comes to rendering Web pages.

Nokia simulators

Nokia Mobile Browser Simulator 4 ScreenshotNokia, as one of the leading mobile phone makers, provides a decent selection of SDKs on their developer network, but unfortunately the device emulators included within these SDKs are built for actual application testing (written in e.g. J2ME) but not for testing Web sites using a mobile browser. So the only simulator I was able to find was the Nokia Mobile Browser Simulator 4.0 as part of the Nokia Mobile Internet Toolkit 4.1. They were made publicly available May 13, 2003 and July 2, 2004…so not the newest ones, I would say. Before downloading the Browser Simulator, you need to be registered with the Forum Nokia and request a serial number (in the sidebar, where it says “Request serial number for:) for the Browser Simulator.

The downloaded package is pretty small and after unzipping it, you can simply run the executable to install it. During installation, it will ask you for your Forum Nokia username and the serial number. After the installation, you can find the simulator under Programs > Nokia. The simulator itself is pretty disappointing cause it offers an interface with fits to the date of publication of the simulator and, more importantly, I was again not able to connect to the Internet. All I would wish for is that Nokia would update their standalone simulator to the newest models as soon as possible.

I just learned on their Forum, that the emulators provided with the SDKs actually provide full device capability, but I have not had the time yet to download one of these bundles and check for myself. SDKs are available, e.g. for Java (Series 80 and Series 60).

Further reading