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
Overview:
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.
We’re super psyched that Lean UX guru and Carbon Five designer extraordinaire Lane Halley is speaking at this year’s Silicon Beach Fest, held in Santa Monica from June 19 – 22.
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
Since the introduction of the asset pipeline, managing javascript assets in a typical rails application is pretty straight forward. You figure out some structure for organizing the files under app/assets/javascripts/, concatenate them together with some directives in application.js, and that file is most likely included in a layout and you’re on your way. But what about those pesky page specific initializer scripts?
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.
THE EXPOSITION
Let us embark upon a narrative, a verbal and visual journey during which we shall learn to refrain from judging the GSAP by its crudely drawn logo—a stickman with a glowing green elephantitis foot—and, instead, celebrate its merits as the most-kickingest-of-ass-of-all-javascript-animation-frameworks.
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.