Goals 2016

  • Run parkruns semi regularly
  • Disconnect more
  • Consolidate personal sites
  • Grow Michelle's sites and business
  • Get better at golf
  • Paleo diet fulltime
  • Instagrate 2.0 with improved free version
  • Wild Moors and Tors Challenge 2016
Trello data served by WP Trello

My 2015

2015 was a busy year! Having a new son meant I didn’t have chance to set any goals for the year, just keep things ticking over.

Early in the year I purchased Sellwire. I had worked on it whilst working for Dev7studios, and use it for selling Instagrate Pro so it made sense to take it on when Gilbert wanted to sell it.

I also continued with WP App Store and managed to get some great deals in the first 6 months of the year. As life got more hectic in the second half of the year I spent less time on it, but I will be kickstarting it again in 2016.

It has been a good year working for Delicious Brains. I helped build our second commercial plugin and started working on our new database merging solution. We also had a successful year of content marketing, blogging every week as a company. I managed to write 8 posts for the site.

The highlight of my Delicious Brains year was our first company retreat in Miami for WordCamp Miami.

It was a proper family affair, where we took our wives/partners and children. This was great to meet everyone, and Michelle and I had our first holiday abroad with Rex.

This year also saw me tick off one of my long standing goals from 2013 – Contribute to WordPress core. I managed to get some (small) code committed to both WordPress 4.3 and 4.4.

I made it to WordCamp London, and look forward to another in 2016, along with A Day of REST and some local WP Bournemouth meetups (we also moved out of London).

2015 was also the year of Andy Murray at Queens, SPECTRE, The Force Awakens and Star Wars Secret Cinema!

In November we celebrated Rex’s first birthday, what a short, long, crazy, hard, amazing year!

Happy Birthday Rex #firstbirthdaycake

A photo posted by Iain (@instagratetest) on

I have managed to make some goals for the coming year. Here’s to 2016!

My 2014

Things are a little busy at the moment, so here is the abridged version:

The best day of my life #ldn #michelleiain2014

A photo posted by Iain (@instagratetest) on

Hello World #ldn

A photo posted by Iain (@instagratetest) on

One of my main goals for 2014 was the ambitious 52 week blogging project. Yeah, that didn’t happen.

Here’s to 2015!

Better Time Management

Since I made the jump to full time freelancing at the start of 2013 I have had to become more aware of how I manage my time.

My first piece of regular work was for Dev7studios, working from home as Gilbert is based in the north of Scotland. Working remotely for someone you have only ever chatted to on Skype comes with the underlying need for honesty around hours tracked and billed. I had recently moved my accounting online with FreeAgent and was able to make full use of its time tracking for projects coupled with the excellent Slips for Mac from Rareloop. This meant I could literally start a timer before working on Dev7studios work and record exactly how long I took.

When I started working for Outlandish on multiple projects within a larger team, I quickly realised that time tracking against projects needed to be accurate and consistent. They use YouTrack for issue tracking and project management, so time needs to be recorded against tasks in there. Outlandish are going through a period of rapid growth and are facing the challenges that scaling brings, especially around efficiency, productivity and time management. They are also a very transparent company and discussions were happening the other day in the office around these challenges that prompted me to reflect on time management for my own business. This has been on my mind recently as I signed up for RescueTime to track my screen time to monitor productivity.

Last night I wrote a large to-do list on Trello for the myriad of projects I needed to work on today. As I started today it occurred to me that I don’t actually track time on any of my own projects. As I don’t bill myself I just have never thought to do so, which of course is totally crazy. I spend around 10-30 minutes a day on plugin support but never record it. When I work on plugin development it is totally untracked. When it comes to sales and earning metrics I have everything to hand, but I am missing the important time tracking to really be able to add real insight to my plugin business.

This all changed today when I created a client for myself in FreeAgent and added all my active projects and tasks to record time against. This had the added benefit of allowing me to work in smaller chunks of time on different things. An hour of coding here, an hour of design there as well as chunks of business development. It has been without doubt one of my most productive days and I am excited by a new routine that will enable better business insight and hopefully increased productivity.

How do you manage your time? What tools or methods do you use?

Setting up My Raspberry Pi as a Print Server with AirPrint Support


Last year I came across this video showing a Raspberry Pi hooked up to a barcode scanner in an ingenious setup that automated the creation of shopping lists on Trello:

As Christmas was coming up and family were searching for presents to get me, I thought it was the perfect time to get a Pi and some extra kit for it. Here’s what Santa got me:

After the initial excitement of Christmas day died down and the hectic New Year set in I couldn’t find any spare time to set it up. I was also hesitating until I had decided on a use for it. I wanted to find a useful and / or cool job for it. I toyed with the idea of recreating Oscar from the video, I didn’t need a media center and as much as I would love to use it to power a robot, it didn’t seem likely.

