I believe finding a good match with yourself and the right tools and gear is very important for your workflow and quality of your work. If you use shitty software or tools you’re gonna spend too much time fussing with it instead of actually using it. This impedes the quality of anything you do. But also greatly reduces the fun you have.
This post is a personal take on preferences and opinions. It’s a bit random and perhaps without proper direction but I want to share a bit about how I work and what I work with to make Plugins, how my desk “works” and how I think about things involving being productive. You will probably have some other ideas. This article is not meant to tell you how you should do anything but merely to give a brief view on how I function (or fail).
This turned out much longer than i hoped… But meh! Just read it. Might be useful and fun!
I’ll link to a bunch of software, sites and artists. Including some shameless plugging of things I do and services I provide. Some of these are subtle hints, too.
A proper height desk, roomy, with plenty of space for me and my computers. My desk is 75cm high (top of surface) which is I think a default height for regular desks. And it provides space for several computers, gadgets and some distractions. Obviously I need a comfortable high-back chair too. One you can sit in for hours and hours without getting a sore butt or strain on your back.
You’ll want a good computer, obviously. But also one that “just works”. It should not break down or give you trouble or even cause a fuss. You’re creating things (code?), thus you should not having to fiddle with software problems, stuttering software, loading times or settings for sound and video even. If you’re not able to focus on your work. Sort out the troubles first because it’s not gonna work otherwise. I have this set of defaults I use on every computer where-ever possible and for me that works great. And it’s totally worth it to invest a certain amount of time and money into these things to get it right!
For my work I mainly use the iMac in the center/left. It’s a recent one, with a load of ram (12GB), but more importantly it has a large screen and it’s fast. Little waiting time and all my applications and things fit on there without too much trouble. I use the default wireless keyboard from Apple with it. I think they type wonderfully nice and the lack of a wire gives me some freedom. Also I use a Logitech MX518 mouse. It fits my hand nicely and doesn’t cause cramps or anything when I use it for longer periods. So as long as I watch my posture there is little to no risk of RSI, I think. Which obviously is very important if you’re working on and with computers for (often) more than 12 hours a day.
Hammering in code, writing articles can be a tedious thing. If you’re like me you can be at it for hours (my longest stretch without a proper break is probably 8 to 10 hours). But that’s achieved by having some distractions. I for one like Lego. So I have a few small Lego cars and thingies on my desk. And I often go for a drive. The orange one can steer. So it’s often a nice swirly drive .
Of course having Yahoo Messenger, Skype or something like it nearby helps a bit too. And for me, an endless stream of Emails and RSS feeds keeps pouring in. This usually helps me take small timeouts and get new ideas.
Keep things withing reach and in their own place:
Important is that I do not have to spend too much time looking for things. I hate searching. Most things on my desk have their own place. If something is not in it’s usual spot, it’s lost. Simple as that. For instance, I have 2 cups with tools; pliers, screwdrivers and knives and such like. Always within reach. If someone were to move these cups to the other end of the desk or remove them completely things go bad quickly. Annoyed that someone touched my stuff, but also I now need to figure out where my tools are. And I need them now. Not in a minute, but right now. So things need to be in their place and stay there when not in use.
Finding the right software, stuff you actually like and feel comfortable with is super important. And I think it’s totally worth it to spend a few hours trying out software or even buying multiple pieces of software and picking only one to use. I own a slew of licenses for video compression and editing software. But use only a select few. No demo’s available, unfortunately. But ultimately i found my perfect tool so it was worth “wasting” a bit of money.
I personally like Coda 1.7 (Coda 2 not so much) a lot for anything that involves code. And I use it almost daily. It’s probably one of the best pieces of software I ever bought. Next to it I use Rapidweaver and a assortment of plugins quite a lot. Safari is my browser of choice and for FTP I much like Yummy FTP and Cyberduck. For MySQL editing I find PHPMyAdmin cluttering and slow so I use Sequel Pro for that where i can. Poedit makes translations work and Reeder and Apple Mail feed me information all day long. I use Yahoo Messenger for (obviously) messaging and a little Skype on the side.
Most of these tools i stumbled on while simply Googling “best mac ftp client” and such. And then trying. Lot’s of trying and experimenting. I tend to buy the software I like, too.
I do keep my desktop clear of too much icons. It’s plastered with windows anyway so files and stuff should be in folders in other places.
Often theres a lot more going on there. But these are things i usually start with. And more screens and clutter is added along the way.
To me, it’s important to use a real server for development. I do *not* use a WAMP/Lamp or whatever installation. I have a real server. With Mac OS Server, Apache, PHP, MySQL and all that stuff. I need sFTP to get into it. It’s (partly) accessible from the web and it’s a fully functioning server in every respect. Many consider OSX Server to be unworthy of existence… But it works fine. It just needs some loving care and slaps to get it going.
So I have 2 servers; one for web development, general networking and multimedia and one for Minecraft. Both run Mac OS Server 10.7.something and are customized to work to my needs. Extra ram for both, MySQL Server with fancy settings Apple doesn’t offer. All kinds of tweaks and edits to make them run just that little better. And of course a bunch of software Apple doesn’t offer at all. Plex, Minecraft Server and MySQL being a few of them.
Custom fitted ethernet cables to reduce clutter. The printer next to it goes via Wifi. And below the desk surface is a Western Digital Raid (Storage) system connected to the top Mac Mini and holds all the magic beans to my network.
I run my own DNS Service so hostname.kudde.net (development/home domain) resolves directly to the proper device. Every device is set up to use this DNS service automatically and every device can be resolved and found using the network domain. Ease of use and equality all over the network is key here. I *never ever* type in an IP address. All I need to know are the hostnames of computers which are using easy to remember distinct names. The ultimate goal was to create a sturdy and reliable eco system that’s always on and requires little maintenance and is easy to use for anyone who has access. It works via Ethernet, Wifi and VPN. So my iPhone connects just as easy as my Laptop and can stream a movie or check in on a server just as well.
Proper workflow is important. I’m a bit of a efficiency nut. But at the same time can be incredibly clumsy and unlogical with things. I guess most people are to some degree. So that makes it ok. I’ve tried to find software that works for me. Coda, which allows one click uploading without having to switch to a seperate FTP client. A MySQL manager/editor that *is* seperate and has a easy to use interface that makes sense.
Good shortcuts in apps and a big screen to put things next to each other. In the screenshot you’ll notice that not one screen completely covers another. This so I can easily switch between all screens using the mouse. Alt-tab does not always make sense if the order of apps is wrong. And you probably guessed it. Most apps have their own place too. So I can access them without thinking where I left it.
All my development files are in a certain set of folders, most on the iMac some on my server. That way I always know where my stuff is. Coda uses those folders too and Yummy FTP defaults to it. So there is little browsing involved and certainly no double files unless I specifically do it myself. I don’t use versioning tools like Github or SVN. They only slow me down with their slow syncing and refreshing. Undo and my memory is my type of versioning. Sometimes that gets me into trouble though. I tend to make lots of small changes to files and upload things to my development server over small edits. Sometimes multiple times per minute. If all those changes constantly will be synced and submitted to Github or SVN. I’d go nuts. And in my experience, with SVN at least, the repositories often break or need attention. This works distracting and frustrating.
Music and Games:
Oh yes, for me those are a big part in what I do. And both help me get work done. I do not have a very large iTunes library (A modest 20-ish GB). But it’s very varied, to my mind anyway. I have music of movies/games (Assassin’s Creed, The book of Eli, Ghost in the Shell, etc), and stuff from Japan (Kiyoshi Yoshida, Uttara-Kuru). All zen and new agey, I like drums. But also blaring death metal where you’d expect the spit and guts coming out the speakers at any second (Yes Trivium, that includes you!). On the other hand I like more fancy stuff too. Drum & Bass (Muffler!!), Violins (you should check out Lindsey Stirling!), Hardcore (Angerfist, anyone? no? ). And I have all or most albums of Massive Attack and similar groups/artists. Lastly I am subscribed to a bunch of podcasts of various genres I like. Mostly Electronic/Trance. Who doesn’t like free new music on a regular basis? And if it’s really good I get it from iTunes .
Anyway, for me, a good steady stream of sound fitting the various moods I have is important. Often for coding I listen to the more mellow stuff. But sometimes when I’m on some glorious coding streak or rampage around on the web learning new PHP Tricks I might go for something faster. The point is, that silence is not a motivator for me. It’s bored within minutes and a stream of background music keeps me going.
And games? Well, they make for nice breaks, sometimes so nice i forget about work and suddenly its 2am in the morning. I play a lot of Minecraft, it calms me down, opens a new world of sorts. If the other players in my server are not making a fuss and aren’t too demanding it’s almost perfect. I like building simple stuff or just roam the world checking out the creations of others. I play a bunch of games. But mostly Minecraft.
The end, finally!
And that’s partly how AdRotate is made, using these things and how I function while doing it. But also, if someone hires me for a coding job or AdRotate installation. It’s not just me sitting around on a chair whacking a keyboard. Everything in my workspace is thought out and has a reason to be there or not. Stuck in routine but always trying to improve somehow. Always being altered and changed. Software changes, different apps, better settings. Trying out new things. Settling on tried and tested methods and tools. And always aimed at making things better and easier.