Everything about the way I work has changed in the past few years so I wanted to document it. I’m sure I’ll be using a different toolset in 12 months and, hopefully, I’ll be blogging about that too.
As a preface to this article, I wanted to mention my philosophy when it comes to adopting new tools or technology. Malcolm Gladwell describes four groups of people in his book The Tipping Point: Innovators, Early Adopters, Early Majority and the Later Majority. The Innovators are the adventurous ones. Next are Early Adopters who “were the opinion leaders in the community, the respected, thoughtful people who watched and analysed what those wild Innovators were doing and then followed suit”. Following that you get the Early Majority and finally the Later Majority.
I think that’s a good way to describe the way we adopt new tools in our industry and since it’s moving so quick, we all have to adopt to new ways of thinking or new tools at some point. It’s possible to be an Innovator or Early Adopter in a small area of what we do but impossible to do it with everything – there’s simply too much.
I fall somewhere between an Early Adopter and the Early Majority. I love checking out new tools or techniques or methodologies and I spend a large amount of my time reading, researching, and exploring. That said, when I pick a tool to work on a project, I want it to be production-ready, reliable, and well documented. Part of being an Innovator is giving up some of that production-readiness (and accepting the risks that come with it).
So, with that in mind, here are the tools and tech I’m using to build websites as of October 2014.
Development environment and hosting
For servers, I generally use Digital Ocean. They’re cheap, fast and they have great documentation on server administration. I’ve also had good experiences with Krystal Hosting, VidaHost and if you’re looking for something on the high-end, UKFast.
If you’re not using a CSS pre-processor, I recommend checking out Dan Cederholm’s SASS for Web Designers.
I’m still, almost exclusively, using PHP as my programming language of choice. ‘Learn Ruby’ has been on my todo list for around 5 years and I promise one day I’ll get to it. That said, there’s a ton of good CMS’ built using PHP and I’m also very excited about the Laravel framework.
Smashing Mag has a great starter guide on Gulp if you want to learn more.
Origin is my own frontend boilerplate. It’s nothing fancy – just a collection of
.scss files, my
.gulpfile.js file and an
index.html file ready to get going on a project. I wouldn’t recommend you use it as it’s built purely for the way I work and think. There are hundreds of great frontend frameworks but I wanted to build my own so that I know everything about it. I do play with other frameworks and essentially beg, steal and borrow what I can.
Sublime Text 3
Sublime Text has been my editor of choice for over 3 years. I wrote about my Sublime Text setup (although it’s a little out of date now). I tried out Atom recently but it felt sluggish in comparison to ST. I can’t emphasise enough how important it is to feel completely comfortable in your code editor. Spend time testing alternatives, customise the theme, the fonts, install plugins or packages and learn the shortcuts. It’ll pay off in dividends.
I use iTerm 2 with the drop-down visor view. I use Terminal for Git, Gulp, creating files and directories, changing permissions, etc.
On the odd occasion that I need FTP, Transmit is my client of choice. It’s also handy for connecting to Amazon S3 which I use to store backups.
Github + Github Pages
Bitbucket + FTPloy
I’ve recently been trying out Bitbucket and FTPloy as an alternative to Beanstalk. Beanstalk is a great app that I’ve used for several years, however, the combination of Bitbucket + FTPloy is a much cheaper alternative. FTPloy is missing a few key features, such as manual deployments, which might be a deal breaker.
Chrome Developer Tools
Chrome DevTools is one of those things that I think many of us take for granted. It’s really worth spending some time digging in and exploring as it provides a lot of powerful features and can save a ton of time, especially with debugging.
While I have a few different laptops, phones and tablets to test on, Browserstack is a really great way to test websites. It has a huge selection of operating systems and browsers, including mobile devices.
The majority of the websites that I build are powered by WordPress. Clients will often ask for WordPress as they had some previous experience with it. It does have some flaws by and large it’s stable and flexible. Every WordPress site I build uses my favourite plugin: Advanced Custom Fields.
Perch is great for smaller sites. Or if you want to add content management to a static site, there’s no easier way than Perch.
They’ve just released Perch Runway for larger sites which I’ve not tried yet.
Jekyll is a static site generator built in Ruby. It works great with Github Pages and powers this blog. I used Anna Debenham’s excellent 24 Ways article ‘Get Started With GitHub Pages (Plus Bonus Jekyll)’.
Other CMS’ I’ve used that are worth a mention:
- Kirby – a file-based CMS
- Craft – a flexible CMS with great templating
- Shopify – my go to platform for e-commerce
A few other tools worth mentioning:
3 years ago I didn’t know anything about the terminal or CSS pre-processors. We’ve come a long way in the industry in that time.
But, you know, there’s still things I should be using that I don’t. If there’s something I’ve missed, link it up in the comments or tweet at me!