The Problem to Solve

I have had a fairly decent HP printer for a few years now, that works well but is just a little too old to have been fitted with wireless support. This has always presented a hassle of having to move our laptops to plug it in when we want to print and does not support AirPrint from our iPhones or iPad. It always seemed completely wasteful to ditch the printer for a newer wifi one, so we persevered until this morning when the idea came to me. Use the Raspberry Pi as a print server.

A brief google on the subject showed this was a popular use for the Pi and there seemed to be plenty of tutorials on the subject. Great, my Sunday project was on!

Setting up the Raspberry Pi

Before I could start thinking about the print server I had to get my Pi and equipment unboxed and setup. I had read a lot about installing the New Out Of Box Software (NOOBS) on my SD card, but decided on just installing the Raspbian OS on the card.

Preparing the SD Card

Here are the steps I followed using this tutorial:

  • Download Raspbian wheezy
  • Format SD card
  • Unmount SD card
  • Flash SD with Raspbian image(this can take a few minutes)
  • Eject SD and insert into Pi

Turning it on

I then connected my monitor via HDMI, my USB keyboard and mouse via a dongle (to leave a USB slot free for the Wi-Fi adapter) and then the micro USB power cable which turns on the machine.

When the Pi had finished booting I was shown the Raspberry Pi Software Configuration Tool screen, where I expanded the file system and set the boot to go to the desktop.

I then plugged in the Wi-Fi adapter and configured it via the Wi-Fi config icon on the desktop but I could have followed this in the terminal.

Connecting Remotely with SSH

Once the Pi was connected to my router I could connect remotely to it with my Macbook via SSH in the terminal with this command and entering the password for Raspberry Pi when prompted:

ssh 192.168.1.x -l pi

I generally connect to machines, without entering passwords, with SSH keys and so I used this command from this tutorial:

cat ~/.ssh/id_rsa.pub | ssh pi@192.168.1.x "mkdir .ssh;cat >> .ssh/authorized_keys"

I also like to give aliases to my SSH connections, so I added this to my ~/.ssh/config file:

Host pi
   HostName 192.168.1.x
   User pi
   IdentityFile ~/.ssh/id_rsa

The Print Server

Now down to business. Here are the steps I followed using this tutorial:

  • Update packages
  • Install required packages
  • Configure CUPS
  • Connect printer to the Pi and configure with CUPS
  • Print test page via CUPS admin
  • Print tests from Macbook and various iOS devices.

Helpful Resources

This all went surprisingly without a hitch and it is great to have wireless printing in the house with the added bonus of now being able to print from our iOS devices.

Have you got a Raspberry Pi? What are you using it for?

Software Support is Hard

If you build and sell software then there is no escaping the need to support your product. Even open source software that is built for free with no expectations of use creates an overhead of issues and support. Dealing with users and their issues has been something I have been grappling with ever since I released my first free WordPress plugin back in 2012 and it has been a love/hate relationship ever since.

I used to get excited about receiving emails from users, even though they had issues, because people were actually using my plugin. It quickly got to the stage where every email and new bug made me feel personally responsible for the issue and I would stress about it until I could get it fixed. Having the support purely via email with that account on my iPhone meant i was effectively on call at all hours of the day. I would receive an email late at night and immediately jump on the computer to respond and fix. I would spot an email about a bug on a saturday morning and it would put me in a bad mood for the rest of the day because I hated the idea something I had built wasn’t perfect.

Every Cloud

As much as it got me down and became a chore I firmly believe that support is a necessary part of software. You aren’t just building for yourself so support identifies problems and potential ideas and features you haven’t thought of. It can inform documentation and FAQs to try and taper support over time. I can understand how many people just don’t want to do it and perhaps outsource. But there is mileage in being a developer who answers support. You are best placed to answer more detailed points about the software and can immediately recognise when an issue is a bug and log it for a future fix.

A Good Workman is Helped by His Tools

I later moved the support from email to a bbPress forum on my WordPress site. This helped organise my approach a bit more and at least made common issues visible to users in an effort to reduce new questions.

As much as I love WordPress and think bbPress is a great plugin, I just couldn’t get along with it for providing support. I was constantly battling spam and had issues editing posting code in replies. There were just far too many clicks involved to work though replying to new issues.

It wasn’t until I started regularly helping out with the support for Dev7studios that I realised there were other solutions dedicated to making support simpler and easier to get on top of. They were using a product called Sirportly as a ticketing system that runs off emails but with a intuitive administration area and support discussions driven from email conversations that are made public. I couldn’t believe how nice it felt responding to a ticket, moving to the next one, resolving them and moving on. I was also pleasantly surprised to find out that the company behind Sirportly is the small but gifted aTech Media based in a Poole, Dorset where I used to live and work. I was sold and almost immediately signed up for my own support and migrated my bbPress forums across to the new system.

