Differences between revisions 19 and 25 (spanning 6 versions)
Revision 19 as of 2011-08-02 18:27:42
Size: 11097
Editor: shoobe01
Comment:
Revision 25 as of 2011-11-27 18:17:55
Size: 11896
Editor: shoobe01
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Simulators and emulators help with design, development, testing and demonstration of software, when the actual environment is unavailable or unsuitable for testing. These are particularly applicable for mobile devices, as hardware is not always even out, service contracts and the number of devices to test make them very expensive, and it can be slow and cumbersome to load for each incremental code change. [[http://www.amazon.com/gp/product/1449394639/ref=as_li_tf_tl?ie=UTF8&tag=4ourthmobile-20&linkCode=as2&camp=217145&creative=399373&creativeASIN=1449394639|{{attachment:wiki-banner-bonus.png|Click here to buy from Amazon.|align="right"}}]]
S
imulators and emulators help with design, development, testing and demonstration of software, when the actual environment is unavailable or unsuitable for testing. These are particularly applicable for mobile devices, as hardware is not always even available, service contracts and the number of devices to test make them very expensive, and it can be slow and cumbersome to load for each incremental code change.
Line 4: Line 5:
 * A simulator is software appearing on a computer that acts like the target environment, but is technical dissimilar in some key aspect, and maybe all of them. The simulator will superficially behave like the actual device, but is driven by different code entirely.
 * An emulator runs the actual code, just within a virtual machine which itself simulates the hardware environment. From a technical perspective you can have much more confidence in the fidelity of the experience. Emulator problems arise from the virtual machine, which may have bugs (or the lack of them) which vary from the actual device. Often, the developer is allowed to select the available memory or processor or network speed, which is useful for unit test, but must be toned down for realistic testing or demonstrations later.
 * A '''simulator''' is software appearing on a computer that acts like the target environment, but is technical dissimilar in some key aspect, and maybe all of them. The simulator will superficially behave like the actual device, but is driven by different code entirely.
 * An '''emulator''' runs the actual code, just within a virtual machine which itself simulates the hardware environment. From a technical perspective you can have much more confidence in the fidelity of the experience. Emulator problems arise from the virtual machine, which may have bugs (or the lack of them) which vary from the actual device. Often, the developer is allowed to select the available memory or processor or network speed, which is useful for unit test, but must be toned down for realistic testing or demonstrations later.
 * An entirely other class of resources listed here are '''Remote Testing Labs'''. I have only used a few of those listed, but believe they all work the same way. Actual handset hardware is disassembled, things are soldered to it, and it's strapped to 1U cabinets. When you press a button on your web browser, it makes the same happen on the actual device. Which sends signal over a real network, and gives you the screen output. These are all fairly pricey fee-for-service programs, but some operator developer programs give away a few hours for free. Be careful, as they mostly charge per minute connected, not per click or based on activity; disconnect as soon as you are done.
Line 7: Line 9:
New ones are constantly being added, or replaced, so please help us keep this up to date. Visit the wiki at www.4ourth.com/wiki or contact us with updates you may encounter. New services and tools are constantly being added, or replaced, so please help us keep this up to date. Visit the wiki at www.4ourth.com/wiki or contact us with updates you may encounter.
Line 9: Line 11:
An entirely other class of resources listed here are Remote Testing Labs. I have only used Device Anywhere, so cannot comment on the others, but believe they all work the same way. Actual handset hardware is disassembled, things are soldered to it, and it's strapped to cabinets. You get to press buttons and it goes over a real network, and gives you the screen output. These are all fairly pricey fee-for-service programs, but some operator developer programs give away a few hours for free. Be careful, as they mostly charge per minute connected, not per click or based on activity; disconnect as soon as you are done.
Line 11: Line 12:
A good place to start is with MobiForge, who has published a useful guide to actually getting over a dozen emulators to run. Many of these are buried under their developer sites, so you may not have even found them. Most have some trick or other to get running, especially if you are not steeped in technical minutiae. A good place to start for the installation of most serious simulators/emulators is with MobiForge, who has published a useful guide to actually getting over a dozen emulators to run. Many of these are buried under their developer sites, so you may not have even found them. Most have some trick or other to get running, especially if you are not steeped in technical minutiae.
Line 26: Line 27:
 * [[http://www.pacamobilecenter.com/|PACA Mobile Center]] - A series of products around testing mobile devices for the entire European market. Includes remote access to their device library, like the rest of these I assume but I have not used their service.
Line 28: Line 30:
 * [[http://developer.vodafone.com/develop-apps/test/|Vodaphone Handset Cloud]] - Similar to the others, actual hardware free for qualified developers.  * [[http://developer.vodafone.com/develop-apps/test/|Vodaphone Handset Cloud]] - Similar to the manufacturer programs, free access to lots of Vodaphone handsets.
Line 40: Line 42:
 * [[http://bluestacks.com/download.html|BlueStacks]] third party Android emulator application, allows adding apps, etc. Windows 7 only.

Click here to buy from Amazon. Simulators and emulators help with design, development, testing and demonstration of software, when the actual environment is unavailable or unsuitable for testing. These are particularly applicable for mobile devices, as hardware is not always even available, service contracts and the number of devices to test make them very expensive, and it can be slow and cumbersome to load for each incremental code change.

Though often incorrectly used as such, they are not interchangeable terms, however.

  • A simulator is software appearing on a computer that acts like the target environment, but is technical dissimilar in some key aspect, and maybe all of them. The simulator will superficially behave like the actual device, but is driven by different code entirely.

  • An emulator runs the actual code, just within a virtual machine which itself simulates the hardware environment. From a technical perspective you can have much more confidence in the fidelity of the experience. Emulator problems arise from the virtual machine, which may have bugs (or the lack of them) which vary from the actual device. Often, the developer is allowed to select the available memory or processor or network speed, which is useful for unit test, but must be toned down for realistic testing or demonstrations later.

  • An entirely other class of resources listed here are Remote Testing Labs. I have only used a few of those listed, but believe they all work the same way. Actual handset hardware is disassembled, things are soldered to it, and it's strapped to 1U cabinets. When you press a button on your web browser, it makes the same happen on the actual device. Which sends signal over a real network, and gives you the screen output. These are all fairly pricey fee-for-service programs, but some operator developer programs give away a few hours for free. Be careful, as they mostly charge per minute connected, not per click or based on activity; disconnect as soon as you are done.

New services and tools are constantly being added, or replaced, so please help us keep this up to date. Visit the wiki at www.4ourth.com/wiki or contact us with updates you may encounter.

A good place to start for the installation of most serious simulators/emulators is with MobiForge, who has published a useful guide to actually getting over a dozen emulators to run. Many of these are buried under their developer sites, so you may not have even found them. Most have some trick or other to get running, especially if you are not steeped in technical minutiae.

Web-Browsers

  • dotMobi Online Emulator - Web simulator (despite the name) with focus on common phones. Run by YoSpace. Works in the browser, so quick and works on all OSs.

  • Opera Mini Simulator - Opera's J2ME browser, in the web so works fine for every platform.

  • Opera Mobile Developer Tools - Complete SDK with emulators for Opera Mobile. This is not the same as Opera Mini. For Windows, Mac and Linux.

  • Bolt Browser Simulator - Intended to sell the product, but useful to check how things might work on a small-screen, scroll-and-select browser.

  • iMode HTML simulator 2 - From NTT DoCoMo, displays (depending on the platform) HTML, Flash and PDF content, for devices using the i-mode Browser 2.0, released up through 2009, so certainly still in service. Windows only.

  • Access Developer Tools - Access J2ME browser development tools.

Remote Testing Labs

  • Device Anywhere - Several services, such as automated testing. You want the developer tools, which let you click around and see what is happening.

  • MDPi - Offered by Keynote as a component of their whole suite of quality assurance, testing, and monitoring products.

  • PACA Mobile Center - A series of products around testing mobile devices for the entire European market. Includes remote access to their device library, like the rest of these I assume but I have not used their service.

  • Nokia Remote Device Access - Service provided for free with a membership to Forum Nokia, for all the Symbian, S^3, and Maemo devices. Limited to 8 hours a day.

  • Samsung Lab.Dev - The same service as the Nokia RDA, just offered for Samsung Android handsets only, through their site and with a required memebership to their Samsung Mobile Innovator program. Press the "Android" button at the top of the page to start the service.

  • Vodaphone Handset Cloud - Similar to the manufacturer programs, free access to lots of Vodaphone handsets.

OS Simulators & Emulators

  • BlackBerry Simulators - Relatively simple to use BlackBerry simulators, without extra programming interfaces being required. Each one is a separate package, so checking multiple devices can be tedious. Windows only.

  • Blackberry Playbook Emulator - Complete emulator running in Air, for Windows and Macs.

  • Archived Openwave Phone Simulators - When Openwave got sold a few years back, they removed all the old development links. However, there are plenty of devices that still access the internet via their Openwave browsers, so it might be important for you. Dennis Bournique of WAP Review has very nicely hosted the old installers, and for a while at least you can get them here.

  • iPhone/Pre Emulator - Windows only desktop emulator, emulates both iPhone and Pre. Paid service with 16 day trial period only.

  • Palm SDK - Complete development environment for Windows, Mac and Ubuntu. Relatively easy to use and complete interface. Use a full mouse to control. Center button is the home key.

  • Palm Project Ares - Full web development environment for WebOS in the browser.

  • iOS SDK - Includes simulator for all iOS devices. Mac only.

  • Android SDK - Start here. Multi-step install process, and the emulator is pretty bare-bones out of the box, so hard to use for design validation unless you are also somewhat of a developer. Numerous add-ons for neat hardware like the Galaxy TAB, Motorola Xoom, and so on. Windows, Mac, Linux.

  • BlueStacks third party Android emulator application, allows adding apps, etc. Windows 7 only.

  • Nokia Tools - Nokia keeps up all their old ones, so you can get emulators and SDKs for S40, older S60, Qt, Maemo and everything they work on, right from here. Too many to list out.

  • Windows Phone 7 Emulator - Generic emulator, not just Windows only, but requires Vista SP2 or Windows 7 to run.

  • Access Developer Tools - Access, who I still think of as a browser maker, seem to have bought up the old Palm OS (called Garnet now) and offer a suite of OS and web products. Many are for Windows, Mac and Linux, but lots of tools so no promises for any individual one.

  • Windows Mobile 6.1 - Complete SDK. Windows only.

  • Windows Mobile 6 - Complete SDK. Windows only.

  • Standalone Device Emulator - The emulator from Visual Studio 2005, without installing the whole package. Comes with Windows Mobile 5 skins, but not really an emulator of anything specific. Windows only.

  • LG Java (J2ME Featurephone) SDK - For developing custom applications on LG featurephones. Custom install for each and every phone they offer. Windows only.

  • Sony Ericsson Java (J2ME Featurephone) SDK - For developing custom applications on Sony Ericsson featurephones. Windows only.

  • Samsung Java (J2ME Featurephone) SDK - For developing custom applications on Samsung featurephones. Windows only.

  • Bada SDK - Complete SDK including emulator for Samsung's sorta-not-a-featurephone OS. Windows only.

  • SDK for Brew and Brew MP - Components to create an SDK for various existing platforms (such as Eclipse), with instructions, for the Brew featurephone application environment. Windows only.

Prototyping / Wireframing

  • iPhone screen projector - "tethers" with your mac to display content from your desktop on your iPhone. Requires a free iPhone app.

  • iPhoneprototype - Firefox plugin for iPhone mockups.

  • Adobe Device Central - Part of the Adobe CS product line, lets you see what the design might look like on various mobile device screens. Includes non-whites, non-blacks, glare, etc.

Full Design Suites

Hardware

There are a few manufacturers that offer device loaner programs to qualified developers. I have never done this, so am not sure what "qualified" means, but I suspect it's pretty thorough. You get a current, active mobile device, you can use for a few weeks (Sony Ericsson is 30 days, for example) for free. Designed for testing of applications, to encourage development on their devices. Most manufacturers' developer programs also offer a discount to just buy their hardware as well.

Emulators (last edited 2014-09-11 12:46:28 by shoobe01)