Twig + Webpack

I recently completed phase one of a project that required a static HTML site. Farther down the road a CMS will be rolled into the site. Being a big proponent of the DRY principle and having a short turn around time on this particular project I wanted to find a way to 1) automate code generation and leverage build tools to speed up the development process and 2) reduce code duplication as much as possible to make development and debugging faster. Part 1 was straight forward, I rely heavily on webpack during front end development for CSS and Javascript on web projects. Part 2 I wasn't so sure about. I wanted to use something I was more familiar with, specifically Twig, since I use it in every Craft project.

Continue reading

Setting up a Craft CMS website and plugins with Composer

Craft has become my CMS of choice for most website projects. It's easy to work with, flexible and powerful. Composer is a great way to handle PHP libraries (Craft plugins) and packages. I am always looking for ways to streamline project setup so I came up with a way to use Composer to install Craft and also handle plugin installation. With a little setup and a quick command line command you can have Craft up and running in no time.

Continue reading

Ajax login screen with Laravel 5.3

Laravel is a fantastic framework for development. Unfortunately every once in a while a little "gotcha" pops up that can really cause some problems. One of those "gotchas" is when you are trying to create an ajax based login form (instead of a standard HTML one). There are some odd redirections and response codes that work fine for a typical post - redirect scenario but cause a headache with ajax requests. Thankfully it's a minor tweak to make it work nicely.

Continue reading

Stop grunting and gulping and just use NPM

I build websites for a living and I am constantly looking for ways to make my life easier. Code snippets, shortcuts, automation ... anything that can save me time and reduce doing the same task multiple times is worth consideration to be included in my typical workflow. One thing that most web developers have added to their tool box is a task runner, a process for automating tasks like minifying javascript or compiling SASS to css. Grunt and Gulp are probably the two most popular task running options right now (but there are many others). I have tried them both and found while useful they felt bloated and cumbersome for what I (and probably most website developers) need which is a quick and easy way to build javascript and css. Enter NPM.

Continue reading

How do you manage client feedback?

Feedback, it's a blessing and a curse. Every web designer and developer knows that at some point you need to get feedback from your team and your client during website development. The problem is the countless ways that feedback is sent: emails, spreadsheets, text messages, project management software. Once you ask for feedback you spend all of your valuable time trying to manage it instead of doing something useful with it.

"The alternative is email hell or having really shoddy communication. I can trace just about every client problem I've ever had down to poor communication, and any tools or processes in place to counter that are a win in my book."

The problem isn't the feedback, the problem is a lack of good, easy to use tools to leave and manage the feedback.

Continue reading

Launching a new venture

I'm very excited to announce the upcoming launch of a new service I have been developing, PageProofer. One of the largest frustrations when getting a website (or web app) from concept to reality is dealing with all the various feedback you get while other designers, developers, testers, account people, clients, etc look at and review the site in progress. I decided to tackle this problem with a simple solution, the ability to leave notes and comments directly on a website while it's being viewed.

Continue reading

Local web testing on Mac, Windows and mobile devices

If you do web development you need to test across multiple devices, browsers and operating systems. My primary development machine is a Mac however I also run Windows 7 via Bootcamp/Parallels for browser testing locally (and for the occasional .Net based project that I take on). Now that mobile has become such a factor in the web development process it is also critical to test across devices. Being able to quickly test web sites and web apps without having to push files to a staging server is a huge time saver.

Continue reading