Labnotes
February 13th, 2014 1 min read

New in Zombie.js: DNS masking and port mapping

Two new features just landed in Zombie.js 2.0 to make testing easier: DNS masking and port mapping. First is DNS masking, which helps you test against real domain names (instead of localhost everything), and supports testing sub-domains. Let's say you want to test an application with

Read more
February 7th, 2014 2 min read

Weekend Reading – /r/actualmoney

Design Objective attending.io is "free events, done better". And right they are: that UI has some delightful design ideas. Facebook Paper's gestural hell talk about a problem many mobile apps face: ignoring the "thumb zone". Also offers a quick fix (hint: gestures don&

Read more
January 31st, 2014 2 min read

Weekend Reading – Every Trent Reznor Song

Design Objective Thought Process of a Front End Problem: This is just a story of what it's like being a front-end developer. It's not even about fonts so much as the struggle, the process, and the choices. Ex-Ideo Designers Rethink The Calendar For Mobile Devices. Lots

Read more
January 25th, 2014 2 min read

Weekend Reading – bikeshed.io

Design Objective Tweetbot changed iPhone user behaviour with one simple gesture. I wish more apps would copy flick-to-dismiss. Scrolling is easier than clicking. This lesson applies to other interactions as well: So here is the real difference: scrolling is a continuation; clicking is a decision. This 1 Neat Trick For

Read more
January 17th, 2014 3 min read

Weekend Reading – My Year in Tech Regrets

Design Objective Keying in on smart design to make a product irresistible, in which Ryan shows by example how they built Product Hunt into an engaging experiene. Interesting UX exercise: can you guess which button does what? Empty States chronicles great examples of empty state UIs. Pixel Perfect Web Typography:

Read more
January 13th, 2014 2 min read

Yield to the test: using Mocha with ES6 generators

Why would I want to? You can yield with abandon: describe("New customer", function() { var business; var customer; before(function*() { yield setup(); business = yield Account.create("FooBar Inc"); customer = yield business.addCustomer("Mr. Baz"); }); it("should be the only customer", function*() { var

Read more
January 10th, 2014 2 min read

Weekend Reading - 500 feet in the air

Design Objective Why Netflix walked away from personalization. TL;DR when switching costs are zero, novelty beats personalization every time: When you can order any movie instantly online, personalization isn’t as valuable β€” since if the movie is a dog, you simply click over to another movie. Today, in 2014,

Read more
January 3rd, 2014 2 min read

Weekend Reading – Clarity

Lines of Code Uncle Bob Martin: Resolution: This year I will focus more on making my code easier for others to read as opposed to easier for me to write. Step 1: Steve Losh: attn programming languages where "parens are optional": http://i.imgur.com/3NBoTGP.png math.

Read more
December 29th, 2013 1 min read

Weekend Reading - Infinite Scrolling

Design Objective Can Experience be Designed? When it comes to use, all opinions are equal, but when it comes to engineering, they are not. The engineer collects the feedback and finds ways to deal with it. His opinions are not just based on personal experience. Like a scientist, he tests

Read more