Category: Uncategorized

Google Cloud Test Lab – and why you should care about it.

Google Cloud Test Lab – and why you should care about it.

If you have worked on any really popular app you will know the pains involved in development: thousands of different devices, different configurations, or different versions of Android.

Now we may think that we have the most of these devices covered but the inevitable will happen. You are bound to have some guy with some weird form factor of Android that you can’t get your hands on or maybe cant afford.

I know I have seen some weird crash logs appearing in production and never once picked up in development, QA or UAT.

I mean, have you ever tried running your app in the Drakensberg where 2G is a luxury?

Phone frustration

Cue Google Cloud Test Lab.

What is it exactly?

It is basically a farm of physical and virtual devices waiting for you to take advantage of. Many different devices with different languages, Android versions, orientations are available in both physical or virtual forms.

What can I do with it?

You can do two different things:

  1. You can run a Robo test. Which requires no code to activate. Simply upload your APK file, choose your devices to test on and see the results.
Google Cloud Test Lab - Selecting devices to run tests on.
Running a Robo test – Selecting devices and configuration options to run with.

It is sort of like unleashing a small child on your app but now you will be able to see how the crashes were produced.


2. You can also run Instrumentation tests that you have written with Espresso or Robotium and see the results of your tests running.

Example execution of Instrumentation tests showing some failing and some passing.
Example execution of Instrumentation tests showing some failing and some passing.

Once your tests have run, you will see detailed reports for every device, including the following information:

  • Device Logs
  • Screenshots from the device
  • Videos of the execution
  • Activity Map which will indicate what was pressed to get to the different screens.

    Example of the Activity Map from a Robo Test
    Example of the Activity Map from a Robo Test
How can I use it?

It is only in Beta at the moment but you can sign up for updates and get notified when its available for everyone.

Why should I care about this?

Android Developers have to deal with over 6000 different devices in the real world. Not everyone owns the latest phone and has the greatest internet connection. Having a large cupboard filled with different Android devices can get quite costly and difficult to achieve.

Google Cloud Test Lab service is bound to pick up issues that you may have missed with your own testing on your own devices.

If you want to get updates about Google Cloud Test Lab visit the site here:

Google Cloud Test Lab

Four Apps I Can’t Live Without

Four Apps I Can’t Live Without

I’m always really curious to know what apps people use on a daily basis, and what about those apps makes them so awesome?

I have a couple of apps that have just slotted so easily into my everyday life, that I don’t even realise I am using them.

Here they are:



This app is integral to using an Android phone, if you haven’t installed this app, you are not taking advantage of all of your phone’s capabilities.

Basically it allows you to see notifications from your phone, on your computer. It pushes notifications to your computer and you even have the ability to interact with some of the notifications. As an example when you are using TuneIn Radio on your phone, you can pause and play the music on your phone from your computer. You are even able to see your phone ringing, on your computer. Rad right?

The app also allows you to easily send links, text or files to your devices from your computer using Google Chrome. Gone are the days of emailing yourself links & files to get them on your phone. The Chrome extension also allows you to send SMS messages from your computer on your phone (if you are all old school cool and like sending a good old text message).

This is definitely one of my favourite apps, and I feel like Google should include this functionality in their operating systems by default, because it’s so cool.

