The Cage Cricket application is my first cross-platform mobile application built using Trigger.io and Parse, and works on iOS and Android.
For Halloween, I helped wonga.com reskin an old app they had originally developed with a third-party agency. The app used Adobe Flash as the main user interface, with a PHP / MySQL backend.
I created a second Facebook app for the Financial Times that scrapes a number of RSS feeds to bring in editorial content into Facebook. The app uses XML for flat-file storage and caching to speed up loading.
The LOVEFiLM Android Application was my first project as Development Manager, responsible for a team of four.
I created a simple application for the Financial Times Facebook Fan Page, using PHP and a XML flat-file store. The application had a CMS backend to allow an administrator to customise the images, URLs and text for each of the boxes (up to 6 supported).
I’ve already covered release signing Android application in Cordova in a previous article, but sometimes you want to do the same for debug builds. By default, Cordova uses it’s own debug keystore, but it’s easy to customise your project to use a keystore of your choice when creating debug builds.
In a recent project, I was asked to create a dynamically generated PDF with the user’s information. In my research, I found that using FPDF was the best the best way to achieve the client’s requirements. Here is a quick tutorial on how you can use a existing PDF with dynamic content using only PHP.
If your Facebook App requests additional permissions from users, they first need to be reviewed and approved by Facebook. Here are some tips on getting through Facebook’s review process as quickly as possible.
If you’re using Cordova 5.x+, it’s easy to configure it to also build signed release builds of your Android application. Providing you’re already created a keystore using the keytool, this tutorial will have you building release builds in minutes.
This tutorial shows you how to extend Laravel 5.x to include custom validation rules. In this case, how to check if a field matches the current user’s stored password, when the user wants to change their password.