Mobile Device Emulators and Simulators

 Android Emulator

When developing code for mobile devices, it’s always good to test it out on the targeted device(s).  However, it’s not always convenient or cost-effective to have access to the real thing.  That’s where mobile device emulators and simulators come into play.

My first question was what is the difference between an emulator and a simulator?  If a program can do everything (or nearly everything) that the device can do, it is an emulator.  If not, it is a simulator (e.g., iOS Simulator cannot place calls and Flight Simulator doesn’t actually fly you to your destination).  There are other definitions as well.  For the purposes of this post, I’ll assume they are more similar that different.  Quite frankly, I’m not sure the people who call their products emulators or simulators gave it this much thought.

There are emulators/simulators for both mobile web and mobile native applications.

Mobile Web Emulators/Simulators

There are a number of online as well as installable mobile web emulators/simulators.  Some have skins that closely resemble the mobile device.  Some just render the website with a smaller screen.  Others send the corresponding user-agent string when a web page is requested.   The user-agent string is information in the HTTP header that tells the server some information about the product name, version, platform, platform details, and other information.  One way to find out if the tool is sending out the correct user-agent string is to try websites like cnn.com or espn.com that have mobile versions optimized for the device type.  Another way is to use the web site  http://www.whatsmyuseragent.com from the tool which will display the user-agent string information.  You can then compare it to what the tool is supposed to be representing.  Here’s an example of my iPhone 4 user-agent string: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8L1 Safari/6533.18.5.

Some of the online ones that I found useful:

  • dotMobi emulator – This site features a Sony K750 and a Nokia N70.  Good for quickly testing a small form factor cell phone or feature phone.  There is also a dotMobi ready page on the same site which does an assessment of the mobile-friendliness of the page and also has five cell phone skins.
  • Opera Mini Simulator – A live demo of Opera Mini browser.
  • The Mobile Web Transmogrification Portal – An iPhone web simulator.
  • mobilephoneemulator.com – Has skins for iPhone, HTC, LG, BlackBerry, and Samsung.
  • Mobile Web Tester – Has simulators for iPhone, iPad, Droid, and BlackBerry.
  • User Agent Switcher Add-on for Firefox Browser – This extension allows you to program your full-size browser to send a User-Agent string for a mobile device.  It comes with just a few user agents, but you can add tons more by downloading the UserAgent Switcher list.
    As with all add-ons, be aware of what Firefox versions are supported.
    Right now, Firefox versions are changing faster than Lady Gaga’s
    wardrobe.

As a side note, there are other Firefox add-ons for mobile such as Modify Headers and Small Screen Renderer.  The book Beginning Smartphone Web Development does a good job of summarizing the ones mentioned plus others.

Here is a selection of installable ones:

  • iBBDemo2 is an Adobe Air application that does a good job of simulating the iPhone and iPad web browsing experience.
  • Ripple is a multi-platform mobile environment emulator that runs in a web browser and is custom-tailored to HTML5 mobile application testing.  They were acquired by Research In Motion.
  • Nokia browser simulator
  • Opera Mobile emulator – Not to be confused with the Opera Mini simulator previously mentioned.
  • iphoney – Obviously an iPhone simulator (web only).  For Mac computers only.
  • WinWAP Smartphone Browser Emulator  – While smartphone is in its title, the skins look more like cell phones to me.

Mobile Native Emulators/Simulators

These can test both mobile web and native applications.  Typically all of the SDKs have one.  Here are some of the more popular ones.

As you experiment with these and similar tools, you may encounter certain idiosyncrasies or missing capabilities.  There is no doubt that having a real device is the best solution.  However, these emulators and simulators can do the trick for those who want to test a variety of devices on the cheap.

For more information, check out the following links:

Enjoy!

Explore posts in the same categories: Android, BlackBerry, iOS, Media Tablet, Mobile Applications, mobile thick client, mobile thin client, smartphone, Symbian, Uncategorized, Windows Mobile, Windows Phone 7

Tags: , , , , , , , , , ,

Both comments and pings are currently closed.

One Comment on “Mobile Device Emulators and Simulators”


Comments are closed.


%d bloggers like this: