Interests

In my early Internet years, I found inspiration in the design collective at swankarmy.net. These days, there are so many inspiring things on the internet it's difficult to keep pace, but I keep an ear to the ground and do my best to stay in-the-know. Below you'll find some of the things that currently keep me interested.

Responsive Design

Responsive design is a fairly new approach to design and front-end development which allows a page to be rendered using different css rules depending on the viewport of the visitor’s browser. While it doesn’t work well for all cases, it can be a great approach to creating a site that’s pleasant on all devices while serving from a singular source, allowing development to abandon the practice of user-agent checks via an htaccess file that redirect to an independent mobile site.

For an example of responsive web design, resize your browser window with this site loaded (change the window width drastically, assuming you’re on a device which allows resizing) and pay attention to the changes in page layout.

Other examples of responsive design:
webdesignerwall.com
http://www.informationarchitects.jp/en/

Including response.js will allow responsive designs to work in IE6-8.

Grid Systems

I believe that quality front-end code starts with thoughtful design. To that end, I love the idea of working with grid systems like the 960 Grid System. If designers can work within a set of rules, it will result in a harmony between design and development that will lead to a better experience for the site visitors. With this in mind, I made an effort to design this site using a simple grid system.

Front-End Frameworks

In recent years, quality front-end frameworks have begun to surface. With lots of tools and options rolled in, these frameworks have helped developers quickly get their projects up and running. My favorite front-end frameworks are Bootstrap and Zurb’s Foundation. In order to keep your site’s download speeds reasonable, it’s important to be selective when utilizing these frameworks and include only the pieces you intend to use.

Middleman

There are an incredible number of great new tools available for front-end developers today. Middleman is a ruby-based “static site generator using all the shortcuts and tools in modern web development” and is one of my favorites. While it’s geared for developing static sites, I’ve found it extremely useful for developing templates to be used with fully dynamic sites. It allows you to break your pages down into separate, singularly maintainable components (header, footer, navigation, etc.). It also has sass/compass support built in, and browser auto-reload when changes to files are saved. Once your happy with your templates, you simply run the build command and it generates your static HTML templates, including minified CSS and JavaScript.

Sass

I’m very interested in preprocessors, both JavaScript and CSS based. They provide improved organization through logical code separation and time savings through the use of mixins, variables, and functions. Sass is a great Ruby based CSS preprocessor. Compass is an extension of Sass which adds even more power, including the addition of reusable patterns (easily import common css normalizers, boilerplates, etc) and one of my favorite features, automated sprite image and css generation. Stylesheets have never been so powerful.

Polymer

Web components bring a new way to modularize web applications through use of the shadow DOM.  Polymer is a Google backed project that provides an easy web component implementation with a limited number of polyfills for older browsers lacking in support. Google also unveiled Material Design at Google I/O 2014, the visual language to be used in the upcoming version of Android. With it, they announced the availability of Polymer based implementations of Material Design.

One downside of Polymer at the moment is that each component imported into a page requires at least one additional server request, and if that component has dependencies it will make at least one additional server request per dependency. This can compound quickly and relatively simple pages will make an exceptionally high number of requests. This might be overcome with some type of build process that embeds referenced components directly onto your page before serving them to reduce the number of server calls.

.editorconfig

.editorconfig files help developers on a shared project maintain a consistent coding standard and approach. This file should be checked in to a projects repository, and modern IDEs and editors support these files to enforce a projects coding standards (think tabs vs spaces, whitespace at EOL, etc). Check out editorconfig.org for more information.

about phrough

Front-end coding, back-end coding, database design, and even visual design. My skill set, adaptability, and enjoyable personality make me an excellent fit for any Internet team.
work examples »

resume

Into personal objectives and work experience? You're going to love my resume!
vew resume »

Or if you enjoy collecting resumes you can download a copy for safe keeping.
pdf »