User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0 (Beta/Release) Build ID: 20131201175730 Steps to reproduce: Used my ZTE Open without a SIM. Actual results: On the Gaia home screen, apps that rely on a SIM (Phone, Messages) appear as if clicking them would access a fully functional application. Expected results: Apps that rely on a SIM are shown with some visual indicator of reduced or no functionality. For example, Phone or Messages could be shown this way. This gives the user a bit more visual clarity and increases perceived responsiveness. Note that running a mobile device without a SIM is not that weird in the developing world ... people may be between SIMs, out of funds, or just using a device for music listening, photos, games or similar. This could be implemented fairly easily through scanning application permissions against hardware availability. However, this is not a clean solution. For instance, if at some point in the future VOIP calling is implemented within the Phone app, then the Phone app would need to say 'either a SIM or online wifi (maybe even 'with <x> bandwidth (to <y> destination)') is required'. This is not really feasible without making an extension to the manifest to allow apps to explicitly declare this or perhaps implement a lightweight callback based upon a snapshot of the current system environment (for various sybsystems) resulting in a boolean result. This callback would be retriggered when environmental changes occured within the relevant subsystems. The upshot of alll this is that the user gets better feedback. Also, if the required functionality is not available, Gaia's launcher takes care of presenting a fully localized explanation of why launch cannot occur to the end user, thereby removing the burden to the user (in terms of overall experience smoothness) and to app developers (in terms of implementation, i18n and maintenance) of custom UI error implementation from each individual such application. For instance, this might happen when someone tries to test a camera or motion sensor utilizing app within the emulator (IIRC emulator support for these are not implemented).
But The user may still use phone app to dial 100 or emergency number in his/her country,and messages application to read his/her text messages and in this case it will be a problem.