Design

Does My Rails App Need a Service Layer?

Sometimes during domain modeling you come across something that isn’t a thing. These operations that don’t quite belong to an object are called services. Services often live in a separate, service layer. The service layer lies between controllers and models, … Continue reading

Posted in Design, Web | Tagged , , , | 18 Comments

Crafting Commits in Git

A commit, like a well-designed function or class, should represent a single concept. A distinct, cohesive commit is easy to understand, review, and, if necessary, revert. Git’s powerful staging area allows you to finely craft your commits. You decide which … Continue reading

Posted in Design, Process | Tagged | 8 Comments

Destructuring Assignment in CoffeeScript

CoffeeScript supports a subset of pattern matching called destructuring assignment. Destructuring assignment uses patterns to extract out the parts of an object during assignment. It’s a simple and elegant technique but when overused can have unintended consequences on a codebase. … Continue reading

Posted in Design | 13 Comments

Testing Doesn’t Scale

The Ruby community’s obsession with testing is unrivaled. Over the years, Rubyists have gone from old school TDD using test/unit, to modern BDD with RSpec and finally to comprehensive integration testing, including JavaScript support, via Cucumber. The goal was tests … Continue reading

Posted in Design, Process | 33 Comments

A Look at Test Generation in Cucumber and ScalaCheck

In a typical agile project the test suite grows roughly twice as fast as the non-test code. As developers, our goal should be the minimum amount of test code that specifies the behavior of the app. This often leads to … Continue reading

Posted in Design | 2 Comments

Carbon Five’s Collaborative Design Workbook Remixed

We’d like to thank Made by Many, some new friends we made at SXSW, for trying out the Carbon Five’s Collaborative Design Workbook. Here’s their take on design thinking for lean startups: MDW4 – Tim Malbon – Make Something from … Continue reading

Posted in Design | Leave a comment

Interactivity in HTML5 Canvas Visualizations

In the last canvas visualization post I discussed the canvas API’s transform functionality and how it greatly simplifies drawing complex visualizations.  In this post, I’ll talk a little about making canvas visualizations interactive and about problems you might encounter when … Continue reading

Posted in Design, Web | Tagged , , , , | 2 Comments

Collaborative Design Workbook

This year a handfull of folks from Carbon Five went to South by Southwest. Christian, Mike and Rudy were scheduled to present, but a couple of us newbies were worried we wouldn’t have anything constructive to do at the conference. … Continue reading

Posted in Design | 2 Comments

Visualizing Skillsets in HTML5 Canvas: Part 1

As Courtney chronicled in the d.build journal, Carbon Five recently engaged in a group exercise to create a physical diagram of our skills and interests.  The activity was entertaining and produced a rather attractive artifact on the wall, but we … Continue reading

Posted in Design, Web | Tagged , , | 3 Comments

A 3D Flocking Simulation using HTML5 Canvas

I recently unearthed an old Java applet that I had written many years ago and decided to see what it would look like as a single page canvas application (an HTML5 compatible browser is required to view this page). The … Continue reading

Posted in Design, Web | Tagged , , , , | 6 Comments