What do the acronyms I18N or L10N stand for? What do they mean for developers of mobile applications in particular?
I hosted a session about localizing mobile applications at Developer Week 2014 in Nuremberg. It covers — among other things — text, numbers, date and time, images, and other localizable resources.
Regarding text localization, I put a particular focus on building plurals. Even though probably we all have raised eyebrows about more than one example of awkward alerts or labels like “0 file(s)” or “1 document(s)”, the topic seldom gets the necessary attention.
The API and code examples are for iOS, but the concepts behind them are applicable to basically any software product, be it for Android or any other (Java) application.
Final product of Android application development are not Activities, Services, Fragments and Views but simultaneous work of all these pieces to produce system with certain functionalities. Customer and user are not interested in internal architecture of the mobile app but they want to ensure that app returns the correct UI output in response to user’s actions on device. Therefore, functional UI testing does not require testers to know details of implementation.
Manual testing has a lot of disadvantages: it can be time-consuming, tedious and error prone. Automated testing is more efficient and reliable. All you need to do is to write test cases to cover specific usage scenarios, and then run the test cases automatically and repeatedly by testing framework.
The most notable limitation in Android Instrumentation frameworks, including Robotium, is that it lets click throughout only on the application that is under testing. For example, if application opens the camera and tries to take a photo, the test ends with a fail.
This is because of a permission to perform a click from one application to another. It is related to Android’s security model. For example, the uiautomator does not have this limitation, it allows taking pictures in one application and enable access to change settings in second application.
Have you ever wondered how easy or hard it is to implement GPS tracking for your Android application?
Do you know which are the challenges of balancing between best accuracy, power consumption and acquisition speed when acquiring a location?
Obtaining an accurate user location on a mobile device can be difficult. Generally there are three concerns that will challenge you the most:
- Multiple location sources – There is more then one provider from which location is acquired (GPS, WI-FI and Cell-ID) and they all vary very much in accuracy, power consumption and speed.
- User movement – Because of user movement location data must be refreshed on a reasonable time interval.
- Varying accuracy – Location estimations coming from different providers must not be with the same accuracy. Location from newest provider might be significantly less accurate than the estimation coming from an older provider.
Having these three points in mind, and carefully choosing and optimizing your choices can make a huge difference in a good or poor user experience when it comes to GPS tracking.
NOTE: Android 4.4.2 (API 19) is used.