Tiny Flashlight v5.0 BETA has started

The rapid growth and diversity of Android brought many challenges for app developers – many form factors, huge differences between low-end and high-end devices, users with distinct cultures and expectations.

With over 200 million downloads Tiny Flashlight is one of the most popular Android apps. During the last 3 years I have experienced and solved almost all challenges related to Android’s popularity.

Today I’m announcing the public release of Tiny Flashlight v5.0 Beta. Version 5.0 has been in the planning stage for the last year and a half. It is a complete rewrite and tries to solve the problems of the next generation of Android apps targeted at low-end devices and developing markets.

A not so well known feature of Android is the ability of the OS to allow one application to load another application’s executable code, when certain security conditions are met. This opens a whole world of possibilities like creating different autonomous plugins for a given application.

Tiny Flashlight v5.0 is a stripped-down version with only the most important functions included – starting the camera flash as a torch and using the screen light. Everything else can be added as a plugin from the market. Plugins are like normal applications, without self-executable code – they have to be used within Tiny Flashlight.

Using plugins architecture gives several very important advantages:
• The application size is kept very small – important for low-end devices
• Users can choose what they need – ex. Strobe light, Morse code, integration with tools like Tasker, different widgets, etc.
• Reduction of required permissions. Tiny Flashlight’s permissions are stripped down to the bare minimum and if a given feature requires an additional permission, this permission will be added to a plugin. The user can decide whether to install the plugin and allow the permission or not.
• The plugins are treated like normal applications by Android and Google Play, which gives full control to the OS. For example, Tiny Flashlight v5.0 supports restricted OS accounts on tablets – a user can choose which plugin to allow/disallow in a restricted account.


Full accessibility support.
I have been surprised to find that applications with accessibility support are almost non-existent despite the excellent accessibility sub-system added in Android 4.1. I have decided to make Tiny Flashlight fully compliant and usable with touch-less navigation and the new touch-to-explore system. Tiny Flashlight will make speech notifications, when different events occur. This is very important for visually impaired users, who want to help their guiding dogs in the dark.

Android eco-system integration
Starting the camera LED has not been one of the easiest tasks, especially on older devices. I have received lots of requests from other developers to create a public API. The API has been completed and an open-source SDK will be released during the course of the Beta. It will be possible to create 3rd party widgets and plugins by other apps, which may need specific functionality like strobe light.

Solving the different form-factors problem.
Tiny Flashlight v5.0 supports all possible Android device displays – from 240x240 to 1080p, while keeping the application file in under 1MB. This was made possible by using highly-optimized vector graphics for most visual assets. All user interface elements are dynamically generated for the specific device and the user almost never downloads extra assets, which are not used.

Localization
Localizing an application is one of the most important steps a developer should take for removing the barrier between the users and the interface of the application. The current stable version of Tiny Flashlight supports 43 different languages and with the stable release of v5.0 it will support more than 50. Also, every official plugin will be fully localized.

Support for old Android devices
There is a large number of old devices in Asia, which do not access Google Play and can’t be seen in the official statistics. I’m fully committed to backwards compatibility and v5.0 will support devices with Android 1.5 (Cupcake).

Testing v5.0 and giving feedback is crucial before the final release sometime in late February/early March 2014. It will make the transition from the old version to the new easier for millions of users.

How to join the beta:
1. Join this Google+ community with the same Google account that you have on your device - https://plus.google.com/communities/101176604568150624956?partnerid=gplp0
2. After joining, the links for Tiny Flashlight opt-in and the public plugins will become available. This is the link for Tiny Flashlight v5.0 beta opt-in: https://play.google.com/apps/testing/com.devuni.flashlight
3. After the opt-in, wait 10 minutes and then download/update Tiny Flashlight from Google Play.
4. Please give your beta feedback on Google+

Beta opt-in links (you must have joined the beta community for the links to be available):

• Tiny Flashlight beta: https://play.google.com/apps/testing/com.devuni.flashlight

• KK Widgets: https://play.google.com/apps/testing/com.devuni.kkwidgets

• Classic Widgets: https://play.google.com/apps/testing/com.devuni.classicwidgets

• Morse Code plugin: https://play.google.com/apps/testing/com.devuni.flashlight.morse

• Strobe Light plugin: https://play.google.com/apps/testing/com.devuni.flashlight.strobe

• QLight plugin: https://play.google.com/apps/testing/com.devuni.flashlight.qlight

• Warning Lights plugin: https://play.google.com/apps/testing/com.devuni.flashlight.warninglights

• Light Bulb plugin: https://play.google.com/apps/testing/com.devuni.flashlight.lightbulb

• Color & Mood Light plugin: https://play.google.com/apps/testing/com.devuni.flashlight.colorlight

• Dash Light (DashClock Widget integration) plugin: https://play.google.com/apps/testing/com.devuni.flashlight.dashlight

• Task Light (Tasker integration) plugin: https://play.google.com/apps/testing/com.devuni.flashlight.tasklight

• Toggle Light (Power Toggles integration) plugin: https://play.google.com/apps/testing/com.devuni.flashlight.togglelight

• Light Table plugin: https://play.google.com/apps/testing/com.devuni.flashlight.lighttable

• LED Light Classic: https://play.google.com/apps/testing/com.devuni.flashlight.ledclassic

• Screen Light Classic: https://play.google.com/apps/testing/com.devuni.flashlight.screenclassic


More plugins will become available during the course of the beta.