Great "get-started" info and motivation on intents:
http://android-developers.blogspot.com/2012/02/share-with-intents.html
Here's a nice example of taking and sending a screenshot:
https://gist.github.com/nikreiman/2310318
Recursive algorithms can be slow because they end up solving the same little problems over and over again. To speed them up, you can use a technique called "memoization." Memoization allows algorithms go much more quickly by remembering solutions to problems they have already solved. I’m the recursive algorithm. This blog is my memoization.