Best Practices
The 5 Pillars of Remote Collaboration
When working remotely, context becomes your worst enemy. Teams working together incrementally build-up a wealth of context about what and why and how things are the certain way. These are vital details that are not easily conveyed to those across a continent or ocean (or both). Here are some tips to get over some of […]
Prototype it first!
To create innovative brand experiences we typically have to think outside existing paradigms. Understanding a user’s reaction to the paradigm shift is critical but not always easy. Luckily we have tools to anticipate a user’s reaction. Prototyping the idea first can save time and lead to a better end product. Prototypes It’s common to see […]
Excessive Enhancement
As a web developer and advocate of open standards, I give much thought to the potential dangers of blindly employing emerging web technologies. I am regularly wowed by exciting new snazzy tricks and techniques , but I care deeply about the web and have seen some bad practices from the past re-emerging. This March, I was lucky enough to get an opportunity to speak about […]
The Future of the Mobile Web: A View from BDConf
I just got back from the Breaking Development Conference that was held in Orlando, Florida. It was a gathering of some of the best minds working in the mobile web right now, and every session was brimming with insight into how to think and create for the web in this increasingly diverse landscape. Some themes emerged over the course of the conference. The first is […]
QA is not a verb
You’re in the middle of regressing defects and a small notification flashes in the bottom portion of your screen. Instant message. You open the window and read a string of words than invariably end with: “. . . and please let me know when you’re done QA’ing it.” Perhaps it’s commonplace now, and you gloss […]
Can you write a better Javascript function than this?
Yesterday, I decided to write a bit of JavaScript code to evaluate classes. The first version of my code looked like this. function hasClass(el, className) { var r; r = new RegExp('(^| )' + className + '( |$)'); return r.test(el.className); } function addClass(el, className) { if (hasClass(el, className)) { return false; } el.className += ' […]
Five ways to handle Technical Debt
Despite best efforts, development teams always leave a trace of hacky approaches in their code. All of these inefficiencies in the code are called tech debt. Just like a financial debt, it incurs interest. Our accrued interest would be: bugs that require extra effort and introduces more development delays, as well as complicating future updates […]
Four Developer Tips for Winning Hackathons
Recently, we participated in a 24-hour hackathon and created 2012 Matters, a Facebook app that encourages you to share what matters most in the 2012 election. People are quick to talk about the advantages of building a product quickly, but there’s much less talk about what it takes for a team to build a successful demo in a very short time. Here are four things that successful teams do to create working software in 24 hours.
Comparing Food Trucks and Software Development
Over the summer R/GA had a bout of what doctors call “Food Truck Fever”. Every day a new food truck showed up in front of our building on 39th street serving everything from Koren BBQ, homemade Chinese dumplings and artisan ice cream. Every day the trucks were greeted with a long line of hungry R/GA’ers […]
Lessons Learned with a Global Team using Agile
A global, multi-vendor project using the agile methodology – 6 different teams in 4 different time zones – and though there were many opportunities for the process to falter, it ended up being one of the most inspiring, collaborative and successful projects I’ve been a part of. It was successful not in that it was […]










