Following traditional “waterfall” methods, designers create wireframes & high-fidelity comps which are delivered to developers who build the product. The handoff between design and development causes frustration and inefficiency when construction starts. What happens when it’s not possible to realize all aspects of the design within the constraints of the project? What about edge cases the designer didn’t consider? Once the issues are discovered, designers often aren’t available to make changes and the development team has to use their best judgement when implementing the design.
What if there were a better way? What if designers could preview their work earlier and developers could give input about technical considerations? When designers and developers have necessary conversations, they can better support each other and build better products, faster.
Carbon Five was invited to present a lunchtime workshop at the Los Angeles office of Originate Labs. Mike Wynholds and Lane Halley shared some techniques used at Carbon Five to create necessary conversations and get the whole team engaged in user experience design decisions. The workshop materials we used were adapted from the internal training program we use at Carbon Five, developed by David Hendee.
“No plan survives contact with the enemy” –Helmuth von Moltke
Last week at lunch I found myself using a plate of beans and rice to explain the basic tenants of MVP. This got me thinking. Could you take a basic burrito and use it as a metaphor for a software product? What if your software product was a burrito? What kind of burrito would it be? The burrito analogy actually started to work; so much so that I took some time to organize my thoughts a little more and wrote the first of 3 posts about my thoughts on process here at C5. Additionally, it seemed fitting that I should at least list my favorite burritos currently in the greater Mission District here in San Francisco. More on that later.
Carbon Five is proud to announce the launch of our latest collaboration with the San Francisco Museum of Modern Art. The SFMOMA 2012 Annual Report is a primary channel the museum uses to communicate with its donor base, and Carbon Five was thrilled to be asked to design, develop and deliver this engaging piece of collateral.
Lane will participate in a Lean UX panel, with Jaime R. Levy from JLR Interactive, and Chris Chandler from Walt Disney Parks and Resorts Online. Be sure to say ‘hi’ to Lane after the talk and grab a Carbon Five t-shirt or some stickers.
Photo: Jaime, Chris and Lane present at the Los Angeles User Experience Meetup
A popular approach is to use a strategy like this. The gist of this approach is to organize your page initializers in an object literal by controller name and action, something like
Donning my ops hat a bit over the last few months, I have learned a bit about HAProxy, Node.js, and Socket.io. I was pretty surprised by how little definitive information there was on what I was trying to do for one of our projects, and HAProxy can be pretty intimidating the first time around.
What and Why
Route all traffic through a load-balancing proxy in preparation for horizontal scale and splitting of services (i.e. X and Y axes on the AKF Scale Cube).
Support Socket.io’s websocket and flashsocket transports. Our application sends/receives many events to/from its clients and requires low latency for a great user experience; persistent sockets help make that happen. Sadly, IE (<10) only supports Flash sockets.
Use TLS/SSL for all traffic for security and to help push through finicky internet infrastructure. It’s surprising how many organizations have firewalls that disallow socket traffic. SSL traffic is often allowed through.
Terminate SSL at the proxy so that we don’t have to deal with certs and whatnot in the application.
Redirect all HTTP traffic to HTTPS
To make all of this happen, I cobbled together information from a few posts and dug into the documentation to fill in the gaps. We’ve been using our HAProxy configuration for a couple of months now and it’s working well.
But you should really read the juicy narrative below.
On a recent project, I needed to post parallel JSON requests to an API endpoint, and asynchronously handle the responses. I like Rack‘s middleware-based approach to handling HTTP requests on the server side, so I wanted to try Faraday, which similarly handles HTTP responses on the client side using a middleware stack. Typhoeus is an HTTP client which leverages libcurl to make high performance parallel requests. Since Faraday is designed to provide a consistent abstraction for a number of different HTTP adapters, it’s easy to tell it to use Typhoeus for parallel requests.
It’s that time of year again. Mike, Don, Christian, Erik, and David will be in Austin for SXSW Interactive from Friday, March 8th through Monday, March 11th. If you’re in town, shoot us an email so we can meet up for a slab of ribs or a snort of whiskey.