Applications to Boost Your Development Workflow on OS X
All of us use a variety of applications to streamline workflow and make our daily work more comfortable. In this blog post, I will describe two of the applications I depend on most for ongoing work as well as those I utilize less frequently but that are nonetheless, nice to have.
Applications that run in the background
Long work in front of the computer screen can be disastrous for your eyes. If you are a developer, I bet you know exactly what I am talking about. You know, that feeling when your eyes hurt after a long night working at the computer.
Sore eyes is a symptom associated with eye strain, which is often related to not having the screen’s brightness (which you can resolve with a simple cmd + f1), or color temperature configured properly. f.lux solves these issues because it adjusts your screen’s color temperature based on the time of day. Once you’ve configured flux properly, you won’t even recognize it’s working. However, as an experiment, you can try switching off f.lux late in the day, you will definitely notice the difference when the screen goes back to it’s default colors.
It’s an application that enables you to keep versions of various documentations locally (like programming languages, frameworks) and easily search for methods, definitions and more.. There is everything you need: bash, git, js, redis, lodash, meteor, ansible, clojure or aws.
I’ve only mentioned a few examples from my list, there’s much more. To list out a few more pros. With uses Dash, I’m capable of taking a look into any documentation much faster without navigating through a large number of web pages. In Addition, I can integrate dash with other applications like: terminal, alfred, sublime, pycharm, brackets, vim, atom, xcode and many more.
This one organises your workspaces in a grid for easier navigation. Sounds easy enough, so why is it my most important application?
First of all, it lets you disable animated transitions when switching workspaces. At first glance, it doesn’t sound like a big deal, but when you’re in the middle of work, constantly switching between the editor and the console (or browser) this fact becomes really noticeable. The default animation takes around 1.5 seconds of your precious life per every switch.
When working with one application per screen (chrome, code editor, console) and switching screens once every minute, this application can save you a couple minutes each day, which you would otherwise spend watching screen transitions.
Below, is an example of my grid:
This setup, along with the “go through edges” option, lets me navigate to any screen at any time with just two key presses.
When an external display is plugged in, it becomes the primary screen where the grid operates. ?The laptop’s screen is then used just for Chrome.
After the system update to El Capitan, something bad happened. SIP (System Integrity Protection) had disabled some things and in effect, TotalSpaces2 stopped working. I thought it would be easy to find an alternative, or just leave it behind. I was sooo wrong, I’ve spent some time googling for another solution, but I’ve failed. Finally, I’ve turned off SIP (http://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac-os-x/).
P.S. It’s worth reading about SIP, because it also limits other, more popular programs, eg homebrew can’t use all directories.
Simply put, it’s spotlight on steroids (and I also believe that spotlight’s current version took some ideas from Alfred before). It integrates with many applications, lets you open applications, write your own scripts, grep your laptop data or find a given phrase in selected web pages.
Example of searching on web pages might be:
- don’t remember a word in another language, just type: ‘translate very-hard-word’, enter.
- talking with a friend about a movie, find more info on imdb: ‘imdb movie-name’
After these actions Alfred will automatically open a new tab in chrome and search selected pages with the given phrase. Alfred has many build-in lookups, which you can disable, change or add to yourself own.
A script that I’m using quite often while I am either presenting something on my laptop, in a meeting or just need to focus, is a simple ‘do not disturb’ mode. In standard spotlight there’s no shortcut for it, you’d need to (holy shiiiit!) use your mouse. I’ve found a ready to use Alfred script on the internet. After importing it into alfred – the script does all the work.
Besides the obvious functionalities like doing math with syntax like ‘= 1 + 2’, the biggest win is the ability to integrate with external applications. As an example, let’s look at the integration with Dash.
Let’s say I’m in the middle of writing code in an angularjs project and I need to check my favourite part of it’s documentation – $compile [https://code.angularjs.org/1.4.7/docs/api/ng/service/$compile]. With the integration between alfred and dash, it’s enough to hit ‘cmd + space’, type ‘ng com’ and hit enter. In less than 1 second I have the right documentation in front of my eyes, ready to read. You can also select which version of angular you’re interested in.
I don’t need to switch to chrome, open a new tab, type a phrase and google it. I can do all that at once in less than 1 second. Life is better.
From time to time
It’s main goal is to open a browser window with any internet address, which will always stay above all others. It’s really great and is visible as a small preview in the bottom, right part of the screen. Whether it’s a page you’re working on or a live football match is another issue 😉
Acitivity timer [https://itunes.apple.com/us/app/activity-timer/id808647808?mt=12]
Great thing for people who work with the pomodoro technique – it puts times in the taskbar and counts down our intervals.
Mou’s goal is to provide an easy way to write markdown with real-time preview in the 2nd part of the window. This blogpost was created fully in mou 😉
Others worth mentioning
It’s a well built GUI application to work with git. It enables you to do most of the git operations in a really nice (in GUI meaning) way.
Small piece of advice – if you’re just starting your journey with git, I wouldn’t recommend the usage of GUI tools. It will be much better to start with the CLI to get a good understanding of the basics. Once you feel comfortable with basic CLI commands, you can move to sourcetree,. Without understanding the basics, it can be really dangerous for your project, because it sometimes creates some tricky things under the hood and it’s good to have enough knowledge to handle it.
I did just that and I think it worked great for me. After some time (counted in months), I came back to the CLI – I want to have 100% control of what I’m doing.
Vagrant manager [http://vagrantmanager.com/]
It sits in the task bar and enables you to manage your local vagrants with a menu which contains simple and basic commands.
Docker toolbox [https://docs.docker.com/installation/mac/]
GUI for managing docker containers.
Disk inventory x [http://www.derlien.com/]
When running out of space on your disk, this application will let you find and remove unnecessary files and folders by presenting some nicely nested disk usage statistics.