PushBullet is also really easy to set up: (

Android Store Download

iTunes Store Download



You know those painful tasks that should be easy but aren’t? Like every time you post a photo to Instagram, you have to go to Twitter and upload the same picture, just so it will appear nicely in your Twitter feed?

Well IFTTT can handle these kinds of things for you. The whole concept is “If this, then that”. Basically, you can create recipes (or use ones already created by other people) that will result in an action if certain conditions occur. As an example, you can set the app to save all your instagram photos to dropbox, which means that every time you upload a new photo to instagram, it will also save that photo in a specific location on dropbox, without you having to do anything.

This app really appeals to the developer in me. You can also buy these cool Philip Hue Lights that can turn on when you arrive home. My only gripe with this app is that it is a bit buggy, sometimes the recipes don’t run and that makes me a bit sad.

App Store Downloads:

Android Play Store Download

iTunes Store Download


Apparently all companies have decided that Microsoft Exchange Mail is the best thing ever. I tend to disagree, I feel like we should all be using Google Apps for business, but for those of us who are subjected to using Exchange Mail every day, this app is really useful.

It is one of the best mail apps that integrates quite seamlessly with an exchange server. I love the look of the app, it’s stability and reliability. You can also connect multiple accounts of different types: Gmail, Exchange, Outlook, Yahoo, Office 365 , iCloud.

Best of all? The app is free and doesn’t have any adverts. One thing that is not so cool, you can’t view your calendar and event invites are still a bit weird in the app. But nevertheless, a great alternative to Microsoft’s attempt at Outlook for Android.

App Store Downloads:

Android Play Store

iTunes Store Download

TuneIn Radiotunein

I hate downloading music, especially because you need to know what the song names are and then there is the whole effort of finding the songs online (usually on some obscure website, with a million ads).

It frustrates me, so I normally end up listening to the same songs over and over again. Introducing TuneIn Radio. I never need to download another song again, or rip MP3s from a CD (Is this even still a thing? I mean, how old school can you get?)

TuneIn radio, has a massive list of radio stations you can choose from, that play all different types of music. Including local stations such as 5fm, 94.7, Metro FM. My current favourite – Capital London. There is a wide variety of stations to listen to, and every music taste is catered for (Including some delightful tunes by Tibetan Throat Singers)

App Store Downloads:

Android Play Store

iTunes Store 


What apps can’t you live without?

A Robotic Guide Dog and Why its a Bad Idea

A Robotic Guide Dog and Why its a Bad Idea

For my honours dissertation, I decided to undertake a project involving the programming of a Lego Mindstorm Robot. Granted, this blog post is a bit late (2  years later!), but I figured I’d share my experiences so that someone doesn’t attempt the same 🙂 .The outcome of the application was to have a robotic “guide dog” that a blind user would be able to follow. This was purely a concept, as anyone following this robot would probably have died 3 times over 🙂 But a concept none the less.

Lessons Learnt from this project:

  • Microsoft Robotics Studio is a terrible idea.
  • Lego Mindstorm robots are pretty pathetic in their abilities, they are good for basic stuff, but as soon as you want to go into complex object avoidance algorithms, they pretty much fail dismally.
  • Real world vs Theoretic world are two completely different things. When somebody says “Theoretically this should work”, DO NOT believe them.
  • Its better to simulate real life than to actual be in it.

In the end I had 3 components to the system, in the end.

1. An android application that would take in voice commands and determine whether the robot should stop, turn around, left, right etc.

2. The robotic dog

3. A desktop application which issued commands to the robot via Bluetooth, and connects to the android phone via bluetooth.

Ideally, I would have liked to have the application running entirely on the robot, but unfortunately the Lego Mindstorm robot had a tiny amount of memory (maybe the choice of a raspberry pi would have been a better option?).
So the lesson learnt from this experience, a robotic dog is a bad idea for a blind person, and perhaps something like a ultrasound device that you wear would be a better choice than a physical robot that a user would have to carry.

Regardless, below is an example video of how the robot detected obstacles and moved around them.

This video wasn’t the final version, as the final version had the voice commands controlling the robot 😀

Calories Burnt Calculation for Walking or Running in Java

Calories Burnt Calculation for Walking or Running in Java

Its surprisingly difficult to find a calorie calculation for Java for performing a number of steps at a certain speed. Based on the Compendium of Physical Activities ( )  and using Corrected METS, I have converted the formulas on their website into Java code! I found the website particularly difficult to read as it did not have brackets in the right places to ensure that the calculations were correct. Hopefully I can save someone the hassle of having to wonder what is going on with all their formulas.