Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sharing in Android (Intents & more!)

Sharing in Android (Intents & more!)

A short presentation on the various ways in which applications on an Android device can share information among each other.

Avatar for Chaitanya Reddy Teegela

Chaitanya Reddy Teegela

April 05, 2013
Tweet

More Decks by Chaitanya Reddy Teegela

Other Decks in Technology

Transcript

  1. Hello. Some logistics before we begin. You can grab a

    copy of this presentation here: http://goo.gl/sK3LE
  2. Let’s talk about Tasks first In Android, a Task is

    a sequence of interactions that a user performs across multiple apps on the mobile device to achieve a specific goal. 2 Example: Take a picture and send it to a friend.
  3. How an Android user can perform this Task 3 Step

    1 Uses a camera app to take the picture
  4. How an Android user can perform this Task 4 Step

    2 Shares it to a photo-editing app
  5. How an Android user can perform this Task 5 Step

    3 Photo-editing app recognizes incoming picture, opens up with the picture ready for editing
  6. How an Android user can perform this Task 6 Step

    4 User completes editing, shares the picture to a communication app
  7. How an Android user can perform this Task 7 Step

    5 Communication app recognizes incoming picture, opens up by asking whom to send it to
  8. So what is Sharing on Android 8 Bridging the gap

    between the task flow across multiple apps is what sharing on Android is all about. Enabling our app to be a part of this flow by supporting sharing is extremely important. Users expect demand this functionality.
  9. How do we enable Sharing on Android 9 1. Use

    Share Intents 2. Use 3rd party SDKs 3. Custom URL schemes, ex: myapp://com.applico.foo We’re only interested in the first two, using custom URL schemes is discouraged.
  10. Using Share Intents 10 • During installation, our app tells

    the OS what data it is capable of receiving from other apps and for what purpose • When other apps tell the OS to send us data, our app is awakened and we receive the data • We interpret why the user may have sent us that data, and continue the Task flow • When a user wants to share, we tell the OS what kind of data we’re sharing and for what purpose we’re sharing it • The OS automatically lists all other installed apps capable of receiving our data • User picks one app to send the data to If our app is sending data If our app is receiving data
  11. Using 3rd party SDKs 12 • Typically we’ll have a

    server component which receives data from our SDK which was embedded in other apps • If our app is installed on the user’s same device, this method is discouraged • We embed the provided code directly in our app and leverage its features • When the user wants to share, we trigger the SDKs code and indicate what the user is sharing and what to do with it If our app is sending data If our app is receiving data
  12. Things to keep in mind with Share Intents 14 1.

    Very easy to implement 2. Guaranteed to work across all OS versions 3. No learning curve for users, standard UX 4. Anonymization of Source and Target apps 5. No analytics possible 6. Pre-defined data formats 7. List of apps to share to grows/shrinks as user installs/uninstalls other apps 8. The app which receives the share intent must be installed on the same device 9. Some 3rd Party apps don’t play nice with Intent Shares, ex: Facebook
  13. Things to keep in mind with 3rd party SDKs 15

    1. Ease of implementation varies on SDK 2. Durability of implementation varies across 3rd parties 3. Slight learning curve for users, but more UX control 4. Source and Target apps are aware of each other 5. Analytics are possible 6. Data formats vary by SDK 7. Our app code has to be updated whenever we want to add sharing to more 3rd parties, expensive to support app after launch 8. The app which receives the data need not be installed on the same device, but we’ll have to manage user credentials
  14. Pick what’s right for the client user 16 • Tasks

    are more valuable to users than your app functionality alone • Do you think it’s more valuable for the user to seamlessly share to a few fixed social networks OR to share the data to any app of their choice? • Are clients aware of Intent sharing or is their knowledge of sharing limited to Facebook & Twitter?
  15. 17 “Android’s (quiet) killer feature” - ComputerWorld on Share Intents

    “(One of ) the Top Ten Most Important Android Advantages” - MostlyTech on Share Intents For other unique features, check out our previous presentation from Oct, 2012 “Uniquely Android” http://goo.gl/WYvPU It’s features like these that make users fall in love with Android Closing Thoughts