A More Positive Approach

After reading a post from Dev7studios founder Gilbert Pellegrom, I was relieved to hear other people have had the same issues with support and have felt the slump in motivation. The post gave some good advice in the form of Gilbert’s new approach; do support early in the morning, every morning. Spending an hour when you are fresh means you can get it out of the way before starting ‘real’ work but it also stops you from reacting throughout the day and firefighting issues. It also means that all tickets are answered within 24 hours.

I have been doing this since I moved to Sirportly and my early morning routine is now firmly in place with a strong coffee to tackle the support for my plugins and then for Dev7studios. How do you handle support and what tools do you use?

52 Week Blogging Project

The last quarter of 2013 saw me write more online and I got a taste for it. I have decided to increase the amount I write in 2014 and hopefully add writing to my income stream as a freelancer.

I have been following the photographer Rick Nunn on Twitter for a while now and have always been impressed with his photography projects that gives him a target and produces great results.

I saw him tweet this the other day and it inspired me to translate that to my blogging goals. I had also been following closely the awesome Blogging for Benjamin project within the WooThemes team, that saw a month of daily posts from the likes of Coen Jacobs, Mike Jolley and Patrick Rauland. This project yielded some great posts and was inspirational to follow.

So to give myself that little push to keep writing all year I am setting myself the target of a post a week for the next year. It is certainly not a hard target and I hope to write more than one a week, but it gives me some structure that should help stabilise my motivation.

Project Proposal

Posts will be on various topics from WordPress, software development, fitness, and freelancing and will be posted here, polevaultweb, Dev7studios, FitPlan.it, and any blogs as guest posts. Like Blogging for Benjamin posts will need to be more than 300 words and can be scheduled for the future but not back dated.

To ease into the project this will count as my first post – week 1 and I will be updating this post with each article as it happens. If you do read the posts or follow this project I hope you enjoy it and I hope I can complete the project and come out of the year a better and more motivated writer.

Weekly Posts

Trello data served by WP Trello

My 2013

As 2013 draws to a close it is a good chance to reflect on the year I’ve had, and as I did a post last year then why not make it a tradition.

2013 started with making the jump into full time freelancing which, initially was an experiment for 6 months, has lasted all year. My biggest and most successful premium WordPress plugin Instagrate Pro has continued to sell and has gone from strength to strength with a recent update to the licenses. There are also some big ideas planned for it in 2014 so keep an eye out.

I continued working for Dev7studios building and developing their plugins and web applications and it turned into a busy year at Dev7studios HQ! I also spent a few months working with the folks at Outlandish on various projects. They are a super clever bunch and I learnt a lot from my time there; I am now a Git convert and feel so much more comfortable with it now.

I also took on various clients who needed websites. Everyone was a WordPress site and my favourite was LakeView Day Camp. I am particularly pleased with the custom plugin I created for them to display their facilities on a Google Map of their camp which resulted in the premium plugin Cartogram.

Towards the end of the year I got the chance to write a few WordPress based guest posts which has wet my appetite for writing and is something I hope to continue in 2014:

At the start of 2013 I jotted down some goals for the year. Not resolutions as such, but things I wanted to accomplish both professional and personal. I did not manage to accomplish all of the goals but here are the notable ones I completed.

Run More / Play More Basketball

It was a great start to the year from a fitness perspective. I was running lots, playing basketball regulary and playing 5 aside football every week. It felt good… until I ruptured my achilles tendon!

After surgery and a lengthy recovery programme, six months later I am almost back to normal, but 2013 will always be a bit of a rubbish year because of that injury. However, it did bring some positives. I began to write about my injury, fitness and the recovery on a blog I set up and I even wrote a guest post on the subject. During my recovery I was extremely thankful for the remote working my freelance work allowed. I also made the most of being immobile on the sofa by building the website for Michelle’s teacher resource download site Harriet & Violet, which has proved popular and has a bright future.

Grow a large beard

This was one of the more whimsical goals. I have been working on it from August to the time of writing.

Release a Plugin on CodeCanyon

Although I sell Instagrate Pro through my own site, I knew that any other premium plugins would require more exposure and would need to be sold through a marketplace like CodeCanyon. I hoped to have one plugin released on there this year but I am please that I managed to build and release five plugins.

Make Things for the Web

This year I launched Warbler, a Twitter monitoring tool. It is currently in public beta and although not a massive success it has been a great learning experience and still solves a problem for me.

In January I built DeLorean Ipsum, a small jQuery plugin that produces placeholder text from the Back to the Future script. Totally useless but a great bit of fun and it got some crazy traffic early on thanks to this tweet:

Twenty Fourteen

I am looking forward to the challenges of the New Year. I hope to continue as a freelancer, working on the projects I have planned, building more plugins and hopefully writing more about WordPress.

I will also be a married man and I can’t wait!