Planet Android Headlines

↑ Grab this Headline Animator

August 20, 2017

Custom Status Bar, Nav Bar, and Quick Setting Icons on any Samsung Nougat Device

With the ability to use Substratum on Samsung devices (called Sungstratum) without it requiring root access, we’re starting to see more new themes crop up that are specifically for these devices running Android 7.0 Nougat. A new and open source theme from XDA Senior Member OhayouBaka called StatusBar Icons should work on any Samsung Nougat device. With it installed, you can get custom status bar icons, the status bar clock font, quick settings icons, and navigation bar icons to use the icons from AOSP that are found on the Google Nexus and Pixel devices.

Download the StatusBar Icons theme our forums

by Doug Lynch at August 20, 2017 08:20 PM

How to Adjust Gboard’s Keyboard Height Above the Highest Level

Gboard is a re-brand of what used to be called Google Keyboard and it contains more features over its predecessor including in-built Google search, multiple language support, and integrating smart suggestions into your typing. It also has contextual awareness, so if your grammar is incorrect sometimes it will try fix that too. The app is overall a huge improvement over the old Google Keyboard, as it does everything better than what it used to.

However, the application lacks some options. Some would argue the keyboard is too small. I prefer the keyboard to be small, using as little screen space as possible, but some people prefer it to be bigger as a smaller keyboard can lead to more inaccurate typing, which I do agree with. While there is a “Keyboard height” setting in Gboard preferences, some might find that even the tallest option is not tall enough.

Delving into the application’s data folder located in /data/data, we found some interesting modifiable strings that allow you to modify the keyboard height even beyond its highest level. This guide requires root access, as we will modify a file located in the /data partition. 

You will need root access on your phone to follow this tutorial. You can get root access by either flashing Magisk or SuperSU after unlocking your device’s bootloader. Note, any other modifications you make within the file are not guaranteed to work, and may break Gboard.

Adjust Gboard’s Keyboard Height Manually

Step 1

Firstly as mentioned you will need root access and some form of root enabled file explorer. You can use MiXplorer from here on XDA if you wish, or another file explorer like Solid Explorer. Make sure to grant root access to the file explorer.

MiXplorer (Free, XDA Labs) →

Step 2

Navigate to the following folder.


And look for the file named This file contains various preferences relating to Gboard, including the two strings we will look for to modify height and sensitivity. Simply open this file as a text file.

Step 3

You can use the find feature of your favourite text editor to edit the strings as this is a large file. Firstly search for “keyboard_height_ratio”. You should be brought to a string which looks like this.

<string name="keyboard_height_ratio">1.0</string>

You can modify this number any way you like. A larger number will increase the height, a lower number will decrease it. Once you have done this, you have to force close Gboard for it to launch with the new setting.

As you can see, the height has increased. This is because I increased the height from 1 to 1.5. You can set this to any range of values you like, but be careful as a value too large or too small won’t let you edit the file unless you clear data for Gboard or use a different keyboard to modify it back.

Bonus – Possible Swipe Sensitivity Tweak

This is a swipe sensitivity tweak, which may not actually do anything. The string exists and is modifiable, but we don’t know if it actually changes anything as it is hard to tell when swiping. To edit this, navigate to the same file again and this time locate the following string.

<string name="keyboard_slide_sensitivity_ratio">1</string>

And edit the value as you wish. Again force close Gboard (following the screenshots above) and the tweak should theoretically be activated. If you notice a different let us know!


Most application settings are actually just inputs that write a value to a location in a file, and the application reads this for its configuration. These two tweaks do not have a front-end within the Gboard application for changing them, however the app still reads them. These are likely to be experimental features that Google either plan to add or haven’t removed yet. You can have a look through the preferences file and see if you see anything else of interest that may be worth modifying, and if so let us know!

by Adam Conway at August 20, 2017 08:00 PM

August 19, 2017

TWRP 101: How to Install the Best Custom Recovery for Android

When it comes to modding Android, root gets all the glory, but a good custom recovery is really the only thing you need. Not only does it allow you to back up your entire phone, install flashable ZIPs, and load custom ROMs like LineageOS, but a custom recovery will even let you root your device. For years now, the only custom recovery worth mentioning has been Team Win's TWRP. The reason for TWRP's success is simple — it supports hundreds of phones and tablets, and its touch-based interface makes performing complicated tasks incredibly easy. Really, the only hurdle when it comes to using TWRP... more

by Dallas Thomas at August 19, 2017 01:17 AM

August 18, 2017

Cydia 101: How to Respring Your iPhone Without Losing Jailbreak Each Time

When you have minor software issues like an app crashing, restarting your iPhone would usually fix it. But Apple doesn't provide an official "Restart" or "Reboot" option (unless you count this bold text hack), so we typically have to power our devices off and on in these scenarios. Thankfully, there's a great Cydia tweak that lets you "respring" your device, which is even faster than restarting. Respringing is a way of restarting your device without going all the way back through the boot chain. Think of it like restarting the operating system, but not the whole phone. If you're familiar with... more

by Amboy Manalo at August 18, 2017 10:52 PM

Google releases source for Google I/O 2017 for Android

Posted by Shailen Tuli

Today we're releasing the source code for the official Google I/O 2017 for Android app.

This year's app substantially modifies existing functionality and adds several new features. It also expands the tech stack to use Firebase. In this post, we'll highlight several notable changes to the app as well as their design considerations.

The most prominent new feature for 2017 is the event reservation system, designed to help save in-person attendees' time and provide a streamlined conference experience. Registered attendees could reserve sessions and join waitlists prior to and during the conference; a reservation provided expedited entry to sessions without having to wait in long lines. Reservation data was synced with attendees' conference badges, allowing event staff to verify reservations using NFC-enabled phones. Not only was the reservation feature incredibly popular, but the reservation data helped event staff change the size of session rooms both before and during I/O to adjust for actual demand for seats.

The reservation feature was implemented using Firebase Realtime Database (RTDB) and Cloud Functions for Firebase. RTDB provided easy sync across user devices — we just had to implement a listener in our code to receive database updates. RTDB also provided out-of-the-box offline support, allowing conference data to be available even in the face of intermittent network connectivity while traveling. A Cloud Function processed reservation requests in the background for the user, using transactions to ensure correctness of state (preventing mischievous users from grabbing too many seats!) and communicating with the event badging system.

As in previous years, we used a ContentProvider as an abstraction layer over all app data, which meant we had to figure out how to integrate RTDB data with the ContentProvider. We needed to negotiate between having two local caches for data: 1) the extant local SQLite database accessed via the ContentProvider, and 2) the local cache created by RTDB to facilitate offline access. We decided to integrate all app data under the ContentProvider: whenever reservation data for the user changed in RTDB, we updated the ContentProvider, making it the single source of truth for app data at all times. This meant that we needed to keep open connections to RTDB only on a single screen, the Session Detail Activity, where users might be actively managing their reservations. Reservation data displayed in other parts of the app was backed by the ContentProvider. In offline mode, or in case of a flaky or delayed connection to RTDB, we could just get the last known state of the user's reservations from the ContentProvider.

We also had to figure out good patterns for integrating RTDB into the overall sync logic of IOSched, especially since RTDB comes with a very different sync model than the ping-and-fetch approach we were using in the app. We decided to continue using Cloud Endpoints to synchronize user data across devices and with the web and iOS clients (the data itself was stored in Datastore). While RTDB provides out-of-the-box data syncing, we wanted to make sure that a user's reservation data was current across all devices, even when the app was not in the foreground. We used a Cloud Function to integrate RTDB reservation data into the sync flow: once reservation data for a user changed in RTDB, the function updated the endpoint, which triggered a Firebase Cloud Messaging downstream message to all the user's devices, which then scheduled data syncs.

This year's app also featured a Feed to apprise users about hour-by-hour developments at I/O (most of the app's users were remote, and the Feed was a window into the conference for them). The Feed was also powered by RTDB, with data pushed to the server using a simple CMS. We used a Cloud Function to monitor RTDB feed data; when feed data was updated on the server, the Function sent a Cloud Messaging downstream message to clients, which visually surfaced the presence of new feed items to the user.

In 2015 and 2016, we had adopted an MVP architecture for IOSched, and we continued using that this year. This architecture provides us with good separation of concerns, facilitates testing, and in general makes our code cleaner and easier to maintain. For the Feed feature, we decided to experiment with a more lightweight MVP implementation inspired by Android Architecture Blueprints, which provided the necessary modularity while being very easy to conceptualize. The goal here was both pedagogical and practical: we wanted to showcase an alternate MVP pattern for developers; we also wanted to showcase an architecture that was an appropriate fit for our needs for this feature.

For the first time, IOSched made heavy use of Firebase Remote Config. In the past, we had found ourselves unable to inform users when non-session data - wifi information, shuttle schedule, discount codes for ridesharing, etc. - changed just before or during the conference. Forcing an app update was not feasible; we just wanted in-app default values to be updatable. Using remote config easily solved this problem for us.

In the end, we ended up with a three-tier system of informing users about changes:

  1. Conference data and user data changes were communicated via Cloud Messaging and data syncs (ping and fetch model).
  2. Feed data changes were controlled via RTDB.
  3. Changes to in-app constants were controlled via Remote Config.

Future plans

Even though we're releasing the 2017 code, we still have work ahead of us for the coming months. We'll be updating the code to follow modern patterns for background processing (and making our app "O" compliant), and in the future we'll be adopting Android's Architecture Components to simplify the overall design of the app. Developers can follow changes to the code on GitHub.

by Android Developers ( at August 18, 2017 04:20 PM

August 17, 2017

500 million devices now supported for Android Instant Apps

Posted by Jonathan Karmel

Since our public launch at Google I/O this year, we've been hard at work expanding the number of supported devices and the availability of instant apps, so that users can run your apps instantly, without installation. We're excited to announce that 500 million Android users now have access to instant apps across countries where Google Play operates.

A number of Google Play apps and games businesses across a range of industries have already started building with instant apps. Following the launch of their instant apps, they have seen strong results in engagement, acquisition and retention.

Vimeo: WIth more than 50M creators and 240M viewers worldwide, Vimeo has built a platform whereby people can easily share videos with friends. The company wanted to implement Android Instant Apps to enable their audience to easily immerse themselves in content through a native app experience. Vimeo increased session duration by 130% with their instant app. Discover how Vimeo drove increased engagement with their instant app.
Jet: Based in the US, Jet provides a shopping platform, using a real-time savings engine to surface opportunities for customers to pay less. The company wanted to expand the reach of their existing app, and updated their app in order to support instant apps. Following the launch of their instant app, Jet found that their conversion rate increased by 27%. Learn about how Jet launched their instant app.
NYTimes Crosswords: The NYTimes Crosswords instant app provides users with crossword puzzles as printed in the New York Times daily newspaper. Their aim was to create a more native experience for their audience, increasing app engagement. Instant apps have 2x the number of sessions per user. Based on early results, they are also seeing more effective acquisition, conversion, and long term retention. Learn more about how NYTimes increased app sessions.
dotloop: dotloop is a real estate transaction platform which makes it easier for real estate professionals to interact with home buyers and sellers, and for them to be able to sign documents anytime, anywhere. Their aim for instant apps was to provide more users a native app experience for the signing process of documents. dotloop increased their key metric with a 62% increase in users who sign a document. Discover how dotloop supported Android Instant Apps and increased engagement.
Onefootball: Based in Berlin, the app provides news, live scores, fixtures, results, tables and stats for over 230 leagues and 15 languages. Onefootball built an instant app by reducing its APK size alongside other updates. The number of users who read news and share content increased 55% in their instant app. Find out more about how Onefootball increased engagement following their launch. A leading online real estate destination that attracts nearly 60 million unique visitors each month to its desktop and mobile platforms. enabled Android Instant Apps support by modularizing its 12 MB app into instant app modules. With Instant Apps, increased their key conversion metrics having doubled the number of leads per property listing details pageview. Find out how reduced its instant app APK size.

Learn more best practices for managing your download size with Android Instant Apps, and also visit for more information on building instant apps and get started today!

How useful did you find this blogpost?

by Android Developers ( at August 17, 2017 08:00 PM

August 16, 2017

Transformers: Fight with Honor 9

Packing an award-winning glass back design and state-of-the-art features, Honor 9 is yet another innovation from Honor, combining delicate craftsmanship and innovative technology. Powered by the Kirin 960 chipset, a 180% speedier GPU than its predecessor, 6GB of RAM, 64GB of storage and EMUI 5.1, Honor 9 reduces disruptions in gaming that can come from rendering and lagging. Coupled with the 5.15-inch FHD display and a 3,200mAh battery, the Honor 9 allows users to game continuously for hours without having to charge their phone.

The Kirin 960 paired with 6GB of RAM makes the Honor 9 one of the best gaming phones in the world.

The powerful Kirin 960 chipset is pushing mobile graphics processing to the next level.

“Honor 9 is built on an intimate understanding of what young people value, and gaming is obviously key for them. We are thrilled to have partnered with Google Play to bring our users an unrivaled mobile gaming experience.”

George Zhao, President of Honor

Transformers: Fight with Honor 9

Honor worked hand in hand with the developers of “Transformers: Forged to Fight” to optimize the mobile gaming experience of Honor 9 users. A custom game profile was specifically designed for Honor 9, delivering more vivid details while pumping out high FPS, making deferred rendering, real-time reflections, particle effects and dynamic lighting possible.

Honor 9 owners can grab the Transformers: “Forged to Fight” gaming package for Google Play.

Experience “Transformers: Forged to Fight” with graphics enhancements that only the Honor 9 can deliver.

From now through to July 1, 2018, Honor 9 users can redeem a Google Play prize package of up to $18 worth of game content. Enter your phone’s IMEI to redeem your “Transformers: Forged to Fight” gaming package.


We thank Honor for sponsoring this post. Our sponsors help us pay for the many costs associated with running XDA, including server costs, full time developers, news writers, and much more. While you might see sponsored content (which will always be labeled as such) alongside Portal content, the Portal team is in no way responsible for these posts. Sponsored content, advertising and XDA Depot are managed by a separate team entirely. XDA will never compromise its journalistic integrity by accepting money to write favorably about a company, or alter our opinions or views in any way. Our opinion cannot be bought.

by A Word From Our Sponsors at August 16, 2017 01:00 PM

August 15, 2017

10 Best Utility Apps for Android Devices

Android phones are an integral part of our life. With tons of productivity Android phones are an integral part of our life. With tons of productivity, utility, audio, video, game apps entering and leaving the technology world. The handy smartphone performs A-Z work to help us work efficiently and enhance productivity. We have collected some best Android tools and utility apps to work smartly and instantly.

10 Popular Utility Apps to Work Smartly, not Hard!

We present to you 10 best utility apps exclusively for the people who believe in increasing productivity. These apps will help you work smartly and effortlessly. Move down to know more!


The free app allows the user to lock your valuable apps. Privatize your important apps so that you don’t get strange eyes peeping inside your personal things. Lock all your apps with a unique and similar passkey, you can even hide the app icon or use a code. Get the app for free with ads and excellent features or purchase the app.

Download App Lock!



This app helps the user to locate fueling stations, get the latest gas rates or forward the gas prices to fellow drivers. The gas finding app is available in countries like US, Australia or Canada. This free app comes to be handy when the user urgently needs to know a nearby gas station, while he is enjoying a road trip or picnic.

Download GasBuddy!   

Google Translate

Google translate-app-image

This android app doesn’t need any introduction. It provides features for a smooth communication in 103 languages in typing, 52 languages in offline translation, conversation  mode that translates in real time, OCR support and much more. Travel to far places with this app and you will feel like a local in a few days.

Download Google Translate!

GSam Battery Monitor


This app acts like a great battery saver tool for all Android users. Get updated with all the battery related information so that you don’t use your phone unnecessarily. It provides features like screen on time, mobile radi0o usage, WiFi usage or app usage. Android root users are lucky as they get an additional feature by installing root companion. Get the app for free or pay $2.49.

Download GSam Battery Monitor!



The password management tool remembers all your passwords. This app allows the under to create complex passwords and helps to remember it for you. The app is used widely in offices as well as personal works. Secure all your accounts without being afraid of forgetting passwords. Use for free or purchase at $12 yearly.

Download LastPass!



The Android app equips you to centralize all your package shipments. Just put your tracking number and carrier and leave the rest work for the app. It also allows the users to order online and a good app if your love shopping. The mailbox helps to send tracking numbers and the app will add it on its own. Love online shopping, scroll down to download. Get it free of purchase it at $2.99.

Download ParcelTrack!

Smart Tools


The app is a collection of tools that are useful on daily basis. It is equipped with measurement tools, compass, Vibrometer, mirror, flashlight, unit converter etc. These are some basic and underestimated, but it is utmost important in market, gold shops etc.

Download Smart Tools!

Sleep as Android


This app is designed to track your sleeping patterns. For the busy people who are always on the go, they need this app for sure. Sleep as Android comprises of a smart alarm clock with sleep cycle tracking. Other features include optional pebble, Androiud wear or galaxy smart wear, S health support, and much more. Check out the app for free or pay $3.99.

Download Sleep as Android!

Wi-Fi Analyzer


The free Android app helps the user to find the number of Wi-Fi channels surrounding. It facilitates by finding the less crowded channels for your wireless router. Using the information obtained, the user can optimize his router, about clogged Wi-Fi channels and details to improve your PC’s performance.

Download Wi-Fi Analyzer!


IF by IFTTT-app-image

This app provides the user with services to create new experiences. It works with 400 apps including Twitch, Twitter, Telegram, Goggle Drive etc. Stay updated with global news, weather news, intelligent home security alerts, integrate your social media, backup all your important files, photos etc The multipurpose app stands for  ‘If this then that’, rule the world with just your voice.

Download IF by IFTTT!


These 10 utility apps are applicable to all Android users. Download some of them to experience burdenless work. Just give commands to your smartphone and get the work done. Try some of these apps that consumes less time and effort.

Author Bio:

Sejal Parmar loves to explore the newly released Apps & Games. She blogs at Rule.FM and writes about latest Android Apps & Games.

10 Best Utility Apps for Android Devices is a post from Hack My Android

by Sejal Parmar at August 15, 2017 02:02 PM

August 14, 2017

Android's Architecture Components Version 0.2 Released

Subscribers now have access to an update to Android’s Architecture Components, known as Version 0.2, in PDF, EPUB, and MOBI/Kindle formats. Just log into your Warescription page and download away, or set up an account and subscribe!

This is a small update, bringing in two new chapters on M:N relations in Room and LiveData transformations. It also covers the current 1.0.0-alpha8 version of the Architecture Components, fixes a variety of errata, and makes other small improvements.

The next update to this book should come in late September or thereabouts.

by Mark Murphy at August 14, 2017 01:17 PM

August 10, 2017

Upcoming Presentations

My final(?) three presentations of 2017 are all scheduled now.

First up, I will be attending the third annual Android Summit, August 25-26 in the Tysons area of Northern Virginia. There, I will pound some more on one of my common punching bags: the War on Background Processing. In particular, I will focus on what Android 8.0 changes that will affect your background services and how to try to mitigate those changes.

Then, I will be attending the fourth annual droidcon NYC conference, September 25-26, in the Big Apple. There, I will be talking about Room, the persistence piece of Android’s Architecture Components.

Finally, on November 11th, I will be attending the second annual DevFest Florida, in Orlando, FL. There, I will also be talking about Room. Rumors that I will be seen wandering around Disney World wearing a bugdroid costume are completely unfounded.

I hope to see you there!

by Mark Murphy at August 10, 2017 02:31 PM

August 05, 2017

How To Identify Which Apps are Killing Your Phone’s Battery

It’s been two days now since I bought the OnePlus 3T and the battery drain is driving me crazy. It has drained by around 4% in the last 10 minutes and it would probably be dead in a few hours unless I charge it back. The wakelock detectors aren’t always helpful, so I went ahead and tracked all the running process in the phone to see which of those have been using more CPU.

The command to see all running processes in a unix system is top. Connect your phone to your PC and run the following command using ADB. In case you do not have access to your laptop right away, you can run this command on your phone using Terminal Emulator and without prefixing the command with adb.

adb shell top -m 20 -d 2

This command will connect to your phone and list down all running processes with the amount of CPU utilized by the process. The -m option will list down 20 processes and -d refers to the interval in which the command will be run. You can adjust these values as per your convenience.

To my surprise, I could see that which is the package name for Google Play Music has been utilizing 25% of my CPU continuously even though it was not in use and with the screen being turned off. I just cannot afford to allocate a quarter of the phone’s CPU to a music app which is not running. Though I may have to cancel my subscription for Google Play Music, I had to uninstall the app. You can disable it if you’re not rooted.

This may not be the case with all devices – some of them using OnePlus 3T have reported that SwiftKey that comes in as a system app has been the culprit, but it didn’t seem to drain any battery for me. It’s been some time now since I uninstalled Google Play Music and the battery doesn’t seem to drain much.

Though the doze mode in Android 7 works pretty well by hibernating all network connections of apps when the phone has been idle for long, it doesn’t hibernate the apps when the phone is being used. You can also use Greenify to hibernate such problematic apps.

How To Identify Which Apps are Killing Your Phone’s Battery is a post from Hack My Android

by Lalit Indoria at August 05, 2017 06:51 AM

July 28, 2017

New Game Under Development: Wing Leader

I have been working on a new game recently. It's a race game for Android. Not cars ... bees. ... The game is called "Wing Leader". Your bee races against another bee. It's a race to see who can get to the hive fastest. .. Actually, there is more to a race than just moving fast. You have to pick up nectar along the way. The hive expects nectar so honey can be made. So while you are speeding along, you stop at flowers to pick up nectar. The winner of the race is the bee with the best finish time, after adding in penalty time in case you show up without the required ten units of nectar. .. Here's a screenshot to show you how scoring works. Notice that your bee could win even though it had a slower finish time. That's because the pink bee came in without a full load of nectar. ... Wing Leader is a bit different than other racing games because of the penalty time. And then there are leaderboards ... On the screen, you are racing against an AI bee, but really you are competing against all the other bees in the world. Your goal is to be the fastest bee in the world. Continue reading

by Bill Lahti at July 28, 2017 03:32 PM

July 25, 2017

How to find location in Android using GPS?

This example helps you to find the location in Android using the GPS.
I have commented out some functionality in the code. You can uncomment it and extend it at your wish.

At first we will create a utility class that will handle all GPS related Operations.

GPS Utility Class

This class has all utility functions for getting location details such as Latitude and Longitude, Geocoder etc.


import android.Manifest;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.provider.Settings;
import android.util.Log;
import android.widget.Toast;

import java.util.List;
import java.util.Locale;

public class GPS extends Service implements LocationListener {

    // Get Class Name
    private static String TAG = GPS.class.getName();

    private final Context mContext;

    // flag for GPS Status
    boolean isGPSEnabled = false;

    // flag for network status
    boolean isNetworkEnabled = false;

    // flag for GPS Tracking is enabled
    boolean isGPSTrackingEnabled = false;

    Location location;
    double latitude;
    double longitude;

    // How many Geocoder should return our GPS
    int geocoderMaxResults = 1;

    // The minimum distance to change updates in meters
    private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 1; // 10 meters

    // The minimum time between updates in milliseconds
    private static final long MIN_TIME_BW_UPDATES = 5000; // 1 minute

    // Declaring a Location Manager
    protected LocationManager locationManager;

    // Store LocationManager.GPS_PROVIDER or LocationManager.NETWORK_PROVIDER information
    private String provider_info;

    private Handler locationHandler;

    public GPS(Context context, Handler locationHandler) {
        this.mContext = context;
        this.locationHandler = locationHandler;

     * Try to get my current location by GPS or Network Provider
    public void getLocation() {

        try {
            locationManager = (LocationManager) mContext.getSystemService(LOCATION_SERVICE);

            //getting GPS status
            isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);

            //getting network status
            isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

            // Try to get location if you GPS Service is enabled
            if (isGPSEnabled) {
                this.isGPSTrackingEnabled = true;

                Log.d(TAG, "Application use GPS Service");

                 * This provider determines location using
                 * satellites. Depending on conditions, this provider may take a while to return
                 * a location fix.

                provider_info = LocationManager.GPS_PROVIDER;

            } else if (isNetworkEnabled) { // Try to get location if you Network Service is enabled
                this.isGPSTrackingEnabled = true;

                Log.d(TAG, "Application use Network State to get GPS coordinates");

                 * This provider determines location based on
                 * availability of cell tower and WiFi access points. Results are retrieved
                 * by means of a network lookup.
                provider_info = LocationManager.NETWORK_PROVIDER;


            // Application can use GPS or Network Provider
            if (!provider_info.isEmpty()) {

                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    if (mContext.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
                            mContext.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                        // TODO: Consider calling
                        //    ActivityCompat#requestPermissions
                        // here to request the missing permissions, and then overriding
                        //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
                        //                                          int[] grantResults)
                        // to handle the case where the user grants the permission. See the documentation
                        // for ActivityCompat#requestPermissions for more details.

                if (locationManager != null) {
                    location = locationManager.getLastKnownLocation(provider_info);
        } catch (Exception e) {
            Log.e(TAG, "Impossible to connect to LocationManager", e);

     * Update GPS latitude and longitude
    public void updateGPSCoordinates() {
        if (location != null) {
            latitude = location.getLatitude();
            longitude = location.getLongitude();

     * GPS latitude getter and setter
     * @return latitude
    public double getLatitude() {
        if (location != null) {
            latitude = location.getLatitude();

        return latitude;

     * GPS longitude getter and setter
     * @return
    public double getLongitude() {
        if (location != null) {
            longitude = location.getLongitude();

        return longitude;

     * GPS isGPSTrackingEnabled getter.
     * Check GPS/wifi is enabled
    public boolean getIsGPSTrackingEnabled() {

        return this.isGPSTrackingEnabled;

     * Stop using GPS listener
     * Calling this method will stop using GPS in your app
    public void stopUsingGPS() {
        if (locationManager != null) {

     * Function to show settings alert dialog
    public void showSettingsAlert() {
        AlertDialog.Builder alertDialog = new AlertDialog.Builder(mContext);

        //Setting Dialog Title

        //Setting Dialog Message

        //On Pressing Setting button
        alertDialog.setPositiveButton(R.string.gps_allow, new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);

        //On pressing cancel button
        alertDialog.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {

     * Get list of address by latitude and longitude
     * @return null or List<Address>
    public List<Address> getGeocoderAddress(Context context) {
        if (location != null) {

            Geocoder geocoder = new Geocoder(context, Locale.ENGLISH);

            try {
                 * Geocoder.getFromLocation - Returns an array of Addresses
                 * that are known to describe the area immediately surrounding the given latitude and longitude.
                List<Address> addresses = geocoder.getFromLocation(latitude, longitude, this.geocoderMaxResults);

                return addresses;
            } catch (IOException e) {
                Log.e(TAG, "Impossible to connect to Geocoder", e);

        return null;

     * Try to get AddressLine
     * @return null or addressLine
    public String getAddressLine(Context context) {
        List<Address> addresses = getGeocoderAddress(context);

        if (addresses != null && addresses.size() > 0) {
            Address address = addresses.get(0);
            String addressLine = address.getAddressLine(0);

            return addressLine;
        } else {
            return null;

     * Try to get Locality
     * @return null or locality
    public String getLocality(Context context) {
        List<Address> addresses = getGeocoderAddress(context);

        if (addresses != null && addresses.size() > 0) {
            Address address = addresses.get(0);
            String locality = address.getLocality();

            return locality;
        } else {
            return null;

     * Try to get Postal Code
     * @return null or postalCode
    public String getPostalCode(Context context) {
        List<Address> addresses = getGeocoderAddress(context);

        if (addresses != null && addresses.size() > 0) {
            Address address = addresses.get(0);
            String postalCode = address.getPostalCode();

            return postalCode;
        } else {
            return null;

     * Try to get CountryName
     * @return null or postalCode
    public String getCountryName(Context context) {
        List<Address> addresses = getGeocoderAddress(context);
        if (addresses != null && addresses.size() > 0) {
            Address address = addresses.get(0);
            String countryName = address.getCountryName();

            return countryName;
        } else {
            return null;

    public void onLocationChanged(Location location) {
        if (null != locationHandler) {
            Message message = new Message();
            message.obj = location;
        Toast.makeText(mContext, "onLocationChanged : " + location.getLatitude() + ", lon : " + location.getLongitude(), Toast.LENGTH_SHORT).show();
        Log.i("GPS", "onLocationChanged : " + location.getLatitude() + ", lon : " + location.getLongitude());

    public void onStatusChanged(String provider, int status, Bundle extras) {

    public void onProviderEnabled(String provider) {

    public void onProviderDisabled(String provider) {

    public IBinder onBind(Intent intent) {
        return null;

Checking for Permission

Android M requires checking for permisson. If the user allows to access the location, then only the app can get Location details.

Below code helps you to ask for permission.

if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
                ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

                    new String[]{Manifest.permission.ACCESS_FINE_LOCATION},

                    new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},


Handle Permissions CallBack

    public void onRequestPermissionsResult(int requestCode,
                                           String permissions[], int[] grantResults) {
        switch (requestCode) {
            case LOCATION_PERMISSION: {
                Log.i("Camera", "G : " + grantResults[0]);
                // If request is cancelled, the result arrays are empty.
                if (grantResults.length > 0
                        && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                    // permission was granted, yay! Do the
                    // contacts-related task you need to do.

                } else {

                    // permission denied, boo! Disable the
                    // functionality that depends on this permission.

//                    if (ActivityCompat.shouldShowRequestPermissionRationale
//                            (this, Manifest.permission.CAMERA)) {
//                        showAlert();
//                    } else {
//                    }

            // other 'case' lines to check for other
            // permissions this app might request



Now the MainActivity that uses this utility class to get the location details.


import android.Manifest;
import android.location.Location;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements Handler.Callback {

    GPS gps;
    public static String TAG = MainActivity.class.getSimpleName();
    private static final int LOCATION_PERMISSION = 200;
    private TextView mStatus;
    private Handler locationHandler;

    protected void onCreate(Bundle savedInstanceState) {

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
                ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

                    new String[]{Manifest.permission.ACCESS_FINE_LOCATION},

                    new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},


        mStatus = (TextView) findViewById(;

        locationHandler = new Handler(this);
        // check if GPS enabled
        gps = new GPS(this, locationHandler);

        if (gps.getIsGPSTrackingEnabled()) {
            Log.i(TAG, "Lat : " + gps.getLatitude() + ", Long : " + gps.getLongitude());

        } else {
            // can't get location
            // GPS or Network is not enabled
            // Ask user to enable GPS/network in settings

    public void onRequestPermissionsResult(int requestCode,
                                           String permissions[], int[] grantResults) {
        switch (requestCode) {
            case LOCATION_PERMISSION: {
                Log.i("Camera", "G : " + grantResults[0]);
                // If request is cancelled, the result arrays are empty.
                if (grantResults.length > 0
                        && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                    // permission was granted, yay! Do the
                    // contacts-related task you need to do.

                } else {

                    // permission denied, boo! Disable the
                    // functionality that depends on this permission.

//                    if (ActivityCompat.shouldShowRequestPermissionRationale
//                            (this, Manifest.permission.CAMERA)) {
//                        showAlert();
//                    } else {
//                    }

            // other 'case' lines to check for other
            // permissions this app might request


    public boolean handleMessage(Message message) {
        Location location = (Location) message.obj;
        Log.i(TAG, "location :" + location.getLatitude() + ", " + location.getLongitude());
        mStatus.setText("location :" + location.getLatitude() + ", " + location.getLongitude());
        return false;

Source Code

You can download the complete source code from here.

by James at July 25, 2017 07:48 AM

July 20, 2017

Floating Button like Facebook Chat in Android

Floating widgets float over the screen over any app that is currently running.

Here we will make a floating action button that you can drag around the screen to position and do actions on it.

Add Permission

For drawing over the other apps, you need “android.permission.SYSTEM_ALERT_WINDOW” permission.

So add this entry in your manifest.

	<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

Our Manifest will look like this

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=""

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

        <activity android:name=".MainActivity">
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            android:exported="false" />



<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android=""

        android:text="Floating action Demo\n(" />

        android:text="Create Floating Button"


The next layout is shown when the floating button is clicked.
We will name it floating_layout.xml.

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android=""



                android:src="@mipmap/ic_launcher" />

                android:src="@android:drawable/ic_dialog_info" />



                android:src="@android:drawable/ic_dialog_info" />


Activity and the Floating Service



import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private static final int APP_OVERLAY_PERMISSION = 1000;
    private Context context;

    protected void onCreate(Bundle savedInstanceState) {

        context = this;

        // Asking for permission from user...
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(context)) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
            startActivityForResult(intent, APP_OVERLAY_PERMISSION);

        findViewById( View.OnClickListener() {
            public void onClick(View view) {
                if (!(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(context))) {
                    // Permission was already granted..starting service for creating the Floating Button UI...
                    startService(new Intent(context, FloatingService.class));

        findViewById( ? View.VISIBLE : View.GONE);

    Boolean checkIfOverlayPermissionGranted() {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Settings.canDrawOverlays(context);

    protected void onDestroy() {
        if (!(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(context))) {
            // Permission was already granted..starting service for creating the Floating Button UI...
            startService(new Intent(context, FloatingService.class));

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == APP_OVERLAY_PERMISSION) {
            showMessage(checkIfOverlayPermissionGranted() ? "Overlay Permission Granted :)" : "Overlay Permission Denied :(");
            findViewById( ? View.VISIBLE : View.GONE);
        } else {
            super.onActivityResult(requestCode, resultCode, data);

    // Shows message to the user...
    void showMessage(String message) {
        Toast.makeText(context, message, Toast.LENGTH_LONG).show();


We will use a service to draw the floating button over other apps.
Create a java file named which extends Service.


import android.content.Intent;
import android.os.IBinder;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

public class FloatingService extends Service implements OnClickListener, View.OnTouchListener {

    private WindowManager mWindowManager;
    private View mFloatingView;
    private ImageView mainButton;
    private LinearLayout showLin;
    private ImageView btnInfo;
    private WindowManager.LayoutParams params;
    private ImageView btnClose;
    int initialX = 0;
    int initialY = 0;
    float initialTouchX = 0;
    float initialTouchY = 0;

    public IBinder onBind(Intent intent) {
        return null;

    public void onCreate() {

        //Inflate the floating view layout we created
        mFloatingView = LayoutInflater.from(this).inflate(R.layout.floating_layout, null);

        //Add the view to the window.
        params = new WindowManager.LayoutParams(

        // Set the position to the top right corner of the screen
        params.gravity = Gravity.TOP | Gravity.LEFT;
        params.x = 50;
        params.y = 50;

        //Add the view to the window
        mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
        mWindowManager.addView(mFloatingView, params);

        mainButton = (ImageView) mFloatingView.findViewById(;
        btnClose = (ImageView) mFloatingView.findViewById(;
        btnInfo = (ImageView) mFloatingView.findViewById(;
        showLin = (LinearLayout) mFloatingView.findViewById(;


        //Drag and move floating view using user's touch action.

    public void onClick(View view) {
        if (view == btnClose) {
            int vis = (showLin.getVisibility() == View.VISIBLE) ? View.GONE : View.VISIBLE;
        if (view == btnInfo) {
            Intent intent = new Intent(FloatingService.this, MainActivity.class);

            // Stop the service and Remove the Floating Button when our app opens...

    public void onDestroy() {
        if (null != mFloatingView && null != mWindowManager)

    // Shows message to the user...
    void showMessage(String message) {
        Toast.makeText(this, message, Toast.LENGTH_LONG).show();

    public boolean onTouch(View view, MotionEvent motionEvent) {


        switch (motionEvent.getAction()) {
            case MotionEvent.ACTION_DOWN:

                //remember the initial position.
                //initialX = params.x;
                //initialY = params.y;

                //get the touch location
                initialTouchX = motionEvent.getRawX();
                initialTouchY = motionEvent.getRawY();
                return true;
            case MotionEvent.ACTION_UP:
                return true;
            case MotionEvent.ACTION_MOVE:
                //Calculate the X and Y coordinates of the view.
                params.x = (int) (motionEvent.getRawX() - initialTouchX) - initialX;
                params.y = (int) (motionEvent.getRawY() - initialTouchY) - initialY;

                //Update the layout with new X & Y coordinate
                mWindowManager.updateViewLayout(mFloatingView, params);
                return true;
        return false;


Source Code

You can download the complete source code from here.

by James at July 20, 2017 11:10 AM

July 01, 2017

Galaxy Tab S3 permissive kernel – SM-T820 / SM-T825 kernel download

The post Galaxy Tab S3 permissive kernel – SM-T820 / SM-T825 kernel download appeared first on galaxytabreview.

Permissive kernel is now available for download for the Galaxy Tab S3 tablet. There is nothing really special about this permissive kernel except for its permissive mode, of course. There are some applications out there that require this very mode which is why permissive kernel was made available for the Samsung tablet. Galaxy Tab S3 […]

by Galaxy Tab Review at July 01, 2017 01:15 PM

June 13, 2017

Android weather station with a solar-powered BLE sensor

The ultimate test of the low energy consumption is a sensor that can survive on its own, without maintenance. My Android weather station supported by BLE weather sensors has been functioning for more than a year but this year has not passed without adventures in the battery front. First the station was powered by 2 AA NiMh batteries - that was 2 weeks of lifetime. Then came the motorcycle battery, that took much longer to expire but eventually the battery itself failed. Now the 2 sensors run on a discarded laptop battery which may not be able to power a laptop but powers nicely the two sensors with their combined 5 mA consumption.

5 mA, however, is a lot so when I found this solar-powered lamp at Jysk, I immediately realized that I had to turn the lamp into the solar-powered version of this weather sensor. Why another weather sensor? Because I wanted to concentrate on the solar-powering aspects and wanted to reuse as much as possible from the old sensor. This prototype may serve as a template, however, for different kind of sensors too.

Let's see first the solar lamp that I used as a base.

Solar lamp already containing the weather sensor. The two red LEDs indicate that the solar cell is charging the battery.

This is a quite cheap device with a solar cell on top and a circuit built around the XD5252F LED driver that takes care of everything from the charging of the small NiMh battery (if there's sunlight) to switching on the LED (if there's darkness). Unfortunately the circuit is so specialized to solar LED lamps that I could not reuse too much of it except for the solar panel and the LED itself. The solar panel is not very high-powered, it is a 2V, 20 mA cell. So it became clear immediately that the Android client app has to work more (consuming more energy) to obtain sensor data while the sensor has to sleep more to conserve its own battery that charges only very slowly from the low-powered solar cell. Also, surviving the night (or longer periods without sufficiently strong sunlight) requires a quite beefy battery in the sensor if we want it to transmit BLE messages to the Android application frequently enough.

Click here to download the sources of the Android application. Read this post to figure out, how to create an Android Studio project from the downloaded sources.

The previous Android app has been therefore changed so that instead of 15 seconds of scanning, it now scans for 70 seconds. The sensor sleeps 60 seconds then transmits the measurements for 5 seconds. This results in a quite low, 4 mAh energy consumption daily that even the low-powered solar cell can refill if sunny periods occur time to time. To make sure that the sensor survives long without enough sunlight, a 2700 mAh Li-Ion battery was installed (of the 14500 type, with the AA form factor). As in the previous version, the measurement data is transmitted in the BLE advertisement packets. I wanted to transmit battery indicator in this case too so I dropped one byte from the 8-byte long station ID (so it is now 7 bytes long) and instead of that byte now the supply voltage of the microcontroller is transmitted. It is generally 3.3V, if it drops below that then the battery is really not charging. This additional measurement data required that the sensor's UUID be changed, that's how the Android app recognizes this new parameter and displays in a graph.

Battery indicator in the measurement screen of the new sensor

The schematics of the sensor can be seen below (click to enlarge).

Sensor circuit installed into the solar lamp case

Nothing much changed from the previous version, except for the solar cell-battery charger power chain. I wanted to save myself the pain of designing a Li-Ion charger so I used building block already avalable: this DC-DC converter to produce 5V from the solar cell's varying output voltage and this battery charger circuit to take care of the Li-Ion battery. The result is a less than optimal efficiency (almost 50% of the solar cell's energy is lost during the different up-down conversions) but at least it is easy to reproduce. And if you like the sensor, you can always design a much better charging circuit. :-)

Click here to download the nRF51822 sources. Read this blog post for compilation instructions.

The nRF51822 microcontroller application has not changed a lot either. The most serious modification is the way the delays are implemented, now the sleeping periods between two measurements are implemented in a very low-power way and that results in a consumption in the inactive periods of about 100 microamperes.

And one thing more! Check out my low-cost robot project!

by Gabor Paller ( at June 13, 2017 11:23 PM

May 17, 2017

Download Tab S3 TWRP: Custom recovery for SM-T820 T825

The post Download Tab S3 TWRP: Custom recovery for SM-T820 T825 appeared first on galaxytabreview.

You will now be able to do all sorts of mods and root Tab S3 as TWRP custom recovery is available for download for this Samsung android tablet. Available for both SM-T820 and T825 models, this TWRP custom recovery is v3.1.0.0 which is the latest version available right now. While Tab S3 TWRP recovery is […]

by Galaxy Tab Review at May 17, 2017 09:56 PM

May 15, 2017

Google’s Royalty-Free Answer to HEVC: A Look at AV1 and the Future of Video Codecs

Almost 5 years ago Google first released VP9, the royalty free video codec that aimed to replace H.264 as the primary codec for online streaming and media consumption. While VP9 was not completely successful in that task, it has laid the foundation for Google’s next generation codec, AOMedia Video 1 (AV1), which is looking extremely promising.

When VP9 first released, there were substantial doubts about how it would fare against the upcoming HEVC codec, which was backed by the same groups that lead to H.264’s popularity over On2’s TrueMotion VP3, Xiph’s Theora, Microsoft’s VC-1, and many others. And yet, here we are 5 years later, and VP9 has taken the world by storm. While HEVC has failed to find software support, with Edge being the only major internet browser to support it (and even then, only on certain processors), VP9 is now baked into every modern web browser except for Safari, and its royalty free nature has been a key factor in creating that situation.

HEVC Licensing GroupsIn order to ship a product with HEVC support, you need to acquire licenses from at least four patent pools (MPEG LA, HEVC Advance, Technicolor, and Velos Media) as well as numerous other companies, many of which do not offer standard licensing terms (instead requiring you to negotiate terms), which can potentially cost hundreds of millions of dollars (and that’s after the recent drastic cuts to HEVC royalty fees). While those steep royalties were already problematic for products like Google Chrome, Opera, Netflix, Amazon Video, Cisco WebEx Connect, Skype, and others, they completely exclude HEVC as an option for projects like Mozilla Firefox, both on an economic level (Firefox simply cannot afford to waste hundreds of millions of dollars on royalties and hundreds of man hours negotiating all the necessary licensing agreements), on a practical level (Firefox needs to be royalty-free in order to ship in many FOSS projects), and on an ideological level (Mozilla believes in a free and open web, and that isn’t possible if you promote patent-encumbered standards).

Those issues prevented Firefox (and Chromium) from even including native H.264 playback on many platforms until a couple years ago (with it still requiring a plugin on Linux), and will likely prevent Firefox from supporting HEVC until after its patents expire in the 2030s (or possibly even later). Even to this day, Firefox only supports H.264 natively thanks to Cisco offering to pay all of the licensing costs for Mozilla through OpenH264, in order to standardize H.264 for streaming across the market until the next generation codec was ready.

Comparison of compression artifacts in VP9, VP8, AVC, and HEVC, created by Flugaal

And that opened the door for VP9. By being royalty free, VP9 was able to be implemented on any platform or service that wanted it, and it is seeing substantial hardware acceleration support as well. Beyond Youtube using it on any device that can support it (as the reduced bandwidth usage is a huge cost savings for Youtube), the WebM container (which supports VPx video and audio in either Opus or Vorbis) is also replacing .gifs with silent videos that are substantially smaller on sites like imgur and gfycat, it’s being used throughout Wikipedia, it has been adopted by Skype (who were a driving force behind Opus’ development), and it’s even being adopted by Netflix (starting with their downloads for offline viewing, and moving to their regular streaming in the future).

However, VP9 alone was not enough. Google wants even better compression, especially for Youtube and Duo, where a tiny increase in video compression can result in huge cost savings and a major improvement in user experience. So Google put together a plan to rapidly update their VPx codec line, like they do with Chrome and some of their other products. Google announced that they planned to release VP10 in 2016, and then would release an update every 18 months to ensure a steady progression. It got to the point where Google even started to release code for VP10, and then suddenly Google announced the cancellation of VP10, and formed the Alliance for Open Media (AOMedia).

Despite HEVC and VP9 being the two most popular next generation codecs, they weren’t the only ones. Cisco was developing Thor for use in their videoconferencing products, and Xiph was developing Daala (a codec designed to be substantially different from all previous codecs, in order to prevent any possibility of patent claims). All three codecs (Thor, Daala, and VP9/VP10) were looking quite promising, but the split efforts were stifling their development and adoption, so the three organizations came together and merged their codecs into one (AV1), and created the Alliance for Open Media to further the development and adoption of this joint codec. AV1 aims to take the best parts of each of those three codecs, and merge them into a royalty-free package that anyone can implement.

While it is taking some time to merge Thor, Daala, and VP10 together, the first public beta for AV1 released in mid-2016, the bitstream is expected to be finalized later this year, and it appears that the Alliance for Open Media is gearing up to promote AV1. Some of the involved developers are starting to give public talks on it (like this one at FOSDEM) and it appears that Google may be promoting it at Google I/O this week.

T-shaped partitioning schemes

T-shaped partitioning schemes, one of the many advancements in AV1

That support isn’t just coming from Google either. The Alliance for Open Media includes everyone from processor designers (AMD, ARM, Broadcom, Chips&Media, Intel, Nvidia, etc.) to browser developers (Google, Microsoft, and Mozilla) to streaming and videoconferencing services (Adobe, Amazon, BBC R&D, Cisco, Netflix, Youtube, etc.). Those companies are expected to bring their substantial strength to play in rolling out AV1 support, with the first streaming services expected to be ready within just 6 months after the bitstream format is finalized, and the first hardware decoders are expected to ready within 12 months. That alone will bring substantial hardware support for AV1 fairly quickly, however if everything lines up, we may even see partial hardware acceleration backported to some already existing hardware, like what happened with VP9, which would be a huge boost for compatibility.

Video streaming is a massive chunk of total internet traffic, and even a couple percent improvement in compression can have massive effects on both the network as a whole, and on user experience for that specific application. AV1 and Opus will make it possible to have decent quality video on lower throughput connections (opening up video streaming for more situations and more markets), and will enable even better quality than before on high throughput connections. They also are both designed with use over cellular networks in mind, with AV1 and Opus bringing massive improvements in how well they scale as connection speeds change, not to mention the higher resolutions, higher frame rates, expanded colour space, HDR support (which will be vital for services like Netflix, Youtube, and Amazon Video to take full advantage of the new displays on devices like the Samsung Galaxy S8 and the LG G6, with the latter now being able to take advantage of Netflix’s recently-added HDR support in mobile), and lower latency that they will enable when combined in the WebM container.

AOMedia Group - The Alliance for Open Media - The main developers of AV1Of course, the groups promoting HEVC won’t sit idly by while this is happening. They have already begun making threats about starting patent litigation against AV1 once it is released, and the Alliance for Open Media are going to great lengths to make sure that it does not happen. They are performing an extensive legal code review of AV1 to make sure it does not infringe on any patents held by MPEG LA, HEVC Advance, Technicolor, Velos Media, and others. That form of code review was highly successful for VP8 and VP9, both of which survived all legal challenges. MPEG LA’s actions against VP8 and VP9 were seen as potentially not having any legal grounding and instead being purely anti-competitive. The DoJ was investigating MPEG LA’s actions until they agreed to drop the lawsuit and give Google permission to sub-license out MPEG LA’s patent pool to any users of VP8 or VP9. While we likely will see similar attempts at stopping AV1, Google’s substantially expanded patent pool and the substantially increased number of companies supporting the codec (thanks to the Alliance for Open Media) should both go a long way towards ensuring that they are dealt with in short order.

It truly is exciting to see the improvements that AV1 is bringing to video encoding, especially since it is royalty free. The massive support it is receiving (even before release) will mean great things for the future of video streaming and local recording as well. AV1’s improvements will bring better live casting of events, better video chatting (via WebRTC), smaller files for local storage, previously unheard of quality for video streaming (such as high quality 4k HDR while on a cellular network), and potentially other uses that we haven’t yet thought of, especially when paired with the improved speeds of 5G mobile networks and 802.11ax WiFi. Best of all, AV1 is only the beginning. Google had plans for rapid releases for VPx in order to see constant improvements (with devices using the HTML5 Video tag to be served the highest quality version that they support), and we may not have to wait very long before we see talk of an incremental update to AV2.

What has your experience been like with current-generation codecs?

by Steven Zimmerman at May 15, 2017 04:30 PM

May 13, 2017

Specifications of Upcoming Moto X Device Leaked, Allegedly Named Moto X4

The last device in the Moto X family was the Moto X 2015; the company hasn’t updated the lineup with new hardware since then, as the Moto Z seemingly took over. However, it looks like this will be the year we will finally get a new Moto X device.

According to well-known leaker Evan Blass, the upcoming Moto X device will likely be named Moto X 4 — and not Moto X 2017 as it was previously rumored.

It seems Motorola want to begin unifying the naming schemes across its product lineup, hence the numeric component in Moto X’s naming. While the original Moto X, the Moto X (2014) and the Moto X Pure had disparate names, this new “Moto X4” label does sound a bit off still considering the Moto G line, once parallel with the Moto X, is now at its fifth device with devices like the Moto G5 Plus.

Meanwhile, a leaked video of Motorola’s presentation has surfaced on the Chinese micro-blogging site, Weibo. According to the video, the Moto X will have a similar design language to the Moto G5 Plus, sporting an all-metal body and a front-mounted fingerprint scanner. There is also a round camera bump on the back of the device, once again similar to the Moto G5 Plus.


The presentation slide in the video highlighted some of the key functionalities of the Moto X 4 such as:

  • Metal & 3D glass build
  • Smart Camera
  • IP68
  • AI Integration
  • Always on Voice
  • 3x Carrier Aggregation
  • Turbo Charging

Specifications wise, the device is said to sport a 5.5-inch Full HD display, with the recently-released Qualcomm Snapdragon 660 SoC. It might not be the Snapdragon 835, but the Moto X line has offered less-powerful (and in the original’s case, specialized) chipsets in the past, and after the raving reviews the Moto Z Play received for its battery life capabilities, many people won’t be as quick to dismiss the 660. The device will also come with 4GB of RAM and 64 GBs of flash storage. There will also be a hefty 3,800mAh battery with support for fast charging.

Interestingly enough, it looks like the Moto X4 won’t work with MotoMods. As you can see in the video, there doesn’t appear to be a pogo pin connector on the back of the device. It seems Motorola doesn’t want to bring modular functionality outside of the Moto Z lineup.

As these are ultimately leaks and rumors, we’ll have to wait for Motorola’s official announcement to confirm these details.

Source 1: @evleaks Source 2: Reddit

by Kristin at May 13, 2017 03:33 PM

April 06, 2017

Deep Silver FISHLAB's gorgeous puzzler Warp Shift is out right now on Android

The former iOS exclusive puzzler Warp Shift has finally landed on Android, and it's absolutely free.

Warp Shift sees you play as the young girl Pi, who's found herself stranded in an ancient chamber. To escape, she has to solve a bunch of challenging puzzles with the assistance of her mysterious magical companion.

Real care and attention has been put into the visuals and audio here, so it might be worth playing on your tablet with headphones to get the full experience.


And there's a lot to experience, with five worlds to explore and 15 levels in each of them.

If it sounds like fun to you, go and grab Warp Shift from Google Play right now.

April 06, 2017 04:15 PM

Smurfs Bubble Story is a bubble shooter based on the upcoming movie, and it's out right now on Android

It's almost like clockwork, isn't it? There's a new animated Smurfs movie on the way and, as you can predict, a mobile game tie in has launched alongside it. This time, it's a bubble shooter - who'd have guessed?!

Okay, we'll try not to be too mean - people like this stuff.

So you'll pop your way through a bunch of levels, collecting your favourite Smurfs. Each Smurf you collect unlocks a new power-up which you can use in future levels. Multiple power-ups can be used in the same level as well, so if you're really struggling you can get a helping hand.

There's some semblance of a plot, and a variety of game modes to spice things up. It's the usual boss battles - stuff like that.

If you're sold, you can grab Smurfs Bubble Story from Google Play right now.

April 06, 2017 01:59 PM

March 30, 2017

Telegram’s Latest v3.18 Update Brings AI-Powered Voice Calls to the IM App

Instant Messengers are all the rage these days. It feels as if every major tech company has its own take on what is the best implementation for an IM app, and one particular company even has multiple variations of what it envisions to be the best IM app. So it is no surprise that we see IM apps extending beyond the conventional paradigms of what users expect to do with an Instant Messaging app.

The latest example of an IM app going beyond that traditional definition of IM is Telegram. With its latest update, Telegram brings Voice Calls to users in the Western European region, with the feature expected to roll out to the rest of the world soon.

Telegram’s Voice Call interface is claimed to be familiar to users and easy-to-use. The highlight of these voice calls is the end-to-end encryption employed, the same one that is used in Telegram’s Secret Chats. The key verification UI that is used for ensuring the call is not being snooped through a Man-in-the-Middle attack has received an update as well. To check the security of the call, Telegram now allows you to compare four emojis displayed on the phone with your caller. You can read more about Telegrams Voice Call authentication over at their FAQ page.

Telegram’s voice calls will prefer going over a peer-to-peer connection at first. If such a connection is not possible, Telegram will use the geographically closest server to connect the call. Telegram will also be expanding their content delivery network around the globe in the coming months to ensure quick and crisp calls to remote locations as well.

With calls being promised to be encrypted end-to-end, how does AI fit into the picture?

AI on voice calls in Telegram does not have access to the contents of the conversation, but it does have access to technical information like network speed, ping times, packet loss percentages, and more. These are inputted to a neural network to optimize “dozen of parameters” to improve the quality of future calls on the given device and network. So calls on stable WiFi can work towards sound quality, while those in spotty cell coverage areas could focus on consuming less data.

Telegram does allow control on who can call you. Voice Calls can be switched off completely, can be allowed for your contacts, and you can have co-existing whitelists and blacklists for special access or restrictions to specific individuals as well.

Video Compression

The new update also brings control over the quality of video shared across Telegram. You can choose from a few options for video quality, going all the way up to 1080p for your shared video. The preview screen gives you a glimpse of what your video will be like for your recipient before you send. The first preference selected is saved as default for future shares.

You can either love or hate the new changes happening with Telegram. The conventional user of Telegram would rather not have an IM app evolve into a chimera of communication, while others may appreciate a quick, easy and user-friendly way to make encrypted voice calls by an app not controlled by Facebook or other giant corporations known for data harvesting. We appreciate Telegram giving users an option to disable calls entirely.

What are your thoughts on Telegram and its new Voice Calls functionality? Let us know in the comments below!

Source: Telegram Blog

by Aamir Siddiqui at March 30, 2017 03:49 PM

March 28, 2017

Top 40 Android Developer Blogs

Feedspot, a useful website if you are trying to keep up with news and content on multiple web sites, just recently came out with its list of the Top 40 Android Developer Blogs. I am pleased to see that this website,, has been included in the top 40. ... I started this blog back in 2010 so I'd have a place where I could write about what I was learning about Android. It's been a lot of fun and the end result is a long list of tutorials and articles. See the Android Tutorials and the Android Tutorials By Topic pages for links to those pages. ... And be sure to check out the other developer blogs on the Top 40. Continue reading

by Bill Lahti at March 28, 2017 11:42 AM

March 26, 2017

How to enable Quick Reply from the Lockscreen on Samsung Galaxy Devices running Nougat

Android Nougat was a huge update for fans of the stock Android experience. Besides official multi-window support and a whole host of other changes, the update also brought a new quick reply feature to allow you to reply to messages from the notification shade without opening the app in question.

Before the 5th Android N Developer Preview, users were able to quick reply to notifications even behind a secure lock screen. However, Google removed the feature from subsequent builds of Android N, but the Director of UX for Android promised that the team would bring it back as soon as possible. Well, we now have our first Android O Developer Preview, but this feature is still nowhere in sight.

Fortunately, though, if you own a Samsung Galaxy device running an official build of Android 7.0 Nougat (such as the Samsung Galaxy S7 and Galaxy S7 Edge), then you can enable this feature manually. The feature is hidden by default on the Samsung Experience software, but we can enable it using a simple ADB command.

Note: I’ve tested this on an AT&T Samsung Galaxy S7 running official Android 7.0 Nougat, but I don’t have any reason to believe this shouldn’t work on all devices running the stock Samsung Experience software based on Android 7.0. Furthermore, this trick may work on devices from other manufacturers as well, however I was unable to get this to work on my Huawei Mate 9 or on the OnePlus 3T.

Enable Quick Reply from the Lockscreen

As we mentioned before, we will be issuing an ADB command to our device in order to enable quick reply from the lockscreen. If you haven’t already enabled ADB access, then follow these steps below. If you have, then skip ahead to the next section.

Setting up ADB

First, download the ADB binary straight from Google for your particular OS and extract it to a separate directory on your computer. Next, install the proper driver for your particular phone. Then, enable “USB Debugging” in Settings –> Developer Options. If you don’t see Developer Options, then you will need to enable it by going to Settings –> About Phone then tapping on Build number 7 times. Finally, ensure that ADB is working by starting a command prompt in the same directory as the ADB binary (right-click –> “open command prompt here”) and run the following command:

adb devices

If you see your device’s serial number (and it doesn’t say unauthorized), you’re golden. If you see a pop-up on your phone asking you to grant your computer ADB access, then say yes. If you don’t see either happen, then try rebooting your computer/phone and re-plugging it into your computer. Otherwise, try re-installing the driver.

Send the ADB Command

Once you’ve confirmed ADB access is working, open up a command prompt and enter the following command:

adb shell settings put secure lock_screen_allow_remote_input 1

This setting change should take affect immediately without needing a reboot, at least it did for me. You should now be able to reply to notifications from your lock screen, provided the app supports it. Apps like Telegram and Hangouts support the notification quick reply, as well as most modern text messaging clients, so give this a shot!

Let us know if this trick works for your Samsung Galaxy device! If it works on your non-Samsung device, let us know about that too!

by Mishaal Rahman at March 26, 2017 07:30 PM

March 05, 2017

Samsung Galaxy S8 Leaks in Brief Video

The Samsung Galaxy S8 and Galaxy S8 Plus were notably absent from MWC 2017, with Samsung just giving us a teaser of what to expect. Such display gave out very little, and left us yearning for more. Thankfully, the next leak is always around the corner.

A new leaked video gives us another bite-sized look at the device. The brief 5 second clip was uploaded on the Instagram by user 505nick. The video showcases the Samsung Galaxy S8 in a stealth black color, enhancing the clean and minimalistic design of the phone.


There is not much to say here, other than that a lot of the previous leaks relating to the device and its exteriors are getting corroborated here (and that someone should have covered the identification labels before publishing it on the internet). The famous leak from Evan Blass as well as the live images from BGR that showcased a device that looked too good to be true now appear in live video, once again confirming the look of Samsung’s next big thing. The screen is turned off in the video, which really enhances the stealthiness of the jet black color as well.

We’d be curious to see which other colors Samsung will be offering with the Galaxy S8 and S8 Plus.

The Samsung Galaxy S8 and S8 Plus are scheduled for launch on March 29, 2017. Hold on tight for more leaks as we inch closer to the launch event.

What are your thoughts on the Galaxy S8 from this video? Which other colors would you like to see Samsung offer? Let us know in the comments below!

Source: Instagram – 505nick

by Aamir Siddiqui at March 05, 2017 04:18 PM

February 23, 2017

Substratum introduces FloatUI: A Per-App Theming Solution

Recently, we broke the news that CyanogenMod Theme Engine won’t be making a return in LineageOS.

This development is a temporary blow to the world of custom theming, as CMTE has been one of the major theming frameworks for many years now. However, it isn’t the only framework that provides the ability to theme your device. Substratum is a popular alternative to CMTE, and the developers behind this project recently sat down with us to reminisce on their past, present, and future work.

Speaking of future work, XDA Recognized Developer nicholaschum is now ready to tease a new project him and his team have been working on called “FloatUI“. The project can basically be described as a “per-app theming solution” and Mr. Chum is giving us a sneak peak of what to expect with FloatUI.

Meet FloatUI: Your Per-App Theming Solution

As you can see in the video above, once activated, there will be a small icon floating on the home screen at all times. Hence, whenever you launch an application, you can utilize FloatUI. Let’s consider an example here:

Let’s assume you have the themes Mono/Art and Reverie installed on your device and FloatUI has been activated. Now, you head over to the settings and change the theme of the settings application to Mono/Art. The change will be made within a second. You now move towards the notification area and want it to look like the one Reverie offers. Use FloatUI and the notifications will be themed instantly, separately from the settings page.

Hence, you can set specific themes for specific apps. You can also toggle framework overlays. Moreover, the themes are applied within the second and the application leaves not a single element janky. Check out the video below by Mr. Chum for another first look, hands on walk-through of FloatUI.

What do you think of FloatUI? Let us know in the comments below!

by Punya Vashist at February 23, 2017 11:00 PM

February 02, 2017

Looking for a Swim Timing Display?

At the  Elite Swim Team Kuwait Stadium
Wylas Timing’s release 1.9.4 adds a host of new features and functionality to their already impressive display interface. Wylas Timing’s advanced display integration combines wireless transmission with high resolution, full colour displays.
The display app allows any HDMI enabled display or TV to project your race times and results remotely via the wireless timing system. With an extensive range of settings (Display Settings, Race Position Settings and Display Lane settings) Wylas Timing offers access to display options that are unparalleled. Functionalities now at your disposal include configuration to display from 3 to 10 lanes, added team column to results and automatic abbreviation of long competitor names.
For more details or a free trial head over to

by William Ferguson ( at February 02, 2017 08:13 AM

January 26, 2017

XDA Labs Still Fastest Way to Browse Forums (2017 Update)


About a year ago we launched XDA Labs as our new Android app. After many updates and improvements, it’s still the best way to browse the XDA forums. XDA Labs is built entirely in-house and is the best way to access the forums while on mobile. It’s fully Material Design, ad-free, and fast. Here are some of the best features you’ll find in XDA Labs.

Fastest Browsing Experience

This has been the main focus of improvement for the last year. The app loads pages from the forum at incredible speeds. Swiping through the pages of a thread is nearly instant.


Subscribe to Threads and Forums

Subscribe to specific threads or forums and access them all on one page. You can even create shortcuts that will appear on your homescreen that can take you to the forums you are subscribed to.


You will receive an alert for every new private message or mention you get. For nougat devices, expand the notification from your lockscreen to see the contents of the PM.

App Store

The app store is a great place to find apks for beta apps or anything that might not be available on the Play store. It’s the best way for developers to release alpha and beta version of their apps to the community.


XDA Labs also has access to the entire library of xposed modules. For those of you with a rooted device and xposed framework installed, this is the best way to find new mods to try out.

Quick Actions

Quick action support lets to launch right into the my device or forums section.


Tablet Support

We also have tablet support. The XDA threads will look just as good on your big screen.

XDA Play Store App

If you’re not interested in the extra features like the app store or exposed modules, you can get the stand alone forum app from the Play store.


Get Labs

by Roni at January 26, 2017 03:41 PM

January 16, 2017

Couple of Great Apps for Designers

I wanted to give a quick shout out to two Android apps that designers and app UI developers might find very useful in their work.

Designer Tools package multiple helpful features into one app. You can can use a grid overlay to check your component alignment, you can overlay your screen with a semi-transparent mock overlay to see how your implementation matches the design and you can use a colour picker to extract the colour value of any pixel on your screen to confirm that the colours are set correctly. Additionally you can enable a screenshots details mode which will automatically augment your screenshots with device details. This will become very useful when reporting issues to developers!

This app is also Open Source and the dev team is actively looking for feedback and thoughts. Check out the code from GitHub or give feedback, report problems or suggest improvements.

Faiz's Keyline Pushing app is, as far as I know, the first app that brought us the keyline overlay easily. While this app doesn't have the rest of the features of the Designer Tools app discussed above this app provides much finer controls for keylines.

Personally, I'd love to see Keyline Pushing app's finer grid control implemented also in the Designer Tools app. Faiz, maybe joining forces with the Designer Tools team would make sense? ;-)

Huge thanks to both of the app teams! Android developer and designer community is amazing. Many of us spend our free time to make everyone's work easier.

by Juhani Lehtimäki ( at January 16, 2017 02:35 PM

January 09, 2017

Dissecting Performance: A Look at What Makes the OnePlus 3 & 3T Excellent Real-World Performers

To Android enthusiasts, speed matters — we recognize we use our phones for hours upon hours every day, often in quick and short bursts, and we want the best out of our time and often-expensive flagships.

Surprisingly enough, it’s some of the least expensive flagships that perform the best in the real world — we are talking about the OnePlus 3 and OnePlus 3T, the affordable premium smartphones that still manage to pack bleeding edge hardware. The processing package of these phones should be enough to suggest exceptional performance: a Snapdragon 820/1, 6GB of  DDR4 RAM, and even UFS 2.0 storage, the only component that has an update available in modern smartphones like the Huawei Mate 9. For all intents and purposes, the OnePlus 3 and 3T have the best chipset and RAM configuration that non-Samsung and non-Huawei Android smartphones can have at this moment in time, and they will stay at the top until the new wave of early 2017 flagships hit the market.

But as we’ve seen time and time again, good hardware does not necessarily lead to excellent performance. In fact, we saw some glaring flaws in some of the most theoretically powerful smartphones of 2016, something that’s become a sort of tradition with certain OEMs. Leaving aside the specifics, we know that an OEM’s software and the implementation of the hardware at hand can have a tremendous impact in the resulting real-world performance. Thermals, for example, are very important for sustained smartphone usage, and while the Snapdragon 810 is long dead-and-buried (well, almost), we still see some Snapdragon 820 devices heat up quite a bit more than others. That being said, we found the OnePlus 3 in particular to do an excellent job in this regard, so we know that, at the very least, OnePlus learned from the mistakes it made with the OnePlus 2, and that the OnePlus 3 doesn’t butcher its meaty hardware through shoddy implementations.

What about real world performance? There are a myriad of factors that affect the resulting speed of the actual user experience, from the heft of the OS and bloatware to the frequency scaling algorithms employed by the OEM. As we’ve explained in a recent editorial, measuring real-world performance is a hard thing to do, but we can look at the objective causes – code, measurable behavior and design – to get an idea of what makes a phone perform (or appear to perform!) faster. Below we’ll explain and demonstrate some of the more curious factors that help the OnePlus 3 and 3T achieve such excellent real-world performance.

Animation Tricks

This first example is a kind of illusion rather than an intricate software-hardware implementation. As many of you know, Animations can convey a strong feeling of speed and fluidity to the user — this is why one of the most popular pieces of advice ever given on XDA and other Android communities is setting the animation speed to x0.5 in the “developer options” menu. Many people swear this makes their devices “much faster”, but in reality, the application state itself is loading at the same speed — the information is just displayed quicker, the response time looks shorter. If the activity being loaded or rendered is indeed very simple and takes next to no time to be fully displayed, then this animation speed change is even more effective. The same goes for loading applications from RAM and general in-app navigation, as these settings govern everything from app transitions to in-app animations and the speed of certain UI elements and menus.


OEMs understand the importance of animations, with a clear example being HTC and its M8, M9 and HTC 10 devices. The HTC M8 originally surprised users due to its speed and responsiveness — it’s true that it employed excellent hardware for the time (that Snapdragon 801 holds up even today), but a not-so-sung-about aspect of this apparent prowess was HTC’s use of animations. Not only did they speed up many transitions by default, but they flat-out removed some of them, such as going back to the homescreen. OnePlus does something very similar with the OnePlus 3 and 3T, a neat trick that the company’s co-founder Carl Pei is not very shy about in interviews. In order to make the phone appear faster while still having animations that behave like Android proper, they add a subtle fade-out to the homescreen return animation, for example, in order to have it “end” sooner – smoothly and without jarring cuts – while still appearing fluid and very comparable to a Stock Android device.


In the first example above, the alpha begins changing shortly after the card begins moving downwards, while remaining visible enough for the user to subconsciously pick-up on the motion. This tricks you into recognizing it as the original Android transition (with a change in vertical speed), but you also see it end sooner as it fades before it reaches the bottom. This animation is most noticeable when lengthening the animations through the aforementioned developer options. The same effect is applied when opening applications, either hot or cold, from the homescreen, although in this instance it is a lot more subtle, although not as confined to the beginning of the animation as seen on the Pixel XL. You can also see that the Pixel XL’s window expansion has a deceleration that makes it finish after the OnePlus 3T’s, which keeps a linear speed throughout. That last segment of the animation actually costs the Pixel XL a few extra milliseconds, although it arguably looks cleaner and more inline with Material Design guidelines.

CPU Scaling and App Opening Speeds

This one is a curious aspect that I never see brought up when discussing app opening speeds, or general performance for that matter, and it’s a shame that it isn’t given how interesting it is. When Qualcomm brought up the “faster app launch times, and smoother, more responsive user interactions” featured in the Snapdragon 820 and 821, they didn’t specify how this was achieved. In reality, it’s due to a pretty clever feature that Qualcomm makes available on the chip for OEMs that purchase Snapdragon 820 and 821 processors, but not all manufacturers decide to implement it or implement it in the same way. Essentially, the OnePlus 3 and OnePlus 3T are able to detect when Android is opening an application, and then quickly scale up and max out the clockspeeds on all cores in a short burst in order to get the fastest opening speed the device can achieve.


This is due to an overbearing boost framework Qualcomm offers to OEMs, with some of it being observable CAF sources and part of it being proprietary (which means they couldn’t disclose much to me about it) — custom ROM makers can opt to strip this out of their ROMs when building from CAF, as SultanXDA did in favor of his own custom implementation (which is also very clever and works well). According to Qualcomm, there is no public name for this feature, and it’s indeed not something that’s been widely discussed. OnePlus isn’t the only OEM to implement this either, but as said earlier, OEMs can and do use the feature differently. For example, the OnePlus 3 boosts the CPU frequency both when opening applications and when loading them from the recents menu but at different maximum frequencies, whereas the Google Pixel boosts both activities at the same peak frequencies. Moreover, app opening is not the only activity “boosted” by Qualcomm’s framework: it can also tap into boot processes, scrolling events, and also offers optimizations for a better browsing experience.


What’s perhaps most interesting is that this “boost mode” is the only way in which the OnePlus 3T can achieve the peak 2.19GHz frequency on the little cluster. OnePlus was very conservative in its official specification sheet, as they rightly state that the OnePlus 3T’s little cluster has a peak frequency of 1.6GHz, just like the original OnePlus 3. This much is true for many day-to-day operations, but Qualcomm’s boost framework is designed specifically around ramping up the little cluster frequency of the Snapdragon 821-AC to 2.19GHz when launching applications, as confirmed to XDA by Qualcomm. The chipset maker also informed us that the Snapdragon 821-AB (found in the Pixel and Pixel XL) can also access this “boost mode”, albeit up to a maximum of 2GHz in the efficiency cluster (by default); interestingly enough, the Pixel XL keeps it conservative as even in this scenario, the peak frequencies are 2.15GHz+1.6GHz.

F2FS with UFS 2.0

Another often-understated contributor to the exceptional real-world performance of 2016 flagships is the kind of storage they implement, and the read and write speeds they achieve. This helps in many operations including (and especially) opening applications, meaning many of the famous app opening tests you find on YouTube have a significant reason to detail not just the processor employed, but the storage type as well. The OnePlus 3 and OnePlus 3T are two of many devices that now employ UFS 2.0 storage, in particular a chip manufactured by Samsung. The Galaxy S6 was the first smartphone to utilize UFS storage, which marked a significant improvement over the previous eMMC solutions. The UFS 2.0 standard has faster theoretical maximums than a typical eMMC 5.1 solution, allows for simultaneous read and write processes, and it also includes new protocols and methods to reduce inefficiencies. UFS also has great performance scalability, uses little power and is optimized for mobile like eMMC. High-resolution video recording and storage-intensive tasks as well as loading heavy applications and games are some of the usage scenarios that see tangible benefits from this storage solution.


Source: Samsung

While many phones today use UFS 2.0 storage (and some even come with UFS 2.1), OnePlus managed to squeeze the most out of the UFS 2.0 chip on their OnePlus 3 by switching to F2FS starting with Android Nougat (and once you reset your device, as the switch requires formatting that would compromise your data). They informally began testing the feature with their Marshmallow community builds, too, and it’s one of the reasons why the OnePlus 3T (F2FS by default) had a small performance advantage over the OnePlus 3 in both storage benchmarks and controlled app-opening tests. F2FS (Flash-Friendly File System) is a file system developed by Samsung in 2013 to cater to the specific characteristics of NAND-based storage solutions, specifically for use on Linux-based operating systems. It employs a log-structured file system, which writes all modifications to disk sequentially in a circular buffer structure, and it’s faster than the traditional EXT4 standard on flash memory in most cases. XDA users have been experimenting with this for years, by the way, and you too can reformat your cache partition through TWRP if your kernel supports F2FS.

launchf2fs launchext4

Not many OEMs have adopted into F2FS because there are still issues to solve, but some like Motorola have already tried it on their largely-Stock ROMs, making performance all that much sweeter. Furthermore, because of the CPU scaling mentioned above while opening applications, it’s ensured that you’ll get the most out of the UFS 2.0 storage because it eliminates possible bottlenecks caused by an interactive frequency scaling in the CPU. We took a look at the OnePlus 3 and OnePlus 3T’s storage solutions and file systems to clear up some misconceptions, and found that F2FS did indeed make a substantial difference in synthetic benchmarks like AndroBench, but also a noticeable and replicable difference in real-world scenarios such as app and game opening speeds, which we measured using Discomark, gathering large samples and controlling for variables. At the time, it was hard to discern why the OnePlus 3T’s performance was slightly superior to the OnePlus 3’s (early graphs shown above), but further tests with a reformatted OnePlus 3 showed that, under F2FS, the difference almost disappears regardless of storage capacity, as OnePlus’ UFS 2.0 chip didn’t increase storage by employing parallel chips.

What have we learned?

The biggest takeaway of this short exploration is the fact that OnePlus managed to achieve superior performance on the OnePlus 3 and 3T (compared to other OEMs) despite the fact that their devices largely employ the same hardware as other flagships. The RAM amount of the OnePlus 3 wasn’t properly utilized at launch, and OnePlus is still satisfied with a ro.sys.fw.bg_apps_limit value of 32 (instead of the initial 20), which is still lower than the peak of 60 some more intrepid OEMs chose for their 4GB RAM devices. This puts a cap in the number of applications that can remain open at any given time (keep in mind you can edit this value if you so choose), meaning that if anything, RAM is the one aspect where the OnePlus 3 doesn’t use its hardware to the fullest extent.

But as we’ve shown with the animations example, performance can appear to improve with mere tweaks to the design of the user experience. There are plenty of examples around, but the UI design and animation type or speed choices ultimately make a perceptible difference to the end user; using animations intelligently is not just smoke and mirrors, it’s a smart design practice that other companies like Apple have also exploited to great extent in order to have their phones appear better than they are. OnePlus did a pretty good combination of design tricks and cutting-edge software to make the most out of the hardware in many regards, and the result is what I personally understand to be the fastest phone currently available (although the Pixel and Pixel XL certainly trade blows with it when it comes to smoothness and responsiveness). We hope you enjoyed these curious tricks and stay tuned for more dissections in the future!

What neat tricks have you found make your device faster? Share your observations in the comments!

>>> Check Out XDA’s OnePlus 3 Forums!

by Mario Tomás Serrafero at January 09, 2017 01:01 PM

January 05, 2017

ZTE Unveils Blade V8 Pro and Project CSX Winner ‘Hawkeye’ at CES 2017

ZTE took the stage at CES 2017 to unveil not one, but two smartphones. The Blade V8 Pro is an upgrade over the Blade V7, while ZTE Hawkeye is the smartphone winner from Project CSX, ZTE’s attempt to crowdsource ideas for a smartphone.

ZTE Blade V8 Pro

ZTE’s Blade lineup has seen popularity in Asian markets, and then expanding to Europe and other regions. With the V8 Pro, ZTE is bringing the Blade to the US market, aiming at users looking for an affordable smartphone.


The Blade V8 Pro features a 5.5″ FHD LCD display, which is standard fare on many price segments these days. On the inside, you get a Qualcomm Snapdragon 625 with 8x Cortex-A53 clocked at 2.0GHz; 3GB RAM and 32GB of internal storage. You can choose to expand the storage by another 256GB by making use of the hybrid dual-SIM slot with microSD support. There’s a decently sized 3,140 mAh battery onboard, along with a USB Type-C port and Quick Charge 2.0 capabilities. The phone does sadly run Android 6.0 Marshmallow, and ZTE has not made known any upgrade plans, so a Nougat release remains up in the air at this stage.

The Blade V8 Pro fuels the dual-camera trend with its dual 13MP cameras on the back, supported with dual LED flash and PDAF. You can also record 4K videos at 30fps. The front camera is an 8MP shooter.

The ZTE Blade V8 Pro is available for pre-order through ZTE’s website and other retailers for a price of $299.98.

ZTE Hawkeye

While ZTE had chosen the winner of Project CSX through community voting a few months ago, they have now chosen the name of the upcoming smartphone.


Named ‘Hawkeye’, the winner of Project CSX is a smartphone with a self-adhesive back with eye-tracking technology. ZTE Hawkeye is now live for funding on Kickstarter for a discounted price of $199. The device is expected to ship globally in Q3 2017.

For more information, you can visit the Kickstarter page for ZTE Hawkeye.

What are your thoughts on ZTE Blade V8 Pro and ZTE Hawkeye? Let us know in the comments below!

Check out XDA’s Blade V8 Pro Forums! >>>

by Aamir Siddiqui at January 05, 2017 04:10 PM

January 04, 2017

TCL Previews the New BlackBerry at CES 2017

With CES 2017 fully underway, TCL used this opportunity to preview the fruits of their licensing deal with BlackBerry – an as of now unnamed Android smartphone with a physical keyboard.

Curiously, TCL has not revealed much information at all about this phone – no specifications or even a name were given. The company is opting to instead wait until Mobile World Congress to unveil further details about the phone. Today, all we’ve been given is a teaser press release video of the new device, which at least gives us an idea of what the phone will look like.

Previous leaks have uncovered that the device is code named Mercury, although again TCL has yet to reveal the official name. In the video, the device looks fairly unconventional, what with its sleek metallic body, the soft touch dimpled back, and most importantly the physical keyboard plastered the front.

Yes, a device in 2017 will have a physical keyboard. And unlike previous iterations of physical keyboards on smart devices, this unnamed BlackBerry device will not feature a slide-in form factor – providing a sleeker design at the cost of some screen real estate. The BlackBerry device will also have a fingerprint scanner which is cleverly hidden as the spacebar key. You also retain the navigational swipe gestures on the physical keyboard interestingly enough. The phone, like most flagship smartphones these days, utilizes a USB Type-C port for data transfer and charging. BlackBerry has also shied away from removing the headphone jack like some competitors, thankfully.

Along with the physical keyboard, the main draw of the unnamed BlackBerry phone would be its security suite. This would include apps that form part of BlackBerry’s Android experience like BlackBerry Hub. TCL would naturally be pitching the secure Android experience as an alternative to Samsung’s KNOX and other competitors, hoping to fill the needs of a corporate environment.

We haven’t seen a physical keyboard on a flagship smartphone in quite a bit of time thanks to the proliferation of touchscreen keyboards. However, if there’s one brand that can revive the physical keyboard – it’s definitely BlackBerry. We’ll be waiting for Mobile World Congress 2017 to learn more about the specifications and pricing for the device.

by Aamir Siddiqui at January 04, 2017 06:41 PM

January 02, 2017

Adding more power to the BLE-enabled Christmas light

The truth is that the low-voltage LED strip I used in the previous post was a backup solution. Originally I bought a 230V-operated Christmas light with two independent LED strips but adapting that beast to Bluetooth Low Energy turned out to be a bit more problematic than I expected. I had to learn a bit about power electronics first.

My LED light I used as a base in this post is a standard-issue Chinese-made device. Below you can see how it looks like, its original controller already stripped of its plastic protective housing.

The circuit is very similar to this one, except that mine had only two LED strips, instead of 4. In my version the controller chip had HN-803 marking and the strip-controlling thyristors are of type PCR 406. The modes the original controller supported were all zero-crossing ones so I retained this operation.

Very shortly about the zero-crossing vs. phase-angle mode of controlling thyristors or triacs. A good introduction can be found here. The thyristor is fed with a current that has frequent zero-crossings. This is necessary because once the thyristor is switched on, the simplest way to turn it off is to remove the current on the load. That is why the Graetz-bridge converting the 230V alternating current into direct current does not have the usual filtering capacitors. This guarantees that the current feeding the LED strips/thyristors has zero-crossings with 100 Hz frequency. After the zero-crossing the thyristor can be switched on again by just a mA-range current applied on its gate electrode. The phase difference between the zero-crossing and the moment the gate current is applied determines whether we use dimming or not. Then the thyristor will remain switched on until the next zero-crossing. As the frequency of these zero-crossings is just 100 Hz, pulse-width modulation we used in the previous post for dimming cannot be used, the human eye would notice the flickering with such a low PWM frequency. So the simple circuit I am going to present here can only be used to flash the LED strips but not for dimming them. Implementing phase angle-based dimming would not be too hard with the features of our microcontroller but I did not want to get into that in this post.

Warning: part of the circuits described in this post use high-voltage 230 V current. Do not try to build them if you do not have experience with high-voltage electronics because you risk electrocuting!

Our exercise looks very simple. We need to remove the HN-803 controller circuit, replace it with our nRF51822 BLE SoC and use 2 of the output pins of the SoC to turn on the thyristors. Once the SoC drives the output pin to low, the thyristor will switch off at the next zero-crossing which allows us to flash the LED strips with frequencies lower than 100 Hz. Unfortunately nothing is simple if high-voltage current is involved because this simple circuit would connect the ground of the microcontroller board to a wire with high-voltage current (HVGND on the schematic) risking electric shock if someone touches the microcontroller board or ground-connected metal parts (like connectors) when the circuit is in operation. So I built an optocoupler-based isolator pictured below (click to enlarge).

The isolator ensures that the microcontroller-side has nothing to do with high-voltage current so no special precautions need to be done when handling the MCU board. The isolator itself, along with the remaining parts of the original controller circuit (D1-D4, T1/T2 and of course, LED1 and LED2 representing the two LED strips) are placed in a separate enclosure box. R3 dissipates around 1W so make sure that the resistor in question can withstand this power, I used a 2W resistor.

Driving the low-voltage side of the optocoupler still requires about 5 mA so I introduced additional FETs on the SoC side to provide this current. The updated circuit looks like below (click to enlarge). This circuit can control one low-voltage LED strip (with dimming) and two high-voltage strips (with no dimming) at the same time.

In my implementation the isolator and the MCU boards are located in two enclosure boxes which allows modular deployment - if there are no high-voltage strips then the isolator box is not needed. The connection between the MCU and the isolator boxes are 4 mA current loops which is quite resistant to noise. So the connecting cable could be  much longer than in the image below.

Now on to the software.

Click here to download the nRF51822 code.

Click here to download the Android code.

Compilation instructions can be found in the previous post. One warning: if you built the previous version and uploaded into the SoC, make sure that you mass-erase the chip ( script provided in the download bundle) and upload everything again (soft device and updated application) because the BLE service description has changed and the nRF51822 SDK writes data into the flash about the service characteristics.

Again I propose that before you start to experiment with the Android application, test the BLE device with a BLE debug tool like the nRF Connect for Mobile. You will see that the high-voltage LED strips are controlled by a new BLE characteristic (the old one controlling the low-voltage strip is still available unchanged).

The byte array written into this characteristic is a blob that describes the light effect. The blob has two identical sections, each of them 9 bytes long. One section starts with 1 byte for the repetition counter then 4 times 2 bytes, each 2 byte subsection having 1 byte for the time duration (in 0.1 sec units) and one byte for the bit mask of the LED strips (bit 0->1 if LED strip #1 is to be on, bit 1->1 if LED strip #2 is to be on).

Regarding the Android application, there are no too many surprises. I used the now deprecated TabActivity because I did not feel like playing around with fragments for this simple prototype. The screen has separate tabs for the low- and the high-voltage strips like this:

The disconnection deficiency described in the previous post is still there. Make sure that you disconnect from the device after each manipulation (by pressing the Back button) because neither the device nor the Android application implements disconnection timeout so if you stay connected, nobody else will be able to connect to the LED strip controller. Otherwise have fun with these BLE-enabled Christmas lights!

by Gabor Paller ( at January 02, 2017 08:55 PM

December 16, 2016

Typewriter Animation in Android TextView.

Here is a simple class to animate a textview just like a Typewriter.



import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.TextView;

public class Typewriter extends TextView {

    private static final String TAG = Typewriter.class.getSimpleName();
    private CharSequence mText;
    private int mIndex;
    private long mDelay = 500; // Default 500ms character delay
    Handler animationCompleteCallBack;

    public Typewriter(Context context) {

    public void setAnimationCompleteListener(Handler animationCompleteCallBack) {
        this.animationCompleteCallBack = animationCompleteCallBack;

    public Typewriter(Context context, AttributeSet attrs) {
        super(context, attrs);

    private Handler mHandler = new Handler();
    private Runnable characterAdder = new Runnable() {
        public void run() {
            setText(mText.subSequence(0, mIndex++));
            if (mIndex <= mText.length()) {
                mHandler.postDelayed(characterAdder, mDelay);
            } else {
                if (null != animationCompleteCallBack)
                    animationCompleteCallBack.sendMessage(new Message());
                    Log.i(TAG, "Animation Complete Listener not set...");

    public void animateText(CharSequence text) {
        mText = text;
        mIndex = 0;
        mHandler.postDelayed(characterAdder, mDelay);

    public void setCharacterDelay(long millis) {
        mDelay = millis;



import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState) {

        Handler animationCompleteCallBack = new Handler(new Handler.Callback() {
            public boolean handleMessage(Message msg) {
                Log.i("Log", "Animation Completed");
                return false;

        Typewriter typewriter = new Typewriter(this);
        typewriter.setTypeface(null, Typeface.BOLD);
        typewriter.setPadding(20, 20, 20, 20);
        typewriter.animateText("CoderzHeaven\nHeaven of all working codes");


Please leave your valuable comments

by James at December 16, 2016 02:38 AM

November 10, 2016

RhinoShield CrashGuard Pixel XL Drop Test – 11 Feet Onto Cement

In this video, Miles takes the CrashGuard bumper out for a drop text after showing us the impressive engineering that goes into every bumper. RhinoShield claims their cases can protect your phone from a fall from up to 11 feet.  Let’s put that to the test with a new Pixel XL. Here are the results below from each drop position. For the full-length video, scroll down the page.

Drop from pocket height

From a pocket height drop, no damage is done to the case or the phone. No smudges or scratches to be seen.

Drop from chest height

This drop for chest height landed hard. The bumper absorbed the shock and took a little bit of scratch damage on the corner. The phone was still left in perfect condition.

Drop from overhead

Similar to the last test, only minor scratches can be found on the bumper. The integrity of the phone is left unchanged.

11 foot drop

Miles finishes up his drop test with a giant 11 foot  drop. Still nothing more than minor scratches on the case. The phone is left without any flaws.

Full video

CrashGuard is superior to the bumpers of the past because it has been engineered to absorb impact. This is done by utilizing a proprietary polymer material that is far more shock-absorbent than plastic, and it also has a protective honeycomb structure within the bumper to disperse impact properly. In fact, within the honeycombs are compartments of pressurized air that act as airbags and deflect impact energy. If that sounds really elaborate, it is, and the net result is that you can drop your phone from a variety of heights (up to 11 feet) and if you have a CrashGuard bumper on the phone, you’re going to have a completely unmarked phone.


Not only are CrashGuard bumpers durable, but they’re lightweight (with most of their bumpers coming in under 14 grams). They’re also pretty grippy thanks to the matte finish, and they come in a variety of colors. Another thing we really like about the CrashGuard line is the pricing: the Pixel XL is priced at $24.99, and you can grab one from CrashGuard for the Pixel/Pixel XL.


If you have one of the many other phones that are supported by RhinoShield, you can check out their Amazon page to see all of their available options.

Thanks to RhinoShield for sponsoring this post.

by A Word From Our Sponsors at November 10, 2016 06:10 PM

October 22, 2016

Sultanxda Bypasses New SafetyNet Unlocked Bootloader Check on Latest CM13 Builds for OP3

Google’s SafetyNet has been a huge thorn in the side of anyone who wants to use Android Pay while having full control over their phones. Until recently, it has mostly been about disabling Android Pay on devices with Root, but a couple days ago, Google took it one step further — they are triggering SafetyNet even on devices with unlocked bootloaders.

Thankfully, just like how Chainfire’s systemless Root has temporarily bypassed the root restrictions imposed by SafetyNet a couple of times (as has topjohnwu’s open source Magisk, an interface for systemless modding and Xposed), Sultanxda has found a temporary patch for the unlocked bootloader issue, which he has included in his latest builds of CyanogenMod 13 for the OnePlus 3.

How it works is that SafetyNet usually checks to see if the bootloader is unlocked through the use of verified boot, a feature which has only been around in Android since KitKat, and is not yet supported by every device (a feature which has become increasingly aggressive with Android 7.0 Nougat, even blocking traditional root methods on the Pixel phones). In order to support those older phones that don’t have the hardware required to support verified boot, SafetyNet fails to green if it doesn’t get any response from the verified boot test.

But as the saying goes, XDA always finds a way:

In order to bypass this, Sultanxda removed support for the verified boot flag from his modified kernel, thereby preventing the bootloader from passing the flag to SafetyNet. This gives SafetyNet the same response it would expect to see from a device that doesn’t support verified boot at a hardware level, and as a result SafetyNet allows the device to pass the test.

While this is not a permanent fix (and none before it have proven to be), it should allow people to bypass SafetyNet until Google finds a way to patch this security hole. Thankfully, this particular security hole looks like it could take Google a while to fix, but it is a shame to our enthusiast and developer community that Google is taking these steps in the first place.

People having root support for their own computers is standard for the Linux and macOS worlds (as is admin access for Windows personal computers, although it is not quite the same thing), and yet Google feels that we cannot be trusted with control over our own devices (not shipping with it by default, and taking steps to prevent people from using it). They act as if it is a device managed by them, rather than a device bought from them. Thankfully people like Sultanxda, Chainfire, and topjohnwu are here today to help restore the features taken from us, but what will happen in the future?

Spread the word about this patch so that others can enjoy it on their devices too!

by Steven Zimmerman at October 22, 2016 07:48 AM

October 12, 2016

Droidcon London

Join me and many other developers at Droidcon London at the end of October.

"Why Droidcon London?," you ask? Great question, thanks for asking! The answer is simple. But because I wanted to write more than six sentences to justify taking up your time reading this, I'm going to take longer to explain.

For one thing, there will be developers. Everywhere. Hanging from the rooftop, dangling from the balcony, occupying every seat - nothing but developers, developers, developers. None of these business-blogger types, no management consultants (well, very few anyway) peddling their wares; just developers. So the people you talk to are exactly the people you want to connect with; other programmers learning the same stuff to solve the same problems that you have.

Also, there are always great technical talks. Developers aren't just in the seats and hanging from the fluorescents; they're up on stage talking about the stuff they know. In many conferences, the people on stage are the people that are carefully prepped to deliver on-message talks about products. But Droidcon is one of those awesome conferences that's all geek. The only difference between the presenters and the audience is that one of them has the mic (and the slides and demos ready to go). So there's great stuff to learn and great developers to learn from.

Finally, and I think this is the essence of the 'simple' answer that I wanted to give originally: it's the weather. It has been my experience that London has the most consistent weather of any place I've been. No matter when I arrive and how long I stay, the weather is always predictably gray, moist, cool, and somewhat dismal. Surely you get tired of the perfect weather where you are. I mean, how many sunny days in a row can you take before you just want to burst out in song? And who can get anything done in the office with happy people skipping around singing and smiling all the time? No, Droidcon London offers exactly the kind of weather that developers need to buckle down and Get Things Done, because, well, there aren't really any better options.

Droidcon London: It's not whether you will enjoy it, but rather weather you will enjoy.

by Chet Haase ( at October 12, 2016 01:17 PM

September 22, 2016

Get The Best Time Lapse Shots With X-Lapse

The amount of Android accessories that are available are endless. In a sea of crappy cheap garbage it can be almost impossible to know if what you order is going to be decent or not. In the Android Crap series on XDA TV we do reviews on some of the most strange or interesting accessories we can find. In this video we are looking at at Muvi X-Lapse panorama device that works much like a kitchen timer.


The only complaint I have with this device is with the grip that you slide your smartphone in. While the head is turning, there is a good chance that your phone will slip out of place, ruining your shot. This can be fixed by replacing the grip with another more sturdy mount for your smartphone.

When the X-Lapse works, it works great. Check out this video taken with a Nexus 6P and X-Lapse.

Get a Muvi X-Lapse for yourself using our affiliate link:

by Roni at September 22, 2016 02:34 PM

September 15, 2016

Contribute to the vogella Android tutorials via Github pull requests

If you want to contribute an improvement to the vogella Android tutorials, we are providing our Android tutorials Asciidoc source code via Github. Please clone and send your Pull Requests.

vogella Android tutorial at Github.

Thanks for your contributions and lets kill all these typos. :-)

by Lars Vogel at September 15, 2016 06:25 AM

September 01, 2016

How to Get the Most out of EMUI on the Honor 8

There’s a good chance that the Honor 8 is giving you your first experience with EMUI. While many people might prefer stock Android to what Honor gives you with EMUI, there are a lot of neat features that can be found in Honor’s UI that offers battery savings, customization options, and security features. In this article I’m going to go over some of the best ways that you can use the different features in EMUI. Before we get started, be sure to check out the Honor 8 forums on XDA, and read more about the partnership we have with them. We currently have a contest going where you can win an Honor 8.

Home Screen Style

EMUI has an easy-mode built into their launcher that strips everything down to the basics. This mode even extends into the settings so everything is simple across the board. Obviously this mode is targeted towards people who do better with simple things. Maybe it’s not a feature that the XDA audience will use but when you give your phone to the kids to play games or grandpa to take a selfie, they might handle this a little better.


Home Screen Style: Simple


Home Screen Style: Simple


Home Screen Style: Simple (Settings)

Motion Control

Motion controls are often all the same thing. You flip your phone to mute it, pick up to lower the ringer volume, and put it to your ear to answer a call. EMUI has all of this but what they also have is the unique feature of being able to differentiate the touch of a knuckle from your finger. This opens up some new options called knuckle gestures. You can assign a gesture to launch an app. Using your knuckle, draw a letter on your screen so launch the corresponding app that you have chosen.


Motion Gesture Menu

My favorite way to use the knuckle gesture is for the Smart Screenshot option. Check out this video to see how it works.


The shortcuts in the notification menu can be customized with quick access to some of the best features in EMUI. You can put a shortcut to floating dock, screen record, battery modes and several other useful features.


Notification Bar Shortcuts

Smart Assistance

The smart assistance menu in the settings is where you’re going to find the bulk of the awesome EMUI features. The first two features you can setup are the floating dock and the nav bar tweaks.


Smart Assistance Menu

The dock can be placed anywhere on the screen that works best for you. Tap the little circle icon and a menu will pop up with back, home, recents, screen lock and one-touch optimization options.


Floating Dock Menu

It’s pretty standard for any good smartphone to come with a fingerprint scanner these days. The Honor 8 has a fingerprint scanner with an extra feature. If you press on the sensor, you’ll feel it click. You can assign custom actions to this button for press, double press and press and hold. I would check out this thread here to see how other users are utilizing their smart key.


Smart Key Menu

Screen Lock and Passwords

Your lock screen and security is also very customizable. The smart unlock will use a bluetooth device to unlock your phone. So if you are connected to some headphones or something, you don’t need to input your security code/pattern.


Screen Lock and Passwords Menu

Save Battery

There are so many different ways to preserve your battery life in EMUI. The first is adjusting your power plan. You can choose between performance, smart or ultra. Each of these options will show you how much time you can squeeze out of what’s left of your charge.


Power Plan Options

Another great way to save some juice is the ROG power saver. This will lower your screen resolution from 1080 to 720. This also helps quite a bit with performance in some situations.


ROG Power Saving Toggle

The battery optimizer will monitor your phone to find out what you can do to get better battery life. It will check to see what apps are still running after the screen is shut off, what screen brightness you should be at and  what screen timeout you should use.


Battery Optimizer

Use these features to get the most out of EMUI on your Honor 8.

  Honor 8 XDA Review   Honor Hub on XDA

  Win an Honor 8

by svetius at September 01, 2016 01:29 PM

August 27, 2016

Honor 8 Camera Tip and Tricks


With the dual lens setup on the Honor 8 phone, you can get some pretty amazing shots that remind us a lot of the capabilities of the Huawei P9. There are so many different things to experiment with when messing around with the camera on this device. I’ll be going over some of the best features and how to use them to get the best result. In the mean time, make sure you check out our full review of the Honor 8, and also read about the partnership with have with Honor.

Camera Specs:

Primary Dual 12 MP, f/2.2, laser autofocus, dual-LED (dual tone) flash
Features 1.25 µm pixel size, geo-tagging, touch focus, face detection, HDR, panorama
Video 1080p@120fps, HDR
Secondary 8 MP, f/2.4, 1.4 µm pixel size, LED flash

Honor 8’s hybrid auto-focus aligns using laser focus for short range, precise depth focus for longer range and contrast focus to create the best picture possible. The built-in ISP is aligned with the depth measurement ISP to improve focus and processing speed. The phone has two 12 MP cameras featuring one RGB and one monochrome sensor and 1.25 μm pixel size.



The time-lapse feature is very simple. You don’t specify what FPS to shoot at or any other settings. You just start filming. If I had to guess I’d say your footage is sped up around 4x the original speed. I used some third party software to speed it up even further for the video below.

Since the phone’s image stabilization isn’t perfect because it lacks OIS, a time-lapse is best shot from a stationary position. Find a shot with lots of movement like the clouds in the sky, the sun rise, or traffic in a city.


Phone is being used with the Joby MPod Mini Stand

HDR Mode

HDR mode improves the lightest and darkest parts of a photo. In the two images below, you’ll notice the shadowed area looking much better in the HDR photo. You’ll also notice the clouds in the background look more life-like with the HDR effect.


Without HDR


With HDR

So when should you use HDR? Well this mode is best used when taking photos outdoors when you have a big contrast between shadows, landscape and sky. With HDR, you’ll always get more detail in the darkest and lightest areas of your photos. You’ll also want to consider using HDR in low light situations.

Light Painting

The light painting effects are the most fun to play around with. Tail lights will create streams of lights following the traffic at night time. This is how photographers get the look where cars appear to be speeding through an image.

Light graffiti will take a short video as you stand in front of your camera and paint whatever image you want with a flashlight or something similar. After you step out of the frame, all that is left is the light and you are not in the image. Neat!

Silky water will take the flow of a waterfall and give it a silky smooth effect. This will look best when your phone is stabilized with a tripod and you’ve got a fairly close shot of the flowing water.

Star track will track the movement of the stars in the sky and drag the light trails as the Earth rotates. I tried to test this out but no stars were visible to the phone’s camera. In fact, I’m never seen a phone that would be able to see the stars in the sky at night. So this feature seems impossible to use.


I got some great shots of a local stream. The shot only takes a few seconds before it’s able to smooth the water out into this effect. Perfect for a nice Instagram photo.



Shallow DOF

Wide aperture mode enables you to blur background from F0.95 to F16, and even allows you to refine focus after the picture is taken.

With the option to create an image with a shallow depth of field, you can take awesome images that mimic the look of a DSLR. This mode will let you apply a blur to the background of the image which can be adjusted accordingly.


To take the best image using this effect, make sure your phone is held as still as possible. Touch to focus on the object that you want to stand out then take your photo. After taking your photo, you can adjust the point of focus by selecting another part of the photo.

When adjusting your background blur, blur it only to the point where it doesn’t overlap the edges of the object in focus. This will result in the most realistic look.

Gallery App

Taking the photo is only half of the fun. The album app on the Honor 8 comes with a bunch of great editing tools. You can fine-tune your images and apply many different effects until you have the look you want.

album2 album3album4album1

There are plenty of amazing modes to check out on the Honor 8. You also have pro modes for photo and video which give you full manual control of your focus, W/B, ISO and shutter speed.

Sample Photos

Here are some photos that we took with the Honor 8, to give you an idea of the quality you can expect.

water2 dof wood2 bush grass tomato IMG_20160808_145612 IMG_20160813_160055_1 IMG_20160814_193910 IMG_20160822_165500 IMG_20160822_170035 IMG_20160816_115936

Overall, this camera was so much fun to play with and kind of gives me a new reason to take pictures when I’m out. For people who love apps like Instagram, I can see them having a great time with this phone.

  Check out the Honor Hub

  Honor 8 Forums

by svetius at August 27, 2016 06:26 PM

August 26, 2016

Fix for Samsung Galaxy S7 devices

I finally found a solution to the problems S7 owners have been having with Gem Miner 2. I will get the fix out very soon, I’m just trying to see if I can get time to put an extra mission or two in before publishing to the Play store.

by Psym at August 26, 2016 02:44 AM

August 01, 2016

iOS 10 Preparedness Checklist

iOS10 Checklist

Get ready for iOS 10!  The Mutual Mobile QA team has put together a great checklist to help development teams be prepared for this major release along with other imminent Apple requirements. Avoid the potential pitfalls and setbacks that could make your app anything less than a “10”.

    • Compile with XCode. Confirm your app compiles with XCode 8 beta and iOS 10. If you can’t build it, they won’t come.
    • Upgrade, crash, fail. Be sure your app does not crash after upgrading to iOS 10. A significant number of apps crash upon launch after a major OS upgrade. This is a worse-case scenario, is reported frequently, and quickly makes it to app reviews.
    • Logged in after upgrade. Be sure your app remains logged in and still remembers the login credentials after upgrading to iOS 10. Customer attrition is introduced by signing them out.
    • Test. Test. Test. Verify your app works with iOS 10. It is critical that your app is tested ahead of the iOS 10 release and will work on launch day. Upgrade to the latest iOS 10 beta and run regression and automation suites. Crashes, major functionality failures, and blocking bugs have already been found during our tests. Identify the potential issues early and notify your team.
    • Don’t forget about watchOS! watchOS 3.0 changes and performance improvements for apps in the dock have potential to break your existing watch app. Retest your Watch apps to ensure a smooth transition.
    • S is for “Secure”. Application Transport Security will require HTTPS for web APIs by end of 2016. Check your API’s and 3rd party libraries. Failure to comply could result in your App Store submission to be rejected.
    • IPV6 Support. Apple will begin to require all submissions to the App Store to be compatible with IPV6-only standards. Don’t miss this, get rejected, and delay your release.
    • Look forward. Review the new capabilities of iOS 10 to see how the new integrations (Maps, Siri, Messages, Apple Pay, Home, CallKit) could apply to your app. Get ahead on the discussion of features for your next release.
      Having any type of mobile application takes constant monitoring and optimization. Our company enjoys this maybe more than we should, and hope that this quick list can make your upcoming development for iOS10 that much easier.    

The post iOS 10 Preparedness Checklist appeared first on Mutual Mobile.

by Mutual Mobile at August 01, 2016 07:11 PM

July 07, 2016

OnePlus 3 XDA Review: OnePlus Paints the Perfect Canvas for the Spec-Hungry Tinkerer

With a new year comes a new OnePlus flagship, with the goal of taking on the big league players and give them a serious run for their money. After last year’s disappointing OnePlus 2, the “little OEM that could” drops its “Flagship Killer” slogan for a humbler release of a well-specced phone.

Can the OnePlus re-deliver the Never Settle mantra it is known for?

In this review, we’ll take an in-depth dive into the OnePlus 3. Rather than listing specs and talking about how the experience felt, this feature attempts to provide a thorough look with contents relevant to our reader base. At XDA, our reviews are not meant to tell a user whether a phone is worth buying or not — instead, we try to lend you the phone through our words and help you come to the decision by yourself. Before getting started, let’s get the specification sheet out of the way:

Device Name: OnePlus 3 Release Date/Price Available Now, U$D 399
Android Version 6.0.1 (Oxygen OS ROM) Display 5.5 inch 1080p AMOLED (401p ppi)
Chipset Snapdragon 820, Quad Core 2x 2.15GHz 2x 1.6GHz, Adreno 530 GPU Battery 3,000mAh, Dash Charge (5V 4A)
RAM 6GB LPDDR4 Sensors Fingerprint, Hail, Accelerometer, Gyroscope, Proximity, Ambient Light, Electronic Compass
Storage 64GB UFS 2.0 Connectivity USB 2.0 Type C, Dual nano-SIM slot, 3.5mm audio jack
Dimensions 152.7 x 74.7 x 7.35 cm (~73% screen-to-body) Rear Camera 16MP Sony IMX 298 Sensor, 1.12μm, OIS, EIS, PDAF, f/2.0, RAW support, 4K 30FPS / 720p 120FPS video
Weight 158g Front Camera 8MP Sony IMX179, 1.4μm, EIS, Fixed Focus, f/2.0, 1080p 30FPS video



Aluminum body, 152.7 x 74.7 x 7.35 cm (~73% screen-to-body), 158g

The OnePlus 3 brings forth a design refreshment that does away with the signature sandstone back of the previous two phones, and shakes up the design language by softening curves and edges, as well as changing the material employed. While the OnePlus 2 introduced a sturdy magnesium frame to complement the sandstone back, the all-metal OnePlus 3 is made from a single block of aluminum that still ends up feeling surprisingly sturdy. Indeed, while the OnePlus 3 lacks the heft of its predecessor, it ends up appearing quite durable and tests have shown that it likely won’t bend on you like similar phones.


This comes as a surprise given how thin the phone is — at 7.4mm, this phone is almost as thin as the Nexus 6P. The in-hand feel is handled very well thanks to a rather efficient screen-to-bezel ratio and proper softening of the edges. The device’s camera does protrude, however, and the glass on it is not fancy sapphire, meaning you might put it at risk atop certain textures. That issue aside, the materials and dimensions of the OnePlus 3 are well-accomplished, as the device has no issue fitting in the hand comfortably with or without cases.


Moving on to specific design elements, we find that the back of the device looks very much like what you’d expect out of an aluminum smartphone nowadays. The antennae band arrangement is reminiscent of devices like the HTC One M8, the iPhone 6, and their countless copycats — that’s a conclusion we simply can’t escape. But nevertheless, it is finely executed and the various OnePlus slim cases do provide a more traditional “OnePlus” look and feel for those willing to shell out extra cash. The center of the back has a shiny and slightly depressed OnePlus logo, making for the only stand-out feature in the back.

IMG_20160615_170457 (1)

The sides of the device are very well fused with the back through a comfortable curve and soft corners, making for an easy grip. On the right you will find the power button and the dual Nano-SIM tray, while on the left there is a power rocker and also the famous alert slider, back with its signature tactile pattern which makes it extremely easy to identify. It’s worth pointing out that the physical keys of the OnePlus 3 are excellent — they don’t rock, they are sturdy and clicky and they are placed at very natural locations. The only nuisance I personally found was with the alert slider, which is programmed to mute all notifications when fully slid up instead of down — it might sound like a small detail, but it takes more effort to slide it up with the right hand’s index finger than it is to slide it down, and an option to change this would have been nice.

IMG_0335 - 1

The top of the device is perfectly plain whereas the bottom has a lot going on. Down there you will find the USB Type C connector at the center, a single speaker grill on the left (thank you for not giving us fake double speakers!) and a microphone and audio jack on the right, with both sides flanked by very tiny screws that oddly take away from the otherwise-seamless look.


Then we have the front, which is actually one of the better-designed aspects of this phone. The black-slab approach is toned down in favor of a visible camera and sensor, as well as a speaker grill at the top, and the prominent fingerprint scanner depression at the bottom. To the sides of the fingerprint scanner (which, while not a button, functions as a home key) you will find two white LED circles that mark the capacitive keys you can opt to use. These are much more elegant-looking than the blue slits in the OnePlus 2, as they are more neutral and subtler (they go well with any theme on your phone). Finally, it’s worth noting that the small side bezels (a fraction of a millimeter shy of the LG G3’s) coupled with 2.5D glass make for an attractive illusion that makes the phone ultimately feel narrower and smaller than it is. Also, the phone comes with a built-in screen protector, which is a nice touch.


A final point worth mentioning is that the OnePlus 3 is offered with cases that come in the same styles the OnePlus 2 styleswap covers came in: sandstone, bamboo, rosewood, black apricot and karbon. These are slim, easy to apply and hug the device better than your average smartphone case, although they are not the most protective alternative. That being said, they only add a couple of millimeters of thickness — something that many will welcome, given it makes the camera sit flush with the rest of the back, and not everyone prefers such slim devices anyway. The cases are $25 each though, which is not cheap, but the cutouts around the sides and backs compliment the device well and make it look different and also more familiar to OnePlus veterans, and it also adds an extra layer of protection (especially with the pre-applied protector) without sacrificing comfort, depending on your taste.

Software – User Interface

Android 6.0.1 Oxygen OS ROM v3.1.2/3.1.4

Oxygen OS on the OnePlus 2 was a rather close-to-stock UI that focused on bringing only some useful and subtle customization and navigation options, many of which OnePlus promoted specifically for being part of the then-upcoming Android Marshmallow. Not much has changed in Oxygen OS, truthfully, and the version found on the OnePlus 3 is very similar to the latest Marshmallow build for the OnePlus 2. That being said, the changes OnePlus made to the UI and the user experience can be curious little additions.

Screenshot_20160620-195246 Screenshot_20160620-195334 Screenshot_20160620-195824 Screenshot_20160620-195345

As far as the eye can see, OnePlus’ OxygenOS does not deviate much from Material Design nor Stock Android. But extra input in some UI elements will reveal the changes that make the experience slightly more comfortable. For example, in the multi-tasking menu, you can move the card stack up to reveal three buttons: one to clear and close all recent applications, another one to kill all apps and background processes, and finally a shortcut to the app manager menu where you can quickly find and configure application options (force stopping, disabling, checking data usage and permissions, etc).

Screenshot_20160705-095650The notification panel stays the same, while the toggles see the comeback of easy toggle drag-and-drop configuration, as well as some useful additions including a Night Mode toggle (like the one coming with Android N) as well as an “invert colors” button. The latter might seem of questionable usefulness at a first glance, but consider its usefulness when browsing the web at night for reading purposes — with the OnePlus 3’s AMOLED screen, it’s actually nice to have it hanging in there for the occasional insomniac redditing session.

Screenshot_20160705-100039 (1)The OnePlus 3 comes with rudimentary theming, too: while you won’t be installing third-party themes and get your Hello Kitty game on, there is a “Dark Mode” that, unlike Google’s, is actually pitch black where it counts for maximum AMOLED synergy. You can also change the accent color while in Dark Mode, and while in Dark Mode only (why?), letting you choose from 8 color options besides the default accent. As with other ROMs that allow for the UI tuner, you can also get rid of annoying status bar elements, this time through a handy shortcut in the Customization sub-menu.

Screenshot_20160705-100059 Screenshot_20160705-100116 Screenshot_20160620-195401 Screenshot_20160705-100206

The lockscreen is what you’d expect: notifications, google and camera shortcuts, etc. The Launcher, however, is one of the places OnePlus decided to add some spice in: while the homescreen layout and app drawer (other than the icon) will be familiar to everyone, they also bring a quick notification pulldown (down) and quick search (up) gestures by default, as well as Shelf, a place with your favorite apps, widgets, time, weather, frequent contacts, memos… In short, the same things you can have on your homescreen already, albeit in resizable boards you can move around. Other than Shelf, there is not much going for the stock launcher. Having it react to the Dark Mode setting in the app drawer is also a nice touch, but ultimately the launcher will fall short for those used to more complex or liberating launchers. For everyone that just needs a traditional homescreen, it’ll do just fine.

Software – Features & UX

Oxygen OS is toned down not just on the aesthetic front, but also when it comes to features. However, that doesn’t mean that what’s in there is not useful, and I’d argue that the overall implementation and presentation of these features surpass the work of other OEMs in delivering a “no-nuisance” experience. In a few words, you won’t be digging through menus to find features because what’s there is apparent and most of it has been advertised by OnePlus anyway.

Starting with the toggle situation, there isn’t much that deviates from Stock Android. I do appreciate the setup, with the “invert colors” function being a notable feature (that I didn’t know I’d like) when considering that the AMOLED screen will give you perfect blacks. While browsing the web at night, this can help you read whatever’s on your browser without consequently stabbing your eyes (especially important given the poor minimum brightness on this device, but more on this later). In order to help with night-time usage, you can also find a night mode as seen on Android N, and the dark theme to theme your UI black.

Screenshot_20160705-100954The OnePlus 3 has no shortage of off-screen gestures and features, either. The famed double-tap-to-wake is back, as are other off-screen customizable gestures involving swipes and shapes. These are responsive and quick to use, but you can also double-press the power button to launch the camera without unlocking the screen, a neat addition for those moving from Nexus devices. And speaking of which, Ambient Display is also an option on the OnePlus 3, made all the better by the AMOLED display and the fact that you can swipe your hand above the screen in order to see your notifications without physically interacting with the device.

Screenshot_20160705-101228A feature that synergizes with the screen-off versatility of Oxygen OS is the alert slider, which has 3 positions or “stages”: up for do not disturb/silent, middle for priority mode, and bottom for all notifications. Furthermore, you can customize priority settings to allow alarms, media, reminders, events, calls and messages (from select contacts, if you so choose) to go through. Additionally, repeat callers can be allowed through if they call twice within 15 minutes — a nice addition for the rare (and hopefully nonexistent) emergency call. Sadly, customization for silent mode is not as granular, only enabling alarms and media (being able to mute media permanently while on silent mode is also useful for walking into meetings or classrooms).

The nicest thing about Oxygen OS is that it lets you ignore its additions and pretend you are running a slightly-modified Stock Android

Apart from aesthetic customization, the navigation bar of the OnePlus 3 can be configured to act through the hardware capacitive keys, or the software keys (you are asked on the first boot, meaning no user can miss that this feature exists). This gives you the best of both worlds, and has become a stable of the OnePlus experience by now.

If you choose to, you can of course turn off the backlight or always enable the home button, and then swap the order of the recent and back keys no matter your nav bar choice (luckily, the capacitive keys are labelled with dots open to interpretation!).

If that wasn’t enough, you can also customize the long press and double tap action of each and any key (but not when using the virtual navigation bar), with options that include: trigger the recents menu, search assistant (like Google Now/On Tap), turn the screen off, open the camera, do a voice search, open the last used app (very welcome feature!) and open the Launcher’s Shelf. Do keep in mind that the keys’ responsiveness goes down dramatically should you configure a “double tap” action, but long-press is fine. Using long-press on the home-button to turn off the screen, for example, makes the fingerprint scanner button feel symmetric in functionality (turn on/off).

And that’s precisely our last stop: the fingerprint scanner on the OnePlus 3 is phenomenal, being very fast, responsive and accurate. I’ve had no issues with this fingerprint scanner, and while I personally prefer them on the back, the handling of the OnePlus 3 (thanks to its dimensions) does not make for a cumbersome experience. In any case, smart lock can help you minimize the need to unlock your phone when out and about.

There are smaller features here and there, like the ability to wake the phone for alarms even if the device is off and also “locking-in” applications in recents so that they can’t be closed (including “close all” button), but ultimately what you see is mostly what you get, with very few features hidden behind secret menus or with vague descriptions and triggers. Ultimately, Oxygen OS is a very pleasant experience as you can easily ignore most of these additions, not theme the device, and pretend you are running a slightly modified Stock Android. Aesthetically, it mostly looks the part, and functionally, the features the ROM brings do not detract from the experience and result in a solid net positive that you can exploit at your leisure.


SD820, Quad Core 2×2 up to 2.15GHz, Adreno 530 GPU, 6GB DDR4 RAM

The OnePlus 2 was notorious for its performance issues, but it was only one in a streak of devices suffering such fate due to the Snapdragon 810 at their heart. The OnePlus 3, however, wields the Snapdragon 820 to try and smash the notorious past that put a blemish on the excellent performance record their first device achieved. With a quad-core Kryo core configuration and a maximum clockspeed of 2.15GHz on the performance-centered dual-core cluster, this device sees no sacrifice in frequency like its predecessor did (as it was downclocked), and bears the best internal hardware available at the moment. Has OnePlus been able to redeem the OnePlus 2’s performance issues? In one sharp word: yes. We’ll explain why below.

CPU & System

The OnePlus 3 leads the pack with the rest of the Snapdragon 820 devices in the CPU side, offering extremely good performance on every CPU-centric test and system-oriented tests as well. The OnePlus 3 frequently scores higher than all other devices in these tests, and it does a particularly respectable job in PCMark, which tests both the hardware and the software. In BaseMark OS II 2.0, a more holistic test, the OnePlus 3 also hangs out with the top of Android, and all of this without any sacrifices to clockspeed or through modified CPU behavior. The Snapdragon 820 proves itself once again in the OnePlus 3, although the Kirin 955 and the Exynos 8890 give it a run for its money on multi-core tasks and results, where they get an advantage likely through sheer number of cores.


AnTuTu (over 144,000) and other more comprehensive tests also put the OnePlus 3 at the top of what’s available today, and the extra RAM will ensure it gets a favorable score later down the line. Oxygen OS itself may be contributing to the good scores in some of the software-aided tests, but in any case, there is nothing else to ask out of the OnePlus 3 at the moment. It’s simply that good, and the numbers speak for themselves, leaving little else to write about in terms of peak performance.

oneplus3-performanceovertime htc10-performanceovertime oneplus2-performanceovertime nexus6P-performanceovertime

And if the exceptional theoretical maximums were not enough, we also found that the device sees the least throttling on a Snapdragon 820 device we’ve tested. The S7 Edge, HTC 10 and (especially) the LG G5 all see higher temperatures during both regular usage and thorough stress tests, while the OnePlus 3 manages to keep its cool throughout with scores dropping as little as 2 percent over 10 tests or more. For reference, other Snapdragon 820 devices like the HTC 10 saw as big as a 6% drop, with higher a  maximum temperature as well. This is only a summary of our thorough performance-over-time analysis, which we suggest you check out for a more in-depth explanation.

GPU & Gaming

On the GPU side, the Adreno 530 is once again a stand-out feature of a flagship’s performance. We’ve seen time and again that this mobile GPU can output some fantastic scores on practically every test, and the OnePlus 3 maximizes the results of this component by keeping its resolution at 1080p. This is not something that makes a noticeable impact throughout the UI, and many games already run at 1080p regardless of the (higher) native resolution, but it greatly affects on-screen benchmarks and other tests, meaning it’s worth mentioning. While the lower resolution might seem like an “unfair advantage” (and it arguably is), we also lowered the resolution on the HTC 10 to get an idea of how another 820 device would perform under the same graphics stress.


As expected, the OnePlus 3 outperforms other popular Snapdragon 820 devices in on-screen tests, but the large difference disappears in off-screen results where the additional pixel tax disappears and the footing is even. Only 1080p Snapdragon 820 devices like the Xiaomi Mi5 can see head-to-head with the OnePlus 3 at this time, but these are merely abstract tests that don’t tell us everything about actual graphics performance during usage and gaming. Nevertheless, we downgraded the HTC 10’s resolution to 1080p to see if it fared as well as the OnePlus 3 in peak scores and over time.

Manhattan - OnePlus 3 Manhattan - HTC 10 (1440p) Manhattan - HTC 10 (1080p) Manhattan - OnePlus 2

The Slingshot ES 3.1 test is rendered at 1440p on both devices regardless of resolution.

The graphs are pretty telling: while the OnePlus 3 already outperformed other Snapdragon 820 devices in GPU performance over time (as seen in our previous report), the HTC 10 nevertheless throttles much harder than the OnePlus 3 in GFXBench’s Manhattan stress test (30 consecutive benchmarks). The OnePlus 3’s lower resolution meant up to 80% better framerates, and we originally assumed that this meant the GPU wasn’t taxed as much leading to better-sustained performance, but the HTC 10 shows this is not necessarily the case, as this device saw more substantial and frequent drops in frames despite starting out on even footing. Either way, the OnePlus 3 has excellent performance-over-time with no significant throttling even after reaching high temperatures of up to 46°C |114.8°F.

Taken with SM-G935T, Android 6.0.1

Heat distribution on OnePlus 3’s body

Gaming is a similar story on the OnePlus 3: the device features some of the best framerates of any device we’ve tested, with most games easily hitting – and sustaining – their framerate caps of 30 or 60. Asphalt 8, for example, kept a solid 30 frames per second (surprisingly, it was locked at 30 while the HTC 10 was not, but this device showed substantial fluctuation).

OnePlus 3 - San Andreas HTC 10 - San Andreas OnePlus 3 - Asphalt 8 OnePlus 3 - Warhammer 40K

The device also handles other heavy games like Warhammer 40K and Dead Trigger really well, with 30FPS and 42FPS averages respectively. Most importantly, perhaps, is the fact that this device can sustain maximum framerate on GTA: San Andreas at maximum settings for over 10 minutes without throttling, while 810 phones and even other 820 devices commonly have issues after a few minutes. 

RAM Management and Storage

When it comes to RAM, the OnePlus 3 is mighty impressive on paper. Its 6GB of DDR4 RAM echo promises of near-infinite app caching, but reality is quite different. The OnePlus 3 went under controversy for underperforming in this regard, with videos and articles detailing how it was out-played by devices with 4GB (and even 3GB) of RAM. We took a look back then and found that the LMK/OOM values were fine, but the build.prop had a hard limit on background processes, with the relevant code line set to 20. Changing the value to over 40 allowed us to make near full use of the device’s RAM, being able to use over 5GB for applications and go back over 20 apps in recents with ease.


The culprit

Since then, OnePlus 3 released a reviewer OTA and now a final OTA that upped that value to 32, making for a slightly less compromised experience. Ideally, Oxygen OS would offer a set of preset settings so that users could take advantage of all of the device’s RAM should they choose to do so, but for now, you can either settle with OnePlus’ change (which, in reality, is setting it back to the standard of Android) and have it be in-line with other devices, or edit the build.prop yourself to make the most out of the hardware you bought.


Nonsense! There’s no such thing as “too much RAM”!

That being said, we found that with the latest software, the phone can hold more applications in memory that most people need, and few will care or notice the few app redraws they’ll face every day.

OnePlus 3 Sequential Random
Read Speed 401MB/s 128MB/s
Write Speed 149.5MB/s 18MB/s

NAND performance on the OnePlus 3 is downright excellent thanks to its UFS2.0 solution, the kind that Samsung devices bragged about in exclusivity until these last few months. The OnePlus 3, thus, battles it head-to-head with the Galaxy S7, and as shown above, you can expect some quick file transfers and ROM flashing out of this phone. App installs, routinely update sprees and the like take no toll here. Sadly, there is no microSD support, but there is only one set of phones with storage as fast as this and with expandable storage. The base storage capacity of 64GB is also welcome and likely good enough for most users. While the OnePlus 2’s storage was no slouch, the OnePlus 3 is as future proof as it gets on Android right now in this regard (but I have no doubt Samsung will make me eat my words soon).

Real World Performance

Real world performance on the OnePlus 3 is one of the best parts of the phone. With the processor package documented above, plus the lightweight UI, you will not be bogged down nor halted by neither hardware nor software. In day to day use, the OnePlus 3 is simply a pleasure to behold, with speed and fluidity that rivals even the best in the game such as the Nexus 6P and its “purer” Stock Android.

App opening speeds are some of the fastest of any device out there and the screen responsiveness also helps in making the experience feel very snappy. Using Discomark, we tested the app opening speed of the OnePlus 3 against devices like the HTC 10 and Nexus 6P (same application state), and only the latter was able to surpass it in both hot and cold app launch times. Scrolling through lists is smooth, too, and I have not seen a single app crash nor any glaring stability issues in my time with devices, even on the “reviewers-only” 3.1.4 update which, according to OnePlus, has improved app launch times as well.

OnePlus 3 (3.1.2) - Cold OnePlus 3 (3.1.4) - Cold HTC 10 - Cold

While we found a slight difference in our DiscoMark testing, it is so small that it could be attributed to extraneous factors. In any case, the OnePlus 3 is one of the fastest devices out there when it comes to day-to-day operations.

beforeandafterMulti-tasking, too, is better on 3.1.4. If you do not get the stalled consumer 3.2.0 update by the time you receive your device, I do suggest you edit the relevant build.prop values to get better RAM management. Once more, the 3.1.4 update brings the background apps setting up to the standard of 32 rather than the lowly 20 the phone shipped with. You can raise this number further by editing it by pulling it through ADB or with root on your device, and get the most out of your RAM.

But either way, hot app switching times are great as the DDR4 RAM bears no compromises, so multi-tasking is very good once the fix is in place, and as demonstrated above, it’s even better if you choose to tweak the RAM management. There are also a few multi-tasking related features like “app locking” and navigation shortcuts for the most recent app, making the experience all the sweeter.

A notable aspect of this device, especially over the OnePlus 2, is that it does not throttle with prolonged usage, nor does it get noticeably warm. This is one of the more thermal-efficient devices in recent memory, closely resembling the efficiency of the Note5 and ZenFone 2 during day-to-day usage (they sported some of the most interesting processors of 2015, too). It’s also notably better for intensive usage than other Snapdragon 820 devices like the HTC 10 and the LG G5, and OnePlus managed to go from one of the least pleasing devices for real-world usage to one of the best.

Finally, there is no bloatware to be seen in the background processes, and when running a regular workload through Trepn and other performance analytics tools we spotted none of the ugly behavior of the OnePlus 2 (such as switching to A53 cores for specific apps, or shortly after initiating arduous tasks). There are no footprints of rogue apps taking up CPU cycles neither on idle nor during usage, something I appreciate after using devices with heavier ROMs like TouchWiz or EMUI.


Front: 16MP Sony IMX 298 Sensor, 1.12μm, OIS, EIS, PDAF, f/2.0, RAW support, 4K 30FPS / 720p 120FPS 

The OnePlus 3 comes with a 16MP primary camera with f/2.0 aperture, PDAF, and OIS, a package that at first glance looks relatively unimpressive compared to its predecessor’s 13MP shooter with Laser Autofocus, OIS and the same aperture. Either way, the sensor is better than last year’s OmniVision solution, and while the OnePlus 2 had some decent camera hardware, in our review we were ultimately disappointed at its performance, with Laser AF failing to make itself noted and OIS being flakier than we were used to. Another disappointing aspect of the OnePlus 2 was the picture-taking experience through the camera app, which was slow to launch, focus and shoot. Luckily, OnePlus has managed to resolve many of these issues with their latest device.


The camera is blazing fast to launch this time around, and you can set multiple gestures for a convenient experience: either by applying a shortcut to the navigation bar (long press/double tap), by double tapping the power button, or by triggering it from the lockscreen. OnePlus is likely using the device’s ample RAM to cache the app, as implied by one of Carl Pei’s tweets regarding their approach to memory management. This isn’t unlike Samsung’s, and ultimately makes for a nice experience as the camera is launched and ready in about a quarter of a second. In fact, we tested the speed difference between cold and hot launch and they were only a couple of tens of milliseconds apart.

After you launch the app you are greeted with a pretty standard camera interface with simple controls on the right/bottom, including a giant shutter button, a camera switch key, and a settings menu which will allow you to change the aspect ratio and set a timer, as well as enable a grid, and it also gives you access to a “beauty mode” slider for the front camera (luckily, it’s disabled by default). At the top you also have access to the flash and HDR (on/off/auto), and finally you can find a sub menu at the top left that allows you to switch between different camera modes, including time-lapse, slow-motion, manual mode and panorama, and then also settings to save location, disable shutter sound and keep RAW images.

Nexus 6P OnePlus 3 S7 Nexus 6P OnePlus 3 S7 Nexus 6P OnePlus 3 S7 Nexus 6P OnePlus 3 S7 Nexus 6P OnePlus 3 S7 Nexus 6P OnePlus 3 S7

Actual picture quality is easily OnePlus’ best, with pictures from the rear camera showing good exposure and saturation all-around. While pictures can turn out a bit bright and the occasional “sky blow out” is still possible, the colors are often engaging with rich greens and blues that make for good pictures of nature. Like many cameras, though, vibrant reds and oranges can have quite the identity crisis and end up looking artificial, and also inconsistent between shots. Detail preservation is pretty good outdoors, with only “busier” textures and fine geometry getting distorted (but not much).


High dynamic range is good at getting more detail out of your pictures while preserving the colors better than the bigger offenders in the space, but it also brightens up the picture noticeably. There is little to like about the OnePlus 3’s lackluster low-light performance in general, though: while other devices focus intensely on low-light performance, results out of the OnePlus 3 can be quite grainy, but I haven’t found common issues like chromatic aberration nor particular difficulty in focusing.

IMG_20160628_071232 IMG_20160619_161721 IMG_20160619_162853(1) IMG_20160619_162853 IMG_20160619_190719 IMG_20160621_080326 IMG_20160624_054332 IMG_20160624_054337

Focusing on the OnePlus 3 is decently fast and the resulting depth of field and background blur can be quite satisfying. While you won’t get the best macro shots on auto mode, manual mode allows you to get around 8cm to 9cm away from the target, and we’ve been largely satisfied with the results (exemplified above). It’s worth pointing out that you can lock the focus by long-pressing on a location, and also change the exposure by sliding around the focus circle, which helps in getting the right spot and brightness. But the focus can be quite bouncy, an issue that is only made worse during video, as the focus reset can make your video end up looking jerky, reminding you this is a mere smartphone camera.

IMG_20160619_153025 IMG_20160620_172015

The front-facing camera can take some detailed shots in the right conditions without much difficulty, and OnePlus introduced a “smile to capture” feature that, albeit unoriginal, actually works quite well. There is also a beauty slider in there, but the quality of the resulting pictures is nice by itself and the softening it adds to your selfies will take away from it. Overall, OnePlus did a good job here, even if there is the occasional whitened image.

Video on the OnePlus 3 is perhaps one of the more disappointing aspects of the device as a whole. There is quite a bit of pixelation in some areas of the image, and it ultimately doesn’t look as sharp as the video output of other phones, with artifacts often messing up various textures like concrete. This is noticeable even in 4K video (which it can record “only” up to 10 minutes), where the lack of electronic stabilization makes on-the-move recording a bad option. Dropping down the quality of the video does kick in electronic stabilization to aid the hardware OIS and as a result there is less wobbling, which made the footage look much better at the expense of some detail. But with the macroblocking-like look going on in the 4K mode, you are probably not missing out on much quality anyway.

For a $400 phone, OnePlus did a good job here. While there are many aspects to criticize, the pictures can end up looking quite good and the camera user experience is much better than last year’s thanks to its improvements in speed and focusing. I do hope that the post-processing issues will get addressed, but for the most part, I’ve enjoyed the picture-taking experience and given OnePlus has made many changes to the camera experience of the OnePlus 2 over time, I expect this camera to get better over time too. At its worst, this camera is a thorough improvement over every aspect of the OnePlus 2’s, which I think is good enough at this price-point.


5.5 inch 1080p AMOLED (401p ppi)

Switching to an AMOLED display is perhaps one of the smartest moves OnePlus made in regards to the OnePlus 3 software experience, given its perfect blacks synergize very well with the Dark Mode (which was present in the OnePlus 2) and the Ambient Display. However, the decision to use a 1080p AMOLED panel instead of a higher resolution 1440p option led many to receive this display with skepticism, and the initial objective screen analysis by websites like AnandTech ended up painting a rather grim picture for the OnePlus 3’s viewing experience.


This is an unavoidable fact: by default, the OnePlus 3’s display is saturated like something out of 2013, with neon-blues and very sharp reds/oranges. This will be an issue not just to color purists, but I presume also users that are less-used to very saturated displays (a rare breed in today’s smartphone world). While the saturation accuracy is terrible when objectively compared to the sRGB target, though, it does not automatically mean that you will not enjoy this display. In fact, it doesn’t take long to find hundreds of positive comments about this screen (in general terms) on OnePlus and Android communities (the official forums, XDA, and reddit). To many users, color-accurate screens like those of the Nexus 5 and 5X ultimately look unappealing. We can measure color accuracy objectively, but our perception and taste in color are still subject to our own eyes and personal preference.


That said, objectively speaking, the color distortion means that most of your media will not look as intended by its creators (should you care). Subjectively, I also find the saturation and overall color balance to be very unnatural — the literal opposite of what OnePlus claimed its “optic AMOLED” display would provide (“[more] true-to-life than ever“) with their in-house customization/calibration. The issues with the OnePlus 3’s display don’t stop there: on the default NTSC-aiming mode, there is highly visible banding on grays and grayscale, sometimes even visible on mostly-solid grays. The resolution of the display also plays against it for the sole fact of being a pentile AMOLED display, with an unequal distribution of color LEDs that is noticeable to the naked eye (should you have good vision) unlike on denser panels (like those of 1440p displays).

The effective resolution of this display is thus lower for anything but pure green (base pixel color), making this 1080p-in-name-only (TINO?). This doesn’t mean that your viewing experience will be awful, but those with sharper vision will likely spot more graininess and faults in text and UI icon edges. Another issue that is very apparent when using Dark Mode is the amount of “purple ghosting” when scrolling through lists and the like, although this is something that you can learn to ignore over time.

This being an AMOLED display, however, gives you all of its inherent strengths, including excellent contrast and perfect blacks, which are very well-exploited by the OnePlus 3’s software features. You also get excellent viewing angles with no color casting, and also no lightbleed like what you’d find on some LCD panels we’ve seen this year. The whitepoint on the OnePlus 3 is on the cold side by default — in fact, it’s almost too blue, which further adds to the “unnatural” look of the display.


That being said, there is a handy slider in the Display options that allows you to make the display warmer, thus mitigating the negative impact of OnePlus’ calibration decisions. A final point worth noting is that the OnePlus 3 does not get as bright as the OnePlus 2, or even the Nexus 6P in the AMOLED space, and certainly not Galaxy devices. There is also no “brightness boost” on adaptive mode, and the auto brightness can be slightly finicky at times (with a very disappointing minimum, too). Despite all this, outdoors legibility is above-average due to good sunlight contrast.

Default sRGB

With the biggest downside of this display being the default calibration, you can expect custom ROM makers and tinkerers to figure out a way to make the resulting colors more appealing. But truth be told, if you want a color accurate display, OnePlus has you covered: after the criticisms came to light, the company quickly built the 3.1.4 update (coming to consumers as 3.2.0) which brings an sRGB mode (targeting said color space) and tucking it into the Developer Options. This toggle makes the display more muted and… well. color-accurate. When enabled, media looks as it should and on-par with other sRGB non-saturated display modes from other devices, like the sRGB mode of the Nexus 6P or the Basic mode of Galaxy phones. It turns this display from one of the most saturated to one of the most accurate ones quickly and easily, and anyone that enjoys color accuracy or despises over-saturated colors should welcome it kindly. OnePlus also tells us it’ll become a persistent setting that will survive reboots. It’s also worth noting that sRGB mode disables the temperature slider in the Display settings, which might turn off those that want a colder display after the switch, and that night mode is not available when sRGB mode is on.

Battery Life & Charging

3,000mAh, Dash Charge (5V 4A)

The OnePlus 2 touted a battery capacity increase over its predecessor, while the OnePlus 3 brings that number back to 3,000mAh – 300mAh less – for what is now considered the “standard” battery capacity for flagships, particularly the 5.5 inch ilk. On its face, this is nothing worth writing home about, but we also must keep in mind that resulting battery life is more than the sum of its parts — that is, the components employed by the manufacturer, mainly screen and processor, play a huge role in the overall result, as does the software that ships with the phone. Last year, for example, the Note5 managed to outperform the firmly-average OnePlus 2 in both theoretical/benchmark battery tests as well as real-world usage, in great part due to the highly-efficient Exynos 7420 and last-gen AMOLED panel. How does the OnePlus 3 stack up against the competition and past OnePlus devices?

pass pcmarkPCMARK-BATT

OnePlus 3 PCMark Work Battery Life
Min. Brightness 9 h 4 m
Med. Brightness 7 h 19 m
Max. Brightness 5 h 13 m

While the OnePlus 2 suffered from the power-hungry Snapdragon 810, the OnePlus 3’s battery efficiency has seen a huge step forward, with battery benchmarks putting it above the average and past its predecessor despite the drop in battery capacity. PCMark and GeekBench (6:17) show healthy battery scores, while GFXBench showed a worse-than-average result, although this is to be expected given that at no point did the OnePlus 3 throttle or switch CPU behavior and it kept top-performance throughout. The OnePlus 2 was notorious for this, often relying on the power-efficient A53 cores after a mere few minutes of intensive use, or while using an internet browser like Chrome. The OnePlus 3, on the other hand, excellently sustains performance and still manages to output respectable battery results.

Screenshot_20160630-232037 Screenshot_20160630-232043 Screenshot_20160625-131127 Screenshot_20160625-131133 Screenshot_20160624-154905 Screenshot_20160624-154859

On the real-world side of things, the OnePlus 3 fares much better than the OnePlus 2 and, surprisingly, better than many other devices in my household including those with bigger battery capacities such as the Nexus 6P. Indeed, while I considered 4 hours of screen on time to be a good day on the OnePlus 2, the OnePlus 3 sees that as more of a minimum, and I’ve had no trouble going over the 4 hour mark on any given day. Moreover, after installing the 3.1.4 update rolled out to review units, my battery life was even better, but this could be merely due to usage-pattern changes given the first week of a review period is usually the most exhausting one on the device. Nevertheless, I’ve managed to get 6 hours of usage a few times on the OnePlus 3, with a healthy spread of activities including a few hours of YouTube, lots of redditing and Hangouts messaging, some (20-30 minutes) of navigation, off-screen music and podcast listening, and some LTEtime.


Standby drain on this device has been rather consistent. Measuring the overnight drain of my routinely 6-hour sleep period showed an average drain of 0.4%/hour on Wi-Fi, and one particularly “bad” instance of 0.8%/hour. Few devices have shown better standby than this, so I personally consider it respectable, and savvy users can get even better standby drain with tinkering (through Greenify or Amplify, for example). Throughout the day, Awake times were kept at a minimum within usage pauses as seen on the samples above, making for an overall-pleasant experience that doesn’t feel bogged down by wakelocks or other issues.


The OnePlus 3 does not have wireless charging, meaning previous investments in this technology would become paperweight should you upgrade. Likewise, Quick Charge 2.0/3.0 is also not present on this device, despite the Snapdragon 820 inside it being capable of utilizing the Qualcomm standard. However, OnePlus brought forth the VOOC charging standard from its “friend” company Oppo, and this technology is capable of fast and efficient charging that is an actually-welcome improvement over Qualcomm’s – and others’ too – standards. We’ve explained precisely how it works in a previous article, as well as why it is likely coming to custom ROMs near you soon, but what’s most interesting is its charging behavior, which we also documented. We suggest you read our in-depth analysis of Dash Charging, but we’ll summarize the results for you below as well.


Just don’t touch it.

Dash Charging is faster than most of its competition as it is able to net your device 63% battery in just 30 minutes. While this is a very nice spec by itself, the most interesting aspect is that this charging standard does not slow down the charging rate while you use the device. Whereas other devices, like the Nexus 6P, cut down the intake to 600mA or so while the screen is on and the phone is being used, the OnePlus 3 can receive the full listed current (4A) while still remaining cool and unthrottled (using Trepn, we found the device operated identically and still managed to sustain maximum clockspeed on benchmarks while charging).

This means that you can charge your device at the same rate regardless of your usage, although the effective charging speed is lowered given the usage itself does drain battery as well. But even then, using the phone continuously while charging has a mostly minimal impact on the final charging time, and you can still charge from 0 to full in an hour and 20 minutes while using the device.


This is one of the most underrated features of the OnePlus 3 in my opinion. With other devices, hotspotting or even texting while charging meant I would get less battery life once I would unplug to head out or head back to whatever destination. I work and study full time, and I am constantly on the go, so having my primary device charge fast with no exceptions nor downsides is something I personally appreciate. The biggest downside to this, however, is that you need both the OnePlus Dash Charger and the included cable to obtain not just this functionality, but any sort of fast-charging. If you want a car charger, too, your only option is OnePlus’ offering which is rather expensive and with limited availability. You will also not be able to fast charge out of powerbanks until (and if) OnePlus releases or licenses a specific Dash-compliant powerbank. If you can live with these constraints, the OnePlus 3 will bring you the best charging experience on Android. Just don’t touch the charger while it does its thing!


Single Speaker (Bottom Firing), 3.5mm Jack

OnePlus has not been particularly renowned for audio, and it’s no surprise that the OnePlus 3 doesn’t break this trend. Truth be told, it’s usually the more premium-focused manufacturers that pack in great DACs/AMPs and quality speakers in their flagship devices, with only a few exceptions aiming for hi-fi audio at the OnePlus 3’s price-point (such as last year’s Axon). Basically, the OnePlus 3 can firmly be placed in the “average” part of the spectrum, but that doesn’t mean that the audio experience isn’t at least better than what OnePlus offered previously or what you’d expect out of a $400 phone.

Speaker Samples (Maximum volume, same distance from Blue Yeti Microphone)

There is a single bottom speaker on the OnePlus 3 (and thankfully, no deceitful “extra” non-working speaker grill) that can get decently loud with minimal distortion at the highest notches of volume. The position of the speaker makes it harder to cover when holding the device in landscape over other devices like the Note5, but it still does not compare to the front-facing speaker of phones like the Nexus 6P. Ultimately, you get a rather standard audio solution here that is not well-fitted for a quality media experience without headphones.

With headphones, audio is sharp and clear with good bass and it is overall pleasing, without any special merits nor nuisances. It’s worth noting that the profile selection and MaxxAudio optimizations of the OnePlus 2 are gone, likely because they were not very fleshed out features, especially when factoring in the unimpressive audio experience of the device as a whole. The OnePlus 3 keeps it basic and keeps it “good enough”.

Microphone Samples (Same distance from speakers, OnePlus 3 followed by Nexus 6P and HTC 10)

Likewise, the microphone and call quality are good with no issues on either side of the call, no odd feedback or inconveniences. You can hear the samples above to get a sense of comparison with other devices; Subjectively, I’d say the microphone is slightly worse (and more uneven) than the one found in those flagships. In summary, I wouldn’t expect much out of the OnePlus 3’s audio. This being such a tinker-friendly device, it likely won’t be much of a hassle to find and optimize the audio experience to your liking through modifications such as ViPER, but if you are looking for an audiophile experience, your best bet is getting a Galaxy device like the Note5 or the HTC 10.

Quick Miscellaneous Facts & Thoughts: 

  • The vibration motor is rather weak, especially on system feedback like the navigation keys. You can use Xposed modifications to tune this to your liking, or turn them off from the settings.
  • The car charger has very good build quality, and looks nice. You’ll probably need an extra Dash Charger cable in your car at all times for it, though.
  • When you unlock the bootloader, you’ll be greeted with an interactive splashscreen every time, which allows you to quickly boot into recovery or the bootloader through a neat GUI. It’s also full of typos and there’s a placeholder link ¯\_(ツ)_/¯ .
  • The phone is a Cat 6 device (despite the x12 modem in the 820), which means lower speeds of “only” 300/50 Mbit/s. Luckily, there is VoLTE and Wi-Fi Calling support at least (the latter did not work on my T-Mobile network).
  • Think twice before flashing TWRP until/unless you need it, the Stock Recovery can be pretty annoying to get back without official recovery tools.
  • The built-in screen protector is prone to fingerprints and oil, and it doesn’t cover the screen from edge to edge, which can take away from the visual experience.
  • The unboxing experience is, as always, top-notch.
  • The style covers can be quite snugly (some more than others), so be careful when removing them — the wood ones can easily bend more than you want them to.

Future Proofing & Development

When it comes to developer support and future proofing, the phone has quite a legacy to live up to. Luckily, the odds look to be in favor of the OnePlus 3, dare I say even more so than with the previous flagship. The OnePlus 3 is a device that is easily unlockable, with no codes or hassles needed to free the device. Moreover, OnePlus included a flash-friendly stock recovery that’s easy to operate, and a boot screen that let’s you access the bootloader, whatever recovery you went for, or keep on booting, through an optional GUI (key shortcuts still work). Software-wise, the OnePlus 3 is as easy to root and flash onto as it gets.

When it comes to developer support, OnePlus has welcomed devs with open arms, and shortly after releasing the OnePlus 3 they set up a github for easy access to device trees and kernel sources. The company further encourages experimentation through its warranty policy, which will let you flash without repercussions and also ignore the “YOUR WARRANTY IS NOW VOID” messages traditionally found on our forum’s opening posts. As far as actual development goes, we know that OnePlus has provided devices for developers like Franco in the past and will most certainly continue to do so. They also helped recognized developer Grarak release an unofficial build of CyanogenMod on the week of release, before any customer had the device reach their doorstep.

If you head over to the OnePlus 3 development subforum, you will already find a healthy selection of ROMs and Kernels, including easily-recognizable names such as AOSPA, Resurrection Remix, and Exodus among others, as well as custom kernels like the ever-popular ElementalX. Keep in mind that, for now, these haven’t adopted Dash Charging, as the binary blobs will be released sometime after July so that custom ROMs and Kernels can benefit from the functionality (otherwise, you’ll be stuck with slow charging). You can also find mods, themes and good apps in our forums to complement your OnePlus 3 experience, as well as timely update zips and tools.

The hardware itself lends itself to longevity thanks to the phone’s beefy specifications, plus the inclusion of NFC for the increasing popularity of mobile payments and the now-standard USB Type C that keeps reaching new devices. The 1080p AMOLED screen means that you won’t be getting much out of the OnePlus 3 for VR purposes, though, and the phone’s construction means replacing the battery will either take you a good disassembling session or some cash out of pocket.

Firmware and general software updates, too, are worrying on the OnePlus 3 given the company’s track record. The OnePlus 2 received Marshmallow over half a year after its release, and we hope that they step up their update (and patch) game for the OnePlus 3. It’s a pity, really, because Oxygen OS did improve over time and it’d be great to see the company squash the last few issues on the OnePlus 3’s software. I wouldn’t buy into a OnePlus device expecting timely updates at this point, nor until the company states their intentions to support the phone timely and firmly — though they’ve been quick to address the phone’s issues, which gives me a sliver of hope that they’ll prove me wrong. In any case, I am confident that the development community will be quick to bring great and up-to-date software to the OnePlus 3 in one way or another. If official and timely software support is important to you, then carefully assess the pros and cons before buying this device given OnePlus’ history.

Final Thoughts & Conclusion

OnePlus has managed something commendable with the OnePlus 3: this device cuts down on the compromises of last year’s flagship in order to deliver an experience that, in most respects, isn’t held back by bad decisions or shoddy execution. This isn’t to say that the company has created a perfect device – far from it – but the flaws that the OnePlus 3 hasn’t managed to squash truly pale in comparison to the overall value of its package, unlike with last year’s flagship.

The OnePlus 2, by contrast, managed to botch the momentum the company was enjoying after their highly-successful OnePlus One. That device somehow brought regression on every aspect that its forefather excelled at — battery life, performance, software & developer support. The Snapdragon 810, in particular, really held back the device even more so than it held back the rest of that smartphone generation, with noticeable throttling issues and easy-to-spot thermal constraints. The design of the OnePlus 2 was criticized for many of the things that the OnePlus 3 improved upon, too, and this device ultimately feels more-consciously planned and built, instead of blunt and rushed. The OnePlus 2 pretended to be a premium “2016 flagship killer”, but it couldn’t amount to half of what other 2015 devices accomplished. This newest OnePlus phone does indeed give other flagships a run for their money.

For $400, you are getting the best internal specifications currently available as far as processor, RAM and storage go. The camera hardware is also very strong, even if its implementation ends up somewhat underwhelming. The speakers are fine for a phone at this price range, and the exceptional Dash Charging washes away the bad mouth taste that the OnePlus 2’s horrifically slow top-up time left behind. There are many thoughtful additions here and there, some old and some new, some hardware and some software, and ultimately this feels like OnePlus’ best-designed user experience, down to the last detail. One could always ask for more – expandable storage, removable batteries, etc – but the device ultimately redeemed the poor decisions the company made throughout 2015 (such as the exclusion of NFC) while still upping the value of the product.

And even though this phone delivers OnePlus’ best user experience yet, a few expected specifications didn’t make the cut, like a 1440p display. This isn’t to say that these are necessarily compromises — if our community is anything to go by, there is a huge chunk of people that do not embrace 1440p just yet for one reason or another. But if you do care about pixel density and are considering a purchase, the OnePlus 3 is a phone that you will likely want to try out and inspect beforehand, as the 1080p AMOLED display suffers in this regard more so than 1080p phones with different screen technology. Luckily, the saturated calibration the device has shipped with has been corrected in the latest (stalled) OTA, and the results redeem one of the most criticized aspects of this device.

The RAM management decisions, too, received a lot of flak — and, in my opinion, rightly so. OnePlus had advertised this device’s app-holding capabilities specifically as a result of its mighty RAM setup, but it was quickly shown to be lacking. Once more, OnePlus had to quickly address the issue and the latest software also brings RAM management improvements, which we noted in the sections above. Even then, I still feel like OnePlus is underusing its flagship’s RAM, as it now behaves like other phones in this regard, but not necessarily better (and certainly not 6GB-better). Ideally, the company would release an update with “preset” memory management options so that the user ends up gaining more control over the device if he/she chooses to stay on Oxygen OS.

And there are many reasons to stay on Stock — OxygenOS is lightweight, has good aesthetics and useful (if rudimentary) customization options, thoughtful features, and its additions can be ignored by those who want a more vanilla experience. Those that do want to venture into further tinkering, however, will find that they have a lot of control over the OnePlus 3’s hardware and software, virtue of OnePlus’ openness to the development community. With a healthy amount of custom ROMs and Kernels popping up, some from prominent names in the community, we should expect the OnePlus 3 to keep devs and flashaholics entertained.

And that last bit, perhaps, shines a light on the reason why I enjoyed my time with the OnePlus 3, and why I’d recommend it to those looking for a new device to sate their tinkerer lust: for $400, this phone brings one of the best hardware packages for the enthusiasts willing to make the most out of it. Those who want to break free of an OEM’s chains or carrier’s shackles and fully explore Android will find a trusty companion in the OnePlus 3, which has the right (OP) gear to carry you through whatever quest you set out for yourself. With ample processing power in a thoughtful package, the OnePlus 3 is the perfect canvas for the spec-hungry tinkerer — but with the condition that you can live with the relatively minor mishaps of this $400 phone. The OnePlus 3 does not cater to traditional trends and does not cater to specific niches. It’s just an unassumingly solid device that let’s you mold and shape the experience to your liking. It doesn’t try to be a 2017 flagship killer (thankfully), and once or if you look past its pixel density and the more average of its components, you’ll find a tried and true smartphone, with no shiny bells and whistles but also no arbitrary gimmicks nor restrictions. For $400, that’s something worth settling down with.

by Mario Tomás Serrafero at July 07, 2016 04:15 PM

July 04, 2016

UMi Super Quick Review: Budget-Friendly Price, Loaded Specs, and the Flaws You’d Expect

UMi is a company that is otherwise unknown for being a top contender in the budget smartphone market. Their latest offering, the UMi Super, aims to take on a higher end of the  flagship market, while still keeping an affordable price point of $220. Can it compete? Let’s take a look and find out.

UMi Super Specs

Dimensions 150.8 x 75 x 8.5 mm Screen Size 5.5”
Weight 185 g Screen Type & Resolution IPS LCD, 1080 x 1920 Pixels
Primary Camera 13 MP Secondary Camera 5 MP
Chipset MediaTek Helio P10 MT6755 CPU & GPU 2.0 GHz Cortex-A53, x8; Mali-T860
Storage 32GB Internal; expandable upto 256GB RAM 4 GB
Battery 4000 mAh NFC No
Android Version 6.0 Marshmallow SIM Dual, Micro SIM
Fingerprint Scanner Yes, Rear USB Port Type C
Charging Quick Charging as per PE+ Supported Bands GSM: 2,3,5,8

WCDMA: 1,2,5,8

LTE FFD: 1,3,7,20

Design and Build Quality

The unboxing experience was indicative of the experience you would be receiving from using this phone. The box wasn’t made of cardboard like with most devices, rather the Super came in a tin case that complimented the build of the product. The box’s contents were basic, holding only a quick start guide, a sim removal tool, a charging cable, European charging brick, and the phone itself.

Box_Closed Box_Open_1 Box_Open_2

The build of the phone consists of a two part glass and metal construction. The rear has two plastic faux metal bands which cover what I presume are the connectivity antennae. The camera is rear center, just above the dual tone flash and fingerprint scanner. The front is very minimalistic, with only the earpiece and front camera being immediately present.

Front_View Back_View

The front chin of the phone houses a single circle notification LED. The LED is bright enough that you won’t have a hard time noticing it, but it’s not too bright as to become overbearing. It is multi-colored, to show which apps have notifications awaiting. You can change which color shows for which type of notification, but the options are still rather limited. You can also choose to have it constantly pulsing if you want.

Violet Cyan Yellow Blue Green Red

On the top of the phone we find the 3.5 mm headphone jack, and at the bottom is the USB C connection port and dual bottom-firing speakers. More on those speakers later.

Top Bottom Left Right

On the right side of the phone is the standard volume and power button, with the SIM Card/SD Card slot on the left side with a ridged special function button. The buttons are very tactile, and respond well, giving a firm click when pressed. Something I noticed on my unit was that the power button looked like it was not centered on the chassis properly, giving the appearance of it being slanted.

One thing that stands out about this phone’s build is just how thick it is. The Super packs a large battery, and does not mind giving up a little girth to accommodate it. This made holding the phone slightly easier, as it provided a solid edge to grip onto.


Performance on the UMi Super is one of the phone’s strong suits. Throughout my day to day usage, which includes plenty of redditing, watching YouTube, chatting on hangouts, and light gaming, the phone hardly ever stalled. The 4GB of RAM compliments the Super’s performance nicely. The only time the phone ever got warm was when I was setting it up for the first time, installing all of my apps.

During the AnTuTu benchmark testing, the phone did stutter quite a bit on the 3D portions of the test,which isn’t a surprise given MediaTek’s sub-par GPU offerings. The test score does seem to stand up well. It was able to outscore the Elephone P9000, which has a similar Mediatek SOC and Octa-Core Cortex-A53 chip. It wasn’t able to stand up to the top tier phones, but that’s expected out of such a package.

Phone: UMi Super Elephone P9000 Galaxy Note 5
AnTuTu: 51072 45310 69286

CPU and System

The Super is powered by a Mediatek Helio P10 chipset. A MT6755 with Eight Cortex-A53 cores clocked in at around 2.0 GHz.

As is typical with most devices, subsequent runs of AnTuTu show a slight reduction in scores. Interestingly, the scores do not continuously drop. In normal day-to-day usage, this is unlikely to be problematic.

Run Number 1(8:48) 2(8:54) 3(9:00) 4(9:06)
AnTuTu Score 51072 50409 50397 50461

The Super seems to level out around the 50,400 range and we’ve had a hard time trying to heat up the device further with just AnTuTu. This phone has powersaving-oriented cores, which ultimately sacrifice speed for stability and longevity.

GPU and Gaming

The Mediatek comes equipped with a Mali-T860 GPU. During the BaseMark X testing, it was very easy to tell that the Super would drop a frame or two every once in awhile. Looking at other device’s scores, it’s easy to see that the Super might not stack up among the rest.

Device UMi Super Galaxy Note 5 OnePlus 2
BaseMark X 14220 32463 32018

During intense gaming, the Super can indeed generate a bit of heat. The metal body will dissipate the heat relatively quickly and effectively. The Super never became too warm to be used or held.

Storage and Memory

The UMi Super comes with 32GB of internal memory, but that’s not all you get. There is a microSD slot that can hold up to 256GB. This is a good thing, seeing as how there are still phone makers around that seem content selling phones that are much more expensive than the Super, that only come with 16GB storage and no MicroSD card slot.

The flash storage provided is fair, with sequential read speeds of 250.75 MB/s and random read speeds of 28.54 MB/s. For comparison’s sake, here’s how the Super stacks up to the Note 5.

Device UMi Super Galaxy Note 5
Sequential Read/Write 250.75/118.67 MB/s 316.94/108.08 MB/s
Random Read/Write 28.54/10.97 MB/s 54.21/18.35 MB/s

As shown earlier, the 4GB of RAM serves the multi tasking experience well. On average, I was able to have 20 apps open at any given point before any of them would have to reload when being opened from the Recent Apps menu. A major pain point with many budget phones is launcher redraws, something I haven’t seen much of on the Super.


It’s been a trend recently for smartphone displays to pack as many pixels as possible, with 2k resolution becoming the standard. The Super doesn’t conform to this trend though, choosing to use a 1080p resolution panel. It does fit in with a sea of 5.5 inch LCD displays, however. The display is plenty bright, making sunlight viewing easy. Because it’s so bright, you will need a screen dimming app at night time to keep your eyesight.

The display didn’t seem too warm or cold to me, but there is a hefty amount of settings to let you adjust it to suit your personal needs.

Display_1 Display_2 Display_3

Something to note about the panel is that there is light bleed present on my unit, and I was able to spot it within my first few hours of use. The display does seem to fade out on the edges when viewing at steep angles, but isn’t really a problem when looking at the panel straight on.


Something else I noticed on the display panel is that it developed a spot after a few days. It’s most noticeable on white screens, and when I press around the spot on the display it will accent where the spot is. We reported this spot to UMi. They said that we are the first to report such a flaw, which leads us to believe that there was a problem with our particular unit and that it’s not a widespread problem.


One of the weaker points of the Super is its speakers. They are bottom-firing, with the standard motif of having one real one and one fake one. The speakers are particularly quiet, and I found myself having to turn the volume up all the way constantly. To put it into perspective, my old Moto X 2014 was louder at half volume than the Super was at full volume.

Headphone performance was better, being able to get as loud as most of the other phones I’ve used. The quality wasn’t the best, and definitely left something to be desired.


Smartphone cameras now a days have gotten drastically good. The 13 MP sensor on the Super, is not all that special however. Below are a few sample shots taken outdoors and indoors.

IMG_20160622_103025 IMG_20160625_090517 IMG_20160627_130626 IMG_20160627_135617 IMG_20160627_135759 IMG_20160627_135853

The front 5 MP sensor is the same story as the back. It can capture some clear details and it’s good enough for getting a funny snapchat in here or there, but ultimately not the best for super high quality captures.

IMG_20160627_131601 Snapchat-5282424020551907814

Since cameras on smartphones are becoming so quality-packed, the Super has a hard time keeping up. If you decided that you wanted to use a third party camera app, such as the Google Camera app, it should be noted that pictures taken on other apps come out much dimmer than those taken on the main app. If you want a great camera on your phone, then you might want to look at other options.

UMi states that they are working on improvements to the camera which will come in a future OTA software update.

Battery Life and Charging

The most impressive part about the Super is the phone’s battery. It packs a 4,000mAh battery, and I honestly had a hard time killing this thing. I received the phone on a Wednesday, and for the rest of the week I only had to charge it twice.

My first Run from 100% to 5% lasted me from 7am Thursday morning until 6pm Friday evening, getting about 8.5 hours of screen-on time. My second run from 100% to 5% lasted me from around 4am Saturday morning until 4:30 Sunday evening, coming in with 9 hours of screen-on time. These usages are as close to real as I could get, trying to make up for a lack of cell reception. Because of incompatibility with the US networks and the bands in the UMi, I was left without signal for a long time in my rural Tennessean home.

During my usage, my unit of the Super had a particular problem. When the screen state was off, the phone would only check for notifications for system apps. I had initially assumed this was a measure taken to extend battery life, but soon noticed that I was the only one having these problems. After a factory reset, and whitelisting all the apps I needed on the background tasks cleaner menu, I was able to see notifications come regularly. UMi was made aware of my notification issue, and assured us that this is not normal behavior that might be caused by our unit being pre-production.

When we did a Geekbench battery test, running the battery from 100% to 0% at max brightness, the phone was able to last up to 6 hours and 9 minutes. That time beat the Nexus 6P by ten minutes, and was ten minutes shy of the Galaxy Note 5’s time. Considering the processor employed, that is not a bad result.

Software and UX

The UMi Super is advertised as coming with Stock Android 6.0 Marshmallow. That claim is correct, as it ships with a rather stock build of Marshmallow with very few additions here and there. Something to note about the software, some built-in apps such as the web browser will not run unless all permissions are granted, meaning it needs access to your camera, microphone, location, etc. at all times to function.

Browser_1 Browser_2

The Super lets you choose between on-screen software buttons, or off-screen capacitive buttons. The on-screen buttons behave very much like you would expect, with the option included to swap the back and recents keys, as well as a hide button to hide them if you are going to be in one app for a while. The capacitive buttons are fairly responsive. The LED notification light acts as the home button, with a back and menu key flanking it on either side. You can change the order of the back and menu key, but you cannot change their pressing functions. To access the recents on the capacitive keys, you have to hold the home button, meaning the Google Now On Tap functionality available in the soft keys is not present on the hardware keys. The capacitive keys do not have any LEDs to tell you where they are, so you are left just guessing where they might be at first use.

There are small bits of theming and additions throughout the OS. The notification shade and quick settings panel both sport a transparent black overlay, as opposed to the regular material theme. This change is not thorough, with quick settings sub menus still retaining their material color. the only other place the system has a dark theme is in the calculator, which is themed black, for whatever reason, since the display is an LCD panel and will still have to light up every pixel anyway.

UI_1 UI_2 UI_3

There are some custom quick settings available, such as a toggle between different sound modes that will adjust your ringer/vibration accordingly, a Battery saver, and a HotKnot toggle. Adding and removing these custom toggles in the System UI tuner menu will cause a system UI crash, interestingly enough.

There are a few pre-installed applications, such as a flashlight app, a backup and restore app, FM radio app, SIM toolkit, and a sound recorder. These are all utility additions, and don’t affect performance at all. None of the pre-installed apps can be disabled, however, besides the Messaging and Phone apps, so it’s ultimately an annoying bloat practice.

Turbo_DownloadThe Super will let you set the Special Use Button to open any app you want, however it will not let you activate it while the screen is off, or set it to change any settings, just open apps (with activity-trigger apps, though, that can be worked around). Another addition is a Turbo Download option, that will let you use a mix of WiFi and Cellular Data to get the fastest download possible. Because of band incompatibility in the US, we were unable to test the speeds.

If you’ve ever used the software on the Elephone P9000, you’ve used the software on the UMi Super. With the exception of the half-finished dark theme, the Super is running the a similar software set, with the same feature brandings.

Fingerprint Scanner

The fingerprint scanner on the Super is rear-mounted, and sits in a nice dimple, reminiscent the finger holding dimples on the Moto line of phones. It is a capacitive reader, meaning you will not need to power on the display for it to read. The scanner is fast, given that it can read the finger the first time: more often than not, I had to recenter my finger for it to read.


Final Thoughts

While a solid and well thought-out device, some aspects of the phone felt heavily derived from other offerings on the market, and it brings most of the flaws you’d expect out of a phone in this price-range. When I read a few past reviews on the XDA site, I had noticed that there were a few phones that the Super took a fair bit of inspiration from.

Many users on Reddit have called out the UMi website for looking a bit “too good to be true”, starting that one should not trust the company to deliver a quality product. While I initially agreed with those sentiments, actually using the device changed my mind. If you head over to UMi’s community forums, you can see just how other users of this phone feel.

But overall, the UMi Super is a pretty sturdy Android device for the price. I mostly enjoy using it and the way it feels in the hand. The software is close to stock in functionality, and the phone itself is well made with a decent display (if your unit doesn’t have lightbleed) for its cheap price point. The only glaring issues that really bothered me with the phone have to be the connectivity issues and lack of cell service I faced. That aside, the feature that is the most attractive is the Super’s battery, which at times seems like it will just never die. If you can live with a budget device and need insane battery life, you should consider the phone — but first, you must make sure you can live with the downsides and consequences.

*This review was sponsored by UMi; however, 100% of the opinions expressed above are those of Jake Westall and this article has been unaltered by UMi.

by Jake Westall at July 04, 2016 01:59 PM

June 03, 2016

OnePlus Begin 1 Hour Shipping in UK via Amazon Prime

The OnePlus 2 failed to reach the dizzy sales heights of its predecessor the One and despite that fact (and the fact that the OnePlus 3 is expected to be announced imminently) the Shenzen based company are still trying to offload the older stock of these handsets.

2016-06-03 11_55_49-Get your OnePlus 2 delivered in under an hour! - Postbox

In an email sent out yesterday the company announced that they have teamed up with Amazon and their Amazon Prime service to ship the handset to customers in under 60 minutes (which is impressive when you consider how long it took to get a One).

Dear Friends,

Have you got the need for speed?

Waiting just doesn’t fit in with our Never Settle mentality, and that’s why we’ve teamed up with Amazon to get you that OnePlus 2 you’ve been craving in under 60 minutes.

You can now order the OnePlus 2 via and receive your device in under an hour if you’re eligible for Amazon Prime Now. Simply add the OnePlus 2 to your Amazon UK basket, select your delivery window, and wait (not long!) for the goods to arrive.

It’s never been easier (or faster) to join the OnePlus family. What are you waiting for?

Never Settle

Priced at £249 the “flagship killer” is still a decent enough device in today’s marketplace however with that said, when I went to place an order via Amazon Prime just now there was no option for a 1 hour delivery which does make me question if the service is only available in certain UK locations.

Would you still buy one at this price?

by John McKenzie at June 03, 2016 11:14 AM

May 28, 2016

HTC 10 XDA Review: HTC Delivers a Delightfully Restrained User Experience

HTC has had a rough year, leaving the company desperately needing to prove its worth to both its old followers and general audiences. The HTC 10 thus comes at a breaking point for the smartphone legend, and it’s clear that they are trying to grab your interest and secure your pocket.

But among all of its competitors, can the HTC 10 be as brilliant as they come?

In this review, we’ll take an in-depth dive into the HTC 10. Rather than listing specs and talking about how the experience felt, this feature attempts to provide a thorough look with contents relevant to our reader base. At XDA, our reviews are not meant to tell a user whether a phone is worth buying or not — instead, we try to lend you the phone through our words and help you come to the decision by yourself. Before getting started, let’s get the specification sheet out of the way:

Device Name HTC 10 Software Number: 1.53.617.5
Dimensions 145.9 mm x 71.9 mm x 9 mm Screen Size 5.2″
Weight 161 g Screen Type &
Super LCD, 1440 x 2560, 565 ppi
Primary Camera 12 MP, f/1.8, Laser AF, OIS Secondary Camera 5 MP, f/1.8, OIS
Chipset Qualcomm Snapdragon 820 CPU & GPU 2x 2.15 GHz Kryo, 2x 1.6 GHz Kryo;
Adreno 530
Storage 32/64GB Internal;
expandable up to 200GB
Battery 3,000 mAh Li-Ion, non-removable NFC Yes
Android Version Android 6.0.1 Marshmallow SIM Nano SIM
Yes, Front USB Port v3.1, Type C 1.0 connector
Charging Quick Charge 3.0, No Wireless Charging Supported Bands GSM: 850/ 900/ 1800/1900
CDMA: 800/ 1900
4G LTE: Band 1/ 2/ 3/ 4/ 5/ 7/ 12/ 13/ 17/ 20/ 28/ 29/ 30



While last year’s M9 was criticized for not spicing up the traditional HTC design, and specifically for looking too much like its predecessor (to the point where HTC itself confused them), the 10 strays from that comfort zone and spices up some design elements, while still looking very much “HTC”. Both the front and the back feature a “different” design with some stand-out accents that make for much of the HTC 10’s personality.


The back of the HTC 10 is perhaps the most iconic new aspect of this phone’s design, specifically because of its arguably-oversized chamfers. These are wide and shiny, and accentuate what would otherwise be a much duller back. Most importantly, though, they serve as a distraction for the increased thickness of this phone, which now feels much beefier without feeling heavy. These edges shine beautifully against all sorts of light, and combined with the very subtle curve of the actual back, make the phone easier to hold. The in-hand fit of the HTC 10 is pretty good for a phone with such thickness, and it’s plain comfortable as well.

The back also houses an HTC logo that’s not painted on top of the metal, so there is no fear of it wearing out over time like on other phones. Then you will find the flash and laser autofocus, and the camera which does protrude a couple of millimeters, but given it is centered there is no rocking when on a flat surface, and while the camera sensor is protected by being on a slight depression, it’s also coated with sapphire glass that’s less prone to scratches. Because of this, the protrusion arguably helps the phone’s durability as scratching the bare aluminum can lead to some annoying scars on the phone. In turn, this adds some slight durability to your metal phone’s back, as well as the camera sensor.

IMG_20160524_103215The sides of the phone are rather thin without accounting for the edge, and host a volume rocker and power button on the right side, and then one SIM tray on each side, one of which also doubles as a microSD slot. Something I noticed from the moment I loaded up my microSD and SIM cards is that these SIM trays don’t sit completely flush with the rest of the edge. Indeed, my unit has the trays either sticking out, or depressed a millimeter inside the body. I can also push the tray sticking out in order to sink it in, but at no point does this affect functionality, and other units we’ve tested haven’t had this issue.

The volume rocker and power button are both extremely clicky, and the power buttons’ ribbed texture meant I had no trouble adapting to the new layout. The tactile feedback is thus phenomenal, but while the buttons feel great to push, the volume rocker surprisingly rocks a tiny bit, sometimes making an audible click. Getting these buttons to feel entirely solid is a hard task and I wouldn’t hold it against HTC, however — I recognize I am very picky with buttons. Over all these are very good and in a good layout for the size, with your thumb lying almost entirely on the volume keys making them comfortable to access.


There are a lot of plasticky antennae bands going around on this phone, but none are distracting from the design. The segment at the top doesn’t stick out to the eye as the centered 3mm headphone jack takes the attention away from it; the hole is only centered on one axis, however, and it carves into the back edge of the phone, but with no tactile repercussions unlike, for example, the sharp headphone jack of the Nexus 5X. The USB Type C port sits at the bottom in-between a microphone on the left and a speaker grill on the right, which compliments the speaker piece at the top of the front. We’ll go deeper into how these speaker synergise and whether the placement means better sound output later on in the review.


HTC has managed to produce a design that is both familiar and fresh, with its over-accentuated chamfers stealing the show

To close up we have the front with a very large front facing camera (not surprising given its beefy specifications) and the aforementioned front speaker, plus a fingerprint scanner home button that, again, is not centered on both axes. The front of the phone is noticeably wrapped by metal, which gives it a distinct look that doesn’t quite resemble the “black slab” design of many competitors.

The capacitive back and recents keys sit at the same height as the fingerprint sensor, giving ample room between their input surface (which is rather constrained) and the screen, meaning very few accidental bottom-screen presses. The bezels on the HTC 10 are quite large, with the sides hosting thick edges due to both the black frame and the metal edge. It has similar all-around dimensions to the Nexus 5X, but I’d argue it fits better in the hand and that it feels much sturdier (because it is). Finally, there is a slight edge-curve to the glass wrapping the display that also catches light in interesting ways.

I would not call this design innovative, but it hits the right notes to update the design and still look like an HTC phone

In summary, the HTC 10 has a masterful design with well-executed hardware. The construction feels top notch, and one only needs to hold this phone to tell that it is extremely beefy and sturdy. Unlike other aluminum phones, the HTC 10 is unlikely to bend in any way, and the metal has endured our 2.5 weeks of daily-driving and testing very well. HTC has managed to produce a design that is both familiar and fresh, with its over-accentuated chamfers stealing the show by being not only functional but also helping masquerade the increase in thickness, and making it look different to boot. I would not call this design innovative, but it hits the right notes to update the design and still look like an HTC phone that properly pushes their traditional design language forward.

Software — User Interface

HTC Sense has long-been considered one of the sleekest OEM skins in terms of aesthetic design. The new and plain “Sense” in the HTC 10 is very similar to that which we saw on the HTC One A9, which debuted on Marshmallow as well, and it brings a similar experience to what Sense has always offered, but without the most consistent implementation with Google’s vision for Android. After some healthy stripping-down, HTC created a very pleasant UI.

Screenshot_20160524-143839 Screenshot_20160524-144111 Screenshot_20160524-143833 Screenshot_20160524-143858

Sense has been thoroughly cleaned of clutter, and with the A9, HTC opted for less-aggressive changes (which in turn would mean updates would be easier to implement as well). HTC sense, thus, feels more like a re-skin than a re-structure of Stock Android, but not one without glaring consistency issues. For example, the icons for “wi-fi” are different in the toggles, the toggle’s expanded wifi menu (which remains material), the status bar itself and the actual wi-fi settings. The battery icon in the status bar also doesn’t align with the other items, which looks and feels slightly unpolished. There is also no battery indicator/shortcut in the Quick Toggles, a decision that might ire those who use it frequently.


Make up your mind, will you!?

Luckily, themes can change the status bar icons in order to address part of this. And nitpicking aside, the UI is ultimately very reserved with a Stock Android color palette that will ease the transition for Android purists. Alert boxes and other prompts do look oddly out of place (and are also inconsistent, with some being left unchanged), but the UI is ultimately rather lightweight. The suite of HTC apps also look clean, with solid colors and some material elements, although with less apparent depth and shadowing. Some of these apps’ color can also be customized, which is neat for those aiming at a specific theme consistency.

HTC has consistently offered a reserved and more mature user interface

The HTC launcher comes with the traditional Blinkfeed news reader at the left, and then a typical homescreen with an atypical app drawer. It scrolls horizontally like before, and it comes with paginated scrolling by default.

You can also quickly re-order the app-drawer with a custom order (drag and drop), alphabetical and recent. Another addition of the launcher is HTC’s touted “freestyle” configuration of colorful landscapes and stickers. There are many options to choose from on the freestyle theme store, but you can design your own as well.

iybnPez KukxeK6 1km3zTs afv2Flf

A few design decisions stuck out to me during my testing period. For one, the default text size was too large at first, but you can easily adjust it in the settings (I suggest “small”!). HTC also opted once more to selectively remove certain animations, perhaps in an attempt to make the phone feel different or faster. An example would be that returning to the launcher does not have an animation, only launching and switching apps, and this specific transition is very fast. But the recents menu’s animation is still slow to trigger and operate, so I suggest lowering the animation speed to make the system feel not just faster, but more consistent (the animation options are hidden inside a menu inside of developer options).

Many familiar Android UI elements remain mostly unchanged, like the multi-tasking menu which includes a “clear all” button at the bottom, and the toggles setup (although HTC made some changes, like including a calculator shortcut “toggle”). HTC’s lockscreen is also uncluttered, with the quick-access apps (docked apps by default) sitting at the bottom waiting for you to slide them up.

bH3KY9W NgDaoVD hgz6jGk 4S6RsIk

2016-05-27Delving into the settings lets you turn off “interest-based ads” in HTC Sense — if you get the phone, I suggest making sure that these are disabled. You can also personalize the phone with themes, including color layouts and fonts, but colors don’t stretch onto some system UI elements like the notification panel. The default keyboard’s color can also be customized, and overall Sense gives you plenty to play with and tweak. It’s still a shame that you can’t tweak the colors of various key UI elements, but as far as customization goes, it ranks as one of the more-tweakable OEM skins out there, even if it’s not the deepest.

Overall, Sense is a neat UI that does not impair the user experience in any way. As we’ll see in the sections below, it is relatively lightweight and its speed compliments its UI design (in a way, the experience is designed to feel fast as well). HTC has consistently offered a reserved, and perhaps even mature, alternative in comparison to those of other OEMs. As far as design goes, Sense could use some polishing to achieve better consistency, and its theming is nowhere near as deep as that of other software alternatives. Nevertheless, it is somewhat extensive, and it gives the user enough flexibility to make the phone his own.

Software — Features & UX

Past customization, HTC sense offers a healthy (and by that I mean reserved) set of extra features, some of which are tried-and-true while others are neat little surprises HTC decided to pack in.

phonestorageFirst of all, let’s get the bloat out of the way: luckily, there is not much in the way of pre-installed applications in the HTC 10. This phone comes with over 23GB of storage open to the user upon the first boot, with duplicate apps kept to a minimum and some third-party apps bundled in, most of which are not offensive to the general user. Among the bundled applications, we have News Republic, Facebook & Facebook Messenger, Instagram, a standard set of Google apps, and a few HTC tools including Boost+ (a junk cleaner that can also lock applications and “boost game battery life” by lowering resolution –trash, basically), a flashlight app (why?), a weather app and a surprisingly helpful Help app.

lLsQ17r 3PIfQYg zUezobS 6Yr5Vlq

The Help app let’s you access “troubleshooting” tools, which include answers to common problems as well as their probable cause according to the current phone status, hardware diagnostic tests so that you can see if anything is faulty on your device (as well as quick shortcuts to various menus), and the option to call HTC. There are also some helpful manuals and a button to check for software updates. I don’t normally care for applications like this, nor would I likely use it, but it’s one of the more polished and helpful apps an OEM could pack for the general (and often clueless) consumer. While many at XDA might find little use for it, just remember it has quick hardware checks that might come handy in the future.

The lack of clutter and gimmicks puts Android itself is at the front and center

As far as applications go, there is not much else. By default, you will find Google Calendar, HTC’s Mail app as well as Gmail, Google Photos for the gallery, the HTC Clock app, Chrome, Messages, and the HTC dialer. There are very few apps that share the same purpose, and HTC managed to pick the one that works the best and makes the most sense. Going into the individual HTC apps, we can find a very neat and tidy Phonebook with every feature you’d expect, and an extremely simple messaging app. Both are quick and easy to use.

2016-05-27 (1)The default launcher in the HTC 10 has Blinkfeed – a News reader – in its leftmost page. The service has been around for a few iterations now and not much has changed. It’s still useful, but I suspect much of our audience will swap out the launcher altogether.

A returning fan-favorite is double-tap-to-wake as well as other screen-wake gestures. You double tap to wake & sleep, swipe up to unlock, swipe left to go home, swipe right to launch Blinkfeed or swipe down twice to open the Camera (perhaps the most useful gesture). You can also allow apps to recognize 3-finger output gestures for media controls, linked with HTC Connect to play media on various services and devices (Airplay, AllPlay, Blackfire, Bluetooth Speakers, Chromecast and Miracast).

The fingerprint sensor of the HTC 10 is well-integrated and will satisfy any user when it comes to speed and responsiveness. While many might be against the idea of placing it at the front, the device’s dimensions don’t make the scanner too hard to reach without re-adjusting the hand. If you have average-sized hands, you won’t be doing much hand gymnastics with the HTC 10 at all, and that includes the fingerprint scanner.

There is really not much else in the way of features for this latest version of Sense, and stripping down the least-favorite components undoubtedly makes for a cleaner experience. Many of HTC’s services can be downloaded from the Play Store and are updated independently, like Zoe and other staples of the series. What’s in there is useful, though, and various features I have omitted from discussing as they are mentioned in other sections.

Overall, Sense offers mostly-thoughtful little additions that one can opt out of using without being pestered by them. The lack of clutter and gimmicks means that Android is at the front and center when using the HTC 10, and that’s a great thing. Too often we see OEMs pack their software with useless gimmicks, many of which are hidden behind nonsensical menus. Those looking for a toned-down system will find solace on HTC’s latest Sense.


The Snapdragon 820 SoC in the HTC 10 comes to amend the issues that last year’s Snapdragon 810 brought upon its predecessor. HTC’s last flagship went under the spotlight for being one of the first devices brandishing the controversial chipset, but with a new beginning and a fresh architecture, there is nothing tying the HTC 10 to the M9’s performance failure. The 14nm Snapdragon 820 sees a smaller, more efficient (FinFET) process size and Qualcomm’s Kryo CPU cores, as opposed to last year’s “off-the-shelf” ARM Cortex A57/A53 design, and a more powerful GPU with the introduction of the Adreno 530 GPU. We’ve detailed the Snapdragon 820’s hardware before, as well as its relative performance in the Galaxy S7 Edge. How does the Snapdragon 820 in the HTC 10 fare?

CPU & System

The 14nm Snapdragon 820 features a 2×2 CPU configuration, with two Kryo cores clocked at 2.15GHz and another two in an efficiency-centered cluster clocked at 1.6GHz. As we’ll see below, the lower number of cores does not translate to a net loss in performance (and nobody should have assumed it would), and the single-core performance of the Snapdragon 820 is excellent, with multi-core performance not managing to beat every competing smartphone chipset, but remaining in the upper-tier nonetheless.

work performance writing Video Web Browsing photo editing 2016-05-27 (1) Screenshot_20160522-170553 Screenshot_20160522-155105 Screenshot_20160505-140823

Running the Snapdragon 820 through our usual set of tests puts it at the top single-core performance in GeekBench only second to the iPhone 6s, yet below the Kirin 955 P90 and the Exynos variant of the Galaxy S7 in multi-core results. The AnTuTu 6 benchmark, more comprehensive as far as components go, tops the chart, making for one of the highest-scoring Android smartphone we’ve seen so far. BaseMark, a more holistic test, puts the HTC 10 below other Snapdragon 820 devices and the Galaxy S7, but above the rest of Android smartphones. PCMark, another holistic test more commensurable with real-world results, puts the HTC 10 in a very good place too as seen in the graphs.


Performance-over-time sample, as well as an example of heat distribution throughout the HTC 10’s body.

As far as CPU throttling goes, when running these tests repeatedly we do find a decrease in performance, albeit this drop is more linear than the clearly-stratified drops we sometimes saw on Snapdragon 810 devices. The throttling going on with the HTC 10’s CPU is less aggressive, but we saw close to 15% drop in scores in various CPU-centric tests and metrics after numerous consecutive tests. These tests did not really increase temperature to the point where operating the device would become uncomfortable, though, with Geekbench topping at 38 degrees C in room-temperature. As far as app performance goes, the HTC 10 is one of the fastest devices we’ve tested, and general UI navigation does not suffer substantially while the CPU is very slightly throttled. As we’ll see in further sections, outside heat sources can seemingly affect the HTC 10 more than any CPU load we’ve put on it.

GPU & Gaming

The Adreno 530 GPU is one of the stand-out points of the HTC 10’s specification sheet. As we’ve seen before, the scores you can obtain on this mobile GPU are fantastic, and it once again puts the Snapdragon 820 at the top of the game when it comes to GPU performance. In most instances, you can expect the resulting performance to be as good as or better than anything else on the market, but the decision to upgrade the screen resolution means that devices with 1080p screens and the same chipset will see an advantage in graphics performance. You can find such example with the Xioami Mi5 (Snapdragon 820 and 1080p display) achieving significantly better performance than the HTC 10 and other Snapdragon 820 devices in on-screen tests. It’s also worth noting that, just like we found in the Galaxy S7 Snapdragon 820, this device sees higher throttling on GPU benchmarks (same behavior we observed in the S7 Edge) than it does on CPU benchmarks, over 30% after many consecutive GFXBench tests.

Manhatten onscreen Manhatten offscreen

These large differences disappear in off-screen tests, where the HTC 10 leads in graphics performance. Non-Snapdragon chipsets have taken a particular beating this generation, with the latest Kirin chipsets offering measurably less performance than the Snapdragon 820 in the HTC 10 (more comparable to a Snapdragon 805’s and 808’s).

performance GFXBench

Consecutive GFXBench Manhattan tests can lower performance quite dramatically.

These differences and also throttling, surprisingly, somewhat diminish when looking at actual gaming, where the HTC 10 does a fine yet unspectacular job compared to previous devices we’ve reviewed at XDA (all games at highest possible settings).

asphalt8cpu deadtrigger gtasacpu Asphalt 8 Dead Trigger 2 GTA: San Andreas

Asphalt 8, for example, fluctuates between 30 and 55 frames per second with a resulting average above the usual 30 frames per second lock some (and not all) devices experience. Dead Trigger 2 saw an average of 34 frames per second, somewhat close to the 40 frames per second achieved on 1080p Snapdragon 810 devices — it’s safe to say that the resolution plays a big factor here. GTA: SA, one of the more taxing games you can find on mobile, had a resulting 28 frames per second on average (in a couple of instances, the framerate average of the session dipped below 27 FPS, but 29 FPS samples were common too). This is one of the highest averages we’ve found on a prolonged session of GTA: SA, showing the prowess of the Snapdragon 820.

A very positive aspect I found during testing the HTC 10 for gaming is lessened throttling. Across multiple 5, 10 and 15 minute tests of the aforementioned games, performance remained mostly good and there was no sharp or clear drop in CPU nor GPU activity, albeit the framerates did fluctuate more than in other devices in some games, and the fluctuation slightly increases over time. The averages remained high, however, and outside temperature of the device didn’t reach 41° C while gaming, at which point I personally consider phones to begin feeling uncomfortable. For reference, the OnePlus 2 and other 810 devices went past this mark during the same level of intense usage. While the performance is not as consistent as some Samsung Exynos phones, the results are stellar even after scores and framerates begin getting lower. Long sessions of benchmarks such as GFXBench’s battery benchmark test still show significant score drops (over 30% as show above) after over 30 minutes, and gaming sessions longer than 15 minutes will likely lead to more framerate drops — so I still recommend you are cautious in your usage.

RAM & Storage

The 4GB of DDR4 RAM found in the HTC 10 surpass the setup in the One M9 in both capacity and speed, and so far we have not tested smartphones sporting more RAM than this, although we know they are coming. While we will see 6GB RAM devices soon and later this year, the HTC 10 will remain future proof in part due to the sheer efficiency at which it utilizes its RAM. While other devices are notorious for holding less apps than their spec sheet suggests, the HTC 10 has no issue of the sort. The real-world demonstration below will serve as an example.

Storage performance on the HTC 10 outputs around 250.5MB/s in sequential read tests (higher than the M9’s ~160MB/s), and 103.5MB/s in sequential write tests (higher than the M9’s 33MB/s). Random read (30MB/s) and random write (15.5MB/s) are both higher than last year M9’s and close to the average Android smartphone’s.

Random Read 30MB/s Random Write 15.5MB/s
Sequential Read 250.5MB/s Sequential Write 103.5MB/s

While these numbers are lower than the current storage king’s (Galaxy S7/Edge), they are very similar to much of the competition’s barring the LG G5. You won’t find the storage in the HTC 10 holding you back, and it’s also worth noting the expandable storage found in this phone benefits from one of the fastest slots available, allowing you to add over 200GB of goodness.

Real World UX

The HTC 10’s Snapdragon 820 shows its prowess in the theoretical tests, where it scores above most Android devices to date. But as we all know, benchmarks don’t necessarily translate to real-world performance. HTC phones like the M8 have gotten praise for their snappy responsiveness, as the company had even attained some of the best touch latency in Android at the time as well. Part of the performance’s strength has traditionally come from Sense being a relatively-lightweight piece of software with design decisions that amplify the perceived responsiveness. With that out of the way, how does the HTC 10 perform in day-to-day operations?

Knowing that no odd service is bogging down your performance or affecting your battery life is one of the highlights of Sense’s lightweight experience.

Out of the box, it was hard for me to not notice that the HTC 10 was quite zippy. As far as app opening goes, and as mentioned above, it’s one of the fastest – if not the fastest – phone we’ve tested. This speed is complemented by a solid multi-tasking experience that’s above the average 4GB phone’s. That being said, it’d be unfair for me not to point out that the HTC 10’s animations are set to be faster than the average phone’s by default, and that many transitions (such as returning to the Launcher) are removed to give the UI an artificial sense of speed. This isn’t bad at all, but it has not been applied across the board, so you will likely want to change window transitions to make the multi-tasking menu and other animations speed up to par.

The HTC 10 is very good at handling scrolling lists as well, and performance is smooth — noticeable micro-janks are few and far between, making scrolling janks mostly imperceptible. You will rarely find delay while operating an application, and the 10 doesn’t keep you waiting. But this is during normal conditions only: while the HTC 10 does not get too hot from regular usage, it does seem to catch a lot more heat from outside temperature and sun than other devices (likely because of the metal body).

htc senseAs a result, using the HTC 10 in high-temperature environments can make this device severely underperform, as seen in the example below. We’ve seen this effect across multiple areas in multiple hot regions including Florida, Minnesota (hey, it’s Summer) and Iowa. It is by no means a deal-breaker, but it has been a hassle to us at XDA as it undermines what’s otherwise a very good performer.

CPU usage/profiling applications like Trepn show very close to no CPU usage by undesired background processes during normal operation, an issue that we found on some more-bloated devices from Samsung and company. The clutter-cleaning that the HTC 10 underwent shows when you look at the CPU cycle consumption of background apps as well as memory usage (now easily accessible in the settings). Knowing that no odd service is bogging down your performance or affecting your battery life while using the phone for daily tasks is one of the highlights of Sense’s lightweight experience.

The no-nonsense approach to software allows the Snapdragon 820 to shine

Overall, I don’t believe users will find many issues with the HTC 10’s day-to-day performance. HTC has provided some of the best user experiences on Android with previous flagship phones, and the HTC 10 manages to keep things lightweight and snappy.

Some of the design decisions clearly aid achieving this goal, but much of it has to do with the remarkably small amount of background processes and the toned-down nature of Sense. Those factors allow the Snapdragon 820 to shine, as well as the below-average touch latency of the HTC 10, but at the same time users should be way that this device can get uncomfortably hot during warm seasons and in warm regions of the globe, and in turn, performance takes a dramatic hit.


The 12 MP sensor in the HTC 10’s camera follows the recent trend through which OEMs opt for lower MP counts, yet focus on aperture and pixel size to maximize important aspects such as low-light performance. With HTC’s “ultrapixel” technology back at the helm, and with optical image stabilization (in the front camera, too!) on top of Laser Autofocus, one would expect the HTC 10 to perform excellently. While the DxOMark score it received puts it neck-and-neck with giants like the Galaxy S7, our testing and comparisons gave us results which we consider below the best Android has to offer, but excellent nonetheless.

Low-Light Selfie Medium-Light More food Not fast enough for cats Regular HDR Regular HDR Up close IMAG0158 Food HTC 10 Urban Up close Up close Urban Up close Nexus 6P Reference Medium-Light Medium-Light

The HTC 10’s pictures are notably less saturated than those coming from many competitors, including Samsung’s. The colors look very good and natural in most pictures, making for “true to life” picture memories. Despite the laser autofocus, the camera is not particularly fast to focus (and it can have a particularly hard time to focus during video, on both cameras), and it’s also not particularly fast to launch either. In the video below you can find a sample of what the user experience is like on the HTC 10’s default camera app.

Note the way the device handles changes in focus points, and exposure adjustments (rather well if you assk me). Pictures can take more than you’d expect to process — if you are used to snapping and going on with your usage, make sure to wait until the picture appears in the gallery at the corner. Not doing so might result in you not keeping your picture — incredibly frustrating when you want quick snaps!

HTC 10 HTC 10 HTC 10 HTC 10 HTC 10 HTC 10 Galaxy S7 Galaxy S7 Galaxy S7 Galaxy S7 Galaxy S7 Galaxy S7

Exposure is well-handled with somewhat of a tendency to whiten the picture, making for the occasional white-washed photo or selfie. The camera can focus at rather close distances, and while it doesn’t frequently get stuck trying to focus, when it does this process might last longer than usual. Another small issue I found is that it’s very easy to cover the laser autofocus, and every time it happens (often when launching the camera) the message informing you so stays for a second or two and blocks your viewfinder. That being said, the pictures the HTC 10 outputs vary from good to excellent, with very few pictures in regular to good lightning needing to be scrapped. I found myself able to trust this camera.

HTC 10 HTC 10 HTC 10 HTC 10 HTC 10 Nexus 6P Nexus 6P Nexus 6P Nexus 6P Nexus 6P

Moving over to low lighting, though, and the story is different. While HTC has arguably been one of the first to really focus on low-light shots with its ultrapixel technology, and while the camera hardware inside the 10 suggests it’d be stellar in these scenarios, the results ultimately disappointed me (perhaps because of the hype behind it). Both selfies and rear-camera shots seem to often be mishandled by post-processing, which can give the picture a really unrealistic look in exchange for some extra visibility (clear example being the wine above). Detail, too, is often lost in the process, and the results are particularly underwhelming when compared to the Nexus 6P, running slightly lesser hardware and Google’s software camera software, yet managing to retain more detail.

The pictures can look pretty good regardless, but I personally expect more out of the 10 in this context. I do wish that it could present some finer detail in general, as grass and other objects can become rather mushy. The composition of the picture, however, is very good in most cases, and those looking for natural-looking pictures might even prefer it over the S7’s.

When it comes to video, the phone comes packed with various standard modes including the popular slow-motion and the tried-and-true 30FPS 4K and 30FPS 1080p. The slow-motion videos are about what’d you would expect and in line with competitors, while the 4K video recording can output some excellent detail, with some decent focusing up-close (as shown in the example). The front-facing camera had the most trouble keeping focus while selfie-recording and walking, which is surprising given its specifications.

In summary, the HTC 10’s camera is well-equipped in terms of hardware and it also packs decent camera software, both combining to make for a very solid shooter. I do think that HTC still has problems to tackle with its image post-processing, an issue they failed to nail in previous devices (I’ve even had pictures come out with odd artifacts). An early software update did improve things, as previous software updates on the M9 did, so we might see the resulting package evolve over time.  There are some nice manual control options as well as RAW shooting for those wanting to get the most out of the hardware, though, and in every other respect, the HTC 10 does hold up against competitors.  


HTC’s Super LCD panel continues the trend of excellence on HTC phones. While AMOLED is increasingly becoming one of the most popular choices for many manufacturers, the HTC 10 managed to prove once more that LCD technology can still hold its own. This is a 1440p panel with a pixel density of 565 (one of the highest pixel densities virtue of the fact that this is “only” a 5.2 inch screen). Going into the various parameters we’ll find that HTC has managed to include a very pleasant display in this device without having to resort to AMOLED as they did on their One A9.


First, let’s start with the not-so-great: brightness on the HTC 10’s display is well-below the output of both Samsung’s latest AMOLED panels, and also the LCD technology featured in the LG G5. That being said, it’s still readable under sunlight and the auto-brightness experience has been satisfactory too. The backlight in the HTC 10 is very evenly distributed and none of our tested units have shown any sort of light-bleed. Another low-point is that the screen cannot get very dim either, something I found very detrimental when operating the phone in pitch-black environments.

IMG_20160526_172407 (1)

Something that greatly enhances the reading experience on the HTC 10 – particularly outdoors – is its excellent contrast ratio, definitely one of the best LCD display has to offer. This display also offers very good black levels (some of the best we’ve seen, too, and even better than the LG G5’s judging from experience) and this slightly makes up for the dim brightness when operating the phone in the dark.

You will be hard pressed to find a better LCD panel on a smartphone

Greyscale is also some of the best on LCD displays (pictures don’t do it justice, but hopefully illustrate part of it), and the only issue with blacks and whites is that, while viewing angles are decent, whites gain a red or pink tint at an angle, and blacks shine slightly brighter as well.

Screenshot_20160524-143949The HTC 10 comes with two color profiles on stock software, Vivid and sRGB. The former (and as its name implies) offers a more saturated look with greens and blues being accentuated, with a higher coverage of color space. The vivid mode is also colder than sRGB, but luckily you can tweak the screen’s temperature to get the kind of whites you are most content with. The sRGB mode is fairly color-accurate and very similar to the sRGB/Basic mode of latest-gen AMOLED displays

I can’t say I have had anything short of a great viewing experience with the HTC 10. You might find yourself wishing for an extra hair of brightness, or that you could dim the display some more, but excluding that, this is one of the best displays outside of AMOLED. With deep blacks levels, excellent contrast and neat customization options, you will be hard pressed to find a better LCD panel on a smartphone, especially non-LG flagships. The black bezels of the 10 and the slightly-curved glass further accentuate this fantastic panel, and from our tests detailed in the battery section of this review, it’s also not a battery hog (more below).

Battery Life & Charging

It’s not rare to see 3,000mAh batteries on sub 5.5-inch smartphones nowadays, and the HTC 10 thus stands with a middle-of-the-road battery package. While many would initially assume that its standard battery size would bring standard battery life, the Snapdragon 820 inside the HTC 10 promises improved efficiency that should translate to better results over last generation’s chipsets. This is particularly important given the Snapdragon 810 specifically offered less battery efficiency than Samsung’s Exynos 7420. We put the Snapdragon 820 through both battery benchmarks and real-world usage, and here’s how it fared:

pcmark graph

Lowest Brightness Medium Brightness Maximum Brightness

As you can see from the scores above, the HTC 10 manages an impressive score on PC Mark, competing with devices such as the Galaxy S7 and last year’s Note 5, as well as A53-based devices that understandably score rather well on these tests. The resulting battery life is above last year’s Snapdragon 810 devices, but also below Qualcomm’s own 2016 Snapdragon 650 featured in the Redmi Note 3 — understandable given the A53 core arrangement inside it. When put into context, the HTC 10 fares very well. Most interestingly, we ran this test at lowest, medium and maximum brightness to assess the effect of screen brightness on the test; the differences are lower than what other devices with LCD panels like the OnePlus 2 and the Honor 5X have shown us, suggesting that the HTC 10’s screen is not one of the biggest power-sippers here

Screenshot_20160505-233106 Screenshot_20160505-233058 Screenshot_20160512-000556 Screenshot_20160512-000551 Screenshot_20160506-180743 Screenshot_20160506-180728

Indeed, during regular usage, we didn’t always find the screen as the top drainer. A normal day for me has had the HTC 10 last about 3 to 4.5 hours depending on my usage and location. My typical usage pattern involves at least an hour of Youtube, Hangouts throughout the entire day, some document editing on Google Docs and through Google Chrome, light puzzle gaming, music, and around 30 minutes of GPS. By my standards as judged on other phones, the HTC is just average — it offered me less screen-on-time than the Note5, Nexus 6P, and Honor 5X, but usually more than the OnePlus 2 and others.

idle battery lifeLuckily, standby time on the HTC 10 is decent with about 0.8% to 1% drain per hour while idling without Doze. Overnight drain has been minimal for me. As for the examples above, keep in mind that I am also a heavy LTE user, so most of my screen time in any given day is while on LTE.

Charging on the HTC 10 is, in theory, as good as it gets given it comes with Qualcomm’s Quick Charge 3.0 standard. While it is indeed very fast, I have not found it to be as much as an advantage as Qualcomm pretended it would be.

The HTC 10 charges from 0 to full in around 1 hour and 25 to 30 minutes, with the bulk of the charging speed residing in the first 80 percentage points of battery capacity. Do mind that Quick Charge 3.0 is technically not compliant with the USB Type C specification, but nonetheless you shouldn’t expect to see any issues with the included or official chargers through regular usage.

One last thing that I want to note is that I did not use battery-saving modes throughout my testing. That being said, on top of the default battery-saving mode you do have an Extreme Battery Saving mode, similar to what you find on most other flagships today. If you really need your phone to last for important reasons, these features can be a life-saver.

Overall, the HTC 10’s battery life stood out as one of the more mediocre aspects of this device. While I can safely say it provides enough battery life for a casual user, I have found myself worrying about finding an outlet more than I wish while daily driving this device. It’s surprising to see that the resulting battery life is not as good as battery benchmarks suggest it is — perhaps it’s time to find better standardized testing methods for 2016 devices, or perhaps the device simply doesn’t handle real-world operations with the same grace. Whatever the case, battery life can be satisfactory, but just about there for someone focused on heavy usage. The included examples should provide you a rough idea of my user patterns and results.


The speakers on the HTC One series of flagship phones have been some of the best to ever grace Android, and also helped popularize front-facing speakers in other phones. With the One A9, HTC moved away from the front-facing speaker setup that netted it good fame, but the HTC 10 aims to provide substantial speaker quality once more, as well as an outstanding headphone experience. While it succeeds in the latter, the new implementation of HTC speakers misses some targets in its approach and execution that every front-facing speaker lover should be aware about.

Speaker Samples (Maximum volume, same distance from Blue Yeti Microphone)


The 10 has a front-facing speaker located where the earpiece speaker typically is, and a bottom-firing speaker as well. Long gone are the duo front-facing speakers, but HTC has nonetheless stood for this implementation by claiming that each speaker has its strengths, with the top speaker focusing on treble-heavy playback while the bottom one on bass. I can vouch for each speaker doing what HTC does — the bottom speaker has a good amount of bass to it, while the top speaker does seem to focus on treble, but only because it doesn’t play much bass at all.

Microphone Samples (Same distance from speakers, HTC 10 followed by Nexus 6P)


This is where the differences begin playing against the HTC 10. These are asymmetric speakers in both orientation and sound quality, meaning that the same song or movie might sound completely different depending on the speaker it is being played through, depending on the properties of said media. This is a problem that’s further amplified by the fact that, while each speaker has a “designated specialty”, it’s still stereo output, meaning that a sound coming from your left will sound different once it passes onto the right speaker. Another issue with the implementation is that the orientation does not help this asymmetry, but this is only an issue on landscape mode — if you are using the sound on portrait, but of your ears should pick up the same sound at the same volume.


Going past these structural issues, the phone’s speaker quality is actually really good. When tested against other flagships, it comes ahead of every other speaker-focused device in terms of clarity, with the exception of the HTC M9. While the sound on the HTC 10 is very clear, though, it’s not very loud — the Nexus 6P and previous HTC phone managed to get much, much louder than this device, making them much better audio playback whilst the phone is not in close proximity. The good news is that the HTC 10 does not distort sound throughout volume increases, but phones that do can play audio at around the same volume as the HTC 10 and be well under the point where said distortion becomes an issue.

Onto the headphones, I believe that you’ll be hard-pressed to find a better headphone experience than on the HTC 10. The discrete 24-bit DAC is noticeably better than any chipset’s built-in solution that we’ve tried, and also better than Samsung’s generally-excellent DACs. If you have a good pair of headphones and a decent FLAC library, the HTC 10 will not disappoint you. The Boomsound software also helps in this regard by providing you with different audio profiles, which make much more of a difference through the headphones than they do on the speakers.

Finally, call quality has been very enjoyable, including wi-fi calling. The top speaker being more fleshed-out than the average earpiece definitely helps the HTC 10 achieve excellent call quality.

Future Proofing & Development

HTC phones and XDA go way back, with a long history of unforgettable XDA experiences. As far as development goes, the HTC 10 has many incentives going for it. For one, HTC is much more open to development than other companies. While unlocking the bootloader is not as easy as it is on a Nexus, HTC provides unlock keys at their HTCDev website (works with T-Mobile HTC 10) through a short, 5 to 10 minute procedure. Alternatively, you can use Sunshine to turn your phone into a dev phone, without wiping your data (S-OFF/unlock/root also available for the Verizon HTC 10, in case you are stuck with Big Red). The unlockable bootloader is not the only thing the 10 has going for it, though:

Not only do you no longer need a developer edition phone for flashing goodness, but now, HTC’s warranty will cover your phone even if your bootloader is unlocked. Of course, claims that were caused by mishandling such responsibility will not be covered. But nevertheless, this is something everyone considering the phone should be well aware of.

Development for the HTC 10 has already begun in terms of ROMs and Kernels, and you will be able to find TWRP for your flashing needs, as well as a healthy set of tools including the aforementioned Sunshine. There are already good resources and guides on the HTC 10 XDA forums for you to learn everything you need to know about rooting and flashing this device, and the friendly and savvy community will likely help you in case you have any questions (but please use the Search button first!). Furthermore, there are some good and insightful discussions going on there, so be sure to check them out if you are planning on buying this device.

If you head over to the HTC 10 ROM, Kernels and Recoveries subforum you will already find a healthy selection of tweaks, ROMs and Kernels, with some familiar names like Elemental X and LeeDrOid for those wanting an easy and trustworthy first experience.

As far as future-proofing, the HTC 10 comes with the best processor and RAM configuration at the moment, and things like expandable storage are undoubtedly useful to XDA serial flashers. HTC’s warranty is also one of the best in terms of coverage and deductibles, and when it comes to updates, we know that the phone will get Android N (which was expected). HTC has been dodgy when it comes to releasing statements about updates for some of their older devices, and we did see them miss their own deadlines a few times in the past. But you should at the very least expect Android N and some future updates.

Final Thoughts & Conclusion

Addition by Subtraction

HTC has managed to make something great with the HTC 10. While there is a lot to be critical about, the things there are to praise are some of the things Android phones need the most. I have had a terrific time testing the HTC 10, and while the beginning was rocky, it grew on me in ways that very few phones have.

It’s rare to see phones that focus on the user experience to the degree that the 10 does. When HTC began advertising this phone, they hit all the right talking points — battery life, camera, performance. Their product ended up hitting the right notes too, even if not with overwhelming success. But that doesn’t matter here, because unlike some of its most-recent predecessors, the HTC 10 is not a compromised phone, nor a flawed one. Even its worst-performing aspects are mostly satisfactory, and at the very least, the HTC 10 really shows that HTC tried much harder here than it did with the M9.

The things that make the HTC 10 stand out are its superb LCD display, its refreshed design, and the user experience that the software-hardware package end up giving the user. A great part of this comes from Sense, with an UI that I am sure no enthusiast will find offensive. It is not stock, mind you, and I’d even argue that it’s not as close to stock as some portray it to be — yet it doesn’t have to, because the core of Android is still at the front. The HTC 10 is an exercise in moderation, as it strips down the things that take away from the smartphone experience with brain surgeon accuracy.

This isn’t to say there aren’t things to improve — I very much would have hoped the company would have stuck with its traditional speaker setup. I also wish the camera software would live up to the hardware specifications, but in the end I got some good shots with the HTC 10’s cameras. But these are minor complaints in contrast to what HTC achieved here, which is a very good phone that shows the company at least listened to the most vocal critics. The phone even puts the “black bar” to death, for a change! Improvements like that are hard to dismiss when they have been criticized for so long, even if they come a year too late.

I also hope to see vibrant development for the HTC 10. Previous HTC phones have had some very amazing ROMs and the HTC 10 comes with easy unlock methods and ready to crack open for those willing to dig deeper and fine-tune their experience. Time will tell whether the phone will pick up the kind of development we want out of a device with such spectacular hardware, but for now we’ll keep our fingers crossed and our recovery ready.

In summary, I think that HTC is in a good path towards reclaiming its former glory. If the HTC Nexus rumors are true, then I can absolutely see myself upgrading to one (or two!) Nexus phones this year. The HTC 10 masters many of the aspects inherent to hardware manufacturing and smartphone design, and with Google’s software running the show, I can not expect the results to be anything short of spectacular. The 10 is, at the very least, a testament to HTC’s smartphone-building capabilities. It might not make the best use of that hardware, but the package is impressive nonetheless, and the HTC 10 is ultimately very compelling device that gives the user a brilliant Android experience.

Thank you for reading!

Check Out XDA’s HTC 10 Forum >>

Special thanks to XDA’s Daniel Marchena and Eric Hulse for the additional data points and perspective they provided for this review. Team effort!

by Mario Tomás Serrafero at May 28, 2016 06:00 PM

April 20, 2016

Creating apps for emerging markets


At Mutual Mobile, we work on a variety of digital products, from banking and contactless payments to smart homes and wearables. Each one comes with its own set of challenges, but every so often, we encounter something new.

FastFilmz had a vision to stream HD movies in India, over slow and unreliable networks, with low cost plans. We partnered with them to help bring their over-the-top (OTT) solution to market. As you can imagine, this is not exactly easy. We were thrilled to help them accomplish it.

Now that the app is available and the celebrations are over, we’d like to share what we learned. Creating products for emerging markets presents unique challenges.

Building for low-end devices

FastFilmz launched first on the Android platform, as it is the most popular mobile OS in India. India is the 2nd largest smartphone market in the world after China, recently surpassing the US. This growth is fueled by low-end phones sold at competitive prices by both local and international OEMs. This presents a challenge as we had to design solutions that run well on devices with limited resources.

Picking test devices

Android always gets a bad rep for fragmentation, requiring testing on lots and lots of devices. In our experience, you can efficiently test an application by picking the right set of devices. The key is to understand the target audience. You don’t need to test your app on every device out there.

We worked with FastFilmz to come up with a short list. It was an ideal combination of platform versions, screen sizes, hardware configuration, and manufacturers. We validated the list through data gathered in an extensive user-research exercise. Also, during beta testing, we made sure the app was tested on devices not on our original list to catch any rogue, device-specific bugs.

Running buttery-smooth animations

Achieving 60fps on popular Android phones is hard enough. Imagine trying to do that on phones with around half a Gigabyte of RAM. On low-end devices, it is common practice to disable complex animations or run simpler ones instead. If most of your users have low-end hardware, this option just goes out the window.

Our engineers worked side-by-side with our designers to try different ideas for navigation and transitions. We tested them on real devices, tweaked them if something worked well, or went back to the drawing board and repeated the whole process. It was definitely challenging, but totally worth it.

A common advice for engineers is to use low-end hardware while building apps. We not only did that but went a step further. To simulate a real world environment, we installed the most popular apps used by our target customer. This is important. On a device with constrained resources, bad citizens can degrade the overall performance, including your app. This was critical in making sure our animations work well for all customers.

Dealing with slow and unreliable networks

Despite the exponential growth of smartphone usage, the state of cellular networks in India is terrible. 4G is just rolling out, and 3G coverage is spotty, even in major cities. Even when there is 3G coverage, devices regularly get bumped down to 2G, especially when indoors. If the users cannot quickly browse the catalog, they won’t be able to use the app.

Making content always available, even when offline

Our goal was to create an experience with no progress bars. That means users should rarely see loading indicators, irrespective of the quality of the network or even when they are offline.

There are multiple ways to achieve this, and we’ve written custom implementations in the past. However, we were impressed with the capabilities of Firebase. Though it is primarily a real-time database, it has nice offline capabilities, and it syncs fast, even in bad network conditions. What if we could use Firebase to fetch and store the catalog data locally, so we can render it fast, even when the app is offline? We wrote a quick prototype to see if that’s feasible, even on slow networks in small towns. It worked better than we expected.

We used a mix of Firebase and RESTful APIs to power the app. Catalog metadata that must be available to the user both instantly and offline resides in Firebase. Everything else is on servers that provide standard APIs to access it. The key is deciding what data goes where. Putting everything in Firebase would increase the memory the app would consume on users’ devices. We wanted to be considerate of this and not cause customers to uninstall our app to create space.

We were able to leverage the power of Firebase, while keeping the server costs low. It also allows the curation team to add new content or feature content easily by using the Firebase backend. The updates are instantly pushed to all customers.

Since Firebase stores data in JSON format, it has limitations to how you can query it. For instance, you can’t query data that is over 2 levels deep. To work around this, we designed the schema by flattening it as much as possible, while reducing duplication. Overall, we are happy with the way it is working.

For RESTful APIs, we followed the usual best practices, using gzip compression to reduce payload size, implemented HTTP response caching, along with exponential back off and retry. For images, we used WebP to reduce load times and memory consumption.

The key thing to note, while providing offline capability in any app, is how much time and effort will go into implementing and maintaining it. Modern frameworks, like Firebase, support most of the use cases and are affordable, even for start-ups. However, there will be use cases where they don’t work. In that case, you may need to roll your own solution.

Streaming video with little or no buffering

It’s no fun to watch your favorite movie when it keeps buffering all the time. Fortunately, FastFilmz partnered exclusively with V-Nova to deploy their award-winning video compression technology, Perseus™. One of the world’s leading video compression technologies, it works well on slow networks, while keeping the data costs down. During our testing, we found it enables quality playback at almost 1/4th the data consumed compared to other similar services.

We also allow customers to download full movies and store them offline. They can watch them anytime. Digital Rights Management is fully supported to prevent piracy.

Choosing the right payment mechanism

Monetization is an important aspect of any business, and it is critical to provide an easy way for customers to pay. As per 2015 reports, only 4-6% of Indian consumers have access to mobile payments and most simply don’t trust online payment services.

To work around this, we implemented carrier billing as an exclusive way to accept payments, i.e., allowing consumers to pay with their mobile carrier balance. Based on the feedback we’ve received, customers love the convenience and are more than willing to purchase and renew their subscription using this option.


Creating apps for emerging markets introduces some unique challenges. Fortunately, once you know the issues, they are not difficult to solve. To recap, always remember to:

  1. Pick the right target devices, based on user research.
  2. Use real devices, not simulators, daily and set them up to mimic a real user scenario.
  3. Work closely with designers to iterate on different options for animations and transitions.
  4. Use the WebP format for images.
  5. Provide a compelling offline experience using technologies like Firebase.
  6. Choose the right payment platform for your target audience.

We love solving new problems and based on the results in the market, customers are loving the result. We hope this was helpful and always welcome questions and comments.

The post Creating apps for emerging markets appeared first on Mutual Mobile.

by Mutual Mobile at April 20, 2016 09:06 PM

March 11, 2016

Tasker Week: Utilize NFC Triggers!


So you picked up some NFC tags or are considering doing so, but what’s next? You could, of course, set them for boring things such as storing your WiFi password or logging into your phone with Trusted Devices. Or you can set them to trigger just about anything through Tasker!

Here are just a few of the best and most useful day to day tasks you can automate using Tasker and NFC tags.


Set up
Wake On Lan
Driving Mode
Display Custom App Menu

Set up

All the Tasker profiles below require an NFC Tasker Plugin; I use and recommend Locale NFC Plugin for ease of use. You will of course also need an NFC tag per profile. The first step for all these will be the same so I will cover it just once now. If you are using Locale you can stop the phone asking which app you would like to use to read the tag by writing bad://access/development as a custom URL to it, this will ensure that only the Locale plugin can access the app. To do this I recommend the NFC Tools app and the entire process should take just a few seconds (see right).  Once you have your tag ready head to Tasker and set up a new profile by tapping the + at the bottom of the page, then press State > Plugin > Locale NFC Plugin. Finally, on the new screen tap the pen by configuration and scan your tag, tick “allow repetitive scan” and you are ready to go!

1 2



You get home knowing fine well that one of the first things to do will be to turn on your PC, you’ll have to wait for it to boot, but what if you computer turned on as you walked in the door, ready for when you get to it. Here’s how.

You will require a Wake-On-Lan Tasker Plugin for this, again I use and recommend the Wake On Lan app, it follows Material Design and is incredibly easy to set up. Once you have installed it, open the app and tap the Floating Action Button, this should start to display all the devices on the same network as you, when you see the PC you want to wake’s MAC or IP (which can be found in Windows using the command “ipconfig” in terminal), tap and name it. Back in Tasker add a new task to the profile you created earlier and add a new action: Plugin > Wake On Lan, again tap the pen icon and select the PC you named in the app earlier. You will want to ensure that your PC has Wake on Lan enabled in the bios and finally place your NFC tag near your door. In my case it sits by my key bowl, the first place I go upon entering my house.

Image 174


Driving Mode

This one is brilliant if you have a phone holder or dock in your car, you can stick the NFC tag to the back of it and it will run whenever you place your phone in it, just be sure to deselect repetitive scan when setting up the tag. This profile will vary from person to person depending on their media and navigation app preferences and even on whether your car has Bluetooth built in, but I will share mine here and you can adjust as you need. Add a tag to a new profile and select new task, you will want to add the following which I have split in to three parts here to make it easier to follow:

Turn on Bluetooth and GPS and turn off WiFi (This will require the Secure Settings Plugin)

  1. Net > BlueTooth and then set to On in the dropdown,
  2. Net > WiFi and then set to Off in the dropdown,
  3. Plugin > Secure Settings > Configure > System+ Actions > GPS > On > Save

Turn up Media Volume

  1. Audio > Media Volume > Select a volume you are happy with

Open navigation and select media when you have chosen a destination

  1. App > Launch App > Maps (or your preferred navigation app)
  2. Location > Get Location
  3. Plugin > Secure Settings > Configuration > Actions > Launch Activity > Google App > [Voice Search] .VoiceSearchActivity > Save

In the new screen, tap the + by IF  and in the variable box type 4.4, then select the ~ and change it to “Maths: Less Than”, finally select the value box and type “%LOCSPD”.

This last command will wait until you are driving above 4.4m/s (10 mph) and then launch the Google Now activity, allowing you to say “Play <insert band, playlist or song of your choice here>” You can change the 4.4 variable to the speed of your choice (the units are metres per second) however please be sure to remain safe when driving.


Display Custom App Menu When at Your Desk

This will display an on-screen menu with the apps best suited for you and will also keep your display on when fully charged, place the assigned tag on your desk within reach of you charger and simply plug your phone in and lay it on the tag when you sit down.

Set up the menu overlay

  1. Alert > Menu > Slide timeout to the right until it says “Never”
  2. Layout > Icon Grid Menu
  3. Items > grid > Application Icon > select your chosen app
  4. Repeat for all desired apps

Keep display on when fully charged

  1. Display > Display Timeout > Set a desired time, I use 4 hours
  2. IF > 100% = %BATT

I find this helps me beat procrastination by keeping me focused on just the apps I require for work, selecting an app will close the menu until you place the phone on the tag again.

Screenshot 2016-03-10 at 23.49.51 

Of course you can set any Tasker Profile to trigger from an NFC tag here were just a few of the ones I use everyday.

And be sure to check XDA/Android Podcast Episode 15: “Swipe N a Tap and You’ve Got Two Apps” for the chance to win one of 5 LeEco One Pro (SD810)!!!

Do you use NFC tags with Tasker? Leave a comment below


by Mathew Brack at March 11, 2016 12:25 AM

February 22, 2016

Android as a Prototyping Platform - a Case Study

I've not been writing much lately here. The reason is twofold:
1) Android has gotten much better lately and there's much less to complain about. Companies are starting to understand the value of understanding Android design and doing it right. Well.. mostly.. What's up with the new G+ app??
2) And this is the big one. I've been working to turn my long time passion hobby project into a real product. Me and my friends have been working on a new type of hybrid miniature game called Lands of Ruin which combines two of my passions. Android and miniature gaming!

We're currently running a Kickstarter campaign for the Lands of Ruin project. Check out the campaign here:

Anyways, this post is not just a marketing blurb about our Kickstarter (although all support and sharing is much appreciated!).

During the last 3+ years I've been building the digital part of Lands of Ruin as an Android app prototype. It turns out that Android is an amazing platform for rapid prototyping simply by using native code!

Background - Process

Before I jump into explaining how we did what we did let me first explain what it is that we're doing. 

Lands of Ruin is a tabletop miniature game with a companion tablet app (is that the geekiest thing you've ever heard or what?). It is also something that has not been done before. While there's been couple of hybrid gaming attempts they have been very different nature. In short, what we wanted to is to create a smooth interaction between the physical game and the digital world. How do you do something like that? We had no prior examples we can pull from or ideas to copy. We had to create the interaction from scratch.

Step 1 - Paper

Like on any great design project everything always starts with pen & paper. Pen and paper is an invaluable tool for rapid prototyping. You get an understanding what is needed without having to write any code. And best of all you can do it together with others. Two heads is better than the sum of its parts!

In our case the earliest paper prototypes didn't even try to represent tablet UI. Instead with the pen and paper combination we explored what needed to be tracked and what needed to be automated. Even talking about user interfaces at this point would have been way too early. First, we had to figure out "what" before we could start talking about the "how".

Unfortunately, I don't have any of the early paper experiments left so I could show you. But in short they mostly reminded spreadsheets on paper.

Regular iterations

Very quickly at the beginning of the project we understood that we had to iterate a lot. We had to establish a working routine that worked for an after-work-hobby project. To us the solution was to set a certain night of the week aside for play testing. We decided on Thursday nights and that became the routine for the next 3 years. Every Thursday we played a game with the current prototype and after the game we discussed ideas of improvements and what to do next. Then we set the goals for the next Thursday and separated. We worked through the week to achieve the set goal as well as had brainstorming sessions (usually in a bar) to solve problems we ran into during the week. That has worked really well!

Not-so-coincidentally we still play every Thursday. Nowadays the game night is usually for guests who come to play the game into our office and enjoy a beer or two. The improvement interactions are still there though. Problems found during these game sessions are noted and hopefully fixed before the next Thursday.

Step 2 - Functional "What" Prototype - or Proof of Concept

After the initial paper phase I wrote the very first Lands of Ruin companion app. At this point very little thought was spent on the UI and how it should function. The first prototype was still for understanding what the app needed to do.

When building something completely new there's one question that is worth answering: 
"why hasn't anyone done this before?"
There's approximately three answers to the question:
  1. It's a stupid idea and not worth doing.
  2. Nobody thought about it.
  3. The technology hasn't been there to do it before.

If you think the answer is #2 you're probably deceiving yourself. There's a lot of people on this planet. A lot of smart people, many of them smarter than you or me.

To answer the question we decided that we need a proof of concept. That's where the coding started and the result was this:

Now, the result was far from good UI or intuitive experience but that was never the aim of this prototype. This prototype allowed us to actually play the game for the first time. The limited ruleset and functionality of the app was well defined enough that it allowed us to elaborate how the complete product would feel. 

Another important step with this prototype was that we were able to get others to play the game. Naturally, the very first play testers needed a lot of help navigating the app and game itself but the experience was invaluable. We were able to get an understanding of the strength of the concept and decided to move ahead.

I spend around two weeks evenings coding this app. The UI was bare minimum but the core there. Game characters existed, actions were available to be performed and the players' tablets talked to each other over WiFi. 

Step 3 - Quick Prototype

Once we had a good enough understanding what we wanted to build it was worth starting to think how to build it. It was finally time to start thinking about the real UI. We had probably around 15 test games under our belts.

There were still many parts we didn't understand about the interaction. Especially tricky part was the connection of digital world and the tabletop. Our game design required that the app knew approximately where the characters were on the battlefield. 

We needed more information. The proof of concept prototype didn't provide us any way to test the most difficult design ideas. It was time to spend more time on the app.

This was the first time we sat down and drew what we wanted on paper. After quick pen & paper iteration it was time to open up Omnigraffle and draw something more concrete.

At this point it was no longer feasible to play the game with the paper prototype. The Omnigraffle wireframes were discussed in the team and the decision was that it was worth trying.

The result was this:

The app was still far from intuitive or beautiful but it had all the functionality the game required in graphical form. The game map was there and it worked. This was the very first time the game was played in the way we intended. We were now 6 months into the project.


Now that we had more fidelity in our prototype we started finally understand problems we had. While the solutions were still far away the first step was understanding the problem's cause.

At this point it became painfully clear that handing the characters wasn't easy or pleasant... and if an interaction in a game is not pleasant it's not really a good game at all.

We started iterating over the design. Not visually - but functionally. We wanted to find enough space on the small 7" screen to have all the components easily accessible. We added sliding drawers for more details and view pagers for easier access to the characters.

Here's one of the iterations:

And the next iteration:
And the next one:

We kept moving things around, changing sizes, rearranging them. Each step felt like we were closer to the goal. More and more playtesters came by to play the game and the feedback felt better after each game.

Fragments are awesome

At this point I want to point out one thing. Unlike you might have heard Android fragments are awesome and very powerful for prototyping.

Our game UI is completely native Android code still today. As an android developer that's what I know the best and that's the environment I get the best result fastest. Each part of the UI you see in the screenshots is an independent fragment. In the screenshot above there are 5-7 fragments visible at the time. Each fragment knows what they need to show and are subscribed to changes in the central game state. None of the fragments talk directly to each other. All communication is decoupled using an event bus approach.

This architecture allowed us to iterate extremely fast. The fragment showing a charter always knows how to display that character in the current gamestate no matter where it is located or what other fragments are visible.

This decoupling and event bus architecture allowed me completely change one part of the UI from one prototype to another without having to worry about breaking anything else as well as completely rearrange the UI and the game would remain playable from one build to another.

Step 4 - Design

We had finally enough test games and data that we wanted to take the next step. The current prototype was simply too ugly to show anywhere public. At the same time we saw an opportunity to go to a local maker event, Make Munich, to show the game to the public.

This was the kick we needed. We decided that the Make Munich event will be our launch event and we would put the app into the Google Play Store for closed beta and hopefully get more people outside our team to try the game. Bring in the Photoshop and visual design.

Rick, the artist in the LoR team, got the challenge to do our visual design. The resulting UI is here:

With this UI we proudly went to the Make Munich event and issued a press release telling about the release of the game. This was in the April of 2014.

Step 5 - Reality strikes back

After the Make Munich event we evaluated the response we got from the audience and from other play testers. There was no going around the fact that the game wasn't very good. There were several complex rule mechanisms that made the interaction difficult. The app UI was too clunky in many use cases forcing the players to focus too much on the tablet instead of the tabletop and the opponent. 

As one of our design principles was that the game MUST feel like a tabletop miniature game and the focus of the players should be on the miniatures, terrain and tabletop this was a clear state of failure.

We had failed on our design goals. What next?

Well. Back to the drawing board! It was still clear to us that the concept was viable but our implementation was bad. Something had to be done!

Even though we spent a lot of time on both asset production and design as well as on development we simply had to let go and scrap the current app version. It wasn't what we set to create.

Step 6 - Try something completely different

The big problem in the design was that the characters were difficult to access. 

We had couple of beers and brainstormed what could be done. An idea about drawers popped up and we decided to give it a try.

A complete reshuffle of the game UI ended up looking like this:

While the UI looks completely different the power of Android fragments actually allowed me to create this configuration in one evening. All the functional components were still same as before but where they were was different. Due to the fragment architecture and event bus approach no other changes was needed. The game was playable again the next day.

Unfortunately this wasn't good either and we ended up abandoning this approach very quickly.

Step 7 - Cards before cards were cool

The UI just didn't work. The game concept was kept back by the app. We didn't want to make more noise about our game as we weren't happy about the way it felt. It felt wrong. A radical new approach was needed. simple rearranging of component wasn't enough anymore.

Cards! A lot of tabletop games use cards to represent characters. Maybe a familiar concept would make more sense. There's also many games that handle digital cards. We can find the games we like and see how good interaction is done.

The first prototype with cards in non-functional state looked like this:

While we were in unplayable state at this time the concept felt promising. It felt like this could actually solve the issues we were having. It was worth putting the extra time in to see how this works as a game.

It worked! We were onto something. Week or two later when the game was in playable state we felt that things are finally starting to feel the way we wanted it to feel.

Step 8 - Making things look polished

We couldn't go back to releasing an app that looked like it was a complete prototype so after quick iterations with the card concept we decided to do proper design for visuals as well. Rick was forced into asset production mode again.

The first results were:
Finally! The app started to feel like it's close to what we wanted. In test games the difference was MASSIVE. The tablet has finally become secondary on the gameplay.. it has became an extension of the tabletop game we had. This was exactly what we set out to create!

This wasn't to say that the app was perfect but we were finally, after 3 years of development, getting there. This approach was worth polishing.

In the next iterations we changed the card orientation to better for the vertical stack we used and started providing more information to the players at the right time. 

Here's what we had:

Step 9 - Getting ready to launch

The app now had all the core features of our basic gameplay. We also have a good understanding how to build the advanced features we've been promising on top of this solid core. However, the visuals in the app weren't satisfactory.  Rick, who had done the assets until now, had his hands full on other tasks related to our impending Kickstarter and event demos.

We reached out to get support from abroad. We hired my girlfriend's sister Natalia Kovalchuk to get the game design up to par and in shape to be displayed in events and in Kickstarter.

Here is the result of this design iteration:

Step 10 - Kickstarter

And here we are. More than 3 years after the initial idea we are trying to get the game into public's attention. We're currently running a kickstarter campaign trying to fund creating the physical component of tabletop miniature gaming.. the miniatures.

Check out our Kickstarter promo video as well:
You can see the app in action in the video.

I would really appreciate if you'd also considered backing our Kickstarter campaign. Even if you're not a gamer dropping a £1 is actually very useful as Kickstarter likes to promote campaigns with higher backer numbers. But why not to get into tabletop gaming with Lands of Ruin? It's never been this easy! 

I much appreciate your support!

Please share our Kickstarter page link and help us to make our dream reality. 

I hope to get back to normal writing after the Kickstarter is over. There are couple of Android apps that have design that needs to get some attention!

by Juhani Lehtimäki ( at February 22, 2016 06:16 PM

February 19, 2016

WallFlix Brings Smooth HD Videos to Your Wallpaper, Now Lets You Add Yours


We’re always on the lookout for apps made by active XDA community members! If you’ve made such an app, let us know by contacting any portal writer.

We’ve featured VidWall by XDA Senior Member Flyview in the beginning of the year, but the recent updates have added several improvements and new features. Now called WallFlix, this app still aims to provide you with a collection of HD videos to use as smooth, live wallpapers.

While live wallpaper apps are not a novel concept, WallFlix distinguishes itself by offering high quality and more lengthy videos instead of shorter loops. All wallpapers also come in two versions: one optimized for portrait orientation, the other for landscape orientation. This means that whichever video you pick will fill your screen regardless of the orientation. If you only use one orientation for your launcher, an option is provided to disable fetching portrait or landscape versions in order to save bandwidth.

WallFlix currently comes with 13 free and 8 paid wallpapers, though a recent update has also added the ability to use your own videos as live wallpapers for a small fee (sadly). If you want to support the developer, you can purchase that option or subscribe to gain access to all paid wallpapers. A new feature also lets you shuffle through the downloaded wallpapers, either at fixed intervals of time or by single, double or triple tapping your home screen.


Two important aspects for live wallpapers are smooth playback and battery usage. Fortunately, WallFlix does well on both counts: I’ve noticed no additional battery drain and I’ve been using it for weeks, and playback very rarely stutters even on my three years old flagship, the Samsung Galaxy S4. Of course, that’s not to say WallFlix magically uses no power at all — but rest assured it’s well-optimized not to have any noticeable impact unless you watch your launcher for prolonged periods of time. If you’re still uncertain about using it on your main device, you might consider putting it on mounted devices instead.

WallFlix Premium Options WallFlix Preview WallFlix Settings
WallFlix is also free of ads, and has an active developer and community. Head over to the WallFlix forum thread if you’re interested in trying it out, and make sure to leave any feedback or suggestions you might have!

by GermainZ at February 19, 2016 07:04 PM

January 28, 2016

honor 5X XDA Review: The Current Vanguard of the Mid-Range Segment

Screenshot 2016-01-25 09.03.14

The honor 5X is a device that attempts to push the boundaries of design for the mid-range smartphone segment. For a relatively small sum, it promises plenty of features untraditional of its budgeted competitors. Can the honor 5X deliver the premium value at the small price it promises?

In this review, we’ll take an in-depth dive into the honor 5X. Rather than listing specs and talking about how the experience felt, this feature attempts to provide a thorough look with contents relevant to our reader base. At XDA, our reviews are not meant to tell a user whether a phone is worth buying or not — instead, we try to lend you the phone through our words and help you come to the decision by yourself. Before getting started, let’s get the specification sheet out of the way:

Android Version: 5.1.1 Lollipop Model Name: honor 5X (KIW-L24)
Dimensions: 151.3 x 76.3 x 8.2 mm

(5.96 x 3.00 x 0.32 in)

Screen size
& screen ratio:
5.5 inches (~72.2% screen-to-body ratio)
Primary Camera: 13MP f/2.0 Secondary Camera: 5MP f/2.4
Screen Type & Resolution: LCD, 1080 x 1920, 401 ppi Chipset: Snapdragon 615
Internal Storage: 16 GB CPU: Quad-core 1.5 GHz Cortex-A53

Quad-core 1.2 GHz Cortex-A53

Card Slot: MicroSD GPU: Adreno 405
RAM: 2GB Battery: Li-Poly 3,000mAh
NFC: No USB: Micro USB v2.0 (no QC)


Design ^

The honor 5X’s most sought-after feature is, without a doubt, its design. For a device that costs only $200, you will not find a phone of this build quality in the United States, and perhaps even in the global market, yet it offers a better all-around package than most phones that go for all-flash and no substance, too. But leaving the substance for later, it’s nigh impossible to deny that this phone has flash — as much flash as $200 can get you right now.

Screenshot 2016-01-11 12.00.18

The honor 5X is far from the $200 phone we are accustomed to

The back of the phone is made of an aluminum alloy with a brushed look that is absolutely smooth to the touch. The device itself doesn’t see much in the way of curves, with only a slight deviation near the sides.

Nevertheless, the back of the phone is a pleasure to touch and a beauty to behold — it’s simply not something we are used to eyeing or holding in a device of this price bracket. On the back you’ll also find the honor branding, as well as some FCC and manufacturing details. The camera does not protrude more than 2mm, and the bands spanning across the top and bottom are slightly raised as well. This makes the device rock slightly when it is operated while laying on a surface, but not enough to make typing impractical.


The back of the device also hosts a fingerprint scanner in a slight depression, with some shiny edges . This is a theme all around the phone — the edges on the sides are chamfered, cut and polished with precision akin to the diamond-cut results of the Nexus 6P. The camera, too, has a shiny edge around it. In the honor 5X’s case, they don’t look tacky and compliment the overall design, and the metal back, pretty well. If anything, the only part that looks off are the top and bottom bands, which do not reflect light in the same way the rest of the phone does.


The front of the device is where the phone makes a radical change, as it goes for an all-white clear look with no capacitive keys nor other distractions, excluding the top earpiece, camera and sensors. The bezels to the sides look exquisitely small at a first glance, but only because of the all-too-common trick of placing a black border around the actual screen. Once the display is on, the side bezel doubles in size. The top and bottom bezel are also not symmetrical, a common pet peeve that Chinese OEMs in particular seem to transgress upon. The bottom feels particularly tall, and with the black frame around the screen even moreso, and very empty (there are no capactive keys). The top does host a decent number of things without having them stick out much. In fact, you will simply not see the notification LED unless it’s blinking, as it is very well hidden despite the white color choice.

The minute detail and construction are what we expected of premium flagships not long ago

The sides of the device are where the white front and the metal back mix, and it’s a bit disjointed given that on the bottom you have shiny chamfered edges, but on the top you have the more plasticky white. This doesn’t take much away from the overall quality, though — the buttons, in particular, are some probably the best in this price-range, as they feel clicky, mostly solid, and even have a minute texture. Both the volume rocker and the power button are on the right side, while the left side hosts two slots, one for a micro SIM, and the other one for both a micro SIM and a microSD or nano SIM. This gives you a lot of options and versatility, and the microSD support is particularly welcome given the measly 16GB of storage.


At the top you will find a noise cancellation mic and a headphone jack that is off centered in both axes, much like most of the details on the sides, and slightly blends into the back, but not in a way that makes it uncomfortable to touch (I am looking at you, Nexus 5X). The bottom hosts a traditional microUSB port, perfectly centered in both axes (only exempt item), the only two screws you’ll find, and the two speaker grills, of which only the right speaker actually does anything (another common trick found in plenty of devices nowadays).

A few final points on the design: this phone is much larger than it seems in pictures, and the body almost matches up to that of the Galaxy Note5, despite the smaller screen. While it is bigger than it looks, it feels thinner as well, and overall it is comfortable to hold as the edges are not sharp. The lack of a curve, however, makes a noticeable difference — despite similar dimensions to the Note5, the honor 5X doesn’t allow for nearly the same amount of grip (hand-wrapping). Another thing worth noting is that your finger will rest on the volume rocker, not the power button, and even if you use a tap-to-sleep solution on the status bar, you might need to re-position the device to reach it properly. The corners are rounded and I have had no issues putting this in my pockets. Finally, the device comes with a screen protector by default.

Software — User Interface ^

The honor 5X comes with Emotion UI running on top of Lollipop 5.1.1, but an update to Marshmallow has been promised. This skin is completely different from what you’d find on most devices in the West, as like many other Chinese-based OEMs, Huawei designed a UI that resembles Android’s competition more than it resembles Android itself. The result is bound to be polarizing, and you will clearly see why in short.

Lockscreen Homescreen Blurred Toggles Recents Menu

It is a colorful UI by default, with plenty bright and saturated wallpapers and mellow icons. The launcher itself retains the all-too familiar setup, but without the app drawer we’ve come to appreciate out of traditional OEMs. There are a few options in the default launcher to customize the layout, the transitions between pages, and to allow for loop scrolling. The icons themselves can have badges indicating the amount of pending notifications, a nifty feature that is sadly limited to a handful of system apps. Other than that, there is an auto-alignment as well as a “shake to realign” gesture, which is borderline gimmicky. If you are anything like me, you’ll likely switch to something like Nova pretty early on.


The system UI has an unconventional look as it completely abandons Material Design, and every aspect of it, for a glass-like UI full of transparencies, blurs, and white and blue outlines. It’s easy to see where Huawei drew inspiration from, and the similarities in philosophy stretch to every corner of the OS. The many features are rounded and the status bar icons are completely redesigned, with a horizontal battery icon and other icons longer than usual. The result is a status bar that is easily crowded on both sides.

Screenshot_2016-01-25-10-43-59The notification shade is one of the least conventional ones in today’s Android. Incoming notifications are put next to a timeline that specifies the time it was received, and a delete button appears on the bottom to clear all notifications. It’s a strange approach, and the notifications can get crowded. The blur in the background is an effect many like, and that has its own Xposed module to replicate on any device. The effect is convincing, but unlike Samsung’s and Apple’s blurs, it is static, meaning media in the background will not animate (this is likely done to save battery life).

The tab at the top leads to shortcuts, which you can edit as well. There are many usful toggles, such as mobile data, 4G, a handful of built-in features, hotspot, screencast, and battery saving… even a screenshot button. You’ll also find the brightness bar as well as an auto brightness toggle. The status bar does not theme like it does in most Android devices, as I’ve spotted some odd behavior on apps that do not theme by default, such as Chrome.

The recents menu completely foregoes the cardstack for a more HTC-like UI, with windows organized in a 2 x 2 grid with the top-left app being the most recent, and with the ability to scroll, lock applications in memory by flicking down and clearing all (unlocked) applications by flicking up. This recents menu also has a RAM counter so that you can keep track of how much memory you have left — a nice little addition that means virtually nothing in the face of the phone’s low-retention abilities.

General (no battery!?) All of them Stock Android color leftovers Some menus are plain

The settings menu is spread into two settings — General, which has the stuff you are more likely to use, and All, which has the many, many options out there. This is a good way to not confuse users, as the General tab is quick and simple, and the Settings app remembers your last tab as well. The only odd part is that the Battery menu, by far one of the most frequently accessed part of the Settings, is not in the General tab. The colorful settings menu has many options, with a handy search on top that includes recent searches for good measure. The insane amount of features will be detailed in the section after this one, but I must say that for a ROM this feature packed, honor did a good job at classifying the features and making sure their menus make sense.

EMUI’s lockscreen is an odd one, with the lockscreen notifications not being set up by default on all notifications. Once you enable them, it becomes more pleasant to use, though, although different themes have different unlock styles, and some are more efficient than others. By default, you swipe to the left side to unlock, and swipe up for a list of quick toggles, like music controls, a calculator, a flashlight… very much like a certain fruity competitor’s.

Screenshot_2016-01-13-10-00-00 The dark glass can look sleek Not Material Dark Still colorful, but improved

Last but not last, EMUI allows for theming, albeit not in the same capacity other theme engines offer. The themes are mostly relegated to the palettes of system apps and various UI hues, but getting rid of the base look of the system is not something you should expect. While you can make TouchWiz adopt a more Material Design look, the honor 5X will simply never look like a proper Android device under this ROM. This doesn’t mean you can’t find a nice theme to suit your style, however, and while the clash between a glass and blurry UI and material apps will never be remedied, at the very least EMUI is mostly consistent (excluding the odd Material left-overs) in its design philosophy, unlike Samsung and LG which can’t quite make up their minds.

Software – Features & UX ^

The honor 5X is, to put it bluntly, one of the most feature-packed devices I have ever tested. And the fact that all of this comes on such a cheap package is surprisingly to say the least. As far as features go, this device gives Samsung and others a run for their money, as not only does it offer plenty of the same, but the overall execution is well thought-out, and there are some unexpected, innovative jewel-features in there.

Let’s start with my favorite part: the honor 5X has one of the best fingerprint scanner implementations to date, but not because it’s particularly good at scanning fingers. In fact, the fingerprint scanner is significantly slower (yet not impractical) than the Nexus imprint, Samsung’s Note5 scanner, and that of the OnePlus 2 as well. Rather than use it for just your fingerprint, though, honor tried something unusual and turned the fingerprint scanner into a trackpad that can detect the orientation of your swipes, as well as the duration of your press.

You can tap swipe on the fingerprint scanner to access your notifications or the recents menu

To integrate this into the UX, honor has included fingerprint gestures that allow you to swipe down on the scanner to bring down the notification panel — a great feature on a phone this large. You can also swipe up to access the recents menu, making it much easier to switch applications without reaching to the very bottom of the phone (also difficult with one hand). Finally, you can tap it to go back a screen (extremely useful) and long-press the scanner to access your homescreen, but given it’s on at all times, it leads to accidental touches and long-presses, so you might want to enable these contextually.

There are also screen-off gestures: the beloved double-tap to wake is available, and you can use a custom-solution for your preferred tap-to-sleep gesture to replicate the popular feature-combo. Sadly, it’s not as fast as it is on many other devices, and the fingerprint scanner of the back will likely be your preferred unlocking method anyway (but it is good to have with smartlock). That’s not all, though, as you also have customizable screen-off gestures and shortcuts, which allow for quick application launching, including a fast way to launch the camera. But if you don’t want to do a gesture through the screen, the honor 5X also allows you to double-tap the volume-down button to take a picture without unlocking the phone — after it’s done, it’ll show the picture and the time it took to take, usually between 1.2 and 1.6 seconds.

The honor 5X also comes with a handy one-handed mode, easily accessible by swiping across the navigation bar. This implementation is readily available and unobtrusive, unlike past atrocities like Samsung’s awkward double-swipe-trigger. There is also a one-handed option for character input, also available in PINs in case you must swiftly unlock the lockscreen with one hand. And if that’s not enough for one-handed usability, EMUI includes a PIE controls clone, activated by tapping a floating bubble rather than swiping from the edge, that can easily be enabled in the quick toggles without digging through settings.

The settings menus are well sorted, and feature discovery is unobtrusive

There is also some navigation bar customization apart from the theming, allowing you to configure your navigation keys order and add a notification-bar dropdown button as well. The home button can of course be long-pressed to access Google, but the recents menu can also be long-pressed to go back to the most recent application. This is a beloved feature in many custom ROMs, so it’s nice to see it implemented by default, especially considering the overall UI navigation performance in this phone is lacking (more on that below).


The settings menus are well sorted, and feature discovery is unobtrusive. Because of the sheer plentitude, there are many you are likely to not stumble upon with a single read-through, but they are tucked away in the “more” sections, or properly distributed among specific sub-menus. There are other small things worth pointing out: you can prevent applications from automatically launching, and customize their notifications (where they show up, and how they show up). You can also lock applications so that clearing all recents won’t get rid of them, and if you don’t want to see them again, you can completely uninstall Huawei apps (but not System apps). The status bar’s bluetooth icon shows the battery of the gadget you are connected to, which is useful with bluetooth headsets and the like. There is also a pocketmode that uses the proximity sensor to prevent accidental touches inside your pocket. The few issues I found with features I found with built-in applications, many of which are redundant (mirror apps? really?), and others which I instantly replaced.

Looking past that, EMUI packs plenty in a packaged that does not seem nearly as cramped as other UIs like TouchWiz and ZenUI. Many of the features found here are the kind of things enthusiasts flash and root for, so it’s nice to see them by default, even if they come with things not many will use and with such a polarizing user interface.


The Snapdragon 615 inside the honor 5X was already met with plenty of disapproval in earlier devices, namely the Xiaomi Mi 4 and the Moto X Play. Both of those, and others with the 615, have faced criticism of throttling and overheating, on top of the SoC not being as powerful as older flagship chipsets like the Snapdragon 800 and 801. The Snapdragon 615 initially lured consumers because of an 64-bit octa-core configuration — on it’s face, this can sound impressive, but it’s also worth considering that unlike the other big.LITTLE chipsets of 2015, the 615 only has A53 cores, and no A57 high-power cores. This is, in my opinion, an important detail worth noting and I believe you’ll see why it’s relevant in the sections ahead.

The Snapdragon 615 is designed to be a mid-range chip and it simply cannot presume to be more than that. The fact that this device exclusively uses differently-clocked A53 cores would mean that, in theory, the power-efficiency of this device would take a front seat, as it sacrifices performance by offering no powerful cores in its clusters. My results seem to confirm that the Snapdragon 615 does, in fact, offer less performance but surprising battery results.

CPU & System ^

As stated above, the Snapdragon 615 sports eight cores, spread among two clusters, one clocked at 1.5GHz and the other one clocked at 1.2GHz. With there being no big architectural  difference between the clusters, one mustn’t worry about cluster migration nearly as much as on other devices like the OnePlus 2, where a switch to the A53 cores meant a huge sacrifice in performance. In my results I found this translated to more consistency, but obviously lower maximums. The Snapdragon 615 as seen on the honor 5X offers a different experience, which I’ll expand on shortly. First, let’s look at some numbers.

PCMark (Photo Editing) PCMark (Video) PCMark (Web) PCMark (Writing)

PCMark (Overall)
The standard set of benchmarks shows that the Snapdragon 615 on the honor 5X falls below all 2015 flagships, and also below plenty of 2014 and even 2013 phones. That being said, it does outcompete the Snapdragon 410 found in many other budget devices, and also the MT6753 processor favored by plenty of phones within this price-range on CPU and GPU metrics. Sadly, alternative 2015 “mid-range” processors like the Atom Z3580 absolutely outperform this device in terms of both theoretical performance and real-world performance as well (more on that below). The scores we see here are nothing to write home about, but at the very least they are higher than what most phones at this range can muster.

Onto throttling: due to the issues regarding throttling and performance on previous 615 devices, I came to testing the 615 with low expectations That being said, I’ve been surprised with the overall resilience of this device. Honor has achieved something unexpected with the honor 5X, as even when pushing it to its limits, the device has not throttled significantly, and certainly not nearly as much as higher-end Qualcomm-bearing devices I’ve tested.

20160123_212237 20160123_212248 20160123_212301 20160123_212334

Even 30 minutes of continuous Geekbench, a strenuous test that submitted devices like the OnePlus 2 and Nexus 5X, produced no significant nor clearly-stratified drop in results, and the temperature didn’t exceed 40 degrees Celsius in the body, with the top of the device generating more heat due to the SoC location, yet the bottom being almost as cold as it was when the test began. From this testing I infer that the metal body of the honor 5X, as well as the internal configuration, allows the device to not hit the infamous temperatures other Snapdragon devices have reached under the same testing and similar conditions, and also avoid the consequences.

GPU & Gaming ^

The Adreno 405 found in the honor 5X might have a higher number than what we saw in chipsets such as the Snapdragon 801 and its Adreno 330, but that shouldn’t fool you. In fact, high-performance tests such as GFXBench’s Manhattan ES3.0 output about half the frames-per-second of devices like the M8, which also runs at the same resolution. The same disparity carries onto other tests like T-Rex on both on-screen and off-screen results. And as expected, 3DMark scores and all of the graphics breakdowns of every other benchmark also put the Adreno 405 way below old flagship chipsets.

GFBench Onscreen GFBench Offscreen

But putting the GPU into proper perspective — that is, against the competing GPUs of other budget chipsets, shows that it is still ahead of the output from the Mali T720 and other lower-end GPUs. This is also not to say that the Adreno 405 doesn’t produce decent graphics results. Indeed, this chipset is still running 1080p. Even though the GPU underperforms in comparison to the chipsets that arguably mastered this resolution, it actually is comparable to the generation before that (the Adreno 320 of the Galaxy S4 and HTC One M7) in raw output, closely matching the results in GFXBench scores and GameBench.

Asphalt 8 Modern Combat 5 Modern Combat 5 GTA: San Andreas (max settings) Dead Trigger 2 GTA:SA Usage

Speaking of gaming, the honor 5X is nothing to be surprised by, but it still shows competency in the “high-graphics” games we routinely test. Games like Asphalt 8 and Modern Combat 5, despite their popularity as the “ultimate game benchmarks”, are rather optimized and most phones have no trouble hitting 30FPS (a popular cap). The honor 5X does indeed hit the 30FPS average on Asphalt 8 (and the framerate jumps above, something not seen in clearly-capped test runs I have submitted in other reviews).

gta sa framerate

Around 10 minutes of GTA: San Andreas (maximum settings)

Modern Combat 5 comes close to the 30FPS cutoff, while Dead Trigger 2 and GTA:SA (max settings), more demanding games, significantly underperform in comparison to 2015 flagships, with the former hitting half the framerate of 810 and Exynos 7420 devices, and the second less than half. That being said, I have found no clear-cut throttling even in lengthy GTA sessions, a stark contrast to the 3-minute throttle I found on the OnePlus 2 and Nexus 5X.

As a side note, and to back up my claims about the honor 5X being below the threshold of required graphics output for a smooth 1080p experience, I downgraded the resolution to 720p using adb and shell commands (unrooted) and re-did the benchmarks. The on-screen results of GFXBench doubled (from 6FPS to 12FPS), and overall UI performance was smoother (not faster) with significantly fewer framedrops. The ROM’s more-consistent framedrop instances remained, however, suggesting that the issues surrounding this phone’s performance have to do with both the processor and the unoptimized EMUI.

Storage & RAM ^

storageThe honor 5X comes with just 16GB of storage, a number that is significantly lower than the current standard of 32GB, and even more-so when you consider the significant space the OS itself takes. That being said, the honor 5X does come with a microSD slot which you can use to expand upon the low base amount. I personally hit the 16GB cap twice during my two-week review period; once when downloading benchmarks to test the device, and another near the end of the run, as the space just got filled with media and other downloads.

It’d be nice to see a higher base-amount, and I hope that Huawei considers 32GB for whatever next mid-range comes along. The microSD is useful, but considering the honor 5X comes with Lollipop and not Marshmallow (for integration), it’s limited in comparison to what Android can offer on other devices.


Oh, the irony

As far as speed goes, the storage is rather slow, even when compared to other inexpensive devices we’ve reviewed. As it stands, sequential read and write are close to half the speed of the faster storage solutions we’ve reviewed. Random read and write are closer to the 2014 standard than that of 2015, and close to two times slower than the UFS2.0 record marked by the Note5. I haven’t found this to be a significant issue in day-to-day operations, but I know those that expect a pleasant ROM scene on any device would prefer faster storage.

honor 5X honor 5x Elephone M2 Elephone M2 OnePlus 2 OnePlus 2 Note 4 Note 4

The RAM amount of the honor 5X is a simple 2GB, well-below the current standard of 3GB, and half the 4GB amount that will cement itself as the new average in 2016 flagships. For a mid-ranger, it’s not bad at all, and only a handful of Chinese devices managed to cram in more at the same price-point. Without open applications, the available memory is close to 1.25GB, and EMUI does offer the ability to disable app auto-launching, and to lock apps into the recents menu. There is a handy RAM-count in the recents panel as well, but despite seeing a high amount of open RAM, this number is as misleading as it is on other devices, given the app cut-off seems to be around 5 running apps before one must be re-loaded.

Real World Performance ^

Note: Unlike in other reviews, I am not able to provide many screen-recorded samples because when using screen recording services, this devices drops more frames than usual. I assume this has to do with graphics performance, but I was unable to confirm.

cpuspyIn a nutshell, the only way to describe the Honor 5X’s real-world performance is “acceptable”. For a device competing in the mid-range space, while it doesn’t offer anything comparable to a flagship, it is certainly better than many if not most of it’s similarly-priced competitors. That being said, it’s still not as good as a performance-per-dollar as older mid-range devices that are better optimized, like those found in the Moto G line. I’d also say that in terms of overall performance, devices like the ZenFone 2 (2GB) give it a serious run for its money.

This is likely because of both the Snapdragon 615 and the UI that’s present here. To be fair, performance issues have been found on many Snapdragon 615 devices, and this one is not the exception. But the heavy UI certainly doesn’t help, and given the lack of clear throttling or heat generation in the benchmarking and gaming tests I did, it’s likely more about the software than the processor.

To cite some examples of performance issues, there is not just the typical stutters and framedrops, but also extremely consistent framedrops and animation lag in the recents menu and certain UI transitions; an example is the framedrops in the recents button press animation, as it happens every single time.

Screenshot (01-13PM, Jan 25, 2016)This makes the overall experience feel janky at times, but not to the point where it is unusable. In any case, I’ve found that rebooting the phone was a quick way to re-establish some performance that is lost after much uptime. The honor 5X also provides many memory-cleaning and performance-optimizing options and settings, but none are able to change much. Keep in mind that the device comes on a power-saver profile by default, but this review was done under the balanced profile.

While the animations are janky, the overall speed of the phone is not bad — in fact, I found the phone much more pleasant to use after disabling all animations, which made summoning apps in-memory instant, and also sped up launching them cold a little more. The recents menu is still not as fast as fluid as on other phones under this state, including the similarly affordable ZenFone 2 (2GB). That being said, if you are not planning on doing heavy multitasking and productivity-oriented tasks, the honor 5X is as good as any other phone under $300. It’s only when you try to push the phone a little more that you find issues:

Under heavy usage, the honor 5X does not compare to higher-end devices, or the more optimized mid-rangers we’ve seen last year. While no mid-ranger smartphone is going to give you a productivity powerhouse, I found the honor 5X impossible to use for editing on the fly, for browsing docs and sheets, or for heavy web apps. This was in part due to the apps themselves, but mostly due to the unpleasant delays in app-switching — even when the multi-tasking menu decides to launch swiftly, it won’t instantly respond to touch, meaning I often must click a second time. As far as web-browsing goes, you might want to use the built-in web browser if you plan on using a heavy web app or otherwise doing resource-intensive navigation. If you want to use your phone without frustration for prolonged periods of time, the honor 5X will likely make you wait

Display ^

The screen of the honor 5X is typical for a phone these days — 5.5 inches diagonally, 1080p resolution, IPS LCD. Typically is not the only word to describe it, as it’s fairly average as well. At a first glance, and on my first few moments with the device, the screen looked fairly beautiful, but that’s the intention behind every OEM’s first impression with the device. After changing the wallpaper from the carefully-picked and beautiful stock images, designed to show the display’s best strengths, I came to realise the screen is the standard offering for inexpensive phones.


In terms of brightness, it does a fair job in the real world, and I had no issues even with the hyper-reflective snow of Minneapolis on the sunnier days. It doesn’t get as bright as the latest generation of AMOLED panels, particularly when they go past their regular cap on auto-mode, but text was readable under the most intense sunlight I came across. That being said, I certainly can’t help but doubt it’d hold up as well as other screens in very sunny regions. It’s also worth pointing out that auto-brightness is adaptive, so you can adjust the slider.

20160125_141048 (1)

Screenshot 2016-01-25 06.50.04As for the display itself, the colors are a bit more saturated than I personally enjoy, with a clear contrast against the well-tuned AMOLED Basic mode of the Note5. This does help the stock wallpapers, and plenty of content, look very pleasant, and I know many appreciate the look — but the difference is there. Luckily there is not much distortion when looking at most colors at an angle, with blue having the clearest casting. The whites look nicer and colder than the Note5’s Basic Mode, and you can also adjust the color-temperature, so I don’t have many complaints on that regard.

There is no light-bleed on my unit, and the screen is consistent all across. The biggest downside comes with darker colors and blacks, which are pretty bad even for an LCD, and the issue is only reinforced by the black borders surrounding the screen. Black is also the worst part about the display at an angle, with most other colors seeing less of a variation and making that of the navigation keys and other black regions stand out significantly. Because of this, the average contrast of the honor 5X takes a hit when you look at the screen from an angle.


The blacks don’t hold up at an angle

Overall, it’s an average screen. I personally think that a more Stock-based color palette would do it a better service, as EMUI is too colorful by default and even with themes, the blur does not look as good as the solid colors of material design, under a palette that benefits all sorts of screens.

Camera ^

The camera on the honor 5X might have the same sensor as affordable but brilliant smartphone cameras like that of the OnePlus One, but after using it for two weeks, I must say its results are rather underwhelming, especially when factoring in the user experience. The camera has a UI that seems simplistic, with the ability to slide to the side and arrive to a Good Food mode and a Beauty mode on the gimmicky side, and video and time-lapse on the useful side. There is a gallery shortcut, and a bunch of filters. There are more features tucked behind the menu button, though, including HDR (why would they put it there?), a mode to adjust focus after the picture’s taking, slow-mo, Panorama, and Best Photo.

The fact that HDR is tucked away is secondary to ISO, white balance and other image adjustment settings hiding after yet another menu, making on-the-fly tuning much harder. This is not to say that the camera software has no merit: you can customize the actions of volume buttons, there is decent object tracking, it can automatically capture smiles, and there is an “ultra snapshot” mode that allows you to take a picture from deep sleep by double-pressing the volume down button, resulting in snaps in less than 1.5 seconds. All of this is nice to have, but as seen above, focusing and picture taking is not very fast, and the actual results vary too much.

One thing I’ve noticed, and that you can also see in the UI video above, is that the post-processing makes colors either too cold or too warm depending on where you tap to focus, and this makes for some awkwardly distorted colors. Beauty mode and Food mode also completely distort images, and while that’s kind of the point, the results are very unrealistic and not too pleasing. The camera can pick up a good amount of detail, but the exposure usually plays against it by not generating enough contrast to make it stand out.

Natural light Natural light Natural light Natural light Dusk Indoors Indoors Don't judge me Foodie Mode Medium natural light Medium natural light HDR Detail Detail (Note 5) Detail Detail (Note 5) Detail Low light

Low light photos are also really blurry, and middle-to-low light and indoors shots have noticeable noise in grey and dark areas. But when you grab some good natural lighting, the camera can output some pretty nice shots, with just the right exposure and background blur. I found that I managed to get better shots of objects than landscapes, but I admit I am not the best smartphone photographer. A good way to pick up more detail on the honor 5X is with HDR, which luckily does not over-saturate colors and in my testing has properly brought out more detail from shadows (as you can see in the picture of the red house).

Video is OK, and perhaps the most limited part of this device. It can record 1080p at 30 frames per second with no hardware stabilization, and you can judge the results in the video above. It’s also good enough for filming puppies indoors, for whatever that’s worth. There is not much to write home about here, but it gets the job done without merit nor shame in a space where few competitors like the Moto G (3rd Gen) can claim to provide an above-average camera experience.

Audio ^

The bottom speaker of the 5X is one of the more underwhelming aspects of the phone as it is extremely average in terms of performance. First of all, despite two speaker grills, only the one on the right produces any sound — an all-too-common trick that even big manufacturers succumb to. That said, the device doesn’t need two speakers to get loud. The phone can produce some high-volume output, but not without sacrificing some quality. As the sample before shows, using the Note5’s speaker as a reference for both volume and clarity (same conditions), the honor 5X shows similar volume but significantly different clarity.

The headphone experience with this phone isn’t too bad, though, and the microphone is decent for regular phone calls as well. I haven’t received any complaints on the other end, and I’ve used it at least an hour every day for calls, although it is clearly not noise-free. You can find a microphone sample below, with the Note5 playing the reference again under the same conditions. Do notice the slight to medium noise in the quieter moments and on top of my voice.

Battery Life & Charging ^

The honor 5X’s battery life was perhaps the most surprising part of my testing period. Simply put, the device completely surpassed my expectations by delivering insane amounts of screen-on-time and idle time, even during the days that I played heavy 3D games or tried pushing the phone to its limits. While a 3,000mAh Li-Poly battery might sound puny in an age where many are venturing past 3,500mAh, the honor 5X has offered me some of the best battery results I have tested so far.


Not only did it average over 8 hours on PCMark, but it also did so with remarkable efficiency

I can only speculate why this is; the phone does only employ A53 cores, which are power-efficient and usually focused on battery-saving. It also has no shortage of battery saving options, but I never actually used the power-saving profile nor the ultra power saving mode. In fact, the device came on a battery-friendly profile which I changed away from as soon as I found it during my first hour of usage. That being said, I suspect that the phone doesn’t sync as often as other devices, even when running the balanced profile, but I was no able to determine this with absolute certainty.

PCMark (Battery Life)

The battery benchmarks I did on this device show the expected results, with PCMark outputting a beastly 8 hour average, a score only rivaled by efficiency-juggernauts like the Note5 (similar score) or phones with massive batteries. Video playback on the honor 5X also allowed for over 10 hours of movies and 7 hours of youtube.

Example 1 total Example 1 SOT Example 2 total Example 2 SOT Idle Time Overnight

I never managed to fully kill the phone with a single day, usually hitting around 4 hours of SOT by the time I got to bed with close to 40% battery life left. I simply haven’t been able to deplete it, not even with heavy usage, gaming and benchmarking. My regular usage mostly consists of Reddit, Youtube, Chrome, all of the Google Docs suite (which as I mentioned earlier, I didn’t use too much given the phone’s productivity-crippling UI performance), navigation and games (Crashlands!). Idle times were also excellent, with slightly above 1.2% battery drain per hour on LTE, and a surprisingly-low 0.4 to 0.6% drain per hour while sitting overnight on wi-fi. I haven’t had any issues with wakelocks, and I honestly never worried about this phone’s longevity during the day. Which is good, considering the phone has really limited charging options.

ampereThe honor 5X foregoes both fast charging solutions and wireless charging (as one would expect), which means that charging this phone is nowhere near as quick as some phones get, and with Quick Charge 3.0 coming with the Snapdragon 820, the gap between the honor 5X’s charging time and the fastest out there will significantly widen. Using Ampere, I found that the battery would only take close to the 1A it is supposed to take even with fast chargers (2A), and significantly less on high-percentages. If it wasn’t for the surprising battery performance of this device, such prospect would be troubling.

Thoughts on Development & Future Proofing ^

Because this device practically just launched, we still haven’t seen much of an impact in terms of development, and at the moment there is very little we know about its future support by the community — if you want to help or discuss, please visit the official forum. What we do know is that the honor 5X will receive OEM support. Firstly, the kernel sources have already been released, allowing interested developers to take a peek and tinker. Huawei also allows bootloader unlocking by downloading a tool in their EMUI site. Finally, we know that the device will receive updates including Marshmallow, and it has already received a security patch (I have not installed it yet) in preparation for launch.

It’s also worth noting that there has been some development for other Huawei and Honor devices that has brought AOSP-based ROMs to them. The honor 4X, for example, has unofficial CM builds despite its Kirin processor. Considering the honor 5X has a friendlier Qualcomm chipset, chances are someone will get an AOSP ROM (or otherwise, a CyanogenMod port) running on it. I personally hope that’s the case, because a ROM that’s more akin to stock would, in my opinion, tremendously increase this phone’s value to western power users.

The biggest future-proofing constraints come at the hand of the phone’s hardware, a sad state of affairs as they cannot be circumvented by OEM support or the cleverness of XDA developers. The phone has no NFC, meaning you won’t be able to use it with the ever-growing Android Pay. It also lacks a gyroscope, which limits some of its Virtual Reality potential. There is no band 12 for T-mobile, and there is also no 5GHz wi-fi. The phone’s battery is non-removable, it lacks wireless charging, and it simply isn’t a fast charger when wired either, at a time where manufacturers are trying to out-do each other in charging times.

Conclusion ^

The honor 5X is a device that tries to do too much and asks little for it. This phone is now the vanguard of the mid-range segment, and I don’t think I am going on a limb when I state that it is, perhaps, the most “valuable” affordable smartphone, especially against other $200 phones and when much of its competition still has not caught up to it in terms of physical design and hardware. This is one of the cheaper devices to offer a fingerprint scanner and a metal body (especially in the west), and given it packs both, it’s no wonder that this combination makes for the slogan of the phone’s marketing campaign.

The device does have its shortcomings, and it is certainly well-behind what we come to expect from flagships in almost every aspect. Because of this, it does not fall in the “affordable flagship” category, but in that of a “premium mid-ranger”; frankly, I feel that the line between these two labels blurs with every release. But for now it is a crucial distinction, because saying this is a traditional flagship would be a lie, yet just calling it a mid-ranger would be a severe understatement. I cannot avoid admitting that because I primarily look for productivity, I am not within the target demographic of this device. Its performance and resulting user-experience are very different from what I’ve grown accustomed to. Yet I do see a lot of potential in the actual features of EMUI, and the phone itself is one of the most pleasant devices I’ve looked at, ever.

It’s simply unbelievable that this phone is $200, and everyone I showed it to expected the price-tag to be much higher. One would also expect the low cost to come at the expense of plenty of hardware, but other than excluded components such as NFC and gyroscope, the phone is around the standard or above the average in almost every aspect when compared to competitors in the same bracket. For less than the price of the latest Moto G, you get a better screen and a significantly bigger battery with good results. The audio and storage come off as the weaker points in terms of hardware, but cheap phones are not traditionally renowned for good storage or audio either.

By far the most polarizing aspect of this device is its user interface, which I’ve seen many people dub an “instant turn-off”. Again, I must say that the overall UX of EMUI is not my cup of tea. I welcome the useful features the UI brings, but I do question whether the sacrifices in performance and aesthetics make the usefulness a worthy trade-off for those looking to use this device for more serious use-cases.

I am inclined to say no, but I know for a fact that many users, particularly those looking for a phone in this segment, would be enthused to have so many of the features this phone has – again, plenty of which is the kind of stuff we root our phones for – and in such a stunning chassis to boot. But on that note, the future development for this device is still uncertain. We know it’ll be officially supported, that sources will be available, and that the processor is one of the friendlier ones. The activity on XDA will ultimately be determined by the impact this phone has on the market, particularly among the demographics it targets.

One thing is certain: this phone packs incredible value for just $199, and anyone that wants a beautiful phone chock-full of features for a steal should consider the honor 5X and the immense amount of things it offers. Those that are looking for a more traditional, solid experience and are willing to fork out a few extra hundred, though, have many options to consider.

Be sure to check out our contest to win a honor 5X!

Check Out XDA’s honor 5X Forum >>

We thank honor for providing XDA with review units of the 5X. While we worked with honor to help promote the honor 5X on XDA, this review, and all content you’ve seen about the device, was unaltered and uninfluenced by them.

by Mario Tomás Serrafero at January 28, 2016 02:52 PM

January 04, 2016

VidWall Sets HD Videos as Smooth Wallpapers


We’re always on the lookout for apps made by active XDA community members! If you’ve made such an app, let us know by contacting any portal writer.

Android gives us plenty of ways to customize our devices, which many of us have turned into a hobby by constantly trying to find the best custom ROMs, themes, third-party launchers, icon packs and wallpapers. The last is the easiest to modify, but still provides one of the biggest changes.

Live wallpapers take it a notch further by allowing you to have animated (and sometimes interactive) wallpapers. XDA Senior Member Flyview decided to leverage this Android feature and make VidWall, an application that offers a set of high quality videos for you to use as live wallpapers. It sets itself apart from the competition by offering full HD and more lengthy videos instead of only short loops. The clips do not loop perfectly, though, but the cutoff is good enough to be both convincing and pleasant.

Despite this, the playback was still very smooth even on a three years old flagship (Samsung Galaxy S4). The available selection is still somewhat limited at the moment with six videos you can choose from for free, but it’s still growing and more videos will be added in the future.

It’s also worth mentioning that both portrait and landscape orientations are supported: except for the Christmas wallpaper, whichever video you pick will fill your screen regardless of the orientation. Battery usage is also minimal, and you’re unlikely to notice decreased battery life while operating your device normally.

Last but not least, VidWall is free and without ads. If you’d like to support the developer, one additional paid wallpaper is also available for purchase. Simply head over to the VidWall forum thread if you’re interested in trying it out, and let the developer know about any suggestions or comments you might have!

by GermainZ at January 04, 2016 05:22 PM

December 27, 2015

Jide Remix Ultra Tablet Review: Multi-window Done Right


Jide may not be the OEM that first spring to mind when considering a new tablet, but the crowdfunding-born company produce one of the best productivity tablets available. Renowned for their heavily customised version of Android, Remix OS brings a level of multi-tasking never seen before on Android. Their massive Ultra tablet has had time to receive many updates and bug fixes by now, so lets take a look at what it has to offer.


Model: Jide Remix Ultra Tablet
Display 11.6” Full HD IPS 1920 x 1080p
CPU NVIDIA Tegra 4*1 A15 Processor 1.81GHz
GPU Tegra GPU GeForce ULP 72
Storage 64GB
SD Card Support Yes
Size 189mm x 295mm x 9.5mm
Weight 860g
Battery 8100 mAh
Camera Front: 5MP Rear: 5MP


Design & Build Quality ^

When I received the tablet from Jide I was taken aback by the effort that had gone into the packaging. I have received many devices in plain brown card boxes with nothing but a product name and serial number before and that is not something that bothers me in the slightest. Removing this tablet from the shipping material I felt something I haven’t experienced for a long time, excitement the box itself was very much like a gift. A large white box made of a thick white cardboard, in the top was the word “REMIX” embossed and inlaid in silver, the bright blue seam running at angles to the box around the edge. This is certainly not something I require from my devices, but is it something I appreciate? Yes.

The glass front of the device is a standard affair, a thick black bezel surrounds the 11.6 inch IPS display broken only by the camera and microphone in the top center and the Jide logo center of the bottom. Beware fingerprints do stand out incredibly well. The left side of the unit features a nice wide black volume rocker with a silver chamfered edge and a large 3 part speaker grill. The right side of the device is note-worthy, alongside the 2nd speaker grill, micro USB port and headphone jack is the proprietary magnetic charging port a long narrow slot with 4 gold pins. Usually I dislike proprietary chargers however in this case it charges much faster than the micro USB alternative, frees up said USB port for an

OTG device and the addition of magnets allow for a more nonchalant approach to charging. It is perfectly feasible to move your tablet in the direction of the charger give a little shake and it will happily snap into place. The back of the device features a classy sheet of aluminium which not only looks and feels great but also does a spectacular job of heat dispersion. This is broken by a hinge at the 1/3 point to provide an adjustable kickstand that will rest at both 40 degrees and 80 degrees.

IMG_20151222_171834 (1)
IMG_20151222_171845 (1) 

The units most noticeable feature upon picking it up is the weight, weighing in at 860g/1.9 lbs, this means that you will be making use of that kickstand as most people will be uncomfortable holding it without support for extended periods.

Remix_05The tablet ships with a detachable magnetic keyboard, featuring 81 keys with a travel distance of 1.2mm meaning that typing is very tactile. Most of the standard shortcuts are supported including Ctrl+C, Ctrl+V, and Ctrl+X. The keyboard easily folds up over the screen acting as a cover when the device is not in use and a soft felt finish to the palm rest and trackpad ensure that the screen is not scratched by the keys when closed. When being carried around the keyboard can be attached in reverse, covering the rear of the tablet and keeping it out of the way. A few noteworthy points are that the keyboard only ships with the U.S. configuration meaning that users in other countries may have to become accustomed to the different key placing. Secondly, to use the keyboard the tablet must have the kickstand out or be laid flat meaning that work on your lap is difficult due to space requirements.




Software, UI & Features ^

I have never been a strong advocate for multi-window in Android before, I have certainly used it but have always stopped using it after a short while. I felt that it was an unnecessary feature that was until I used it in Remix OS, resizable windows that can be minimised and brought back with a touch may not be something that I could ever feel the need for on a phone but on a tablet it just feels right and is certainly something that should be integrated on Android devices with larger screens.


The UI is closer to that of a desktop than most Android tablets. The taskbar allows app management in a manner that will feel familiar to desktop users with app pinning, switching and minimisation available with just one click. The ability to resize and freely move apps really allows for mostly flawless multi-tasking and therefore increase productivity significantly.  As can be seen in the screenshots, opening a song detection app while watching TV, reading guides while playing games, or discussing media as you watch are all simple tasks. With some minor bug fixes (see below) I could happily see myself using Remix OS on a desktop instead of my current ChromeOS.

Screenshot_2015-10-14-15-51-59 (1)

RemixOS itself is very different from stock, the major alterations to the system have necessitated some changes such as the addition of a task bar. The notification drawer has been changed to make use of the space better and the settings menu has been skinned to look like Windows. This also means that you are unable to use a 3rd party launcher (we tried and failed to find one that would run).

Screenshot_2015-12-26-22-41-34 (1)

I did note a few issues:

  • Chrome for Android is automatically set to display the mobile version of sites, which means many sites will not display correctly on such a large screen. This can be fixed easily enough though and is an issue with Chrome not Remix OS.
  • Some apps refuse to work and can even necessitate a reboot, Hangouts for instance will not open in windowed mode but will instead remain open in the system but disappear from view, as the tablet will then remember that you wanted it opening in windowed mode you will have to uninstall hangouts and reinstall in order to use it again.
  • Inbox by Google will open, but the bar allowing you to move the window around doesn’t appear with it so it’s stuck taking up the centre of your screen.
  • apps that need to run in the background in order to provide you with notifications such as: social media apps, messaging and email. Will not function correctly out the box, I realised quickly that unless an app was open I would not receive notifications and could not find a solution. After a lengthy search of the Jide forums and searching through the countless threads of people with the same issue I came across a simple answer. Apps were automatically not allowed to run in the background, the solution lies inside the “power manager” app, where you can whitelist apps.
  • Some apps such as Hangouts (again) have issues with scaling on a device with an 11.6″ display, meaning that because the app must be run in full screen most of the screen will be blank space.
  • For some reason if you have Google Play Movies open you are unable to access the notification tray, and any attempt to do so will result in the tablet crashing and booting you to your lockscreen. This means that if you want to quickly check if you have messages or if a file has finished downloading you are unable.

Performance & Memory ^

Screenshot_2015-12-27-00-46-42 Screenshot_2015-12-27-00-38-24

The device as can be seen from the specs is certainly not a gaming tablet, it is designed for efficiency through multi-tasking and work. If gaming is your thing games do look glorious on the 11.6″ display and the vast majority will run fine, but you may notice occasional lag and frame skips. AnTuTu returns a mid range score of 41341 while Basemark OS II placed the device just below the 2014 Samsung Galaxy A5 Duos, a little disappointing for spec addicts like many of us, but not something that I actually noticed that much. To explain it simply, I would say it was adequate for day to day usage, and more than sufficient for working, whether it be in the office or the classroom. Apps such as Microsoft Word and Google Docs work great alongside others such as chrome, Remix OS does a great job of handling multiple apps at the same time even with 2GB of DDR3 RAM.

PCMark places the device right above the ASUS Memo Pad 7

GFXBench places the tablet alongside devices such as the LG G4 Stylus, the Zenfone 5 and the Nokia Lumia 1520 on the high-level tests. However on the low-level tests the device is placed with the HTC One M9 and the Galaxy Note 10.1 and Pro 12.2.


The User experience of the tablet is harboured on occasion by seemingly random crashes and other such errors as can be seen below. On occasion closing a full-screen app will reveal a black screen, with no access to the taskbar or app drawer requiring a reboot in order to use the tablet again. I have seen that from time to time unlocking the tablet will result in a “process system isn’t responding” notice followed by being booted back to the lock screen, rebooting tends to rectify this issue. These issues appear to have been rectified in recent updates.


Display & Audio ^

The full HD display is a clear and bright outfit and at 11.6 inches is perfect for gaming and movies while at the same striking a balance with battery consumption that is vital with a screen of this size. Faint ghost images of previous apps can be seen at times however, this is more likely due to a software issue than hardware. Colours are well balanced and saturation is not too high.

The stereo speakers are both the largest and best I have seen on a device, audio is fantastically clear and even on full volume there is no distortion. These are easily one of my favorite features of the tablet with audio being easy to hear even with moderate background noise. I have on a few occasions now set the tablet down and decided that the benefit gained from plugging in the tablet to my office’s speakers was simply not necessary when in the same room.

Audio recording comparison of the Jide tablet to a Xiaomi Mi Note:

Camera ^

Both cameras are of the same quality and are capable of 1080P videos and 5MP, 2560 x 1920 photos. The significant size of the tablet almost surely means you are not likely to be carrying it around with you ready to take photos of day to day occurrences when you have your phone with you. Meaning that the camera here is likely intended for video calls and the like, the lack of flash can be an issue in low light situations and pictures usually end up with mild distortion or lines running across them. Even in well-lit areas images can appear muted with a significant lack of colour. I reiterate, if you are just wanting to make a call on Hangouts or Skype, it should be fine. If you are hoping to take amazing landscape shots, be sure to pack your phone.

IMG_20151227_034120 IMG_20151227_034006 IMG_20151227_033932 IMG_20151227_034052~01

Battery Life ^

Battery life is incredibly varied on this device, the system handles basic tasks well but more advanced tasks kill the battery very quickly. I have been able to have Microsoft word, Powerpoint and Chrome for Android open for the majority of 6 hours on a regular basis. However you will probably need to plug your tablet in if you intend on streaming more than 2 hours of video while on full brightness. Charging on a daily basis is something you will have to do if you are using the tablet regularly as it is easy to get carried away and have several battery draining apps running on screen at once. I have tried to charge the device with a power bank with micro-USB but with an 8100 mAh battery this is going to be a long and laborious process.

Rootability & Future Proofing ^

Root has been reported by many as achievable easily with KingRoot, however with an OTA for Remix OS 2.0 (Android 6.0) arriving in the coming months, you may wish to hold off for now as rooting will disable OTAs such as the one demonstrated in the video below.
Regarding the future proofing of the device, I have had the impression since day one that this is a tablet designed for general office work and productivity for which the specs are more than adequate and will continue to be so for a long time coming. High-end games and intensive apps may stutter now, but we have yet to see how the next big update will affect them although the chances of stretching the specs further seem unlikely. When asked about the possibility of a 2nd Ultra tablet with improved specs, Jide informed me that “We do have exciting announcements in the works and we’ll share in a timely fashion. Please stay tuned!” So of course, keep an eye on the portal and we will let you know if anything interesting turns up. With a little extra RAM and a larger battery this tablet could really stand out from the crowd as a near perfect tablet for productivity.

Final Thoughts ^

The software is exceptional while many of the issues currently being reported are said to have been fixed in the coming update which should roll out in early 2016. The thought of having Remix OS 2.0 run on a device like the Pixel C is an exciting prospect and not entirely unlikely as the OS is already officially available for several Nexus tablets through their site. When all is said and done, the tablet is a perfect example of what can be done when an OEM focuses on a problem like multitasking and achieves something that leaves you thinking it should be readily available in some form on stock Android. If you are interested in picking up a Remix Ultra Tablet we negotiated a $50 off voucher and free shipping if you head to their store via the link below!

  $50 off and free shipping
Be sure to keep an eye out for our review of the Remix Mini, a tiny Android PC running Remix OS 2.0 which is coming in the next few days.

by Mathew Brack at December 27, 2015 04:53 AM

November 06, 2015

FULLY automated wireless timing system using Android

Check out the new video for Wylas Timing. Doesn't it just eek the pared down Android form factor. Commodity hardware delivering superior and affordable functionality. All through the power of software delivered on an open framework like Android.

This is where mankind is getting great value for dollar now. Well considered open systems that provide clear integration points for others to connect to and build on top of. Reinventing the wheel each time is a sure road to obsolescence.

If you are associated with a swimming or athletics club you can sign up for a free trial at

by William Ferguson ( at November 06, 2015 12:27 AM

October 29, 2015

Measuring Activity Startup Time

In recent talks I've given, as well as the Developing for Android series, I talk about the need to launch quickly, and about how to ensure that you're testing the right launch speed (cold start, like after reboot and (mostly) after killing a task, vs. warm start, which is way faster because the activity just has to be brought to the foreground).

Then someone asked me, quite reasonably, "So how do I get my app's launch time?"

Then I paused and wondered the same thing...

Whenever I've done this kind of benchmarking on framework code, I've had the ability to instrument exactly the bits I needed to. But how can non-framework developers get the information they need from just running the normal build?

Fortunately, this information exists, and has since API 19. So if you're running on any release later than 4.4 (Kitkat), you should be set.

All you have to do is launch your activity and look in logcat for something like this:

ActivityManager: Displayed +768ms

This information is output whenever an activity window is first drawn, after it goes through all of the startup stuff. This time includes the entire time that it took to launch the process, until the application ran layout and drew for the first time. This is basically the main information you need. It doesn't include the amount of time it took between the user clicking your app icon and the system getting ready to launch your activity, which is fine, because you cannot (as an app developer) affect that time, so there's no need to measure it. Instead, it includes all of the time it took to load your code, initialize your classes that are used at start time, run layout, and draw your app that first time. All of which is really what you want to measure, because that's what you can and should try to optimize.

There's an additional option to be aware of. The 'Displayed' time is automatically reported, to give you a quick measure of how long that initial launch took. But what if you are also loading in some other content asynchronously and want to know how long it took for everything to be loaded, drawn, and ready to go? In that case, you'll want to additionally call Activity.onReportFullyDrawn(), which will then report, in the log, the time between that initial apk start (the same time as that used for the Displayed time) and the time when you call the onReportFullyDrawn() method. This secondary time is a superset of the initial one (assuming you call it after the initial launch time, which is preferred), giving you the additional information about how long it took to do everything, including the follow-on work after the app was first displayed.

There is another way of measuring startup time which is worth mentioning for completeness, especially since it uses my favorite device tool, screenrecord. This technique involves recording the entire experience of tapping on your app's icon to launch it and waiting until your app window is up and ready to go.

First, start screenrecord with the --bugreport option (which adds timestamps to the frames - this was a feature added in L. I think):
$ adb shell screenrecord --bugreport /sdcard/launch.mp4

Then tap your app icon, wait until your app is displayed, ctrl-C screenrecord, and pull the file up onto your host system with adb pull:
$ adb pull /sdcard/launch.mp4

Now you can open the resulting video and see what's happening when. To do this effectively, you'll need to have a video player that allows you to step frame-by-frame (Quicktime does this, not sure what the best player with this feature is on other OSs). Now step through the frames, noticing that there's a frame timestamp at the top of the video window.

Step forward until you see the app icon highlighted - this happens after the system has processed the click event on the icon and has started to launch the app. Note the frame time when this happened. Now frame-step forward until you see the first frame that your application's full UI begins to be visible. Depending on your launch experience (whether you have a starting window, a splash screen, etc.), the exact sequence of events and windows may vary. For a simple application you'll see the starting window come up first, then a cross-fade with the real UI in your application when it's ready. You want to note the first frame where you see any of the real UI content of your app. This happens when your app has finished layout and drawn itself, and is now ready to be shown. Note the time at this frame as well.

Now subtract the two times ((UI displayed) - (icon tapped)); this is the full time that it took for your app to go all the way from the initial user tap to being drawn and ready. It is a superset of the "Displayed" log described above, since it includes time before the process launches and after that first rendering (when the system starts the cross-fade animation), but it is at least something that you can use for comparison purposes with other launches after you make things faster and want to see how much better it is.

As with any performance testing, it's good to try to run your tests in similar situations multiple times (including making sure you're testing 'cold start' as noted above), as various things can happen to vary the results on any one run.

Now that you know how to figure out your launch times, whichever approach you use, go make it faster.

by Chet Haase ( at October 29, 2015 04:45 PM

September 01, 2015

Another Oneplus 2 update rolls out from today

I guess one of the advantages of having a handset made by a company with so few products is that their developers get to spend a whole heap of time fixing any bugs. Today Oneplus have started rolling out a second incremental update for their latest device with a promise of a more substantial update to come mid September.


In OxygenOS 2.0.2, you’ll find the following:

  • Improvements to fingerprint recognition accuracy
  • Resolves a bug that could cause volume to be muted unexpectedly
  • Stability improvements to the front facing camera
  • Camera preview UX improvements

A 2.1 update with more significant improvements is on its way and currently scheduled for mid-September.

As well as today’s update the company has started working through the invite backlog with a bit of vigor this week, with 24 account linked invites hitting ordinary customers emails.

by UbuntuBhoy at September 01, 2015 03:15 PM

August 16, 2015

Large update to Gem Miner 2 arriving tonight

The main features are new levels and the hard difficulty added for the Rainforest expansion.

Complete change list:

  • Added 3 new expeditions
  • Added hard difficulty to Rainforest pack
  • Fixed tech mine freeplay not loading
  • Improved stamina display – it now extends to better indicate additional stamina from upgrades
  • All expedition difficulties are unlocked from start
  • Retouched UI – thinner borders
  • Added a page turn animation in menus
  • Various menu pages rearranged slightly
  • New loading screen
  • Fixed bug where dirt chips from digging would sometimes appear above you
  • Fixed spelling mistake on rainforest level
  • Fixed conversation icon for Jimjam/Tiktok
  • Fixed various bugs in Rainforest level 9 (Lost)
  • Fixed a bug at the end of Rainforest temple 1
  • Fixed lift and crane sound bug in tech mine
  • Fixed bug where mosquitos could be captured
  • Fixed objective sparkles in the wrong place
  • Fixed star overlay in camp menu
  • Ladders now destroy very quickly in lava to encourage walkway use
  • Fixed the ability to destroy the scientist!

by Psym at August 16, 2015 07:12 AM

June 24, 2015

Beato Bezel Adds an Extra Control Method to the Moto 360


One of the most popular choices in the world of the smartwatch is last year’s Moto 360, although with a successor expected sometime this year, it’s starting to feel a little long in the tooth. However, a project by Michael Lo over on Kickstarter has its sights set on breathing some new life into this aging wearable by adding an entirely new control method.


Lo’s Beato Bezel adds an extra stainless-steel bezel on top of the existing one, like a case, which the user can rotate to select different areas of the display. It uses a transparent conductive film to transfer touch information to the watch’s display, without adding significant bulk to the device. The page itself shows renders and images of the bezel, and a video of it in action, showing at least that a prototype exists and does seem to function as described. No battery is required, and importantly no SDK is either, due to the simple nature of the design. The other advantage here is that the Beato Bezel isn’t too expensive when you consider that it could add a whole raft of functionality to your Moto 360, coming in at $29 for one bezel as part of ‘Early Bird Special’, $39 once the campaign has ended, or $59 for a package of both black and silver versions.




Unfortunately however, this all boils down to what use you can actually get out of this device. Do you really need a new way of interacting with your smartwatch? Android Wear of course isn’t designed to work properly with a rotational selection method, and annoyingly, something like scrolling through lists is the kind of situation where this sort of functionality could be useful. There is potentially influence from the Digital Crown on the Apple Watch here (along with more traditional timepieces), but without the benefit of an operating system that expects that kind of control, we are struggling to think of any immediate benefit from this new control layer.




Although Michael’s own point about being able to choose something on-screen without covering it with your finger is a good one, we left physical scroll-controls behind in the HTC Desire-era, and generally with good reason. Once again, this success of the Beato Bezel will entirely depend on developers dreaming up and implementing a compelling reason to use this $29 control method beyond the vague ‘games’ possibilities that are highlighted in the pitch. As much as the absence of an SDK is useful for quick adoption, perhaps an accompanying app or two to demonstrate its possible uses would be beneficial to those who are on the fence.



Don’t be put off though, you might have thought of something that we haven’t! Head on over to the Kickstarter page to check out all the details and decide for yourself.

What do you think of the Beato Bezel?  Let us know in the comments!

The post Beato Bezel Adds an Extra Control Method to the Moto 360 appeared first on xda-developers.

by Jack Jennings at June 24, 2015 12:00 PM

June 18, 2015

Where are the vogella example projects at Github?

On a regular basis I get the question where people can find the example code of our tutorials. There are on Github but Github is big, so we created this vogella Source code page to make it easier to find the correct repository.

Lets the Pull Request be coming. :-)

by Lars Vogel at June 18, 2015 04:03 PM

May 29, 2015

Android Design Support Library

Posted by Ian Lake, Developer Advocate

Android 5.0 Lollipop was one of the most significant Android releases ever, in no small part due to the introduction of material design, a new design language that refreshed the entire Android experience. Our detailed spec is a great place to start to adopt material design, but we understand that it can be a challenge for developers, particularly ones concerned with backward compatibility. With a little help from the new Android Design Support Library, we’re bringing a number of important material design components to all developers and to all Android 2.1 or higher devices. You’ll find a navigation drawer view, floating labels for editing text, a floating action button, snackbar, tabs, and a motion and scroll framework to tie them together.

Navigation View

The navigation drawer can be an important focal point for identity and navigation within your app and consistency in the design here can make a considerable difference in how easy your app is to navigate, particularly for first time users. NavigationView makes this easier by providing the framework you need for the navigation drawer as well as the ability to inflate your navigation items through a menu resource.

You use NavigationView as DrawerLayout’s drawer content view with a layout such as:


    <!-- your content layout -->


You’ll note two attributes for NavigationView: app:headerLayout controls the (optional) layout used for the header. app:menu is the menu resource inflated for the navigation items (which can also be updated at runtime). NavigationView takes care of the scrim protection of the status bar for you, ensuring that your NavigationView interacts with the status bar appropriately on API21+ devices.

The simplest drawer menus will be a collection of checkable menu items:

<group android:checkableBehavior="single">

The checked item will appear highlighted in the navigation drawer, ensuring the user knows which navigation item is currently selected.

You can also use subheaders in your menu to separate groups of items:


You’ll get callbacks on selected items by setting a OnNavigationItemSelectedListener using setNavigationItemSelectedListener(). This provides you with the MenuItem that was clicked, allowing you to handle selection events, changed the checked status, load new content, programmatically close the drawer, or any other actions you may want.

Floating labels for editing text

Even the humble EditText has room to improve in material design. While an EditText alone will hide the hint text after the first character is typed, you can now wrap it in a TextInputLayout, causing the hint text to become a floating label above the EditText, ensuring that users never lose context in what they are entering.

In addition to showing hints, you can also display an error message below the EditText by calling setError().

Floating Action Button

A floating action button is a round button denoting a primary action on your interface. The Design library’s FloatingActionButton gives you a single consistent implementation, by default colored using the colorAccent from your theme.

In addition to the normal size floating action button, it also supports the mini size (fabSize="mini") when visual continuity with other elements is critical. As FloatingActionButton extends ImageView, you’ll use android:src or any of the methods such as setImageDrawable() to control the icon shown within the FloatingActionButton.


Providing lightweight, quick feedback about an operation is a perfect opportunity to use a snackbar. Snackbars are shown on the bottom of the screen and contain text with an optional single action. They automatically time out after the given time length by animating off the screen. In addition, users can swipe them away before the timeout.

By including the ability to interact with the Snackbar through swiping it away or actions, these are considerably more powerful than toasts, another lightweight feedback mechanism. However, you’ll find the API very familiar:

  .make(parentLayout, R.string.snackbar_text, Snackbar.LENGTH_LONG)
  .setAction(R.string.snackbar_action, myOnClickListener)
  .show(); // Don’t forget to show!

You’ll note the use of a View as the first parameter to make() - Snackbar will attempt to find an appropriate parent of the Snackbar’s view to ensure that it is anchored to the bottom.


Switching between different views in your app via tabs is not a new concept to material design and they are equally at home as a top level navigation pattern or for organizing different groupings of content within your app (say, different genres of music).

The Design library’s TabLayout implements both fixed tabs, where the view’s width is divided equally between all of the tabs, as well as scrollable tabs, where the tabs are not a uniform size and can scroll horizontally. Tabs can be added programmatically:

TabLayout tabLayout = ...;
tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));

However, if you are using a ViewPager for horizontal paging between tabs, you can create tabs directly from your PagerAdapter’s getPageTitle() and then connect the two together using setupWithViewPager(). This ensures that tab selection events update the ViewPager and page changes update the selected tab.

CoordinatorLayout, motion, and scrolling

Distinctive visuals are only one part of material design: motion is also an important part of making a great material designed app. While there are a lot of parts of motion in material design including touch ripples and meaningful transitions, the Design library introduces CoordinatorLayout, a layout which provides an additional level of control over touch events between child views, something which many of the components in the Design library take advantage of.

CoordinatorLayout and floating action buttons

A great example of this is when you add a FloatingActionButton as a child of your CoordinatorLayout and then pass that CoordinatorLayout to your Snackbar.make() call - instead of the snackbar displaying over the floating action button, the FloatingActionButton takes advantage of additional callbacks provided by CoordinatorLayout to automatically move upward as the snackbar animates in and returns to its position when the snackbar animates out on Android 3.0 and higher devices - no extra code required.

CoordinatorLayout also provides an layout_anchor attribute which, along with layout_anchorGravity, can be used to place floating views, such as the FloatingActionButton, relative to other views.

CoordinatorLayout and the app bar

The other main use case for the CoordinatorLayout concerns the app bar (formerly action bar) and scrolling techniques. You may already be using a Toolbar in your layout, allowing you to more easily customize the look and integration of that iconic part of an app with the rest of your layout. The Design library takes this to the next level: using an AppBarLayout allows your Toolbar and other views (such as tabs provided by TabLayout) to react to scroll events in a sibling view marked with a ScrollingViewBehavior. Therefore you can create a layout such as:

     <! -- Your Scrollable View -->
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />



Now, as the user scrolls the RecyclerView, the AppBarLayout can respond to those events by using the children’s scroll flags to control how they enter (scroll on screen) and exit (scroll off screen). Flags include:

  • scroll: this flag should be set for all views that want to scroll off the screen - for views that do not use this flag, they’ll remain pinned to the top of the screen
  • enterAlways: this flag ensures that any downward scroll will cause this view to become visible, enabling the ‘quick return’ pattern
  • enterAlwaysCollapsed: When your view has declared a minHeight and you use this flag, your View will only enter at its minimum height (i.e., ‘collapsed’), only re-expanding to its full height when the scrolling view has reached it’s top.
  • exitUntilCollapsed: this flag causes the view to scroll off until it is ‘collapsed’ (its minHeight) before exiting

One note: all views using the scroll flag must be declared before views that do not use the flag. This ensures that all views exit from the top, leaving the fixed elements behind.

Collapsing Toolbars

Adding a Toolbar directly to an AppBarLayout gives you access to the enterAlwaysCollapsed and exitUntilCollapsed scroll flags, but not the detailed control on how different elements react to collapsing. For that, you can use CollapsingToolbarLayout:


This setup uses CollapsingToolbarLayout’s app:layout_collapseMode="pin" to ensure that the Toolbar itself remains pinned to the top of the screen while the view collapses. Even better, when you use CollapsingToolbarLayout and Toolbar together, the title will automatically appear larger when the layout is fully visible, then transition to its default size as it is collapsed. Note that in those cases, you should call setTitle() on the CollapsingToolbarLayout, rather than on the Toolbar itself.

In addition to pinning a view, you can use app:layout_collapseMode="parallax" (and optionally app:layout_collapseParallaxMultiplier="0.7" to set the parallax multiplier) to implement parallax scrolling (say of a sibling ImageView within the CollapsingToolbarLayout). This use case pairs nicely with the app:contentScrim="?attr/colorPrimary" attribute for CollapsingToolbarLayout, adding a full bleed scrim when the view is collapsed.

CoordinatorLayout and custom views

One thing that is important to note is that CoordinatorLayout doesn’t have any innate understanding of a FloatingActionButton or AppBarLayout work - it just provides an additional API in the form of a Coordinator.Behavior, which allows child views to better control touch events and gestures as well as declare dependencies between each other and receive callbacks via onDependentViewChanged().

Views can declare a default Behavior by using the CoordinatorLayout.DefaultBehavior(YourView.Behavior.class) annotation,or set it in your layout files by with the app:layout_behavior="$Behavior" attribute. This framework makes it possible for any view to integrate with CoordinatorLayout.

Available now!

The Design library is available now, so make sure to update the Android Support Repository in the SDK Manager. You can then start using the Design library with a single new dependency:

 compile ''

Note that as the Design library depends on the Support v4 and AppCompat Support Libraries, those will be included automatically when you add the Design library dependency. We also took care that these new widgets are usable in the Android Studio Layout Editor’s Design view (find them under CustomView), giving you an easier way to preview some of these new components.

The Design library, AppCompat, and all of the Android Support Library are important tools in providing the building blocks needed to build a modern, great looking Android app without building everything from scratch.

by Reto Meier ( at May 29, 2015 05:43 PM

May 04, 2015

Samsung Galaxy Tab S2 to be announced in June

According to SamMobile, the Samsung Galaxy Tab S2 will be announced this coming June. There will apparently be four variants of the tablet. There will be an 8-inch model and a 9.7-inch model, with both having WiFi and WiFi + LTE respectively, for a total of 4 variants.

They will apparently be released worldwide, including the US, Canada, European markets, China, Latin America, Hong Kong, Korea, and India, though this information seems to be unconfirmed.

The Galaxy Tab S2 will have a 4:3 aspect ratio and will be even more thin than the iPad Air.

The post Samsung Galaxy Tab S2 to be announced in June appeared first on Galaxy Tabs.

by Jordan Smith at May 04, 2015 03:39 PM

April 29, 2015

Wallpaper Wednesday – Foggy Mountain Pass

This week’s wallpaper is called Foggy Mountain Pass.

This wallpaper will work great on any Galaxy Tab, Galaxy Note, or Galaxy S. Click here to download.

The post Wallpaper Wednesday – Foggy Mountain Pass appeared first on Galaxy Tabs.

by Kyle Dornblaser at April 29, 2015 03:50 PM

March 30, 2015

Building and Distributing Android SDK Add-Ons

Since Google Play Services took much of the thunder away from the Google APIs SDK targets, SDK Add-ons have fallen a bit out of the mainstream thought of Android developers. However, if you are an OEM of an Android-based product (especially one that may not be in the consumer space), then SDK Add-ons are worth another look.

by Dave Smith at March 30, 2015 09:16 PM

March 25, 2015

Android Performance Case Study Follow-up

Two years ago, I published an articled titled Android Performance Case Study to help Android developers understand what tools and technique can be used to identify, track down, and fix performance issues.

This article focused on Falcon Pro, a Twitter client designed and developed by Joaquim Vergès. Joaquim was kind enough to let me use his application in my article and quickly addressed all the issues I found. All was well until Joaquim started working on Falcon Pro 3, written from scratch. Shortly before releasing his new application, Joaquim contacted me because he needed help figuring out a performance problem that was affecting scrolling (and once again, I did not have access to the source code).

Joaquim used all the right tools and was able to quickly determine what was not causing the issue. For instance, he found that overdraw was not an issue. He was however able to narrow down the problem to the use of a ViewPager. He sent me the following screenshots:

Falcon Pro 3

Joaquim used the system’s on-screen GPU profiling tool to detect framerate drops. The screenshot on the left shows the performance of scrolling a timeline without a ViewPager and the screenshot on the right shows performance with a ViewPager (he used a 2014 Moto X to capture this data). The root cause seems pretty obvious.

My first idea was to see whether the ViewPager was somehow misusing hardware layers. The performance issue we observed could have been caused by a hardware layer updated on every frame by the list’s scroll. The system’s hardware layers updates debugging tool did not reveal anything. I double checked with HierarchyViewer and I was satisfied that the ViewPager was behaving correctly (the contrary was unlikely anyway and would have been troublesome).

I then turned to another powerful, seldom used, tool called Tracer for OpenGL. My previous article explains how the tool works in more details. All you need to know is that this tool collects all the drawing commands sent by the UI toolkit to the GPU.

Android 4.3 and up: Tracer has unfortunately become a little more difficult to use since Android 4.3 when we introduced reordering and merging of drawing commands. It’s an amazingly useful optimization but it prevents Tracer from grouping drawing commands by view. You can restore the old behavior by disabling display lists optimization using the following command (before you start your application):

adb shell setprop debug.hwui.disable_draw_reorder true

Reading OpenGL traces: Commands shown in blue are GL operations that draw pixels on screen. All other commands are used to transfer data or set state and can easily be ignored. Every time you click on one of the blue commands, Tracer will update the Details tab and show you the content of the current render target right after the command you clicked is executed. You can thus reconstruct a frame by clicking on each blue command one after another. It’s pretty much how I analyze performance issues with Tracer. Seeing how a frame is rendered gives a lot of insight on what the application is doing.

While perusing the traces collected during a scroll in Falcon Pro I was surprised to see a series of SaveLayer/ComposeLayer blocks of commands (click the picture to enlarge):

Tracer for OpenGL

These blocks indicate the creation and composition of a temporary hardware layer. These temporary layers are created by the different variants of Canvas.saveLayer(). The UI toolkit uses Canvas.saveLayer() to draw Views with an alpha < 1 (see View.setAlpha()) when specific conditions are met:

Chet and I explained in several presentations why you should use alpha with care. Every time the UI toolkit has to use a temporary layer, drawing commands are sent to a different render target, and switching render target is an expensive operation for the GPU. GPUs using a tiling/deferred architecture (ImaginationTech’s SGX, Qualcomm’s Adreno, etc.) are particularly hurt by this behavior. Direct rendering architectures such as Nvidia’s fare better. Since the Moto X 2014 devices Joaquim and I were working with use a Qualcomm Adreno GPU, the use of multiple temporary hardware layers was most likely the root cause of our performance problem.

The big question thus become: what is creating all these temporary layers? Tracer gave us the answer. If you look at the screenshot of Tracer you can see that the only drawing command in the SaveLayer group of OpenGL operations renders what appears to be a circle in a small render target (the tool magnifies the result). Now let’s look at a screenshot of the application:

Falcon Pro 3

Do you see these little circles at the top? That’s a ViewPager indicator, used to show the user her position. Joaquim was using a third party library (I don’t remember which one) to draw these indicators. What’s interesting is how that library draws the indicator: the current page is indicated by a white circle, the other pages with what appears to be a gray circle. I say “what appears to be a gray” because the circles are actually translucent white circles. The library uses a View for each circle (which is in itself wasteful) and calls setAlpha() to change their color.

There are several solutions to fix this problem:

  • Use a customizable “inactive” color instead of setting an opacity on the View
  • Return false from hasOverlappingRendering() and the framework will set the proper alpha on the Paint for you
  • Return true from onSetAlpha() and set an alpha on the Paint used to draw the “gray” circles

The easiest solution is the second one but it is only available from API level 16. If you must support older versions of Android, use one of the other two solutions. I believe Joaquim simply ditched the third party library and used his own indicator.

I hope this article makes it clear that performance issues can arise from what appears to be innocent and harmless operations. So remember: don’t make assumptions, measure!

by Romain Guy at March 25, 2015 06:32 PM

AOSP Sources in the IDE

We get asked a lot about the proper way to integrate the AOSP sources into an integrated development environment (IDE). This tutorial shows you how to use the integrated IDEGen scripts to do the job.

by Dave Smith at March 25, 2015 02:24 AM

February 24, 2015

AcDisplay and HeadsUp: Better Notification Handling

AcDisplay & HeadsUp

We’ve featured both HeadsUp and AcDisplay by XDA Recognized Developer AChep in the past. Both have been constantly improved since they were released, and with the recent updates for better Lollipop support and material design, we figured it would be a good time for a double feature.

The two apps are excellent for handling your notifications, each in their own and distinct manner.


AcDisplay informs you of new notifications you receive while your screen is off, by showing you a minimal overview allowing you to view, clear or action the notification.

Many customization options are provided: you can set the minimum and maximum priority of notifications to be shown (this is useful so that your screen doesn’t wake up for weather updates, for example) or even configure AcDisplay on a per app basis, choosing a custom wallpaper (or dynamically picking the notification’s icon/artwork), using the system font (as opposed to Roboto) and more. Inactive hours can also be defined to disable AcDisplay entirely during your sleep.

Two additional modes are also available, giving you the choice to use AcDisplay as your lockscreen, or automatically activating it when you pick your device up. Both of these options can also be dynamically disabled when no notifications are available.


HeadsUp, on the other hand, is more comparable to the feature introduced in Lollipop, though it adds many needed features and customization options to it.

When it comes to looks, you can select from two themes (dark and light). That’s not all, though: you also have the option to configure the heads up’s position, having it show at the top or bottom of the screen, and optionally overlaying the status bar. Emoji can also be enabled, as well as using the system font (mostly useful for non AOSP ROMs).

Swiping to the right or left can either dismiss the notification or hide the heads up — this is configurable by the user. Swiping up always hides all heads up notifications. Naturally, you can disable or enable HeadsUp for each app individually. A neat addition over the stock heads up system is that multiple notifications can be displayed at once, instead of replacing the previous one.

(If you’re on Lollipop and your ROM doesn’t allow you to disable the stock heads up system, you may want to try the Restore notification ticker on Lollipop Xposed module by XDA Recognized Developer MohammadAG.)

Both are compatible with all devices running Android 4.1 or later, though 4.3+ is recommended as it introduces notification listeners (giving third-party apps the ability to clear notifications and letting them know when one is cleared).

What’s New?

Versions 3.x have been out for a few weeks (with the latest releases coming out just yesterday), with bugs being squashed along the way and some features making it in. They should be fully usable now, with many changes since the 2.x releases.

For those who haven’t been following their development, here’s what’s new in 3.x for AcDisplay:

  • Material design!
  • Basic JellyBean (4.1&4.2) support.
  • Options to show emoji instead of text smileys, for overriding system fonts and better privacy features when Android’s secure lock is enabled.
  • Many other improvements, bug fixes and translation updates.

… and for HeadsUp:

  • Material design!
  • Options to make heads up overlap the status bar, show at the bottom of the screen or on the lockscreen, and to disable the timeout entirely. The behavior when swiping to the left or right can also be customized.
  • Users can swipe up to hide all heads up.
  • Many other improvements, bug fixes and translation updates.

(You can view the full changelog for HeadsUp here, and for AcDisplay here.)




Get Them Now!

AcDisplay and HeadsUp are both open source and published under the GPLv2+. You’re welcome to check them out or contribute: HeadsUp GitHub repo, AcDisplay GitHub repo.

Interested? Make sure to visit the HeadsUp forum thread and AcDisplay forum thread for more info, downloads and support!

The post AcDisplay and HeadsUp: Better Notification Handling appeared first on xda-developers.

by GermainZ at February 24, 2015 05:50 PM

February 05, 2015

Guide: In-Depth Look at the Best Android Keyboards


Many keyboards are available on Android, but not all of them are equal. Some try to be the best keyboard for all users, others target a niche market – whatever you’re looking for, you’re likely to find one that suits your needs.

To help you find the keyboard you want, we’re going to review a dozen (based on your comments here, plus some popular choices) by taking a look at several aspects:

  • Input:
    • Input modes (e.g. typing and swiping) and accuracy.
    • Input related gestures, if any.
    • Ease of use for numbers/symbols input.
    • Gestures, if any.
    • Text shortcuts and emoji.
  • Multiple languages:
    • Ease of switching between languages and dual language input.
    • Custom layouts for languages.
  • Correcting input and predictions:
    • Suggestions/auto-corrections.
    • Correcting input (undoing mistakes, controlling the cursor for precision, etc).
    • Custom dictionaries.
    • Next word predictions.
  • Themes/Customizability.
  • Other features.
  • Privacy. (Note: We’ll only link to the keyboard’s privacy policy for reference, and note if an Internet connection is necessary for some features. The choice is up to you.)

A short screencast will also be shown for each, to give you a quick idea of how easy it is to use (we’ll use an unknown word and punctuation by typing “Hello,!”).

Here’s the list of keyboards we’ll check. You can use it to quickly jump to those you’re interested in, or check the summary table at the end and come back for additional details:



Fleksy looks like your average keyboard, but it’s got some neat features to set it apart. It comes with some intuitive gestures you can use to quickly perform common actions. You can swipe to the right to insert a space, or to the left to delete the last word. Other gestures are also present, which we’ll discuss later.

Inputting numbers and symbols is usually done by switching to the secondary pane (they’re not shown at all in the primary pane). This can be done in multiple ways: you can press the “123” button, swipe from it, or long press any key. However, you can also activate “extensions” for additional functionality, such as adding a numbers row. Common punctuation marks are also offered as suggestions after every word, and you can cycle through them by swiping up and down.

Another extension allows you to define text shortcuts, which can come in handy for typing common phrases, emails or phone numbers quickly. Emoji and text emoticons input is also present, and can even be extended to insert GIFs (which is especially useful in Hangouts) using another extension.

One of the few annoyances with Fleksy is that it has a tendency to insert a space after every word or punctuation when smart spaces are enabled (even when returning to a new line — the previous one will end with a space). This could probably be made smarter, but you can fortunately turn it off if it bothers you.

Multiple languages

If you regularly type in more than one language, switching between them is easy enough — you just need to swipe the space bar left or right. You’re also able to change the layout of the keyboard for any language, and choose from the usual layouts as well as Colemak and Dvorak.

Fans of dual language input will be slightly disappointed, however, as there is no way to get corrections in another language without switching to it.

Correcting input and predictions

Fleksy heavily relies on its auto-correction. The goal is to provide reliable corrections without requiring a high level of accuracy, and it seems to work most of the time. When it doesn’t, you can just swipe up to undo the last correction (you can also swipe up or down to go through the list of corrections, if the first one isn’t accurate). This also makes typing foreign, technical or swear words easier, and makes auto-correction slightly less frustrating when you don’t need it.

The “Editor” extension allows you to move the cursor left and right by dragging a bar at the top of your screen. It also adds buttons to quickly cut, copy, select and paste content, although you’ll still have to select the text the usual way.

Another plus is that this keyboard is able to import your contacts’ names, as well as words you use in your social accounts, emails and SMS messages. Unfortunately, Fleksy doesn’t seem to respect the system wide personal dictionaries, which can make switching from/between some keyboards a bit of a hassle. On the other hand, adding and removing words is pretty easy — you just need to swipe up once more after undoing a correction.

Themes and customizability

You are able to choose from a variety of themes: some will change the colors, others will also set an image background for the keyboard. While you’re not able to create your own themes, the available selection covers a wide range. Some extensions also provide additional eye candy, like “Rainbow Pops” which makes key pops colored.

The keyboard’s size can also be reduced to free up some screen space, if you find it too big. You can also hide the bottom bar (which contains the space bar, emoji and return button — the other buttons’ functions can be accessed using alternate methods) on the go by swiping down with two fingers (to show it again, you just need to do the opposite).

Other features

The “Launcher” extension might prove to be useful to some users. It basically acts like a mini launcher, allowing you to switch apps (e.g. messaging apps) easily from your keyboard.

Another neat extension is “Invisible Keyboard”. Not only does it turn your keyboard invisible, as its name applies, it also makes all of the screen available to the foreground app (with the keyboard acting as an overlay). This allows you to type without sacrificing any screen estate (although it will obviously block any clickable content below the keyboard), assuming you can get used to it.


You can find Fleksy’s privacy policy here. You’ll need to have an Internet connection in order to download new languages or use cloud related features.



Google Keyboard


(Note that Google Keyboard and the AOSP keyboard are very similar, with the exception of some features that aren’t available in the AOSP keyboard, such as gesture typing and learning from Google services.)

Google Keyboard is a fairly traditional keyboard at first glance, but it actually comes with quite a bit of additional functionality. You can either type normally or enable gesture typing to swipe words (both can be used at the same time). The latter is quite accurate, and can even be used without lifting your finger at all by gliding over the space bar between words (although that often comes at the cost of accuracy).

To type numbers, you can either long press the top row or switch to the secondary pane. For symbols, you have the choice between switching panes and long pressing the “.” key instead, though the layout being slightly different from the secondary pane can cause some confusion. (You can also swipe from the “?123″ key, which instantly switches to the secondary pane.) If you prefer having a numbers row and more easily accessible symbols, you can enable the PC layout in the settings (unfortunately, this doesn’t provide arrow keys).

Emoji and text emoticons are easily accessible by long pressing the Enter key. Recently used emoji are also saved in the first tab. Additionally, a special dictionary can be installed to suggest emoji in some (very limited) cases.

You can also define text shortcuts through the system’s personal dictionaries, by adding or editing a word/phrase then specifying the shortcut. This allows you to type emails, phone numbers or common phrases more quickly.

Multiple languages

Multiple languages can be easily installed, after which you can switch between them by pressing the language key (if enabled), or long pressing the space bar. Dual language input isn’t supported by Google Keyboard.

Custom layouts can be defined for each language. You can choose from QWERTY, QWERTZ, AZERTY, Colemak, Dvorak and PC layouts.

Correcting input and predictions

Corrections seem fairly accurate, and the aggressiveness with which your mistakes get automatically corrected can be customized. The position of the letters is taken into consideration and saved, which is useful if you complete a phrase then want to go back to correct a word. However, it tends to forget those once you start editing the word, which in turn has the effect of turning slightly inaccurate suggestions into completely unrelated ones. You can press the backspace key to undo a correction right after it is made, but Google Keyboard doesn’t provide you with any additional tricks for editing past input.

The system wide custom dictionaries are used and respected. This can be handy if you switch between multiple keyboards that make use of them. Adding a word to the custom dictionary is as easy as tapping it.

Options are provided to add contacts’ names to the list of suggestions, using data from other Google services to learn words you commonly use, and to allow potentially offensive words. That last option still seems to give a higher priority to other words, though, so adding them to your dictionary can also come in handy.

Google Keyboard can offer next word predictions, if the option is enabled, but those seem rather dumb and only take the last word into consideration.

Themes and customizability

Holo and material themes are provided. They each come in two flavors: dark and light. That’s about it for customizing how your keyboard looks, although the material themes do look pretty good.


The standard Google privacy policy applies. You can also opt out of usage statistics if you wish to do so. You need an Internet connection to download additional language packs.



Hacker’s Keyboard


Hacker’s Keyboard is mainly aimed at power users or those who want a PC-like experience. It comes in really handy when you’re in an SSH session thanks to the arrow and function keys (by default, the full PC layout is only used in landscape; you can change this in the settings).

When using the 4-row layout, numbers/symbols input is comparable to the Gingerbread keyboard — you can either long press keys or switch to the secondary pane. If you’re using the full 5-rows layout, however, you basically get your computer’s keyboard: numbers row, arrow keys, symbols that are accessible by long pressing keys or pressing Shift, etc. You can also use a numpad at any time by pressing the “Fn” key, which is very useful when you need to type lots of numbers.

Text shortcuts and emoji input are not supported.

Multiple languages

You can enable multiple languages from the keyboard’s settings, after which you’re able to switch between them by swiping the space bar left or right. Many languages do not have a dictionary available, though — you’ll get the layout and keys, but not the corrections. However, Some additional dictionaries can be downloaded from the Google Play store. Dual language input isn’t possible.

Custom layouts can be chosen for some languages (for example, English supports QWERTY and Dvorak), but not all.

Correcting input and predictions

Corrections are accurate, though they’re not automatic by default. Similarly to Google Keyboard, you can press the backspace key to undo a correction right after it is made.

Fixing past mistakes is a bit trickier than most keyboards, as tapping a misspelt word to correct it will not bring back the list of corrections. You’ll either have to correct the mistake manually, remove the word and type it again, or rely on the Android built-in spell checker (available since ICS).

Hacker’s Keyboard offers no predictions, which might make it less attractive to people who rely on them but would like to have the same fully fledged keyboard for both power and casual use.

Themes and customizability

Hacker’s Keyboard comes with a few themes: Gingerbread, ICS, Stone and Transparent. The keyboard’s size is very customizable, and so are most of its features (to list a few: sent key codes, suggested punctuation, long press pop-up keys; some of these can be very useful when using a terminal or coding on the go). You can also define custom gestures, although the available actions are a bit limited.

Other features

You’ll find all the keys you’d expect to see on your PC’s keyboard (arrows, function keys (F1-F12), Esc key, etc). These are extremely useful when using a terminal app or coding.


Minimal permissions are required. Hacker’s Keyboard does not connect to the Internet at all.



Hodor Keyboard


Hodor. Hodor Hodor Hodor HODOR HODOR.

Multiple languages


Correcting input and predictions








Minuum is designed to take the least amount of screen space possible, but you can switch between the full keyboard and the minimized version with ease by dragging the suggestions bar up or down (or by pressing and holding the keyboard with two fingers).

In the full layout, you can type the letters or swipe up from any letter to input its corresponding secondary key (for example, you can swipe up from the “T” key to type “5”, or from the “V” key for “?”). Common punctuation characters can also be chosen quickly by swiping to the left/right from the “.” key, or by double tapping the space bar — all of this makes typing numbers and symbols pretty fast. You can also access a numpad and more symbols by switching to the secondary pane.

When minimized, Minuum only shows you one row of letters, saving a lot of screen estate. All of the above still applies, with the exception of the numpad. Swiping up can also be used to increased accuracy, as it “zooms” the letters in.

Gestures allow you to delete words by swiping to the left, inserting spaces (and completing the current word) by swiping to the right and going to a new line by swiping up and right. Swiping up and left can either activate voice recognition or change languages, depending on your settings.

Auto-spacing is optional and seems to work well in most cases.

Emoji input is supported, although there isn’t a pane for recently/frequently used emoji (however, if you use the experimental emoji bonus panel, recently used ones are displayed first; this adds an extra row to your keyboard but can be toggled dynamically). If you’re using a vendor themed ROM, there is an option to have Minuum use the Noto font for emoji (the default typeface used by Google). Text shortcuts cannot be defined.

Multiple languages

Only a dozen languages are supported at the moment. You can freely change each language’s layout between QWERTY, QWERTZ, AZERTY, Colemak, Dvorak and alphabetical layouts.

Switching languages is easy: you can either long press the space bar, or swipe up and left if you’ve replaced the voice button by the language button. You don’t need to, though, since you can use multiple languages simultaneously and Minuum will guess which language you need rather accurately (and if not, you can always force the language you want).

Correcting input and predictions

Minuum heavily relies on auto-correction, especially when the keyboard is minimized. It’s surprisingly accurate, too. If you want to correct a word, you can go back to it (the experimental cursor bonus panel helps with that) and select another suggestion. Auto-correction can also be turned off with the tap of a button (“sloppy typing”), allowing you to type whatever your heart desires, be it a series of abbreviations or your special lingo.

While you can import words from the Android user dictionary, there doesn’t seem to be a way to view, edit or remove learned words easily. You can make Minuum forget words by long pressing them in the suggestions pane, though. An option is also provided to learn the names of your contacts.

As for predictions, they seem to be very simplistic.

Themes and customizability

Minuum is very customizable — you can choose from a dozen of themes (some even change depending on the app or time of day), or make your own (however, you can’t specify a background image, only colors).

Other than that, you’re able to modify several features. To list a few, you can enable or disable gestures, get rid of the space bar row when Minuum is minimized and customize the keyboard’s height.

Other features

Other than the ones mentioned above, you can also enable bonus panels to edit the clipboard or to share/search for text you’ve typed.

Compact and floating modes are also available, which respectively let you dock the keyboard to the right or left, or freely move it around the screen and resize it. Unfortunately, there is no quick way to switch between the modes.


You can review Minuum’s privacy policy here. An Internet connection is required to download language packs.



Multiling O Keyboard


Typing and swiping are both supported. The tolerance can be configured for each, though they still require more precision compared to other keyboard (especially swiping). Swiping to the space bar between words for continuous input is possible, though it doesn’t seem to work for more than two consecutive words.

Symbols are shown on the main keyboard. You can long press a button or swipe down from it to insert the symbol you want (this works for all secondary characters, not only punctuation), or swipe from the “.” or “,” keys (each shows a different set of symbols; you can customize these symbols as you wish). Typing capitals is done by swiping up instead. The keyboard really makes good use of gestures for quick input.

Several layouts are available (you can even make your own from scratch), and you can easily switch between them at any time by swiping from the space bar. Some of them include a row for numbers, others include arrow keys, etc.

Emoji and text shortcuts are both supported. Add-ons are required for this, and can be installed from the Google Play store or the website. Text shortcuts are defined from the settings screen (a shortcut is to swipe from the gear key to “autotext” on the keyboard). Emoji are separated into several categories (around 30), which can take some time to get used to, but generally makes finding emoji easier. Text emoji and many rarely used symbols are also listed (e.g. ♜ ♘ ♞ ✔ ✓ ✘).

Multiple languages

Language packs are installed from the Google Play store or the website. Switching between them is a breeze, even when you’ve got half a dozen — simply swiping from the space bar can list up to half a dozen languages, allowing you to select any of them easily.

Switching layouts is done in a similar manner, and you can even make your own. Pre-made layouts include QWERTY, QWERTZ, AZERTY, Dvorak, Colemak, Neo, Bépo, several variations of QWERTY, a phone keypad and then some.

Correcting input and predictions

Undoing a correction is done by pressing the backspace button after it is made. To learn a word, you can touch it in the suggestions bar. You can also increase or decrease the rank of any word by long pressing it in the suggestions bar then tapping on the option you want.

Selecting previous words to correct them always moves the cursor to the end of the word the first time you try it. This makes going to a certain character harder than it needs to be.

Arrow keys and cursor control keys are easily accessible in any layout by swiping from the gear button, and might be on the main pane in certain layouts as well.

Predictions are non existent at first, but learn from your typing habits as you go. You can also paste any text you want and have the keyboard learn from it, by swiping from the gear key to “Learn”. Default predictions are customizable and can be used for punctuation, dates, copying and pasting from the clipboard and more.

Themes and customizability

Let’s get this out of the way: this keyboard is ridiculously customizable. Pretty much every aspect of it is: fonts and colors, wallpapers, key layouts, long press contents, and a lot more. Don’t like the available layouts? Make your own, from scratch. Many themes can be downloaded from the website, and you’re able to share the ones you make easily.

This can be overwhelming for many users, but the defaults are very usable and many pre-made themes and layouts are available. The help document also covers most of the keyboard’s aspects.

Let’s say it one more time: ridiculously customizable.

Other features

Transformations can be applied to selected text, allowing you to easily quote text or put it between parentheses. Funky text transformations can also be used to translate text, use full width, exotic or emoji characters, change the case of the selection and more.

Using the phonepad can be used to make and input calculations with ease.

Transliteration is available for some languages. Useful dictionaries such as Linux commands and Hinglish can also be downloaded.

Several other features are also available, but many fall within the “crazy customization” category.


Multiling O Keyboard does not have Internet access. Additional languages and add-ons are installed as separate packages.



MyScript Stylus


MyScript Stylus understands your handwriting, and it really is accurate (even without a stylus). Using it is intuitive and works for letters, numbers and symbols, and several gestures are provided to make usage easier (for example, you can go to a new line by swiping down then left).

Unfortunately, that is the only input mode available. It is very useful for language layouts you might not be familiar with (e.g. Arabic) even though you have no problem writing it, but using a traditional keyboard is much faster otherwise.

Text shortcuts and emoji are not supported.

Multiple languages

Several languages are supported, and dictionaries help by providing accurate corrections and suggestions. Switching between languages can be done by tapping the language button, but dual language input is not possible. The layout adapts correctly to RTL languages.

Correcting input and predictions

Correcting input is rather easy — to remove text, you can just scribble it. If you want to replace something, all you need to do is write over it. You can even split words by literally splitting it with your finger, giving you space to write between the two parts, or join them by drawing a bridge between the letters.

Predictions are not supported, and there doesn’t seem to be a custom dictionary for user defined words.

Themes and customizability

Options are provided to modify the text size, color, ink thickness, scrolling speed and baseline position. This allows you to adjust the keyboard for better results, although the looks can’t be heavily customized.


You can read MyScript’s privacy policy here. Full Internet access is required to download additional language data.



NextApp Keyboard


If Hacker’s Keyboard and the AOSP Keyboard had a baby, it would probably look like this. It’s actually based on the AOSP Keyboard (which means it’s also similar to Google Keyboard in many aspects).

NextApp Keyboard supports both normal typing and gesture typing. The latter requires a compatible binary library, which you can usually find as /system/lib/ if you have Google Keyboard installed. Gesture typing is quite accurate. Note that gliding over the space bar cannot be used to separate words.

You can access numbers and symbols by long pressing the top row or tapping the “(+%” button (you can also swipe from this button, which directly switches to the secondary pane). You can also enable a row for numbers from the settings screen or the “mini” configuration pane, without leaving the current application. A pleasing surprise is that doing so actually removes the numbers from the secondary pane completely, and makes all symbols fit on the same page.

You can use emoji and text emoticons by long pressing the Enter key. Emoji you’ve used recently are saved in the first tab. Custom text shortcuts can be defined in the system’s personal dictionaries, as NextApp Keyboard respects that.

Multiple languages

Additional languages can be enabled from the settings menu. Switching between them is done using the language key, or by long pressing the space bar. Simultaneous language input isn’t supported.

Custom layouts can be defined for each language. You can choose from QWERTY, QWERTZ, AZERTY, Colemak and Dvorak. The PC layout can be toggled at any time from the mini configuration pane.

Correcting input and predictions

Offered corrections are usually accurate, and you can modify the aggressiveness for automatic correction in the settings. If you want to undo a correction, you can press the backspace key right after it is made. The arrow keys also come in handy to move the cursor when correcting mistakes or trying to select text.

The system user dictionaries are used and respected. The transition from the AOSP keyboard and Google Keyboard are seamless, as defined text shortcuts also work out of the box. Adding a word to the user dictionary only requires a tap.

Contact names can be taken into consideration for corrections, if the option is enabled in the keyboard’s settings. Another option allows offensive words, though adding these to your dictionary might have a better effect.

Next word predictions are offered as an option, though they’re not very smart.

Themes and customizability

You can select one of several themes for the keyboard: Holo, Material Design, Flat and seven more. Other customization options are also available, allowing you to modify the keyboard’s size, typeface, behavior for some terminal apps and then some.

Other features

All keys you’d expect to see on your PC’s keyboard (arrows, function keys (F1-F12), Esc key, etc) and Ctrl- combinations are provided. These are extremely useful when using a terminal app or coding.


NextApp Keyboard can only download files (for language packs), and does not have full Internet access.


NextApp Keyboard is currently in beta, during which paid features can be tried for free.




SwiftKey supports both typing and gesture typing (called “Flow”) — the latter is optional and can be disabled in the settings. Flow is very accurate, even when used to input entire phrases without lifting your finger (this is done by passing by the space bar between words).

Numbers and symbols can be seen on the main keyboard and are accessed by long pressing the corresponding key, or by switching to the secondary pane (which offers a numpad for inputting numbers). The secondary pane’s layout is entirely different from the primary pane’s, which may take some time to get used to. Additionally, a numbers row can be enabled in the settings. Common punctuation can also be quickly inputted by swiping left or right from the “.” button.

If Flow is disabled, two gestures can be used: swiping left deletes the previous word, and swiping down hides the keyboard. Otherwise, long pressing the back space key removes the words one by one.

The keyboard supports emoji and offers a tab for recently used ones, although the emoji pane’s scrolling lags noticeably and doesn’t integrate very well with themes. Emoji predictions can also be enabled in the settings screen, which suggests emoji relevant to the word you’re typing (e.g. typing “smile” suggests the smiling face). It is not possible to define text shortcuts.

SwiftKey inserts a space after every word or punctuation. This behavior cannot be modified, and could be annoying to some users.

Multiple languages

You can install and enable additional languages from the settings activity. SwiftKey lets you type simultaneously in up to three languages (you don’t need to switch manually between them).

You can modify this behavior by changing one of the languages’ layout, but it’s not possible to separate the different languages while having them use the same layout.

Available custom layouts are: QWERTY, QWERTZ, QZERTY, AZERTY, Bépo, Colemak and Dvorak.

Correcting input and predictions

Corrections and predictions are excellent, and are what made SwiftKey so popular in the first place. New words are learned automatically. While you can’t turn this off, long pressing a suggestion is enough to make SwiftKey forget it.

Selecting previous words is a bit wonky — pressing the middle of a word to correct it, for example, will move the cursor to its end the first time you do it (tapping again works as intended). This can make correcting a letter slightly more frustrating that it needs to be, but you can get used to it.

An additional row for arrows keys can be added, which can help with positioning the cursor and correcting mistakes.

The Android user dictionary is not used, and contact names don’t appear to be imported.

Themes and customizability

Fifteen free themes come pre-installed with the keyboard. Additional themes, paid and free, can be downloaded from the SwiftKey Store. A few themes put the designers’ skills into serious doubt, but you can also find some good choices.

Other features

SwiftKey Cloud allows you to import new words from sent emails and social networking posts. It also backs your data up and sync it across multiple devices. Finally, it enables “Trending Phrases”, which makes SwiftKey aware of trending expressions for predictions.

You can also choose from three different keyboard modes without leaving the current application, by long pressing the “123” key: “Full” is the traditional mode, “Thumb” splits the keyboard for easier typing with your thumbs, and “Compact” shifts the key to the left or right to make one finger typing easier.

You can also undock and resize the keyboard with the same method as above.


You can find SwiftKey’s privacy policy here. An Internet connection is required to download additional languages, themes, and to access cloud related features.





Swype’s intended input method is, as you might have guessed, swiping, which is pretty accurate. You can also type normally or use handwriting, although handwriting recognition is lacking in accuracy.

Several gestures are available and make swiping much easier. For punctuation, simply swipe from the one you want to the space bar (though this starts inserting spaces before punctuation when you’re trying to input more than one). You can also capitalize any letter by swiping over the keyboard after reaching it.

Swiping from the Swype key to the numbers row also switches to the numpad, allowing you to type numbers with ease. Alternatively, you can long press keys to access secondary characters, or switch to the symbols pane.

Swype does not support emoji or text shortcuts, but there’s a pop-up for text emoticons. You can also swipe over the relevant keys (e.g. “:”, “-” and “(“) and Swype will suggest the correct text emoticon.

Multiple languages

Several languages are supported (but not all can be used for handwriting). Switching between languages is done by long pressing the space bar, but switching back to the last language is as easy as swiping from the Swype key to the space bar. Dual language support is also supported.

You can change each language’s layout to one of the following: QWERTY, QWERTZ and AZERTY.

Correcting input and predictions

A pane with cursor keys and extra buttons for cursor and clipboard control can be used (Swype-“?123″) to make editing and correcting input easier. Swype also tries to suggest smarter corrections when you go back to a word, by looking at the word before and after it.

To learn a new word, you have to tap it in the suggestions bar then tap “Add to dictionary” (you can also set the keyboard to automatically learn new words). Forgetting words is done by long pressing a suggestion. You can also edit the Swype’s dictionary from the settings menu. Importing the Android user dictionary or contact names is not possible.

Next word predictions are optional but fairly simple.

Themes and customizability

A dozen themes can be used with Swype, but you cannot create your own. There are also a few customization options, such as changing the keyboard’s height

Other features

Swype uses its own engine for voice dictation, “Dragon Dictation”.

Optional cloud features allow you to backup and sync learned words, automatically update Swype with trending words, or learn from social networks (Facebook and Twitter) and sent emails.

Additional gestures are provided to select all text (Swype-A), and to copy (Swype-C), cut (Swype-X) or paste (Swype-P) text, as well as launching Google Maps (Swype-G-M) for some reason and searching for the highlighted text (Swype-S). Tapping the Swype symbol also selects the current word, which can be used to easily replace it. Automatic spacing can be disabled by swiping from the Swype symbol to the backspace key — this is useful for compound words.


You can find Nuance’s privacy policy here (Nuance is the company behind Swype). An Internet connection is required to download additional languages, to use Dragon dictation, and to access cloud related features. Data collection is optional and you must opt-in for it.



Thumb Keyboard


Typing with Thumb Keyboard is quite comfortable, and the different layouts and key spacing settings can be used to make it fit your needs.

Swiping up, down, left or right can be assigned to custom actions such as deleting words, moving the cursor or bringing up text shortcuts. Sensitivity is configurable as well, should you keep activating gestures by mistake.

Numbers and symbols are shown as secondary keys on the main keyboard, or even as primary keys depending on the used layout. Either long press the relevant key or switch to the secondary pane (“?123″) to input them. An additional row can be toggled at any time from the keyboard, and can be configured to contain special characters and shortcuts (e.g. arrow keys, copy/paste, etc) as you desire.

Text shortcuts can be defined and used from the keyboard. Custom labels can be assigned for each for easy identification. Text substitutions are separate, but also available from the settings screen.

Emoji aren’t supported at the moment. Typing quickly sometimes confuses the keyboard (for example, “kekeyboard” is typed instead of “keyboard”).

Multiple languages

Switching between installed languages is done by sliding the space bar, after you’ve installed them from the settings activity. Dual language input is not possible.

Available alternative keyboard layouts are QWERTY, QWERTZ and AZERTY.

Correcting input and predictions

Corrections are pretty good. Corrected words are subtly underlined, and the original word you typed is saved and can be easily restored. Backspacing after a correction is made also undoes it.

To teach the keyboard new words, you can tap it twice in the suggestions bar. Removing words from the dictionary can only be done from the settings.

Words from the Android user dictionary and contact names are automatically imported, although text substitutions are not and must be redefined manually.

Next word predictions are sort of available — your typing habits are learned, but only used once you start typing the next word (for example, if you often type “XDA developers”, “developers” will be the first suggestion after you type “XDA d”.

Themes and customizability

Around 25 themes are available (some are built-in, others need to be downloaded). Custom colors, fonts and backgrounds can also be used to modify parts or all of the theme.

Many other customization options are also offered, such as the ability to modify the keyboard’s size, edit secondary symbols, pick different layouts for portrait and landscape, etc.

Other features

Several different layouts can be used: other than the standard layout, you can dynamically switch to large and compact split layouts, giving you direct access to numbers, punctuation or arrow keys. Tablets and phones each have specifically designed layouts.


An Internet connection is required to download additional languages and themes.





TouchPal supports both typing and gesture typing (called “Curve”). The latter is optional and fairly accurate.

To input secondary characters (numbers and symbols), you can either long press the primary key or swipe it up or down for the top and bottom rows. Inputting numbers and punctuation is made much quicker by this feature. You can also switch to the secondary pane, which also has a numpad.

The keyboard supports emoji (recently used ones are also stored in a separate tab), “emoji art” (similar to ASCII art, but uses emoji) and text emoticons. You can access the emoji screen by either tapping the emoji button, or by flicking the space bar up. Emoji suggestions can also be enabled, making them come up when relevant keywords are typed (for example, typing “smile” suggests the smiling face). Text shortcuts are not supported.

Multiple languages

You can install extra languages in the settings screen. Switching languages is usually done by swiping the space bar, but this can be configured if you prefer having an extra key for it.

Mixed language input allows each language to have a secondary language for which words are also predicted/corrected from (for example, you could use English and French, and then English and Spanish, as two different layouts).

Correcting input and predictions

Adding a word to the custom dictionary is done by tapping it in the suggestions bar (you can also enable auto saving). To edit or remove a word, you can long press it when it comes up in the suggestions or via the settings screen. The Android user dictionary is automatically imported when you first use the keyboard, and you can also import contact names and have TouchPal learn from messages and Twitter.

You can also access the “Edit” screen, which offers arrow keys and buttons to select text more accurately.

Prediction is optional. It learns from what you type and gets better… if you’re predictable. “Wave” is an interesting feature that puts predictions directly on the keyboard (e.g. “next” appear next to the “n”), and lets you swipe from it to the space bar for faster input.

Themes and customizability

TouchPal comes with two built-in themes and an option to set a custom image as the keyboard’s background. You can download more themes from the TouchPal store (paid and free themes are available).

Additional options can be used to customize the keyboard’s size and font, as well as other minor settings.

Other features

TouchPal lets you choose from three main layouts: PhonePad (T9), Full and T+ (which combines two letters and one symbol on each key). You can do this without leaving the currently opened app. For the Full layout, you can also choose between QWERTY, QWERTZ and AZERTY.

You can pin several buttons to the top bar, which also acts as a suggestions bar once you start typing. These include buttons to quickly access: layouts, the edit screen (offers cursor and clipboard control), themes and more.

Add-ons (currently limited to a custom emoji skin) and sub dictionaries can be downloaded from the TouchPal store. Sub dictionaries add or prioritize jargon (e.g. words related to computers or to the World Cup) or place names (such as Chicago locations).

Word trends are enabled by default, and make your keyboard aware of trending words automatically.

TouchPal Premium ($2.99/year) gives you access to backup and sync features, as well as cloud predictions — smarter predictions from the Internet. A 7-days trial is available.


You can find TouchPal’s privacy policy here. An Internet connection is required to download additional languages, dictionaries, themes, addons, and to access cloud related features.



Summary Table

Note that this table oversimplifies some aspects and completely omits others. It is not meant as a means to compare the different keyboards, but to provide you with a quick idea to see if a keyboard might be suitable for you (for example, if you only want a keyboard that supports emoji, you’ll be able to see which keyboards to check quickly).

For additional details, refer to the in-depth review.

Gesture input Numbers row Text shortcuts Emoji Multiple language input Predictions Themes
Google Keyboard
Hacker’s Keyboard
Hodor Keyboard
Multiling O Keyboard
MyScript Stylus Handwriting
NextApp Keyboard
Swype Swiping & Handwriting
Thumb Keyboard

The post Guide: In-Depth Look at the Best Android Keyboards appeared first on xda-developers.

by GermainZ at February 05, 2015 04:55 PM

January 31, 2015

Send Links to Any Nearby Device with CaastMe


There already are many solutions on the Google Play store if you want to send a link to one of your devices — but what if you wanted to do it quickly without having to install any software or logging in to a website on the recipient end? Most apps require you to do either or both, which can be a hassle (or even a security risk) in some cases.

Luckily, XDA Forum Member wyemun has developed CaastMe. Inspired by how WeChat and WhatsApp use QR codes, the developer took it up as a challenge to code the website and Android app in less than a day. Don’t be fooled by the short time it took, though, as CaastMe is actually very polished and simple to use.

You probably want to know how it works at this point. After you’ve installed CaastMe, only two steps are actually required:

  • First, go to (this works on desktop browsers as well as some mobile browsers, although you may need to enable the “View desktop site” option if you have any display problems). A QR code will appear on your screen.
  • From your mobile, share the link you want to CaastMe. This will instantly open your camera, allowing you to scan the QR code. As soon as you do that, you’ll be redirected to the link you just shared.

You can also view the screencast below if you’d like to see it in action. If that’s not enough, you’ll be pleased to know that sharing other data (such as images) is planned for the future.

If you’re looking for a hassle free way to share links that doesn’t involve installing software everywhere or dealing with logins, head over to the CaastMe forum thread now to grab it and give it a try.

The post Send Links to Any Nearby Device with CaastMe appeared first on xda-developers.

by GermainZ at January 31, 2015 02:29 AM

November 20, 2014

Droid Turbo Review

Let me tell you that first of all the Droid Turbo's definitely amazing phone. I personally was going to hold up the Nexus 6 but then I got cold feet and decided to pull the trigger on this phone and have not been disappointed. So far the battery is definitely the most impressive feature. Basically the Nexus and the Turbo are basically the same they have the same processor the Nexus has the ISO camera clocking in at 13 megapixels and the turbo has a 20 megapixel camera with no ISO however coming from a G2 the pictures are definitely fine and dandy. The screen is extremely awesome except that YouTube for some god awful reason doesn't have 1440p or 1080p support which is super annoying. Another thing that I would like to point out about the turbo is it the battery literally is incredible I would definitely consider myself a power user in this phone easily and I mean easily last a day and a half to two days there have been several times where I fell asleep without charging my phone woke up with 20 percent and it got me through about 10 hours or so but that's with me probably only being on it for about an hour but even still that's impressive. The battery is good now so we can only imagine what kind of improvements will see when lollipop rolls out which I'm hoping will be soon the camera should also improve with that considering google rolling out their new API for photography. Overall I'd say that between the Nexus and the turbo its more of just if you want a 6 screen or 5.2 inch screen. If you have any questions or concerns please feel add comment on this post and I will get back to you soon as possible thank you for reading

by Captain Clyde ( at November 20, 2014 03:37 AM

November 16, 2014

HTC Re first look

HTC Re first look

I’ve put off the real first look post on this camera until I had the finished product in my hands. I did have a video and post ready to go after the Double Exposure event. I didn’t post it, not because the hardware and software were bad, but because they weren’t finished. Seeing an unfinished product doesn’t help anyone decide to buy said product.

Before I continue, it should be noted this is only after a few hours of owning it and a bunch of sampling. A full review will be forthcoming. I’m having some fun with it so far, so let’s see what this little thing is all about.


I felt it was my duty to pick up the blue Re. I am a Maple Leafs fan after all! It almost matches my Reimer sweater. It measures a hair under four inches tall, an inch and a half between the edge of the lens and the edge of the capture button and the barrel diameter is 3/4 of an inch wide (Metric: ~10 x 3.81 x 1.905cm). There are only two buttons, a shutter button and a slow motion button. The micro-USB for charging and micro-SD slot are both on the bottom.

I purchased a 32GB card for the Re, as 8GB isn’t a hell of a lot for video. I’m not sure yet how I’ll be using this, but there are some truths that always apply: You can never have enough SD cards and it’s better safe than sorry. Changing the card involves removing the waterproof cover, giving the card a push and pulling it out. In practice this isn’t a lot of fun. The cover is continually in the way as it’s tethered to the bottom of the camera and the card doesn’t eject far enough for me. Tweezers would have helped, but I got it eventually.

Sample Photos

Rather than make a usual gallery I’m going to post a couple and talk about them a bit. Context is important in this part.

Normal Stills

RE CameraRE Camera


It seems a little hit and miss here. The first photo is the Re taking a picture of the live view on my HTC M8. That one came out a bit fuzzy and off. The latter, however, is of acceptable quality. If you’re expecting full frame or APS-C quality out of a camera with a f/2.8 16 megapixel sensor, prepare to be disappointed.

Ultra Wide Angle

RE Camera RE Camera RE Camera


Of the last two photos, one is with wide angle and one isn’t. Can you guess which one? This ultra wide angle setting was something I was eager to test and left me wanting in the end. All my test shots leave a huge fisheye effect on the photo. The picture of the bench seat shows just how exacerbated it can be. In the Re app, it is possible to turn a wide angle shot into a regular shot, but something curious happens there:

Screenshot (01_27PM, Nov 16, 2014)

It is actually named “defisheye”. I’m not saying this is a bad thing. I’m saying know what’s going on here with the wide angle shots. There are surely some really creative people out there who could use this to their artistic advantage. That or make every iPhone bend…




I would be remiss in my duties if I didn’t admit my stupidity here. I never turned ultra wide angle off before I shot this video. I’ll do a proper comparison for the full review, but the big takeaway here (aside from dat fisheye) is the audio is actually quite good. The microphone is essentially a pinhole affair atop the camera. As I walked through those crisp New York Autumn leaves, you can hear the crunch really well. I’m not disappointed at all with the Re video functionality.

I realize there is a lot missing here. It is important to remember this is not the full review. This is playtime for us, and in a week or so of actually using the Re properly there will be much much more to say. Stay tuned for that fun!

Land of Droid -

by Scott Kenyon at November 16, 2014 07:37 PM

October 31, 2014

Chrome Beta easter egg game

Chrome Beta easter egg game

Ever wanted to see a dinosaur jump over a cactus? No, well me either but Google has made it into a game of sorts. The new easter egg in chrome beta allows you to play that game. Just turn on airplane mode, go to the chrome beta, type in, and click on that dinosaur.

Warning: My phone opens chrome beta in quite a weird way I am using a oneplus one with mahdi rom but I wanted to show off the easter egg anyways. 


Land of Droid -

by Tyler Maciaszek at October 31, 2014 12:06 PM

September 28, 2014

Reimagining Play: Interview with PlayMG’s Taylor Cavanah

Last month, we brought you a review of the MG, an Android powered handheld gaming system designed for casual games. The combination of vanilla Android and the MG’s custom parental controls made the device a compelling option for gamers young and old alike, and its comparatively low price combined with the vast Android software library offered an unbeatable value.

The team behind the MG had obviously done their homework and targeted the product to a very specific market which was otherwise being ignored. Rather than throwing out a half-realized device that didn’t resonate with any particular use case, the team engineered the hardware and software experience to their target audience to great effect.

Taylor Cavanah

Taylor Cavanah

To learn more about the focus and vision which made the device a reality, we got in touch with MG’s physicist turned meta-gamer Taylor Cavanah.

Creating the MG

The Powerbase: Taylor, thanks for taking the time to talk with us. Can you start by telling our readers a bit about yourself and your background?

Taylor: I’m a physicist and started my career in Nanotechnology at Zyvex.  After finding some success in developing the nanoprobing market for the semiconductor industry I decided to strike out on my own.  My buddies and I started our own software company – Locai – and a year ago we combined forces with the hardware and business guys from ACTScom to launch PlayMG.

The Powerbase: What exactly is your role at PlayMG? What are your day to day responsibilities like?

Taylor: My specific role involves game/app design, platformsoftware design, business development, innovation, and as is the case with all start ups – many more roles.  Day to day I was either talking with game houses, working with the hardware guys to design the user experience, writing the story behind our game within the gaming device app Origins, looking for interesting apps to work with, working with marketing to craft the messaging behind these features we were building, and testing devices in every possible way.

The Powerbase: PlayMG has no qualms about the fact it has targeted the MG to younger gamers. Why do you think the younger gamer is so important? What makes the MG a better option than, say, mom’s old smartphone?

Taylor: Every one has a slightly different opinion on this but for me the younger gamers make the most sense because they can’t have phones.  Whether their parents don’t want them or can’t afford the data plans, there are a lor of younger gamers who love apps but can’t get access to them.  The “hand me down” argument is definitely valid.  I can hand down my phone and just remove the plan and then they have a smart device.  That’s where our added benefits factor in to the equation.  You can’t get Family Collaboration, SpendSmart, or the Origins game in a hand me down.  And sometimes more importantly, you can’t get that “awe” moment when your son or daughter opens up your repackaged device from 2 years ago.

Android and the MG

The Powerbase: Its differences aside, the majority of the MG’s software is straight Android. Would it be safe to say that, if it wasn’t for the open nature of Android, the MG wouldn’t exist in its current form? Would have putting this same hardware out with a proprietary operating system have gotten you as far as Android has?

Taylor: There is no way we would exist without Android.  The barrier of entry previously was just too high.  We got a solid and awe inspiring product to market in 9 months.  Core to that was not having to build an entire OS.  Not just in terms of getting something to market but that greatly helped us focus our time and money where it mattered – on the added benefits like Family Collaboration and Origins.  This is what I love about open source – you get to make products with extremely well designed experiences where it matters.

The Powerbase: One of the biggest selling points early on was that the MG would be a vanilla Android device, meaning it would be as close to AOSP as possible. In the end the MG delivered on that promise, and is one of the few non-Nexus devices available running stock Android. Why was running stock Android so important for the MG?

Taylor: Part of that answer has to do with my previous answer – it’s just easier to not build stuff you don’t need.  I think everyone can point to some larger companies that have large engineering staffs that have to build stuff because those salaries are being spent no matter what.  Then you get a lot of customization away from stock.  But most of that is useless and provides no value to the customer experience.  A lot of engineers also like the job security that building all of this custom stuff gives them.  They will always be needed because only they know how this version of flavored Android operates.  For us it was exactly that overhead that we didn’t want.  If we build our own flavor of Android then every new app or platform we create down the road has to take that into account.  We had to keep our focus on what mattered for the end user.

The Powerbase: From a development perspective, stock Android is generally preferable to manufacturer modified builds, but what about the end user? It’s no secret that the most popular Android devices (such as Samsung’s Galaxy line) make use of manufacturer modifications to their interface and applications, so the public doesn’t seem to mind. Do you ever worry that shipping with stock Android rather than a build with more visual flair and streamlined functionality pleases the developers at the expense of the end users?

Taylor: I have never believed that popularity of a device has anything to do with how well it is designed or received by customers.  The large software guys have proven time and again that being big in a space and having a ton of money can make up for a lot of deficiencies.  I say this because I don’t believe customers buy the Galaxy line because of the manufacturer improvements – most customers have never seen stock Android so they don’t know any better.  My guess is the commercial bashing the iPhone (hilariously with the parents in line) did a lot more than the user experience.  From what I’ve seen all of the added modifications make little difference to the real end users (not us tech types who are too deep in the space).  We found you could do an amazing amount of things just using the widget system in Android to change the user experience – without huge teams to build and then manage modifications.

The Powerbase:  Some would say that shipping the device with vanilla Android only makes sense if it’s kept up to date with AOSP (such as the Nexus line), but the MG is still on 4.0.4. Why hold the MG back? Are there plans on updating to Jelly Bean (and beyond)?

Taylor: We will update to Jelly Bean.  But with such a low saturation of Jelly Bean and many apps still not upgraded for the experience it doesn’t make sense to expend the effort.  Again we’ve got to focus on that end user experience and the only people ever asking for Jelly Bean are analysts or the random parent who just saw some article that mentioned the new Jelly Bean thingy for Android.

Expanding Android Gaming

The Powerbase: One of the best features of the MG, at least for parents, is unquestionably the Family Collaboration System. While it currently sets the MG apart from the competition, would PlayMG consider bringing it to generic Android devices? Perhaps charging a monthly subscription fee when used on non-MG hardware?

Taylor: We are always weighing the pros and cons of releasing some of the proprietary apps to the Play Store.  Right now we only have to manage one device, we get to ignore fragmentation, and we have a competitive advantage.  I don’t see us releasing the apps until we are much more established.

The Powerbase: An advantage of putting out an Android based gaming system is, of course, that you aren’t responsible for developing or publishing games for it (unlike traditional game consoles). That said, are there plans to talk to developers about MG optimized games? Is that already happening?

Taylor: Nothing that I can talk about but we definitely have plans and some preliminary talks about using our PlayMG IP to create games.  Any game developers interested (especially if they want to do something outside of the normal bounds of gaming) should get in touch with us.

The Powerbase: You can’t talk about Android gaming anymore without mentioning the OUYA; while it’s aiming for a completely different market than the MG, are there any parallels you draw between them? Do you see families owning both devices in the future?

Taylor: Mine arrives in 3 weeks (if I had more time and money I would have gotten a developer version).  I would love to work with OUYA in the future and I do believe that console gaming and portable gaming will always be with us.  Where the hardware, software, and interfaces end up who knows but for now there are many opportunities that could be explored between the two companies.  For the next year though I’m guessing both of us will be too busy to pursue them.

Looking Ahead

The Powerbase: A common criticism of the MG is that it lacks physical controls. This was a design decision based on the intended userbase for the MG, but it’s also undeniable that there are hardcore gamers out there that would appreciate an MG-like device with physical input. Is this a challenge PlayMG might take up in the future? Perhaps a device like the Sony Xperia Play, but in a non-contract form like the MG?

Taylor: I don’t see that happening.  Our target user is not hardcore and in fact probably did not grow up with a game system that had controllers.  But at an even deeper philosophical level (get ready for the fan boy to come out) I think the portable gaming systems with controls aren’t just missing the mark but don’t really have a mark to hit.  Portable gaming is about the casual experience on the go or that little block of entertainment that you carry around in your pocket.  I have so many different serious game devices where I can have mind blowingly immersive experiences – but that’s not what you want in a portable gaming device.  At the end of the day we talked to a bunch of “gamers” in our demographic and they wanted a device they could put in their pocket versus a device that let them play games designed for pre-touch devices.

The Powerbase: If it’s not giving too much away, what can you say about the future of PlayMG and the MG itself? Anything current or future owners should be looking out for?

Taylor: We have some great plans for the Family Collaboration System – making it much more collaborative.  A lot of parents and even kids have asked for expanded features here.  I’m most excited about expanding the portable fun in the device.  The entire industry as a whole is barely scratching the surface of what you can do with portable gaming.  We have some very interesting things planned for making shared portable gaming experiences like no one has seen before.  Unfortunately I can’t say much more than that.

Thanks to Taylor and the entire PlayMG team for their assistance and professionalism while we worked on the original hardware review and this interview. We’re very interested in seeing where the future takes PlayMG, keep an eye out here on The Powerbase for future coverage of this unique company and its products.

by Tom Nardi at September 28, 2014 06:47 PM

Win a Free Android Game Console Courtesy of PlayMG!

Free Console???  Yep!

PlayMG, a company dedicated to Android game consoles and safety online, wants to give one lucky Powerbase reader a PlayMG Android game console.  What is a PlayMG?  Well, we spent some time with the device several months ago.  You can read our impressions here.

So, how do you win?  Easy! 

1.) Find us on Google+ or Facebook.  Share the post!

2.) Like us on Facebook or give us a +1 on Google Plus.

3.) Come back here and leave a comment stating why you should win a PlayMG game console!

That’s it!

The winner will be chosen on Nov. 26th, so make sure to keep checking back! 



PlayMG Specifications

Check out Olivia Holt and Kyrie Irving enjoying the PlayMG below.


Powerbase Review | PlayMG

Powerbase Interview | PlayMG’s Taylor Cavanah



by admin at September 28, 2014 06:47 PM

July 17, 2014

Freesat Android app launched

Freesat, the vague organisation behind those TV tuners that let you get satellite TV without paying Sky any money, now has an official Android app. On a basic level it’s an EPG to tell you what’s on over the next seven days, although viewers with one of the more recent Freetime set-top boxes can pair it with their tuners and use their phones and tablets as remote controls — also triggering recordings from afar.



It is therefore quite useful if you can get it to sync and work. Check out the Freesat app here.

by eur0b0t at July 17, 2014 10:41 AM

June 27, 2014

Google I/O 2014 Slides and Demo

Chet and I gave a talk entitled “Material Witness” at Google I/O today. I am happy to announce that the entire talk is now available on YouTube. I have also published the following resources:

Google I/O 2014 demo

by Romain Guy at June 27, 2014 06:39 AM

June 17, 2014

Moto Maker for Moto X hitting Germany on July 1st

After way too much time as a US-only exclusive and with the phone it pimps to the extreme already starting to show its age, Motorola’s finally ready to launch the Moto Maker customisation service for the Moto X in Europe.

According to Motorola Germany, the case modding service will launch exclusively for those who buy a phone through Phone House in the country. Phone House is the German wing of Carphone Warehouse, so here’s hoping CPW picks up the deal and launches the custom phone option here in the UK too.


This could be the answer to the tricky “eccentric summer phone” problem we currently face. As long as it’s cheap.

Link via Androidsis.

by eur0b0t at June 17, 2014 07:30 PM

March 30, 2014

Maverick 2.6

Maverick 2.6 is just released with map tiles downloader. You can “paint” areas to download with one finger or select a rectangle block using multi-touch. Select on the left all zoom levels you want to download. Tap and hold to select at once all zoom levels up to the selected level.


Download: Pro versionLite version

Related posts:

  1. MX Video Player: best AVI/MKV player for Android
  2. Neat Calendar Widget
  3. Adobe Flash Player 10.1 on Droid X

by Jeff at March 30, 2014 01:18 PM

February 24, 2014

The Galaxy S5

Photos of the galaxy S5 leaked today, and let me tell you, I am not very impressed as far as the visuals go. This is a link to an album someone leaked today. The device itself doesn't look very impressive. The bezels are bigger than the S4, although the screen is bigger. A 2800mah battery with a rumored 2K screen is going to be a battery killer. The LG G2, came out 6 months ago and has a bigger battery than that, come on Samsung. I fear Samsung is falling into the same boat as Apple. Small subtle improvements each year, knowing that people will buy it because its "The Galaxy S5". I don't want that. I want something I pull out of my pocket, and people say "wow what's that!!!" Not, oh you have a galaxy? We're entering a time where phone manufacturers are all trying to make the next new fad (watches, fitbits, glasses) and unfortunately I don't see this being one of them, even though it will be. comment below on what you think about the S5!

by Captain Clyde ( at February 24, 2014 07:21 PM

February 08, 2014

Grails based survey system, the android app

Some time back I wrote an article describing the roosearch system I developed using grails. This is the second part, the android client, please checkout the previous article otherwise this might not make much sense! After completing the grails component, I had a RESTful API available to me, and I just needed to build an ... Read more

by James Elsey at February 08, 2014 09:56 AM

January 21, 2014

Dragging Images When Scaling Must Be Restricted

I recently retired, but I have one more little tip to blog about. While I have a few ideas for some apps, I doubt that I’ll have to do the kind of intensive problem solving required during my job. Therefore this might be the last post.

I was involved with a suite of clients for business intelligence. The primary clients were created with Adobe Flex and ran in the browser. They provided for creating and viewing reports. The iOS and Android clients provided for viewing reports. Thus features were implemented in the Flex product first, and we who supported the mobile clients had to cope with adding them. The feature relevant to this blog entry was the ability to specify numerous scaling options for images (e.g. photos) that could be incorporated into reports. Some of these scaling options had no natural analog to the Android scaling options for images.

To support the requirement for panning and zooming images I took full advantage of the PhotoView library provided by Chris Banes. This library was a great solution for all but two of the required scaling options. Our product allowed for two rather silly options of fitting an image to the width or to the height of the viewport that the report designer drew on screen. If the other dimension of the image was greater, then part of the image would be invisible. I had to provide support for letting the user drag the image around in the viewport so that all of it could be seen.

The PhotoView library would have handled this except for the fact that we needed to set the scale type on the ImageView class to MATRIX, and PhotoView does not allow that. With no natural analogous scaling type to our “fit width” and “fit height”, I had to create a new subclass of ImageView to handle just the images requiring those types. The ReportImageView class has some code for doing the scaling needed to fit height or fit width, but I am leaving that out here so as to concentrate on the drag support.

public class ReportImageView extends ImageView implements VersionedGestureDetector.OnGestureListener {

private VersionedGestureDetector mScaleDragDetector;

 public ReportImageView (Context context, AttributeSet attrs){
    super(context, attrs);
    mScaleDragDetector = VersionedGestureDetector.newInstance(context, this);

  public void onDrag(float dx, float dy){
     Matrix matrix = getImageMatrix();
     Matrix copy = new Matrix(matrix);
     copy.postTranslate(dx, dy);
  public void onFling(blah, blah...){
    //no op
  public void onScale(blah, blah...){
    //no op

The salient features are 1) make a new VersionedGestureDetector using the class provided in the PhotoView library, 2) implement the onDrag() method of the OnGestureListener interface. In onDrag() make a new matrix and post-translate it to the coordinates supplied, then set that as the image matrix.

When the scale type is “fit width” the user can drag the image up and down if the height is greater than the width. When the scale type is “fit height” the user can drag the image left or right. If you get such oddball requirements for images, try this solution.

by Todd Folsom at January 21, 2014 08:48 PM

December 07, 2013

Robots! Part 2, the android client

Continuing on from my previous post, I’ve created an android client that I can use to send commands to my python server. Ultimately I want to be able to control the robot remotely, the best way to do this would be to control the robot from a tablet or a phone which communicates wirelessly with ... Read more

by James Elsey at December 07, 2013 11:01 AM

November 15, 2013

Moving An Android View By Dragging It

Yes, here is another article about moving or dragging a view with a finger, but I think I can give a complete example in one place. Most of what I read while developing a movable component did not give a fully working result. I started with the article on making sense of multitouch at the Android developers’ blog. Then I had to go search at Stackoverflow. I give some of those references in the code comments.

I had a requirement to provide a magnifier view, or jeweler’s loupe, which would provide a magnified view of a graph as the user dragged the view over the graph. The magnifier would become visible on a long press and stay visible while the user dragged it over the graph. The frame of the magnifier would display the magnified contents as provided by a helper method (not described here). Here’s a rough example from my testing app.

magnifier example

magnifier example

It shows a small bitmap (unmagnified in this test) and some bogus tooltip values to the right of the image. When this magnifier is dragged over the image (i.e. a real graph), the magnified area will update as will the tooltip information.

Let’s look at the code. Here’s the touch listener for the magnifier. It requires that the magnifier (a RelativeLayout) be passed in on the constructor.

private class TouchListener implements View.OnTouchListener{
   public TouchListener(RelativeLayout frame) {
     this.frame = frame;
private float aPosX;
private float aPosY;
private float aLastTouchX;
private float aLastTouchY;
private static final int INVALID_POINTER_ID = -1;

// The active pointer is the one currently moving our object.
private int mActivePointerId = INVALID_POINTER_ID;
private RelativeLayout frame =null;

public boolean onTouch(View view, MotionEvent event) {

switch (event.getAction() &amp; MotionEvent.ACTION_MASK) {
   case MotionEvent.ACTION_DOWN:
     Log.d(TAG, "action down");
     // Save the ID of this pointer
     mActivePointerId = event.getPointerId(0);
     final float x = event.getX(mActivePointerId);
     final float y = event.getY(mActivePointerId);
     // Remember where we started
     aLastTouchX = x;
     aLastTouchY = y;
//to prevent an initial jump of the magnifier, aposX and aPosY must
//have the values from the magnifier frame
     if (aPosX == 0){
         aPosX = frame.getX();
      if (aPosY == 0){
          aPosY = frame.getY();

    case MotionEvent.ACTION_UP:
      Log.d(TAG, "action up");

    case MotionEvent.ACTION_POINTER_DOWN:

    case MotionEvent.ACTION_POINTER_UP:
      // Extract the index of the pointer that left the touch sensor
       final int pointerIndex = (event.getAction() &amp; MotionEvent.ACTION_POINTER_INDEX_MASK) &gt;&gt; MotionEvent.ACTION_POINTER_INDEX_SHIFT;
      final int pointerId = event.getPointerId(pointerIndex);
      if (pointerId == mActivePointerId) {
         // This was our active pointer going up. Choose a new
         // active pointer and adjust accordingly.
         final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
          mActivePointerId = event.getPointerId(newPointerIndex);
  case MotionEvent.ACTION_MOVE:

     // Find the index of the active pointer and fetch its position
     final int pointerIndexMove = event.findPointerIndex(mActivePointerId);
     Log.d(TAG, "action move");
     float xMove = event.getX(pointerIndexMove);
     float yMove = event.getY(pointerIndexMove);

     // Calculate the distance moved
     final float dx = xMove - aLastTouchX;
     final float dy = yMove - aLastTouchY;

     if ( Math.abs(dx) &gt; mTouchSlop || Math.abs(dy) &gt; mTouchSlop){
        // Move the frame
        aPosX += dx;
        aPosY += dy;

// Remember this touch position for the next move event
//no! see and
// last comment in
//aLastTouchX = xMove;
//aLastTouchY = yMove;
Log.d(TAG, "we moved");

//in this area would be code for doing something with the magnified view as the frame moves.

    case MotionEvent.ACTION_CANCEL: {
      mActivePointerId = INVALID_POINTER_ID;

    return true;

 private void reset(){
   aPosX = 0;
   aPosY = 0;
   aLastTouchX = 0;
   aLastTouchY = 0;


Here is the first important point. At line 29, we see that the magnifier will initially jump from the touch point because the touch event streams relative and absolute coordinates. Prevent this by setting the aPosX and aPosY fields to the initial X and Y coordinates of the frame.

Next, look at line 76 in the case for ACTION_MOVE. The multitouch example from the Android developers’ blog would have us remember the touch position. However that causes problems, as described in the citations from Stackoverflow, so don’t remember the last touch point. If the distance moved is greater than the touchSlop (line 71), just go ahead and move the frame (lines 85 and 86).

With these two modifications to the code shown in the multitouch example you should be able to happily drag a view around to your heart’s content.

by Todd Folsom at November 15, 2013 08:08 PM

October 25, 2013

MicroConf Europe

I don't envy conference organizers these days - most of what's being said can be read the next day, for free, on line, at your own pace, from the comfort of your own home, and without spending a bundle of time and money to sleep in a far away hotel.

Competing with that is not easy, but the guys at MicroConf managed to.  I would sum up the weekend by saying that it was a "very high bandwidth experience".  Every day, from breakfast until I turned in, I was chatting with people or listening to speakers during the conference itself.  That's aproximately  16 hours of being "on", and by the time I got home to Padova, I was exhausted!  But at the end of the day, I felt like it was worth it being there in person, because of all the interaction with other people.  The speakers' talks all ended up on line, more or less, but all the chatting and discussion and getting to know everyone is the human element that is tough to replicate on line, and one of the most important reasons to attend a conference in person.  Prague is also a beautiful city - I wish I had had more time there to check it out.

Here are some highlights and notes, in no particular order:

  • Rob Walling talked about actual, concrete numbers when discussing his current project's revenues.  There's a ton of handwavy stuff out there on the internet, but real numbers are tough to beat.  What makes it especially nice is that they also felt "real": they're good numbers, no doubt about it, but not stratospheric, science fiction numbers that leave you feeling like "ok, whatever, but that's not the planet I live on".  They're numbers that make you think "maybe, if things go well, I could do that too".
  • The number of "I'm from X, but live in Y" people at the conference was high.  Irish but live in Spain, American but live in Japan.  Or maybe just noticeable because I'm in that category myself.  There were people attending from the US, Europe, Japan, South Africa, and even Australia.  Impressive!
  • Almost all of the speakers had very specific, concrete advice that I can and will apply to LiberWriter, time permitting.  I read, and have read, a lot of business books.  Most of them are kind of fluffy, truth be told, in that they've got one decent idea, and a lot of filler to turn what could have been a tight, ten-page article into a book.  This was quite different in that there were a whole lot of tips and tricks being thrown out.
  • Rob's wife Sherry gave a talk about life with an entrepreneur.  Having two kids and a wonderful wife myself, it's a point of view that I was very interested in hearing about.  Judging from the people I chatted with, this was not your typical "startup" conference with a bunch of 20-somethings with no family and no ties - a lot of the other people attending had kids to think about as they launch their ventures.  A question I asked of Rob was how much of a leap he took from consulting to working on his own products, with the answer being that he's actually pretty risk adverse.  No Silicon Valley story about betting the house and everything else on the company - apparently, revenues from the web sites and products were good enough that there wasn't even really a leap to make when he quit consulting.
  • The size of the conference was just right: enough people that I didn't quite manage to meet everyone, but not so many that it was overwhelming.  In downtime between talks, and during dinners, breakfasts, lunch and so on, the speakers were very available to chat with.
  • Patrick McKenzie seems to have stumbled into his life's calling as someone working at the border of software and marketing.  The amount of advice, anecdotes, and data that he was continually spinning off was incredible.  He comes across as being a down-to-earth, approachable, friendly person.
  • Part of the balancing act the organizers have to work with is where people are at: some people had an idea but no concrete business.  Some of us (me) make some money but not too much.  Others have viable businesses that they make enough to live off of, and then there are those who seem pretty much 'set'.  It's difficult to find people to speak to each audience without losing some of the others.
  • The thing I liked the most about a lot of what was discussed was that it seems realistic.  Few people at the conference were from Silicon Valley, and yet... they're successful!  I like hearing about success stories that work out really well for the people involved, but still feel like something attainable.  People should be looking to emulate the successful guys here, not looking at extreme outliers like Bill Gates or Mark Zuckerberg.
  • I'm used to tech conferences, where it's all about the technology.  There was very little actual tech talk at MicroConf - it seems like everyone knows their stuff and was interested in learning about marketing, sales, and so on.

However, since it was a business conference, I also have to put on my cold, hard accountant hat.  Will the conference pay for itself?  Only time will tell.  I learned a variety of interesting and useful things, many of which I think I can put into practice.  The problem is finding the time between consulting work and family, but that was a bottleneck before, too - I had, and have, more things to do than time.  Also, to be very direct about it, how much of what I learned could not have been learned by carefully reading accounts of the conference, slides, and other material published on the internet?  A lot of it.  I'm not sure I would have paid attention to all of it though, so the conference was definitely nice in that it exposed me to some talks and ideas that otherwise I might have brushed off before giving them a chance.  In terms of dollars and cents, I won't be able to say for a while whether it was a sensible investment or not.

Would I go again?  I'd like to - it was a lot of fun and the people were great.

Like I said, it's tough doing conferences because your competition is the internet!

by David N. Welton at October 25, 2013 10:21 PM

August 06, 2013

Try Some Old School Fun With 3D Snake

The old snake game has gotten a facelift and a new name. 3D Snake for Android is just what its name implies. The old school game has gone 3 dimensional, and it has never been so much fun. The premise is still the same. You are a snake eating as you crawl along in a box getting bigger and bigger as you go. If you are not fast enough to stay away from the edges, you die. It gets harder the bigger the snake gets, of course. In this newer version, you are a cute little grass snake eating bugs and growing as you go along, but if you get too big and lose control you are in trouble.

It is an analogy for life really, if you think about it. We go along our lives and our triumphs can make our pride grow and grow until we can no longer fit in the constraints of our lives or around the people in it. We can't get out of our own lives, therefore if we grow so large as to bust out, we lose it. Maybe we don't literally lose a life, but we very well could lose much of what makes up our lives as we know it.

No one wants to think about that though. The goal here is to get as big as possible and stay away from the edge, which is not as easy as it sounds. Do it well thought and watch your score climb on the Swarm leaderboards.

by Beti ( at August 06, 2013 09:07 PM

July 30, 2013

Avoid The Mines In Minesweeper ++ Lite

Minesweeper is the classic game of "can you figure it out before you die." It is the perfect way to kill time or rest your brain with some mindless activity for just a few minutes without anyone knowing.  Countless execs over the years have utilized the game to take a break while looking busy, and now with Minesweeper ++ Lite for Android the same technique can be used by anyone anywhere on their android mobile device.

While it may take a second to catch on, once you do you will be hooked. You must "guess" where the mines are and stay away from them. This becomes easier to reduce with time and guessing is no longer necessary once you figure out what you are doing. 

What makes it even better is the ability to post scores to the Swarm leaderboards. Compare your progress and rank with players from around the world, but be certain you change your name lest anyone else lurking around the boards catch on to your sneaky break time routine. Of course, be wary of who you share your gaming name with also, but a little inner office camaraderie never hurt anyone.   Enjoy free time, or use it as a cover to make you look busy when you are not. Either way you will love the fun that Minesweeper offers.

by Beti ( at July 30, 2013 04:48 PM

July 08, 2013

Disney’s The Lone Ranger Game Limps onto Google Play

lone ranger gameAnother week passes, and another movie tie-in game gets released. This week it’s The Lone Ranger game, and it’s from Disney, so it’s certainly something that grabbed our attention. The Long Ranger game takes place in a world full of outlaws, and you’ll help the Lone Ranger out by taking out bad guys and completing simple quests. The game bills itself as a “3D Role Playing Adventure” and while they got the 3D part right, I would hesitate to call the game adventurous. The Lone Ranger game is energy/time based, and you’ll spend most of your time tapping to search for objects or shoot bad guys. There are duels, but they aren’t much fun and get repetitive quick. It’s also a ‘freemium’ game so be prepared to drop some dough if you run out of juice and want to keep playing.The reviews for the new Lone Ranger movie have been less than kind, and the same can be said for the reviews of The Lone Ranger game. It’s looks good, but there’s not a lot of fun to be had unfortunately. Disney has put out some outstanding Android games, so I’m going to give them a pass on this one, and suggest you do the same as well as the Lone Ranger game is definitely a dud. If you’re in the mood to play a game on autopilot you can pick up Disney’s The Lone Ranger game for free on Google Play. The Lone Ranger

by Adam Field at July 08, 2013 10:35 PM

June 30, 2013

Chocolate Liberation Front releases Figaro Pho Fear Factory for Android

figaro.pho.fear.factory-androidSome people are scared of things like spiders while others have a horrible fear of clowns or thick moustaches. Figaro Pho is just that type of person, and he’s even got a popular ABC show to prove it. He also has his own Android game with the recently released Figaro Pho Fear Factory.

by Adam Field at June 30, 2013 10:13 PM

June 26, 2013

T-Mobile To Announce “Simple Choice with no credit check” plans

It seems that T-Mobile always does this. They introduce something fairly interesting, and then follow it up with something also kind of interesting, but also a little confusing. It got bad a few years ago, when they had multiple tiers of plans and it was difficult to tell the differences between them in many cases. Their latest foray piggybacks their Uncarrier campaign. “Simple Choice with no credit check” will provide the credit-challenged with access to those same Uncarrier plans.

There are many catches, of course, and the confusion of the plan might turn off consumers before they get a chance to see how it can work for them. For starters, this is advertised as, and mostly effective as, a family plan. Individual users with bad credit are better off examining T-Mobile’s traditional prepaid plans, which are pretty close to the Simple Choice plans, but with no deposit.

Yes, a deposit is required for the no credit check plans. That starts at $60 for the first line, followed by a $40 deposit for the second line, and $20 each for the next two lines. A fifth line is also a $20 deposit, but that has to be a non-phone internet device (tablet, for example). The deposit is refundable, so presumably it covers you for potential non-payment.

The biggest loss here is the lack of automatic payments. Why T-Mobile would take that away I don’t understand. Companies absolutely love autobill features, and it’s pretty standard in prepaid. (Virgin Mobile offers a $5 per month discount if you sign up for automatic payments.) Maybe it will be available in the future, but for now it’s off the table.

Combine all that with the necessity of paying for a device in full, up front, and you have a not so attractive plan. There will be many customers, for sure, who will want an option like this. But given the ease of T-Mobile’s Simple Choice plans, it seems as though this appeals only to those who absolutely cannot pass a credit check. In which case, they’re stuck with what T-Mobile offers.


The post T-Mobile To Announce “Simple Choice with no credit check” plans appeared first on MobileMoo.

by Joe Pawlikowski at June 26, 2013 12:30 PM

June 21, 2013

Monoprice 8320 Earbuds Deliver at a Low Price


Earbud headphones almost always suck. At least for me, and I know plenty of others who simply cannot stand them. I remember seeing everyone walking around with the signature white iPod earbuds as I walked around New York City in the mid-00s, wondering how they found them at all comfortable. For me they alway fell out, so I had to readjust them every 30 or so seconds while walking.

A recent trend in earbuds is including three different size buds with each pair. If the default buds are too big or too small, you can change it to one of the other included sizes. This is nice in many ways — I actually have a pair rigged up with two different sized buds on each ear — but I still can’t seem to find a pair that stays in my ear while walking.

Recently I connected with Troy Redington of FatWallet, who raved about the Monoprice 8320 earbuds. At first he went on about the sound quality, how they all but eliminated outside sound. Then he went on about the price, around $8, which just blows away the cheap earbud competition. When I asked about comfort he said he had dozens of earbuds lying around, but these fit far better. So sure, send me a pair for review.

I’m not going to say that these earbuds stayed in my ear like a dream. I’m not going to say that they’re superior to the Bose over-ear headphones I have. But I will say that in terms of earbuds, they are the most comfortable I’ve worn and they do deliver on sound quality. While they’re not great for spoken-word audio, such as podcasts, they do a real good job with all styles of music I tried.

As you can see in the picture atop this post, they’re not exactly normal looking earbuds. They have something of a hook on top, which is actually great. The hook helps the buds fit snugly in your ear. It takes a little twisting, but I got them to fit very well without moving too much. The cords also wrap around your ear, rather than hanging straight down. This probably makes the greatest difference. Since using these, I started wrapping all of my earbuds around my ear like that, and it honestly does make all of them more comfortable.

Yet what stood out to me about the Monoprice buds is that they’re made of nylon, rather than the cheap plasticky, rubbery substance you see with most headphones. It’s strange, because the buds are so cheap, yet the material feels anything but. They just feel more durable, which is nice. When I buy headphones under $10 I expect to replace them pretty quickly. These feel like they’re last for a while.

You can check out the FatWallet site to get these earbuds at an insanely cheap price. They do offer cash back if you register, which is nice. Again, it’s tough to do better for $8. It’s probably tough to do better for triple that.

The post Monoprice 8320 Earbuds Deliver at a Low Price appeared first on MobileMoo.

by Joe Pawlikowski at June 21, 2013 12:30 PM

April 08, 2013

Switch The Party On with Native Union’s Bluetooth Speaker

With Native Union’s SWITCH Bluetooth wireless speaker, you’ll be able to share your favorite music with everyone in the room. It’s also a great way to amplify games and movies from Bluetooth-enabled devices, and it can be used as a professional conference call solution with its full duplex microphone.

amwiblog nativeunion switch beach sm Switch The Party On with Native Unions Bluetooth SpeakerDesigned by professional sound engineers to ensure exceptional sound and optimal clarity throughout the frequency range, the SWITCH features three powerful speakers — including an active sub-woofer and has an enhanced bass-reflex system. Featuring an intuitive volume control the SWITCH also enables you to effortlessly alternate between music and calls for up to 14 hours at a time. The battery is so powerful, the SWITCH can also function as a power bank for your mobile devices.

The SWITCH can be used either vertically or horizontally, and it features a soft touch exterior that’s available in multiple colors. Check it out today, and get your party started.

April 08, 2013 01:00 AM

March 26, 2013

Jabra Adds a New Dimension of Sound

Delivering state-of-the-art design, ease-of-use, and outstanding sound quality, Jabra’s newest corded and wireless stereo headphones are perfect for hard-wearing, everyday use and portability. The lineup includes the over-the-head Jabra Revo — available in corded and Wireless versions — and the small but tough in-ear Jabra Vox.

amwiblog jabra revowireless sm Jabra Adds a New Dimension of Sound

The Jabra Revo Wireless

Jabra has upped the ante sonically with the addition of Dolby Digital Plus technology for all three models. With Jabra’s exclusive Sound App for iOS and Android devices, you’ll enjoy a richer and fuller sound that is often missing in digitally compressed audio, breathing new life into your favorite music while giving it extra depth and dimension.

Jabra Revo Corded and Wireless

Both the Jabra Revo Wireless (a 2013 red dot design award winner) and Jabra Revo corded headphones (the latter available in gray and white) are solidly constructed using an aluminium frame, steel hinges, and a shatter-proof headband for extreme flexibility. Both the corded and Wireless versions are super comfortable with a padded headband and plush, memory foam ear cups. They feature a foldable design for quick, compact storage and come with a detachable cord and USB charging for convenience.

Play or pause music, skip tracks, and take calls with ease by using in-line controls on the corded version instead of searching around for your phone. The Revo Wireless utilizes both Bluetooth and Near Field Communication (NFC) technologies to pair with your device, and its Turntable Touch Control allows you to easily play, skip, or pause your music while also managing calls.

amwiblog jabra vox sm Jabra Adds a New Dimension of Sound

The corded Jabra Vox

Jabra Vox

Size matters… especially when earphones so small command massive sound like Jabra Vox. Optimized for superior sound and performance with portable devices, the Jabra Vox really packs a punch. Get the perfect fit with specially designed ColorCore EarGels for enhanced comfort and deep sound. Vox’s earbuds are engineered to rest comfortably for extended use. The Vox also includes in-line controls for playing or pausing music as well as taking calls.

Dolby Digital Plus

With Jabra’s exclusive Sound App (available for iOS and Android devices), Dolby Digital Plus adds that extra depth and dimension to your music — extending bass performance and enhancing high frequencies so your music retains its clarity.

The Jabra Sound App automatically identifies your music files so it’s easy to get started. Simply download the App, and you’re ready to go. Use the App to create and browse through playlists, share music on Facebook or Twitter and adjust the graphic equalizer so you can play your tracks as you want to hear them.

Find the right headphone for your needs today, whether it be the corded in-ear Vox, corded over-the-head Revo (in gray and white), or the Revo Wireless for the ultimate in freedom.

March 26, 2013 03:56 PM

January 14, 2013

The Software Millionaire Next Door

I've been reading "The Millionaire Next Door" and have so far found it to be a pleasant book with a good message: don't waste your money on silly things and appearance (fancy suits, fancy cars, expensive boats, etc...), save what you do earn consistently and constantly, invest wisely, and so on.   Wikipedia has a good summary:

One of the things I like about it is that it focuses on "ordinary" wealthy people, those with a million or more in the bank, but not the Warren Buffets or Bill Gates types that are extreme statistical outliers.  There are plenty of people in the US who have done well by themselves by slowly but surely putting together enough money to be financially independent, without, however, being in the spotlight.   As the book says, these are the kind of people who maybe own a local chain of businesses doing something fairly ordinary, but doing it well enough to succeed.  They may very well not live in a fancy house, nor drive an expensive car, or otherwise outwardly draw much attention to themselves.

The world of software does not revolve around "dressing for success" (you noticed?), but we do tend to focus on the "big winners".  Gates, Jobs, Zuckerberg, Larry & Sergey, Larry Ellison, and so on are the stars of the show.  Of course, the economics of software being what they are, instances of winner-take-all markets with one big fish and a lot of also-rans are not uncommon.   However, that is not the only story, and I think it'd be interesting to know more about those in our industry who have accumulated significant wealth, yet are not the guys with more money than they could possibly ever spend on things that aren't, say, country-sized chunks of real-estate.

I'm guessing they'd fall into these categories:

  • Highly paid workers who have consistently saved over the years.  There are examples in the aforementioned book about people with relatively low salaries who happened to be very frugal and invest well (and have had some luck in their investments too).  These people would probably tend to be older, as it takes a while to save up that kind of money, and since this industry is so young with so much turnover, I would not think there would be a lot of people out there like this, but who knows, maybe there are a bunch of IBMers with this kind of story.
  • Those who got in on the right IPO, like Google or Facebook or something like that.  These events not only generate billions for those at the top of the heap, but for the right person at the right place at the right time, can mean significant wealth even without being in the upper echelons of the company.  My suspicion is that this kind of IPO, where everyone cashes out, is not common enough to have a lot of people in this category, but who knows, maybe it adds up over the years.
  • Those who own or started software firms that do something that's not very visible, but nonetheless dominates some particular niche.  This is where I'd guess most of them would be, but I certainly have no data or even anecdotes to back this up.

It'd be very interesting to gather some actual data on this, although I'm not in a position to do so myself - I wouldn't even really know where to start. 

As I age, I think the third category has begun to seem appealing in many ways - I'm simply not cut out for the Big Company life, and I'm not interested in living in Silicon Valley and going "all in" on the latest startup - I already did that, and while it was fun and I don't regret it, it's not the kind of thing I'd want to do now that I'm married and have kids.   Incidentally, this more relaxed, under the radar approach is exactly what is expoused in one of my favorite books of the past few years, Start Small, Stay Small.

Edit : I finished reading the book and reviewed it here:

by David N. Welton at January 14, 2013 10:23 PM

December 22, 2012

InDrive: Custom Car Home 1.0

We are pleased to announce the launch of a new Android application that may appeal to everyone who uses their phone while driving.

InDrive is a GPS-enabled application that combines the standard car home functionality with a trip computer and Poweramp support. The app makes it very easy to launch your favorite applications, directly dial numbers, view your trip information and control music playback*. It will auto launch when placed in a compatible car dock. If you don’t have a physical car dock, InDrive provides an option to force the phone into car mode, in which it will override the Home button.


* The music screen is designed to work in conjunction with Poweramp. Without Poweramp installed, you will only be able to do very basic controls such as switching to the next song in the default Android music player. Support for other media players is not guaranteed.

Please download the app from Google Play and tell us what you think. Your feedback is much appreciated.

by Jeff at December 22, 2012 01:59 PM

July 23, 2012

Transfer of data using Intents (Part 2)

Hi everyone!

In spite of trying hard, I couldn’t prevent the delay. I am again sorry for that. Let’s move on. In the last post, I introduced the concept of transfer of data between activities. I also described the code for declaring an Intent which could help us in accomplishing the task.

Now, it’s time to look at the code of, the second activity which will help us in adding new tasks to the list. As mentioned earlier, this activity will have an EditText to allow the user to input the task name and a Button, which when clicked, will take the user back to and add the task to the List. The code for the click listener for this button looks as follows:

  1. String taskName = taskEdit.getText().toString();
  2. Intent intent = this.getIntent();
  3. intent.putExtra(“task”, taskName);
  4. setResult(RESULT_OK, intent);
  5. finish();

Here, taskEdit is an object of class EditText. The first line extracts the data input to the taskEdit, converts it into string and stores it in a variable. Second line is used to grab access to the intent which called this activity. The third line is the one which actually does the job of putting the data onto the intent. intent.putExtra function used in this line basically adds the information contained in the second parameter to the intent and the first parameter provides a way to access it. We will see the use of the first parameter in a greater detail later, when we will try to access this information in I hope that the fourth and fifth lines will be pretty easy to understand. If not, please refer to the last three posts on Intents.

The above code ensures that the clicking of the button takes us back to the initial activity with an intent which contains the name of the new task that is to be added to the list.

Clearly, the callback function described in Part 1 of this post will be used to access the information carried by the intent since this function will be automatically called when the control is given back to this activity via an intent. Straight away, let’s look at the code!

String extraData=data.getStringExtra(“task”);

I think it is self-explanatory. We are extracting the information from the variable data using the value of the first parameter of the function in Line 4 above, and saving it in a variable called extraData. The second line just appends this value to the list (referred by taskText).

In this way, we received the name of the task from a different activity and display it in our main activity. This provides a clean and user-friendly interface which is the basis of a useful app.

But here, we have not taken care of the situation when the user calls the intent to but wants to cancel it later. This is not perfect programming, though it can be dealt very easily. How?

In the next post, we will finish our discussion on intent and move on to explore some new concepts in Android App Development.

Till then, BYE!

by Nikhil Gupta at July 23, 2012 12:44 PM

July 11, 2012

Transfer of data using Intents (Part 1)

Hi all!

Last time, we had looked at the most basic communication which can be achieved among activities. It allowed us to switch between activities back and forth, which is an important concept used in almost all the android apps these days.

Moving on, it’s time to look at the data transfer using Intents. Consider the case of a simple Task application, in which a To-do list is shown in one activity while another activity performs the task of adding new items to the list. So, what’s happening here?

Basically, we need to create a new task in the second Activity and somehow transfer it to the first activity so that it could add it in the existing list. Note that we are not using any database. If we do so which is done most of the times, this app will be useless in itself. But, I am still discussing this app because I feel that it’s the best in order to understand the concept of transfer of data which you may need in various other apps.

In this post, I will not go through the layout or the entire code of the app. I may go through it later. But, I hope that you will be able to do so after going through the previous posts. As a hint, we will be using a TextView (to display the list) and a Button while making the first activity, while the second Activity will have an EditText and a Button.

Assuming that we have an EditText in the second Activity and when the user presses enter, the string in the EditText is captured in a string variable called NewTask, we need to simply tranfer the contents of NewTask to the first activity.

To achieve this, we need to call the intent when the button in pressed in the first activity in such a way that the Android platform knows that some data will be coming back to this activity. Continuing with the app from the previous post by replacing the startActivity(intent); by

startActivityForResult(intent, 1);

as a parameter acts as a unique code used to distinguish data received by this intent from the data received by other intents if more intents are used. Using the above functin, we have been able to call the intent, but we have not yet accessed the data which comes back with this intent.

To achieve this, we need to use a callback function which will called automatically when the intent returns. Let’s look at the code for this function:

public void onActivityResult(int requestCode,int resultCode,Intent data)
          super.onActivityResult(requestCode, resultCode, data);
                      //Code to extract the required information from the variable data

In our case, requestCode is 1. resultCode is a variable which is set to value RESULT_OK if the intent was successfully handled. data is the variable which contains the data received from the other activity.

In the next post, we will look at the code to extract the information as well as the code for the second Activity which puts the information in the intent.

Till then, BYE!

by Nikhil Gupta at July 11, 2012 05:36 AM

July 04, 2012

Planet Android summer cleaning

Blogs come and blogs go, and nowhere is this more apparent than in a fast changing technology area such as Android. Today I removed 12 feeds from PlanetAndroid that haven't had updates in a while (some since 2010). If you feel your feed was removed in error, let me know.

In a reply to a recent post, one reader said they'd like to see fewer app reviews and news articles here, and more development diaries, tutorials, and community activities. What do you think? What are your most favorite and least favorite feeds? Let me know in the comments.

by Ed Burnette ( at July 04, 2012 03:00 AM

June 26, 2012

Kikoriki: The Beginning

Kikoriki: The Beginning [by HeroCraft] is yet another arcade adventure android game from the people that brought you Dragon and Dracula. The game is based on the Russian cartoon series “Smeshariki”, but the show is known by different names in other countries.

Kikoriki - GameplayKikoriki - Gameplay

The characters of the animated series become superheroes in this adventure, which is always fun for kids and adults. Children will probably enjoy it more than adults due to the excruciatingly child friendly atmosphere of the game. However, some grown-ups might give it a go just to try out the various super powers each hero possesses.

Kikoriki - GameplayKikoriki - Gameplay

Your mission is to vanquish evil and thus save the boring grown up world from destruction. How does one do that? Well, by working together of course, just like best friends should! The power of friendship is demonstrated in the game by allowing the player to switch between two characters during gameplay and use their individual super powers to solve puzzles, defeat bosses and do anything to complete the level.

Kikoriki - GameplayKikoriki - Gameplay

The three chapters of the story take you from the happy land of Kikoriki to the boring grey Megapolis. Each chapter tells a different story and allows you to play various characters. The game has brightly colored, simple and yet well drawn cartoon style graphics with smooth animation. The controls might take a bit of getting used to, the joystick in particular. I do like the soundtrack, which reminded me of the music from good old cartoons like Tom & Jerry. Kikoriki will only set you back $1, unless you don’t really love your children that much, in which case you can opt for the lite version. Either way, the game will help keep your kids preoccupied and will not only help them learn about friendship and growing up, but will also teach them that if you touch purple butterflies it will make you sneeze stars.

by Gamer-K at June 26, 2012 04:44 PM

Dragon and Dracula

Dragon and Dracula [by HeroCraft] is a fun and challenging arcade android game that is sure to touch the hearts of the Mario and Spyro the Dragon generation. It takes the jumping, coin collecting and shrooms – the inspiration for many 90’s games – from Mario, giving the role of the hero to an increasingly awesome dragon, whose job is to defeat Dracula.

Dragon and Dracula - GameplayDragon and Dracula - Gameplay

The fact that you start the game with just a little baby dragon that jumps can be disappointing, at first. However, as you progress through the 25 levels of the game, learning new skills, collecting artifacts and battling enemies, you will see the little guy go through three stages of evolution. With every new form the dragon grows, acquiring fire breathing, flying, climbing and head bashing abilities, not to mention a mean look.

Dragon and Dracula - GameplayDragon and Dracula - Gameplay

The dragon’s natural abilities are enhanced with the always popular temporary perks such as invulnerability, increased speed, regeneration and many more. They will be of great help on the quest to destroy the Dark Lord’s minions and defeat the legendary vampire that is Dracula. Gamers who find the adventure to be unfulfilling can enjoy some mini games that are unlocked during gameplay.

Dragon and Dracula - Gameplay

Controls might take a couple of deaths to get used to and actually made me play with my tongue out, which I have not done in a while. The menu is very well thought through, easy to navigate and has all the information on game controls, settings, stats and sharing options. Thanks to the simple yet visually pleasing and familiar graphics, the gameplay is smooth. Not a fan of the soundtrack though, which sounds like old Japanese game techno music. For only $1 Dragon and Dracula has a lot to offer with tricky levels, epic boss fights, addictive mini games and main character customizations. If you are just looking for a fun adventure or want to prove yourself on a global scale, this is the bargain to go for.

by Gamer-K at June 26, 2012 04:33 PM

June 14, 2012

New PlanetAndroid feed policy

Starting today I'll be removing most feeds that include embedded ads. Currently, I pay for PlanetAndroid's upkeep out of my own pocket, with no revenue coming in from ads or donations at all. When an ad appears in one of our feeds, it takes space away from the other articles and gets clicks based on the drawing power of the whole site, including feeds with no ads. That didn't seem fair.

I grandfathered in a handful of feeds for various reasons including new sites that need the extra juice that PlanetAndroid brings to help them get started. Some sites report that being listed on PlanetAndroid has doubled their traffic! If you feel your feed was unfairly removed, or if you make a new feed without the ads and want to re-join, just let me know. Thanks for your support.

by Ed Burnette ( at June 14, 2012 12:48 AM