2573
Comment:
|
12907
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
A simulator is software appearing on a computer that acts like the target environment. A browser that is the same size and the same official standards as the target browser, but not the actual code the target device is running. An emulator is running the actual code, so from a technical perspective you can have confidence in the fidelity. | [[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"}}]] 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. |
Line 3: | Line 4: |
== Web-Based == * [http://emulator.mtld.mobi dotMobi Online Emulator] - focus on common phones; likely to be a simulator not emulator. Run by YoSpace. * [http://www.opera.com/products/mobile/operamini/demo.dml Opera Mini Simulator] - Opera's J2ME browser * [http://boltbrowser.com/demo/] - Bitstream Bolt simulator. Intended to sell the product, but useful to check how things might work on a small-screen, scroll-and-select browser. * [http://www.deviceanywhere.com/] - Actually a new class, a virtualization system. Actual 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. Free trials available with some developer programs, otherwise a fee service. But useful. |
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. |
Line 9: | Line 9: |
== Applications == * [http://www.forum.nokia.com/info/sw.nokia.com/id/db2c69a2-4066-46ff-81c4-caac8872a7c5/NMB40_install.zip.html Nokia Browser Simulator] - generic Nokia phone and gateway * [http://developer.openwave.com/dvl/member/downloadManager.htm?softwareId=23 Openwave Phone Simulator] - Openwave's simulator (probably actually an emulator) * [http://www.blackberry.com/developers/downloads/simulators/index.shtml BlackBerry Simulator] - multiple different BlackBerry emulators * [http://www.yospace.com/spedemo.html| Yospace SmartPhone Emulator] - displays multiple phone instances at the same time but may not have the best fidelity to actual devices * [http://www.genuitec.com/mobile/ iPhone/Pre Emulator] - Windows only desktop emulator, emulates both iPhone and Pre. * [http://developer.palm.com/index.php?option=com_content&view=article&id=1883&Itemid=56 Palm Project Ares] - Full web development environment for WebOS in the browser. |
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. * [[http://mobiforge.com/testing/story/a-guide-mobile-emulators]] Some sources I need to look at, to make sure I got all the links: * http://www.themobilewebdesignblog.com/2011/11/26/best-mobile-emulators-responsive-design-testing-tools/ * http://www.mobilexweb.com/emulators * http://tagtag.com/site/info/emulator * http://www.mobilerunner.net/emu_wap3/p/wap3/ * http://www.mobilephoneemulator.com/ == Web-Browsers == * [[http://mtld.mobi/emulator.php|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. * [[http://www.opera.com/developer/tools/mini/|Opera Mini Simulator]] - Opera's J2ME browser, in the web so works fine for every platform. * [[http://www.opera.com/developer/tools/|Opera Mobile Developer Tools]] - Complete SDK with emulators for Opera Mobile. This is not the same as Opera Mini. For Windows, Mac and Linux. * [[http://boltbrowser.com/demo/|Bolt Browser Simulator]] - Intended to sell the product, but useful to check how things might work on a small-screen, scroll-and-select browser. SUDDENLY DEAD... INVESTIGATING * [[http://www.nttdocomo.co.jp/english/service/developer/make/content/browser/html/tool2/download/index.html|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. * [[http://www.accessdevnet.com/index.php/Downloads/|Access Developer Tools]] - Access J2ME browser development tools. * [[http://blog.wapreview.com/3733/|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. == Remote Testing Labs == * [[http://www.deviceanywhere.com/|Device Anywhere]] - Several services, such as automated testing. You want the developer tools, which let you click around and see what is happening. * [[http://www.keynote.com/products/mobile_quality/on_device/mobile-device-application-testing.html|MDPi]] - Offered by Keynote as a component of their whole suite of quality assurance, testing, and monitoring products. * [[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. * [[http://www.developer.nokia.com/Devices/Remote_device_access/|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. * [[http://innovator.samsungmobile.com/bbs/lab/view.do?platformId=1|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. * [[http://developer.vodafone.com/develop-apps/test/|Vodaphone Handset Cloud]] - Similar to the manufacturer programs, free access to lots of Vodaphone handsets. == OS Simulators & Emulators == * [[http://us.blackberry.com/developers/resources/simulators.jsp|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. * [[http://us.blackberry.com/developers/tablet/|Blackberry Playbook Emulator]] - Complete emulator running in Air, for Windows and Macs. * [[http://www.genuitec.com/mobile/|iPhone/Pre Emulator]] - Windows only desktop emulator, emulates both iPhone and Pre. Paid service with 16 day trial period only. * [[https://developer.palm.com/content/resources/develop/sdk_pdk_download.html|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. * [[http://ares.palm.com/Ares/about.html|Palm Project Ares]] - Full web development environment for WebOS in the browser. * [[https://developer.apple.com/devcenter/ios/index.action#downloads|iOS SDK]] - Includes simulator for all iOS devices. Mac only. * [[http://developer.android.com/sdk/installing.html|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. * [[http://bluestacks.com/download.html|BlueStacks]] third party Android emulator application, allows adding apps, etc. Windows 7 only. * [[http://www.developer.nokia.com/Resources/Tools_and_downloads/|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. * [[http://www.microsoft.com/download/en/details.aspx?id=13890|Windows Phone 7 Emulator]] - Generic emulator, not just Windows only, but requires Vista SP2 or Windows 7 to run. * [[hhttp://www.accessdevnet.com/index.php/Downloads/|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. * [[http://www.microsoft.com/download/en/details.aspx?id=16182|Windows Mobile 6.1]] - Complete SDK. Windows only. * [[http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6135|Windows Mobile 6]] - Complete SDK. Windows only. * [[http://www.microsoft.com/download/en/details.aspx?id=20259|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. * [[http://developer.lgmobile.com/lge.mdn.tnd.RetrieveSDKInfo.dev?modType=T&objectType=T&menuClassCode=&saveFileName=&resourceNo=&selectedType=&tabIndex=1|LG Java (J2ME Featurephone) SDK]] - For developing custom applications on LG featurephones. Custom install for each and every phone they offer. Windows only. * [[http://developer.sonyericsson.com/wportal/devworld/downloads/download/dw-99962-semcjavamecldcsdk2506?cc=gb&lc=en|Sony Ericsson Java (J2ME Featurephone) SDK]] - For developing custom applications on Sony Ericsson featurephones. Windows only. * [[http://innovator.samsungmobile.com/down/cnts/toolSDK.detail.view.do?cntsId=7500&platformId=3|Samsung Java (J2ME Featurephone) SDK]] - For developing custom applications on Samsung featurephones. Windows only. * [[http://developer.bada.com/devtools;jsessionid=nlZpTqyR6lrC7rj2shKWwWW8kmQf4Cw22sfgK4vNnJvzS608lyml!-939324231|Bada SDK]] - Complete SDK including emulator for Samsung's sorta-not-a-featurephone OS. Windows only. * [[https://developer.brewmp.com/tools/brew-mp-sdk|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. |
Line 18: | Line 65: |
* [http://www.zambetti.com/projects/liveview/ iPhone screen projector] - "tethers" with your mac to display content from your desktop on your iPhone. Requires a free iPhone app. * [http://sourceforge.net/projects/iphoneprototype/ iPhoneprototype] - Firefox plugin for iPhone mockups. |
* [[http://www.zambetti.com/projects/liveview/|iPhone screen projector]] - "tethers" with your mac to display content from your desktop on your iPhone. Requires a free iPhone app. * [[http://sourceforge.net/projects/iphoneprototype/|iPhoneprototype]] - Firefox plugin for iPhone mockups. * [[http://www.adobe.com/products/creativesuite/devicecentral/|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. |
Line 22: | Line 70: |
* [http://www.g5e.com/games/MIDS MIDS] - flow charts, navigation, wireframes, rendering, and even a physical test device | * [[http://www.g5e.com/games/MIDS|MIDS - Mobile Interface Design System]] - flow charts, navigation, wireframes, rendering, and even a physical test device == 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. * [[http://developer.sonyericsson.com/wportal/devworld/technology/borrowaphone?cc=gb&lc=en|Sony Ericsson]] * [[https://developer.palm.com/content/community/device_loaner_program.html|HP Palm, WebOS]] * [[http://developer.cisco.com/web/cius-developer/cius-loaner-program|Cisco]] Yes, they have an Android tablet-like desk phone. * [[http://www.samsung.com/sg/business/mobile/program.html|Samsung]] But only if you are one of their top-tier, SEA, developers. * [[https://partners.blackberry.com/web/guest/smartphone-loaner-program|Blackberry Alliance]] ------- Next: [[Device Detection]] ------- = Discuss & Add = Please do not change content above this line, as it's a perfect match with the printed book. Everything else you want to add goes down here. == Examples == If you want to add examples (and we occasionally do also) add them here. == Make a new section == Just like this. If, for example, you want to argue about the differences between, say, Tidwell's Vertical Stack, and our general concept of the List, then add a section to discuss. If we're successful, we'll get to make a new edition and will take all these discussions into account. |
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.
Some sources I need to look at, to make sure I got all the links:
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. SUDDENLY DEAD... INVESTIGATING
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.
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.
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.
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
MIDS - Mobile Interface Design System - flow charts, navigation, wireframes, rendering, and even a physical test device
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.
Cisco Yes, they have an Android tablet-like desk phone.
Samsung But only if you are one of their top-tier, SEA, developers.
Next: Device Detection
Discuss & Add
Please do not change content above this line, as it's a perfect match with the printed book. Everything else you want to add goes down here.
Examples
If you want to add examples (and we occasionally do also) add them here.
Make a new section
Just like this. If, for example, you want to argue about the differences between, say, Tidwell's Vertical Stack, and our general concept of the List, then add a section to discuss. If we're successful, we'll get to make a new edition and will take all these discussions into account.