While rooted Android users have been taking screenshots on their phones for a while now, stock, non-rooted owners have been left out of the fun (there are some notable exceptions to this rule, like the EVO 4G). No longer, according to Paul O'Brien, one of the visionaries in the Android community, who posted the following in reply to Cyanogen (aka Android god):

We haven't been able to confirm what exactly changed in 2.3.3, but according to Android Central, screenshots are now possible without root "because of some changes in the way the SurfaceFlinger service handles what it captures from the framebuffer."

This newly uncovered fact means that all phones running Android 2.3.3 and above should be able to take screenshots regardless of whether they're rooted or not.

Out of all the apps that require root privileges, I probably use ShootMe the most. Before today's update, it was the best and easiest way to take a screenshot anywhere in Android without hooking it up to a computer - just turn the program on, go to the screen you want to take a snapshot of, shake the device, and ShootMe snaps the picture. After today's update, however, ShootMe is no longer just a screenshot app - it's also a screencasting app.