Change in Technology

I like change.

Actually – I love it. I get bored when nothing changes.

It’s partly why I do what I do. I’ve been coding for years, as I can be in control of what gets done – and how it gets done. More recently, I’ve been managing a team of developers, giving help and direction with what needs to be done.

I enjoy making changes. I feel immense satisfaction from getting things done (it’s also the tagline on my homepage).

I dislike the phrase “if it ain’t broke, don’t fix it” – as it’s sometimes used as blanket opposition to any change at all. I understand that other people don’t always like change. And there’s a line of thinking that if nobody asks for a change, nobody would want it.

Sometimes, you’ve got to take the lead and deliver new and exciting things without waiting for people to ask. It’s not great if a change is unpopular – but sometimes it’s good to take risks.

The best changes are when you get positive feedback. There’s a saying that no news is good news, and that no feedback probably means that people don’t hate your product. Or that nobody’s using it…

But when someone goes out of their way to say they really like a change – it makes all the difference. It doesn’t have to be a big change: I’ve seen incredibly happy users from some of the smallest changes imaginable. The devil’s in the detail. Definitely do sweat the small stuff.


10 quick tips for building an outstanding blog

I’ve been blogging on and off for nearly 8 years. Over the years I’ve picked up a few tips and tricks that are essential if you want to build a blog that’s outstanding in its field. Here’s my list:

  1. Be yourself. Why be anyone else? Putting yourself into your writing allows your posts to ooze personality. It also helps you to stand out. There’s nobody quite like you.
  2. Find a topic you enjoy. Why waste time on something you heard can be a good blog topic if it bores you to tears? Choose a topic you want to write about.
  3. Choose your target audience. Who are you writing for? Once you know that, it’s a lot easier to target your posts to that group of people. Get to know your audience.
  4. Find your unique angle. It’s all very well to find a great topic, but what’s different about your blog? What do you have to offer that others do not?
  5. Forge your own path. Don’t copy what others are doing. Experiment – find what works for you (and what doesn’t). Then do a lot of it.
  6. Cut the fluff. Do you take forever to make your point? Don’t do that. Get on with it!
  7. Aim for a clean layout. Don’t stuff your sidebar or footer with every widget imaginable. Keep your layout clean and only include “stuff” if it adds value. Along with keeping things tidy, it’ll help to keep your blog loading quickly.
  8. Don’t promote immediately. Get the basics figured out – and get some posts online – before you promote your blog. I like to have half a dozen posts online first.
  9. Keep things fresh. From time to time you’ll want to shake things up a bit. Whether it’s a series of posts, a guest post or a new design, changing things up can help to avoid blogger burnout. You should also take breaks from time to time.
  10. Interlink your content. Don’t leave your old posts wallowing in the archives. Tag your old posts – on or Tumblr this can breathe new life into old posts. Link to old posts from newer posts. And set up topic landing pages to help new readers find your best posts on a given topic.

Follow these tips and you should be well on your way to building an outstanding blog.

Blogging 101: Write about what you love

Blogging shouldn’t be a chore. If you dislike a topic and don’t enjoy writing, your posts will be lifeless.

If you write about the topics that you enjoy, a few things may happen:

  • You’ll enjoy blogging more
  • You’ll write better posts
  • You’ll write with enthusiasm, which readers will enjoy

Why force it? If it’s not working out, find a topic you love and write about that!

Homepage relaunch

Now the miniblog has been running for a couple of weeks (here’s my intro post if you missed it), it’s time to think about whether it’s working.


Well that was easy!

The main blog is now gone. Have a look at what I’ve done with my new homepage. I’ve pulled through links to some of my stuff from around the web – including recent posts from the miniblog, stuff I’ve liked on Instapaper, new tracks from Soundcloud, and a list of Instagram pics.

Instagram is manual, so I have to update it whenever I upload a new photo. I’ve yet to find a better way to do this as they don’t seem to have feeds. Why not?!

Having my blog as the homepage doesn’t make sense, as it’s not everything I do. I think this is a much better way to do it.

Setting up Twig in Laravel

Re-posted from my old blog

This week, I have been mostly trying… Laravel.

Trying a new PHP framework raises a few questions. What coding style does it use? How do you build models? What do templates look like?

When trying Laravel for the first time, I wasn’t keen on the Blade templating engine. So I decided to look for how to integrate Twig. One quick Google search later, and I found TwigBridge by Rob Crowe.

Following the instructions was simple enough. However, I think there was one thing missing. What do you name your template files so Twig can find them?

How to name Twig templates in Laravel

In Laravel, a Blade template for the “users” route would be called: users.blade.php

After a bit of experimenting, I found that the equivalent Twig template would be called: users.twig

This works out nicely in PhpStorm, as suddenly the file icon changed from a PHP file to a bit of green grass (maybe it looks better than a twig). And the code completion works. That’s much better than the last project I set up with Twig, which is on Zend Framework v1 and the files are named index.html.

Don’t forget to rename your base template to base.twig or similar. The Blade equivalent I created in the QuickStart guide was called layout.blade.php.

Comparing Blade and Twig templates

So, just for completeness, here’s a sample Blade template:

 @foreach($users as $user)
 <p>{{ $user->name }}</p>

And here’s a Twig template:

{% extends "base.twig" %}
{% block content %}
{% for User in UserList %}
<p>{{ }}</p>
{% endfor %}
{% endblock content %}

So far, I’m liking Laravel, but I’m much happier with Twig than Blade.

What’s the quickest way to set up a blog?

If you want to set up a personal blog, or a non-serious, non-business blog, by far the simplest way is to sign up for one of the following sites:

Business blogs are definitely worth setting up as a self-hosted WordPress blog on your own custom URL (i.e. – rather than This takes a bit longer to set up – and you’ll need to stay on top of updates to the software, themes, plugins etc.

If you’re happy with a blog that’s hosted on one of the above three platforms, they offer the fastest way to set up a blog.

UX 101: hit Enter to submit

Usability testing is something I do a lot. Whether I’m testing what my technical team has built, or I’m using a website or app for the first time, I have some expectations when it comes to how the application behaves.

I’ve found there can be quite big differences between how the front-end of a site works, and how the admin screens work. The front-end is more important if you have a large userbase, but staff shouldn’t be ignored when it comes to UX.

One of the main things is being able to hit Enter to submit. This goes for simple search forms with a text field and a Submit button, or longer forms that are used for things like registration.

Hitting Enter is important particularly on long forms, as if you type a lot of information it’s possible to fill it in completely using the keyboard. Hitting Enter in the last field will submit the form.

It’s also handy if you can type into a search box and hit Enter to submit. This doesn’t always work however, as search forms are sometimes custom coded and the Enter key can end up doing nothing at all.

Allowing users to hit the Enter key to submit a form is a small but important benefit for making your forms user-friendly.