Ruby FFI for Quick Prototyping

I recently found myself trying to answer the question “Is there a quick way to talk to a USB HID device from Windows via Ruby?”. The short answer is “yes, via HID API and FFI,” but that’s much too short a story. Let’s look at the long answer: I consulted my trusty friends Github, Rubygems, […]

Making Diagrams with graphviz

graphviz is a great tool for creating quick diagrams. While it does not have a particularly polished WYSIWYG editor such as omnigraffle, it can automatically create diagrams from its simple markup language, DOT. After reading in the DOT markup, it uses various layout algorithms to automatically arrange the diagram. The DOT language is pretty flexible […]

Designing Around an Experience

When designing an app it’s easy to think about the thing I’m building. When sitting down to design, I usually start outlining the areas of the app I think should be there. I then draw sketches depicting the screens around that architecture. This doesn’t always work because what I think might be good for the […]

From Pigment to Pixels: What Art History Can Teach Us about Software Design

I recently wrote about the similarities between the practice of gesture drawing in fine art and rapid paper prototyping in software design. As a former student of art now working in software, drawing comparisons between the two is something I’m wont to do. Indeed, such comparing and contrasting is the central building block of art […]

Rapid Prototyping: A Solid Practice from Studio Art to Software

I recently read Zaki Warfel’s book Prototyping: A Practitioner’s Guide. It’s an excellent resource for anyone interested in the vital role prototyping plays in the software design process. I was first introduced to Warfel and his book after hearing his talk at Agile 2010. Sketching, or low fidelity (lo-fi) rapid paper prototyping, is one of […]