I got asked the other day how I did something. This is rare. Normally people are wowed by the design and take the tech for granted, which is great: if it runs smoothly enough to take it for granted I’ve done my job well. But I did get asked how I code and what I use and in replying I realised a couple of things: just how much software is involved in making and testing a site, and just how much open source stuff I use.
First up, here’s a look at my work space:
It’s a mess, isn’t it? Sorry.
I use a fairly standard Windows 7 PC with two monitors. The main, widescreen monitor is used for code while the right-hand, smaller, thunder-fly infested hand-me-down is used for testing/previews while I work, or for email, or for music, or anything which isn’t requiring full attention.
The big headphones are for working evenings and late nights, so I don’t disturb the neighbours or – more importantly – my other half with weird hipster electro-jazz fusion music (or more likely The Beach Boys). That big white blob thing is a speaker. Most of the day I listen to 6 Music until 4pm (I like Steve Lamacq but for some reason can’t listen while working) and then it’s iTunes or Spotify.
In terms of software, I use NetBeans IDE for code. The PHP bundle is all I really need, as I don’t use the debugging tools – although I probably should. I use XAMPP to serve files on my PC but also have an old PC running Ubuntu as a local server (it also does print server stuff) and – when I get a new power supply after the puppy ate the last one – I use a Raspberry Pi as a DNS server. Uploading is done with FileZilla, DB connections with HeidiSQL, shell access with PuttY.
Testing is done on FireFox (with Firebug and FirePHP), Chrome (standard developer tools plus Google Analytics extension), Safari, Opera, IE9, IE Tester, a virtual machine running XP and IE8, a Google Nexus 7, an iPhone, and a cranky old Mac running the iOS SDK (veeeery slowly). I have IE10 on a laptop, but rarely have to test in it as it’s actually pretty good.
Slicing designs is done with Photoshop – an old version, but it’s too expensive to upgrade – sometimes The GIMP and when I’m working on a laptop Photoshop Elements with the Elements+ extension to allow ungrouping of layers.
Version control is done with Tortoise SVN and is hosted with Beanstalk which is excellent.
Project management is done in my head at the moment but I’m working on a WordPress-based intranet/CRM/project management system which will sit on my local server. Accounting uses Xero, a cloud-based service which is amazing.
Finally, email is done with Gmail and Thunderbird, the occasional document is done with Open Office, and breaks come courtesy of very rare forays into Minecraft and more common games of “chase the naughty puppy around the garden to stop her rolling in bird mess”.