We're hiring!

We're actively seeking developers for our new Detroit location. Learn more

Web

Convert Google Drive Data to JavaScript with Tabletop

In my last post, I talked about using a Google Drive document in place of your database backend. I’ve implemented a few web applications using this feature and have always found the biggest issue to be the connection —handling the setup of the Google doc and managing the CSV format that it provides as the…

Read More »

Also posted in Design & Development | Leave a comment

HTML5 Date Inputs and Ember.js

My team recently needed a date picker in our web app. We wrote tests and implemented a simple text field first as scaffolding. Call it YAGNI if you want — we really just weren’t excited about choosing from the long list of time-forgotten, unlovable JavaScript date picker widgets out there. Surprises from Chrome The next…

Read More »

Also posted in Tools | Tagged | Leave a comment

From Photoshop to CSS

Capturing the visual design intention during the implementation process is often a balancing act. We make trades between literal translation and performance or feasibility. Visually complex elements coming from Photoshop don’t always hold together once they make it to markup. The latest version of Photoshop has a nice tool to help elevate some of that…

Read More »

Also posted in Design & Development, Visual Design | Leave a comment

Red Green Performance Testing with The Grinder

No, not that Red Green! Even a thoroughly-tested application can wreck havoc if it hasn’t been tested in the context of a production-like system under production-like conditions. Tools like Puppet and Chef make it easy to produce a production-like environment for testing, but what about the production-like conditions? One aspect of these conditions can be…

Read More »

Also posted in Testing, Tools, Unix, Linux, and Bash | Leave a comment

Serve Local Web Apps under a Custom Domain

When working on multiple web applications, it can be taxing to remember which applications are running on which ports. By default, Ruby on Rails serves on port 3000, MAMP serves on port 8888, many applications start up listening on port 8000, and you might even find yourself using a non-traditional port like 8012. Knowing where…

Read More »

Also posted in Unix, Linux, and Bash | 2 Comments

Rethinking Online Mass Registration

Last weekend I went through another terrible online registration experience when trying to buy a ticket for a popular regional beer release. Over the last few years, I’ve had similarly poor experiences for high demand, online, mass registration events. I’m continually surprised that companies specializing in online registration services struggle to deliver positive customer experiences….

Read More »

Also posted in Reviews, Usability, User Experience | Tagged , , , , , | 4 Comments

Testing Email Templates in Rails

Sending email from a Ruby on Rails application is easy. Sending well-formed and aesthetically-pleasing HTML emails that render reliably in all mail clients is rather more difficult. The code/test/edit cycle can be greatly eased by a number of great tools such as mail_view or MailCatcher, but in the end there’s no substitute for actually trying…

Read More »

Posted in Web | Tagged , , , | Leave a comment

System Testing a Java Web Service in Jetty

Automated system tests are an invaluable part of ensuring your software product is functioning as intended. On many of our projects, we are lucky enough to work with languages and frameworks that have a number of testing tools built around them, making it relatively easy to create automated system tests. However, there are times where…

Read More »

Also posted in Design & Development, Languages | Tagged , , , , | Leave a comment

ActiveRecord Join Models Hash Themselves into Bad Performance

ActiveRecord’s implementation of #hash is lacking, if not outright broken. I came across this issue while fixing an N + 1 problem in my current Rails application. I’ll use the proverbial Author/Book example to explain. I was doing something like: @authors = Author.where(some_cond: true) Later on in my code, I was looping over each author’s…

Read More »

Posted in Web | Tagged , , , | Leave a comment

Create Your Own Font Awesome Icons

Icons Made with Font Custom

I have been using Font Awesome for a while now. We have done some tweaking to it and made it work for our project. Unfortunately, Font Awesome is heavy. It comes with a ton of icons, many of which we don’t use. On top of the heavy file size, sometimes we have to settle for…

Read More »

Also posted in Tools | Leave a comment