Studio and Tools
37 Signals has a great chapter in Getting Real that talks about the importance of using tools you love. That's a big part of why I'm independent.
Unleashed is a conglomerate of independents, but I'm the constant (Perry), so I'll speak to my setup. My setup at the time of writing this is a 27″quad-core i7 iMac (16GB RAM) with an additional 27″ display. The Mac Pro hasn’t been updated in some time and in most applications (including the ones we work in primarily), the iMac is actually faster now. My auxiliary computer is a MacBook Air. Most of the time, if I’m on my laptop, I’m usually only working in a text editor.
I just got a new (bigger) desk (thank God for a local Ikea) and I'm half-tempted to pick up another 27" display. Screen real estate is a great way to get things done faster.
All of us work from home offices, Unleashed has no ‘studio’ in the traditional sense of the word. As tempting as it is to list the (many) benefits of working remotely, I could argue both sides of that issue pretty effectively. For me however, it boils down to this: working without a studio is cheaper, allows for a higher quality of life (I can pick up my kids at the bus stop and my dogs can sleep on the couch behind me), and Unleashed isn’t constrained to the best local talent, but rather I work with the best people I can find regardless of where they are living. I work with a photographer in Florida, a Rails developer in Madison, and I've worked for people as far away as China and the Netherlands.
This industry has come a long way in the past decade. It's really not about using any specific program anymore. But, there are a few I still love to use. Nearly one-hundred percent of the time, design still starts with a sketch (ink on paper). Once I have a good idea of where I'm headed, then depending on the website, I'll either use the Adobe Creative Suite or design directly in the browser (usually a little of both).
In December of 2011, Textmate, the venerated text editor, finally released the second version (alpha). This came after years of speculation that there would never be another serious update. I had hoped for so much, and really, TM v1 is still a great application, but there were a handful of things that really bugged me. So, alongside the rest of our industry, when TM v2 came out, I was pretty excited. Roll over and pee on my stomach excited. It kind of fell flat. It's an alpha, so on one hand I don't expect much, but on the other, it's actually worse in a lot of ways than the previous version, and in the few months since the Alpha release, development on it has been exceptionally slow and documentation is nearly non-existent.
So, I began looking around. I tried Coda, I love Panic and really wanted to make Coda work, but it's getting a bit long in the tooth and finding support for things like Sass and Haml is a process. So, I've finally settled on Sublime Text 2. It took a long time for me to take it seriously for a few reasons: 1) It is actively developed for Windows, Linux, and Mac. 1a) I don't believe anything good is done on Windows — I'm a little prejudiced that way. 1b) With that many platforms supported, how can anything get done? 2) The logo is hideous, it's better now, but my opinion of iconfactory dropped a bit. 3) The website for the product is pretty bad, and considering what I do for a living, I have no problem judging a company by their website.
But I tried it. I spent a long, ugly week learning it and I like it more than I ever did TM. The developer who runs the show has a new build nearly every week, and there are some major changes in those builds. The community is friendly and a diverse group.
Programming languages and frameworks
I believe that this is not a one-size fits all equation. I have a favorite (Rails, but mostly because I think Haml is the bee's knees) but I believe there are times when PHP works best, other times where Ruby is the clear winner, even Markdown is fine some times. My main concern (as a designer and front-end developer) is that you keep the logic away from my view so that I don't have to worry about breaking a developer's work or weaving through their code. I've worked in lots of frameworks and languages, I think it's good to have options.
Rails, CodeIgniter, Django — it doesn't matter: as long as it's open, the community is nice (or, in the case of Rails, if you can have a sense of humor about all the fluffed up prima donnas), and it gets the job done.
A couple of caveats. I don't like Flash anymore. I think it can do some cool stuff, but I don't really like the program and even if you stick with just ActionScript, you still need to be in Flash sooner or later. And I don't think the web is headed that way. And, this is a big one, I won't work with .net. There are a few reasons for this. 1) A good developer is really good at saying "I can..."; the .net developers I've worked with are experts at saying "I can't...". Maybe I've just had bad luck. 2) Open source is the future. The community is bigger, brighter, and faster than anything Redmond will ever hire. 3) Hosting is a nightmare, once again, maybe I've just worked with hacks, but I'm starting to think the phrase "a good .net developer" is an oxymoron. 4) I'll never work on a Windows machine. I shouldn't say "never", but every time I watch people on a Windows box, I can't help but feel sorry for them.
Git. Hands down. SVN is the only real competition, but that's like putting a Ford Escape next to an Audi Q5 (git being the Audi). And, to make things even better, Github is probably one of my all-time favorite companies.
Abstractions and templating languages
I'm a huge fan of Sass. I don't understand Less and Scss. If you're going to abstract something, then go all the way. I'd much rather use white space versus brackets and semi-colons. At the end of the day, I can write Sass faster, I think it's easier to skim and read, and I hope it continues to see a lot of support.
Responsive, mobile first, CSS3, and HTML5
First of all, I'd like to say that the terms "CSS3" and "HTML5" are becoming what "Web 2.0" was a few years ago. Most of the people using those acronyms are just using them as buzzwords that they don't really understand. You probably won't hear me use those phrases. Yes, I'm quite comfortable with both CSS3 and HTML5, for the record, but I'm just kind of sick of hearing about them. As far as responsive and mobile, I kind of look at that the way I looked at web design when I was still a print designer. It's a paradigm shift for sure, but whether or not you, personally, browse on your iPhone, your clients probably do. Or they will. You can either get up to speed, or you can wait until everyone else has done it first. As of 2012, everything we do works on mobile.