TDD – Just a buzz word? or is it really needed?

June 6, 2016 BDD, Mobile, TDD , , , ,

Well i have been so busy over the last year working with startups in London, so my apologies for not updating sooner.

I have been looking for a new contracting role recently, and i have seen so many roles that require TDD and I know that these companies are just using it because it’s the current buzz word in tech. I would argue that BDD and TDD both have their own place, I have been a keen advocate to say that interfacing platforms, e.g. iOS, Web, Android, etc should be BDD because the user interacts with their behaviour, not programmatically or mathematically. In addition to this, the interface is forever evolving so the cost of refactoring a TDD interface is significantly higher than a BDD interface.

In my opinion TDD should be used for the API layer where most of the business logic will exist, this logic usually won’t change once its established and everything created in the API should have unit tests.

For the interface, that’s why UI Unit tests exist e.g. selenium, calabash, ui unit tests(Xcode), so if your interface does have some business logic, then yes write a unit test, but there is no need to have the whole app written in a TDD way!

I think the lack of understanding of TDD and BDD is a problem for businesses right now, they should be relying on their tech lead & architect to determine where and when to use the correct methodologies.

A great real world example is a company who will remain unnamed, a friend of mine mentioned they are looking for permanent staff who can develop in a TDD environment and use a specific tool/framework! I found it laughable that they have such requirements, clearly the person who is in charge of hiring employees is blind sighted to thought that you can find a permanent TDD developer who can write in this framework. What they really should do is re-evaluate their current infrastructure, determine where to use TDD and BDD, re-organise current employees and then look at hiring the correct personnel. If they need a TDD developer, then hire a TDD developer but don’t put the requirement that they must have experience with a particular framework, there is frameworks popping up left right and centre and the current framework they are using is probably out of date already in the first place!

Facebook’s iOS Infrastructure

April 26, 2014 Mobile No comments , ,

Have a look at this excellent presentation, it shows the approaches and difficulties facebook have had while structuring the facebook app.

Facebook Link

What is interesting is how facebook made all of their major screens as separate libraries, these libraries invoke custom schema calls which then opens those screens. Quite an interesting view and approach to a large scale development application. By separating each major functionality into a library, you can then focus on the core functionality and not have any form of conflict.


Calabash Structure

October 23, 2013 Mobile No comments , , , , , ,

Here is a small presentation describing the calabash structure.

Calabash Structure

UI Mobile Automation Cross Platform

October 18, 2013 Mobile No comments , , , , , , , , , ,

I have recently been looking at UI Automation tools for some of the projects I have been working on, so i created a list plausible tools.

At first I decided to use Appium but I found that the support for ios 7 wasnt very good and also there is alot of bugs on the github repo. I even found a few bugs that were closed even when they were not fixed. So in the end I decided to try Calabash, recently they have been taken over by Xamarin and so I know that the support will be far better. After using the tool and really putting some hard test cases in, i can say that Calabash is the best tool for my projects.

Here is a power point presentation that I created that explains in detail the analysis.QA UI Automation Tools

Windows Phone 8 and Windows 8 for Windows Phone Developers (18th May/13)

April 28, 2013 Event No comments , ,

I will be attending the Microsoft event in London in May, its an event where they are going to show me some of the nice new features of the Windows Phone 8 and also show me the differences in the app development.

Its pretty good and its free so I guess its something better than my usual Saturday.

The Wonders of Xamarin

April 28, 2013 Mobile No comments , , , ,

In a recent project I have been working on, I have been using Xamarin, before the band wagon comes with the angry mob first listen and see what it has to offer before disregarding it.


XBMC Setup Including Remote Control Via Mobile

April 28, 2013 Media Center No comments , , , , ,

Firstly make sure you have XBMC installed, you can get it from here:

After installing, if you run XBMC and goto Settings -> Services -> WebServer and enable allow control of XBMC via http and take note of the port(default 8080).

Now get the mobile app on your phone or ipad, there is plenty of apps that allow the remote control of XBMC. Now add a server and add the ip address or computer name and port, so if you followed my other guide about setting up a media server then you should be able to fill out the computer name and port(servername.local and port:8080).


So now we can control XBMC remotely, but now we need to setup Utorrent, Sickbeard and Couch potato. Goto Programs -> Add-Ons and then Get More. Then install and enable UTorrent, Sickbeard and Couch Potato.

If you haven’t installed utorrent, sickbeard and couch potato outside of XBMC, then this would be a good time to do so. XBMC will have the default settings for the apps and you should be able to install all the apps apart from utorrent where you will need to enable http server so that sickbeard and couch potato can send the respective calls to download.

Betfair XG Mobile

April 28, 2013 Mobile No comments , , , , , , , ,

Whilst working at Betfair, I created both the Android and iOS version of Betfair’s exchange games Texas Hold’Em(Poker InPlay).


The product plays a game of Texas Hold’Em with 4 computer players, you have the ability to bet on either of those players to win. The betting opportunity occurs during each critical event, so the Deal, Preflop, Flop, Turn and River. This game is totally random, I have tried downloading the results of a week to see if there is a pattern which can be predicted on the results but literally what odds are offered by the Betfair bot are true(alittle under true) to their outcome.

Betfair are offering a £5 risk free bet too, so take full advantage of this:

What is the Betfair Bot?

The Betfair bot is an account that is offering the true odds on the hands on the exchange, I call it the Betfair bot because it is a bot created by Betfair and it provides liquidity on the exchange games market. You can easily spot the bot because you will see most hands on the PreFlop will be offered at 3.95 and set amount of liquidity on all four hands. Also as I mentioned about true odds, there is 1 in 4 chance of winning at this stage hence slightly under 4.00 offered by the bot.

iOS Application:

The iOS application is definitely the better of the two applications, you can get it on itunes from here:

The new version(1.2) is a far superior product and includes some new features like cashout now and drag-able chips.


So in summary, if you have an iPhone or even iPad then I would recommend this product as it is fun to play and you can win some money. BTW – I am not responsible for any losses or wins you may get using this app, if you have a problem then contact Betfair.

This little review shows some of the features of the app:

Android Application:

To be honest with you, the Android application is no where near as good as the iPhone version but still playable. The Android application came out about 7 months before the iOS one because I was working on this whilst living in Romania. Actually obtaining the application is a little harder than the iOS one, here is a direct link to the app PokerInplay.apk

Here is a good review on the android product that I made


So in Summary, download the apps and play them, they are fun but just remember they were made soley by one developer, Me and I did each app in under 6 months! oh and also I am not liable for losses but if you want to give me a percentage of your winnings then I am willing to take them :P

Thanks for reading.



April 28, 2013 Uncategorized No comments , , , , , , ,