Disable Chrome Back / Forward Gestures

If you're on a Mac and have been finding that Chrome's two finger back and forward gestures keep triggering at really inappropriate times (for years), you can disable them without disabling for every app on your Mac.

Just close Chrome, open up Terminal, copy the command below, and press enter!

defaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool FALSE

Dropbox Android Sync API Error: Dropbox isn't initialized

Just got caught out by this little mistake for a few minutes. If you call the DbxAccountManager startLink method in your onCreate, onStart or onResume methods for your Activity then the your app will crash after you've authenticated.

Solution: Don't try and link before the activity is fully running. See the Activity API reference for details about the activity lifecycle.

Update: Turns out this has nothing to do with when you start the authentication. After an email exchange with a developer at Dropbox (they contacted me!) we deduced that this was due to a low memory situation, and it just happened by chance that waiting until the activity had fully started fixed the issue. Apparently a fix will be coming for this in a future update...

Here's the error from the logcat:

E/AndroidRuntime(23572): java.lang.RuntimeException: Unable to resume activity {your.namespace/com.dropbox.sync.android.DbxAuthActivity}: java.lang.IllegalStateException: Dropbox isn't initialized.
E/AndroidRuntime(23572):        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2567)
E/AndroidRuntime(23572):        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2595)
E/AndroidRuntime(23572):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2109)
E/AndroidRuntime(23572):        at android.app.ActivityThread.access$600(ActivityThread.java:132)
E/AndroidRuntime(23572):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1157)
E/AndroidRuntime(23572):        at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(23572):        at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(23572):        at android.app.ActivityThread.main(ActivityThread.java:4575)
E/AndroidRuntime(23572):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(23572):        at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(23572):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
E/AndroidRuntime(23572):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
E/AndroidRuntime(23572):        at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(23572): Caused by: java.lang.IllegalStateException: Dropbox isn't initialized.
E/AndroidRuntime(23572):        at com.dropbox.sync.android.DbxAccountManager.getInstance(DbxAccountManager.java:144)
E/AndroidRuntime(23572):        at com.dropbox.sync.android.DbxAuthActivity.finishAuth(DbxAuthActivity.java:72)
E/AndroidRuntime(23572):        at com.dropbox.sync.android.DbxAuthActivity.onResume(DbxAuthActivity.java:51)
E/AndroidRuntime(23572):        at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1154)
E/AndroidRuntime(23572):        at android.app.Activity.performResume(Activity.java:4539)
E/AndroidRuntime(23572):        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2557)
E/AndroidRuntime(23572):        ... 12 more

How To Disable Sony Xperia U LED Light Bar

I've had my Xperia U for about 5 months now. It's an interesting phone, it's a nice shape but Sony have done bad things to Android and it frequently plays a fun game where it goes so slow that it doesn't wake up in time for me to answer a phone call before it goes to voicemail... Anyway, one of its less desirable features is the silly light bar gimmick across the bottom of the device, all it does it use up battery and make the phone painful to use in the dark.

But! Today, I stumbled upon a way to (mostly) disable it (apart from in the gallery/album app). Install the following app from the Google Play Store:

Google Play Store: Illumination Control

And then in the app's settings, go to "Set Theme Color" and then slide all the sliders all the way to the left, you might have to wiggle them a bit first if they are already in that position.

Xperia U Disable LED Light Bar Settings

It's that easy! Now you can use your phone in the dark without being blinded!

Android Design: Dropping iOS Patterns

For a more up-to-date look at Android design, see this updated talk.

A short talk discussing some do's and don'ts with Android design, whilst also looking at some iOS / iPhone patterns that should not be used on Android and why.

Filmed at the Ribot studios 14th September 2011 as part of Open Studios, a Brighton Digital Festival event.

Apologies for the terrible sound quality, a camera at the back of the room was never going to work well...

Threedom Phone Promo Video

A short promotional video for the Android based phone: Threedom.

Made using a beautiful Canon 7D, by Ben Breckler and myself!