Subscribe See my projects

  1. One of our two 2015 Interaction Design Awards submissions from Atlassian, Engaging First Impressions.

    This is the current team I’m on at Atlassian. We are working to drastically improve our user onboarding experience across all major products through a combination of growth experiments and traditional UX research.

    We shot this video, edited, and uploaded to YouTube in 6 hours with storyboarding and script happening the week before.

  2. Improving performance on UX Design Day’s website

    August 25, 2014


    I’ve been working on a refreshed design for over the past couple of weekends. As part of this I’ve refactored a lot of code and improved both network and rendering performance significantly. 

    The main conference page for Dunedin now gets a 96% page speed score measured with YSlow, which is just a little less than Unfortunately getting to 100% is going to be tough due to some external resources setting a short cache expiry, and my images will never be scaled correctly because the site is responsive for mobile. Oh well! I can live with 96%.

    Over the next few posts, I’ll talk about how I improved performance both in the site code and on the server.

    But first, the structure of the site.


    UX Design Day is a simple responsive static site built with Stylus and Coffeescript. Everything is compiled and minified locally using Grunt with a few Node.js libraries.

    I have an Ubuntu VPS from with Apache configured to show whatever’s in the /public directory of the repository.

    I’ve segmented the pre-compiled Stylus into multiple files like buttons.styl, layout.styl, header.styl and so on, which are all concatenated together and minified when converted to CSS.

    Grunt also takes jQuery and any extra JS libraries and sticks them into app.min.js along with my Coffeescript code for the site.

    Improving performance

    I used Chrome’s Audit tab and GTmetrix to see what I could improve. It wasn’t particularly hard and probably took me about 3 hours all up to achieve a high page speed score.

     In the end I did the following, each of which I’ll explain in future posts.

    • Compressed images
    • Removed unused CSS selectors
    • Set the content type through HTTP header
    • Added expires headers to all file types
    • Added cache validator to resources
    • Specified width and height for images
    • Deferred JavaScript
    • Included jQuery in compiled JS
    • Replaced PNGs with SVG where possible
    • Set up a free CDN

    Stay tuned for more!

  3. Commute to work

    Commute to work

  4. Loading Artist - A webcomic by Gregor Czaykowski

  5. Are we witnessing the emergence of the United States of Australia?

    "Australia can have its cake and eat it too, because a healthy and materially secure population will repay enormous economic dividends. Instead, we’re going further down the US path"

  6. Luna Park during Vivid Sydney

    Luna Park during Vivid Sydney

  7. Stages of feedback

    May 22, 2014

    There are four stages of feedback:

    1. Saying "this is shit".

    2. Saying “this is shit and here are some reasons why I think it’s shit.”

    3. Saying “this is shit. Here are the reasons why I think it’s shit, and here are a few potential solutions I thought of.”

    4. Saying “this is shit. Here are the reasons why I think it’s shit and here are a few potential solutions. I’ve explored them for you.”

    I don’t expect many people to reach stage 4, especially if you are giving feedback on something outside your domain knowledge. For example, a developer giving feedback to the HR team.

    If you’re giving feedback within your domain, I expect people to reach stage 3 most of the time. For example, a designer giving feedback to another designer.

    I always expect everyone to reach stage 2 regardless, and I expect no one to only reach stage 1.

    Next time you give feedback try to always reach for stage 2, and if it’s worth your time, aim higher.

  8. 5 Reasons You Should and Should Not Test With 5 Users: Measuring Usability

  9. Dorris McComics

  10. An overnight trip to the blue mountains a few weekends ago.

  11. Nifty Chrome flags in Canary

    May 17, 2014

    I installed Chrome Canary on OS X and found a few nifty optional flags. To enable or disable flags, type chrome://flags in the address bar.

    There are a few cool new features available. My favourite would have to be the scroll prediction, fast tab close, and the new profile management and profile switcher.

    Enable scroll prediction

    Predicts the finger’s future position during scrolls allowing time to render the frame before the finger is there. 

    Enable new profile management system

    Enables the new profile management system, including profile sign-out and the new avatar menu UI. 

    Enable fast user switching in the avatar menu

    Enables fast switching between users in the avatar menu. 

    Enable the new avatar menu

    Enables the new avatar menu. When combined with new-profile-management, it simply shows the new profile management avatar menu. Otherwise it shows a redesigned avatar menu with the same functionality as the old one, plus a tutorial card at the top prompting the user to try out the new profile management UI. 

    Show Autofill predictions

    Annotates web forms with Autofill field type predictions as placeholder text. 

    Enable Download Resumption

    Allow downloads that have been interrupted to be continued or restarted, using the Resume context menu item. 

    Enable the new Translate UX

    Enable the new Translate bubble UX is offered instead of the infobar. 

    Enable fast tab/window close

    Enables fast tab/window closing - runs a tab’s onunload js handler independently of the GUI. 

  12. Lovely day in McMahons Point. View from lunch at The Point Deli.

    Lovely day in McMahons Point. View from lunch at The Point Deli.

  13. Great Android games

    May 16, 2014

    I thought I’d share a few awesome Android games I’ve found over the past few months. Most of these are really polished, unique indie games from small studios.



    Badland is incredibly fun. It feels like World of Goo but plays totally different, with an awesome soundtrack and artwork. It kept me coming back for ages since it gracefully introduces new concepts as you play through. Great game, definitely give it a try.


    Cut the Rope 2

    Cut the Rope had to get a mention simply because I think it’s a perfect example of a game designed for mobile phones. The least indie out of all of the games on this list, you can’t help but love Om Nom. Cut the Rope 2 also supports Android’s new fullscreen API which is a plus.



    A rather simple game with great execution, Squarge gets you to line up multi-coloured blocks. I love how the row actually continues off screen in one giant, infinite strip.


    Monument Valley

    Big call out to Monument Valley which launched on Android very recently. Beautiful artwork and sound design. It’s quite short, but worth playing through a couple of times. They still have some kinks to iron out on Android but it’s coming along nicely. Also supports the new fullscreen API.


    Little Inferno

    A super novel concept, one for the firebugs. Basically you burn stuff in this game. Great graphics, and they fixed a performance problem where my phone itself would get so hot it felt like it was going to catch fire!


    Muffin Knight

    Local real time multiplayer done right. This was the only game I actually got my girlfriend Lucy playing with me. We must have played for hours. The simple controls, clear graphics, hilarious voiceovers kept us coming back. It’s also got a great learning curve - the first few levels are very easy, but the latter ones are extremely challenging so it doesn’t feel too easy or too hard.



    Last one on the list, Puk is an ultra minimalist arcade game, similar to air hockey. Great sound effects and a very simple UI make this one more of a work of art than a full game. Awesome concept, do try it.

  14. Shot from the ferry. Bokeh of the city lights.

    Shot from the ferry. Bokeh of the city lights.

  15. Friday night drinks at Atlassian - giant Meccano!

    Friday night drinks at Atlassian - giant Meccano!