10 Native Applications Every Drupal Web Developer Needs

Applications for your Drupal Developer Toolkit

This week, we're continuing our Drupal Developer Toolkit series with ten desktop and mobile applications to support your Drupal workflow. These tools can make your day-to-day Drupal development routine more effective. If you've got your own hidden gem to add to this list, let us know!

10 Applications Every Drupal Web Developer Needs

This is my list of local, native applications I use and recommend during my day-to-day Drupal development work. Some of them are certainly applicable to general web developers, but I find them to be especially relevant to a Drupal developer whether a consultant or part of a company. When reviewing the list, consider that I do most of my Drupal development work from a Mac workstation though most of these applications are cross-platform. 

1. Code Editor: Coda

Let's just start this list off with one of the more controversial topics: code editors or integrated development environment (IDE). This is certainly subjective. I've been using Coda now for years and enjoy it quite a bit. It integrates a shell to quickly hop to the command line. For your file transfer needs (FTP, SFTP, etc), a version of the excellent Transmit is integrated. Coda also connects with loads of plugins and version control systems like Git. The interface is generally sparse, not terribly distracting.

I feel like Coda has just what's needed for the average web developer along with some lovely integrations to handle server-side work. It's not as light as what Vim enthusiasts desire. It doesn't have as strong of a code autocomplete as something like Visual Studio. It's not as customizable as Sublime. However, it does hit the basics of all these things, fitting most needs. Most Drupal devs work with Git for version control, here's an excellent write-up on integrating Coda with Git.

IDE Alternative: PhpStorm

​If you do serious PHP development work—creating custom modules from scratch, for example—you may want a dedicated PHP IDE. PhpStorm brings the focus of your editor to PHP with stronger code completion, rich debugging tools, and deep framework integration. PhpStorm also works well the other code you'll run into doing Drupal development, too. There's full support for CSS, JavaScript, and HTML.

2. Local Development Environment for Drupal: Acquia Dev Desktop

Our primary work is in Drupal development and support. For sometime, if you want to run a local development environment to test or work locally on Drupal, you would use a stack of Apache, MySQL, and PHP installs. Eventually, these were combined in a single local application specific to your operating system (see: LAMP, WAMP, MAMP). Eventually, a Drupal-specific environment came about, created by the behemoth Drupal company: Acquia. Their version of a local *AMP stack includes tools specific to Drupal such as Drush. It provides a GUI to help quickly setup local Drupal installs and even integrates with Acquia's version control system to make environment migrations a bit easier if you're in their environment.

Dev Desktop makes spinning up a local Drupal install quick and painless. It's how we get started with all of our new projects, testing ideas and beginning implementation locally.

3. Notes: Evernote

​Web Developers constantly take notes. Meeting? Write down requirements details being addressed. Reviewing a technical issue? Map out the processes firing as they relate to the issue. Notes, notes, and more notes.

You'll want to have those notes at hand whenever you may need to review or edit them. Evernote provides a cross-platform note taking system. It's like an amped up version of Notepad. The WYSIWYG provides enough design ability to handle any sort of note taking needs you can throw at it. It syncs across all your devices: you'll have the note you just started writing on your smartphone in a meeting available on your workstation or their web app ready to be reviewed. If you're still stuck paper and pencil note taking, Evernote offers an excellent camera/scanning system that will OCR the text from your notes. It's possible to add media, categorization, and share notes with colleagues.

I've been using Evernote for years to house a variety of life information that I can offload from my brain. Evernote is also a note taking tool for Drupal developers.

4. Chat: Skype

While you should keep the bulk of business communication to project management tools like Basecamp or Slack, now and again you'll want to send a quick message. Maybe you want to have a short conversation about a feature or quick review. Email isn't always light enough to handle something minor and can be frustratingly slow. Instant messaging is a great communication method to fire a quick question off to a colleague. There's a lot of platforms out there for this. However, Skype does a good job of encompassing the needs of a quick one-on-one communication. It offers a fine platform for instant messaging, offering a cross-platform application. It provides a way to initiate file transfers, screen sharing, audio calls, and video calls within that instant messaging interface. All these base features are free.

Often, I'll want to show a multi-step interaction to a colleague that's too much for a screenshot or screen recording, and Skype's quick screen sharing system is an excellent solution. It's a great way for Drupal developers to walk through an interaction or system with other developers.

More than anything, I'd suggest keeping your business communications within a specific instant messenger, no matter which app that is.

5. To-do Task List: Things

Basecamp is an excellent tool for creating project-level, shared task lists. However, you probably have a bunch of tasks you need to complete that aren't things you need to share with the team. Maybe you need to update your local Drupal development stack, perform an OS update, or order a new keyboard. Keeping all of this in your head is a terrible use of your memory and attention. Get it out of your head and into a task list.

