I’m Benjamin Humphrey, a Designer at Atlassian in Sydney.
I’ve also spoken about design at conferences & meetups, freelanced for a while, and competed in Startup Weekend. I'm the founder of UX Design Day.
I’ve been working on a refreshed design for uxdesignday.org 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 Google.com. 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 prgmr.com 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.
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.
Stay tuned for more!
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.
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-scroll-prediction
Enable new profile management system
Enables the new profile management system, including profile sign-out and the new avatar menu UI. #enable-new-profile-management
Enable fast user switching in the avatar menu
Enables fast switching between users in the avatar menu. #enable-fast-user-switching
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. #enable-new-avatar-menu
Show Autofill predictions
Annotates web forms with Autofill field type predictions as placeholder text. #show-autofill-type-predictions
Enable Download Resumption
Allow downloads that have been interrupted to be continued or restarted, using the Resume context menu item. #enable-download-resumption
Enable the new Translate UX
Enable the new Translate bubble UX is offered instead of the infobar. #enable-translate-new-ux
Enable fast tab/window close
Enables fast tab/window closing - runs a tab’s onunload js handler independently of the GUI. #enable-fast-unload
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 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.
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.
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!
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.