Dropbox will kill your insane MacBook Air 2013 battery

UPDATE: Since this article was written, the Dropbox client was updated and it doesn't drain the battery anymore.

I recently got the new MacBook Air that was introduced during last June Apple WWDC. The i5, 13' version. The cool factor about it that I couldn't wait to try is its announced (and reviewed here, here and here) +10 hours of battery life.

Initial set-up

When I first unwrapped it from the box, I took the recommended path to maximize battery life. That is, plug it in before first use and let it charge until the LED turns green. Once charged, I booted the machine for the first time, did the initial set-up, installed few tools that I can't live without (Dropbox, iStat Menus, Hyperdock, Sublime Text 2, etc...) and had a look at how many hours left I had. Surprisingly, iStat and the built-in battery meter reported 80% and 3 hours left of battery time. I had used it for less than 20 minutes. So the investigation began.

Testing the battery

There's a very cool free utility called coconutBattery that will report the current state of the battery. It shown that design capacity (7150 mAh) and current max capacity (7314 mAh) were on par. But it shown that the current power usage was at 13.6 Watt. That's a lot. iStat Menus also reported a drain of 1450 mA. The 'normal' usage should be between 300 and 800.

Knowing that the battery wasn't deffective, I just turned off the sleep mode in OS X and let it drain completely, thinking that the issue could come from the initial calibration. After a little more than 3 hours, the MacBook went to sleep. I plugged it in without turning it on, did a SMC reset (hold shift+control+option with the power button and release them together) and left it to charge overnight.

The next morning, I booted it on battery and although it reported a 100% charge, the estimated battery time still reported 4 hours left. Quite far from the 10-12 hours announced!

Rogue processes and unusual processor activity

The next step of my investigation was to take a look at processes. Why would it continue to drain at a stagering 1500 mA? Activity Monitor shown that Dropbox was eating about 90% of processing power!

I proceeded to plug the Air back in while Dropbox would sync my ~20k files. Once done, I looked at the consumption again and it dropped at about 1000 mA. Now the battery reported an estimated 7 hours of remaining usage. Much better. But not quite there yet.

Dropbox is the culprit

I made various tests with Dropbox:

  • On, syncing: 1450 mA
  • On, synced: 930 mA
  • On, paused: 850 mA
  • Completely off: 370 mA

With Dropbox turned off, the reported iStat remaining time is 14 hours at 98% charge. Turning it on and having all the files in sync (so no indexing/syncing activity), it shows 6 hours and 30 mins at 98%. All my tests were made with brightness set at about 80%.

Clearly, Dropbox is the culprit. I use it to store my code repository so updating a file often (I'm a CMD+S maniac) will kill your battery as it triggers a file sync. Not using Dropbox is not an option for me as I switch machines several times during the day. I just have to change my habit of having it constantly on while working. Turn Dropbox on and sync before starting to work and then turn it off. Turn it back on after a coding session to update the code repository and when done, turn Dropbox off again, except if plugged on AC power while working.

Insanely great machine

Aside from this battery-Dropbox issue, after having it for 3 days, I can honestly say that the MacBook Air mid-2013 is the bestest machine I've ever owned. It brings shame on all my other laptops (HP Envy i7, Acer AO756, Sony Vaio, etc.). The keyboard is a pleasure to use, the trackpad is the best I've ever used. The unfortunate issue I faced with it is not related to this excellent piece of hardware but caused by Dropbox. I will drop a line on their forum with my findings.

An app generator I created to speed up Ruby on Rails development. RailsBricks is open-source. By the way, this site was built with RailsBricks!
I founded HowToCode.io to teach high quality web development, for free. The aim is to take students from novice to employable.
I love lists. I create many and for everything, really. Trakx is built with RailsBricks and is my own list management tool. It is free and anybody can sign up.
Speeding up Git common actions by wrapping them in single switches. For example, to add, commit, merge and then push to a remote repository, just type qgit -cmp instead of a long serie of Git commands.
The main goal of qwikGem is to quickly create the needed boilerplate code and assets to start creating a CLI-style Ruby gem.