The Capybara testing library has built-in functionality for waiting on asynchronous JavaScript (Ajax) .
For example, this works even if the content is added by Ajax:
1 2 click_link ( "Add to favorites" ) page . should have_content ( "Added to favorites" )
Behind the scenes, Capybara will retry finding the content if it's not yet present.
But if you write optimistic UIs that say "Added to favorites" immediately, and only then …
…discussion with like-minded people, give a talk to fascinated listeners, or make your rounds along the hallway track.
The unconference is what you make of it. Want a talk about Android UIs? Sign up. An armchair linguist? Throw your name on the whiteboard. Want to hack sweet code in the hallway while soaking up the buzz of energy? You got it.
Plus, free food and drinks !
Got it?
Got it. Register today and we'll see you there!
…Open Source projects out there that have done a lot of hard work in translating their UIs. For example Drupal has all of their translations online in easy-to-download formats. I was able to find a number of strings that I needed by going through their files.
Look at already-localized sites. This is another cheat but look for other sites that have some of the same features of your site and have already gone through the hard work of localizing into multiple languages, like Google. (In …
…swap out method implementations, you shouldn't use DI solely for testability of your APIs. And that, my friends, is really the only real point about DI being made in these posts.
To qualify the argument a little more: you should be thinking about using DI in your APIs if there are interesting compositions you want to be able to influence or substitute out—specifically large components, like databases, UIs, etc.
Apple's app approval process is a real hurdle for anyone who wants to do rapid development of a project. I'm used to being able to deploy fixes many times in a day if need be.
Fluid - Online editor to quickly mock up ioS or Android UIs. Safari/ Chrome only.
Firebug Tip: Break on HTML Mutation - Set JavaScript breakpoints on actions that affect the UI.
Gist.io: Writing for Hackers - Write a gist in Markdown, get a URL to see it nicely …
…screencast showing how the UI would work . We often share screencasts when designing UIs so people don't have to imagine an interaction. The fewer abstractions the better. A screencast is direct and direct is better.
"Involvements"
One of the trickier parts of the calendar UI was figuring out how to add people to an event. And did adding someone to an event mean they were notified about the event or were they responsible for the event? Here's a discussion …
…the Windows Phone 8 features that found its way into Windows Phone 7.8 .
Teehan + Lax's Mobile UI Design PSDs
If you're designing mobile device UIs with Photoshop, you'll want to get your hands on these PSDs. They're created by Toronto-based design firm Teehan + Lax , so they're quite good.
…industry, we must take any such criticisms to heart, and honestly and critically assess what elements of it are truly an issue we should address.
The new form Augmented Paper: building better UIs for the no-keyboard devices .
Own meme lolcommits takes a snapshot every time you git commit .
"Improving" Introducing awfulness.js - tongue & cheek look at modern day practices.
Logged Everything you need to know about console logging .
Tick tock Understanding Node.js' process.nextTick .
Responsive The Boston Globe shares their experience building UIs with responsive design . And I linked to this before, but might as well, a template to get you started .
Hack away The Hacker Way . Must read.
Results Titled as advice for CEOs, but I think anyone who manages people and products should watch this .
…Firefox in the Background - On the other hand, the dreaded " Firefox is installing your updates" progress bar should be going away soon.
localtunnel - Share your local web server over an HTTP tunnel.
Asynchronous UIs - the future of web user interfaces - Rearchitecting your application so that users don't have to wait for the request-response loop to finish.