I'm a big fan of the minimal Things to-do list app. There's a desktop and mobile app that syncs your tasks. Unfortunately, it is Apple-centric. If you need something similar that's cross platform, take a look at Wunderlist.

6. SEO Deep Dive: Screaming Frog SEO Spider

Let's say you have a Drupal site with thousands of pages. You're leveraging the Metatag module to handle SEO-related data. How do you know all those thousands of pages properly have the right data snippets in place?

SEO Spider allows you to run a local app that'll crawl and index data search engines are interested in across your pages and site. This will help you identify weak points and missing data across the site without having to manually view the source on a bunch of pages to perform a manual analysis.

7. MySQL Database Management: Sequel Pro

While phpMyAdmin was probably your first introduction to GUI-style management of MySQL databases, Sequel Pro is the first step into professional MySQL use. This powerful, native client for Mac OS X is totally free. The app has the features you may expect: a powerful query editor, full CRUD support within the UI, and strong backwards compatibility. It also has a few you may not: multi-window and multi-tab options to manage your remote connections, favorite host saving, several connection methods (including SSH tunneling), and a lovely interface to browse contents and structure.

If you're not happy in living in the mysql cli, Sequel Pro offers a fast and flexible native app to handle your database management.

8. DOM Inspector: Firebug

Firebug is the original Document Object Model (DOM) inspector. It's a free plugin for the Firefox web browser. DOM inspectors allow developers to view the frontend source code that a web server delivers to a browser. It also allows developers to review some other data provided by the web server like HTTP Headers.

Other Drupal developers might use similar tools integrated with Chrome or Safari. However, Firebug is a dedicated tool for this purpose and continues to get updates to help make the life of web developers easier.

9. Animated Screen Grab (GIF): RecordIt

​If you have a short, visual interaction you want to show a client or colleague, sometimes an animated GIF is the perfect solution. Screenshots are static, so they're no good for animations or multi-step interactions. Setting up a screenshare can be too much for a simple question or process review. RecordIt is a free, cross-platform app to quickly select a portion of your screen and record several seconds of it to an animated GIF file. RecordIt provides a public link to share that file so others can review it. Quick, simple, and free.

10. "​Wireframes": Balsamiq Mockups

If you need to produce a quick mockup for a design or user interaction and you're not a designer, I'm a big fan of Balsamiq Mockups. It's a very simple tool for laying out user interface elements and exporting them to shareable visuals (JPG, PNG, etc). It's miles from the complexity of a proper wireframe tool like Adobe's InDesign. It's a great tool for Drupal developers that want to produce a quick user interface for a client or colleague to review that doesn't take a degree in design to use.

Mockups provides interface elements that are for both desktop scaled designs or mobile scaled elements.

BONUSES 

​Save Your Eyes with f.lux

f.lux is not a Drupal developer specific tool, but it's the one application on this list that I think literally every computer user should have installed. Its purpose is fairly simple but its effect can genuinely improve your life. f.lux manages the display color on your monitor, adjusting the color to match the sun's trajectory over the course of the day. f.lux adjusts its color based on time of day and your location. As the sun goes down, f.lux will lower the intensity of colors, making those whites much less bright. These adjustments can really help save your eyes, reducing eye strain as your stare endlessly into that backlit monitor. It's free and cross-platform.

If you're wondering if f.lux really makes a difference, install it, use it for an hour or two after the sun as gone down, then quit the application. This will revert the color output to default on your monitor as you shield your eyes from sudden glare of your monitor. If you use a computer, install f.lux.

File Sharing with Dropbox

​There's lots of competing file sharing apps and services out there. Cloud file storage in itself is a pretty simple thing: it's just a place to store files that aren't on your local disk. The key reason I recommend Dropbox versus other options is simply that, in my experience, other businesses tend to use Dropbox. When working with clients, the way they'll often share larger files is via Dropbox.

If you as a Drupal developer also use Dropbox, you'll be ready to utilize shared folders and file systems from clients and colleagues without having to install yet another app when they do. This choice is primarily about reducing friction in your day-to-day. Dropbox itself is a fine file sharing service, offering cross-platform apps and a usable free account level.

Building a Drupal Developer Toolkit Series

Native, local applications serve as another key tool for Drupal development teams. These are your bread and butter tools: they provide the primary way for you to do your work as a Drupal developer. What applications mentioned could help you be more productive?

Looking for more in our series on building a web developer toolkit, perfect for freelance Drupal developers, consultants, and agencies?

Chris's picture