By Ultan O'Broin-Oracle on Jul 03, 2011
For UX research and outreach purposes, capturing screenshots from live code is essential. People love to have examples from real world apps as design guidance, and mobile apps are no exception. Except, capturing screens from Android devices is a real pain. Unlike holding down two buttons on an iOS device, conventional screen capture guidance for Android usually has you fretting over the risks of rooting your expensive device first and then using a downloaded application (such as ShootMe) to take the pictures you want.
The problem with this advice, besides mastering the technical aspects of doing it, is that rooting a device generally invalidates the carrier's device warranty, so you do so at your own risk. If the procedure goes wrong, then you could be left with a bricked device and no recourse to official device support. So, I am indebted to Joe Welinske's new book "Developing User Assistance for Mobile Apps" for an alternative way to capture screens from an Android device without using root, thought you do have to have the Android SDK installed:
1. Connect your Android device to the machine with the SDK installed.
2. On the Android device, go to Settings, Applications, Development and enable USB debugging.
3. From the SDK's tools folder, run DDMS.
4. From the Dalvik Debugging Monitor (DDM) UI, select your mobile device's name.
5. From DDM, select Device, Screen capture. A window showing what's currently on your mobile device's screen is shown.
6. Click the Save button on the Device Screen Capture window to use what's shown as an image file for on your blog, in design guidelines, for further editing, and so on.
Invaluable for capturing those Android notifications!
The gotcha in all this, of course, is that if you're nervous of rooting your device, then would you be the kind of person to go through all the steps to set up the SDK in the first place?
Really, what Android needs is a way for users to capture these screens easily without rooting the device and using special apps, or by using the SDK. Now, when is that going to happen?