iOS app development and PHP web development aren't just my job; they're also my hobby. As well as the apps I've built in my spare time and the work I've done commercially, I spend a lot of time on the various projects listed on this page. These vary from podcasts to coding, and APIs to voice control hacks. I try and give back to the development community so you may find my GitHub profile useful for code samples and downloads. If you have any questions about my various projects, please get in touch.
In 2019, Apple released an updated version of their TV app for iOS, macOS, and Apple TV featuring an all new design where artwork for TV shows and movies was displayed as 16:9 rather than the 1:1 squares they had been using in iTunes. Over the summer, I received a lot of emails asking when my iTunes Artwork Finder would be updated to support this new artwork and I'm happy to say that this is the result.
This new tool not only fetches the new 16:9 artwork used in iOS 12.3 and macOS Catalina, but also fetches a whole host of extra high resolution artwork from ultrawide banners and background imagery up to PNG logos and parallax files.
Use the Apple TV Shows & Movies Artwork Finder »
I have a large number of TV shows stored in iTunes but not all of them were purchased there. The only issue I've had is that I lacked hi-res artwork for each show to display on my Apple TV so I knocked up a script to pull the artwork down from iTunes. Whilst this project was originally for TV shows, it gained so much popularity that I've updated it to include movies, iBooks, app icons, podcasts, and music albums along with searching across international iTunes stores.
Use the iTunes Artwork Finder »
The #1 request I get from people using my iTunes artwork finder is to find a way to retrieve the playlist artwork from Apple Music. I've finally found a way to do it and present this new tool that lets you enter an Apple Music URL to retrieve the artwork in incredibly high resolution. I also added the ability to fetch artwork for albums and radio stations.
Use the Apple Music Artwork Finder »
I started my Magic the Gathering website, The Plainswalker, following the Ravnica Allegiance pre-release in January 2019. My aim was to get a better understanding of the many cards I was collecting by writing a daily article based on each booster pack that I opened. This has expanded to deck techs and other articles relating to MTG.
In terms of audience, the site is mainly aimed at those who have begun playing Magic at a similar time to me (around the Kaladesh era). Maybe you were lured in by the dinosaurs of Ixalan, the history of Dominaria, or a starter kit in Core Set 2019; maybe you got interested in Magic after playing Arena; perhaps you're a long-time Magic fan but just want a way to keep up with what is new. Regardless, I hope I'll be able to provide you with an in-depth look at some cards and give you some deck ideas that you can make your own.
ThePlainswalker.com | Subscribe via RSS | @ThePlainswalker on Twitter
When I started my Twitch stream in 2018, I spent a lot of time playing with the various panels that are available. The first thing I was keen to do was include some details and tasting notes on the various wines I drink whilst gaming and this ended up being developed into the "Drinking Currently" extension complete with integration with Vivino, Distiller, and Untappd. I later followed this up with three "Wishlist" extensions for the various gaming storefronts that I use; Steam, Humble, and GOG.
View my Twitch Extensions »
In October 2016, I started a website dedicated to my main hobby of video games called Kylo Ben. I posted regular articles including game reviews, previews, and my thoughts on the industry. I also had a full directory of every game I currently own and a "gaming time" page that is updated daily and shows exactly what games I've been playing. In late 2017, my good friend Dr John Wordsworth joined me and we rebranded the website to "Shy Guys" along with adding Twitch streaming and some YouTube videos. There is also a weekly newsletter which details all the new game releases and video gaming news from the past week!
ShyGuys.io | Subscribe via RSS | Twitch Stream | YouTube Channel
In January 2017 I started doing a fortnightly podcast with Jason Kneen on the topic of freelancing and our shared passion for Apple products and design. Each show is 1-2 hours long and covers a variety of topics including recent news and discussions about our freelance life. New episodes launch every other Wednesday - you can also follow us on Twitter via @thecheckedshirt.
Subscribe via iTunes | Listen online with Overcast
In April 2016, I started doing a fortnightly podcast with Dr John Wordsworth on the topic of co-operative video games. We play games with each other regularly and now we'll be publishing game reviews specifically from the co-op and multiplayer point of view. New episodes launch every other Sunday with a full list available at connectingtohost.com - you can also follow us on Twitter via @CTHCast.
Subscribe via iTunes | Listen online with Overcast
I had always assumed that there was an API for Wikipedia that would allow you to search for entries based on geo-location information. It turns out that there is such a service (from a 3rd party) but it is woefully out of date and contains less than a fifth of the geo-coded data that is available on Wikipedia.
I intended to change that.
WikiLocation is a full REST-ful API service for developers wishing to search for Wikipedia articles by location. The data is gathered by downloading the Wikipedia database on a weekly basis and then parsing all of the geocoded entries. This data is then stored in a database where it is able to be accessed via the API. At present, there are almost 1 million entries from en.wikipedia.org and this number increases every week (at a rate of about 3000 entries). Over time, I will be adding support for other languages provided by the various Wikipedia locales.
In addition to searching via location, you can also search via the venue and spot IDs of the two most popular geo-location networks; Foursquare and Gowalla as well as by Yahoo! WOEID. I will be adding other networks as and when they become available. There is also the ability to download a full MySQL dump of each of the 37 locale based databases that power WikiLocation.
Ever since the Transport For London site was updated, I've wondered why they didn't provide a basic way of accessing their data which so many developers could make use of. I expected that they would have an RSS feed of the tube status updates but instead the only way to access this information was through a set of pre-built widgets. Not any more!
I created a full REST-ful API service for developers wishing to get better access to the TFL data on tube updates. The data is gathered using a custom built crawler (codename 'lemmiwinks') which scrapes the TFL site every minute of every day. This data is then stored in a database where it is able to be accessed via the API. I've been storing every single update since 1st Jan 2009 which should allow people to build some great apps whilst being able to look back over historic data (e.g. you could build a graph to show reliability for each line)
If you have an iPhone 4S, you may want to take a look at SiriProxy-TubeUpdates, a SiriProxy plugin I built that allows you to ask Siri for the latest updates on the London Underground.
In 2006 I spent a fair amount of time playing around with writing extensions for Firefox. Since then, I've written a few more and also written extensions for Safari 5 and Google Chrome. These vary from extensions to help identify fonts to those that replace your 'stop' button with MC Hammer (downloaded over a ½ million times and I was sued by Hammerman himself - bonus!)
jTARDIS is a jQuery plugin I wrote which allows you to see what sites a user has visited by going back through their browser history. This highlights a fairly major security flaw in modern browsers today.
phpMyOpenID is a simple to use install routine I wrote for the popular phpMyID library which allows you to host an OpenID server on your own hosting package. This project is no longer maintained but may be useful to someone!