photo%sharing%in%app%inventor%cs.wellesley.edu/~tinkerblocks/ccscne13-erdman.pdf ·...
TRANSCRIPT
Photo Sharing in App Inventor Emily Erdman ‘13
Advisor: Franklyn Turbak Wellesley College Computer Science Department
Uploading pictures to the internet allows them to be viewed through a URL. App Inventor can access pictures through a URL, providing apps with user-‐to-‐user picture sharing capabiliJes. However, previously there was no way to upload pictures or drawings to a photo sharing site from a phone. With only one part of the equaJon, apps could not share images created in the app between users.
The Image Sharing Problem
Consumer (App) Service Provider (Photo Sharing Site)
User
Direct user to login and authorizaJon pages
Redirect to a
pp with toke
n User g
rants access t
o app
OAuth 2.0 Protocol
The Blocks The service you want to use. The file path to
the image on the phone.
The consumer key and secret obtained from the photo sharing site upon registering the app.
The Method Block
The Event Handler Block
The URL of the uploaded image.
The Log In Problem The main hurdle to uploading images to photo sharing sites is associaJng the image with an account. Uploading an image requires access to a user’s ‘private resources’ within their account. These resources are usually accessed by logging in to the service. For an app to access an account it must be authorized by the service provider, in this case the photo sharing site.
The OAuth Solu?on OAuth is an authorizaJon protocol that provides a soluJon to the log in problem. Instead of giving their username and password directly to the app, the user is directed to a login page associated with the photo sharing site.
I implemented the OAuth protocol in the Java code base of App Inventor. In the Web Component I added two blocks that use OAuth to access the user’s account and upload an image.
Consumer (App) Service Provider (Photo Sharing Site)
User
Request Token
Receive Token Step 1 (Get Request Token)
Direct user to login and authorizaJon pages
Request Access Token
Receive Access Token
Redirect to app with
verifier token
User grants access to app
Step 2 (Get Verifier)
Step 3 (Get Access Token)
OAuth 1.0a Protocol
What is App Inventor? App Inventor is a blocks-‐based programming environment for creaJng Android apps. App Inventor simplifies the process of making an app by breaking it down into two parts. First, the App Inventor user drags and drops components into a representaJon of the Android phone screen. Second, they use a blocks-‐based programming environment to control the funcJonality of the components.
Photo Sharing Sites
There are many great photo sharing sites that allow users to upload images for free, providing quick and easy picture sharing. Many of these sites also have ApplicaJon Programming Interfaces (APIs) that provide a way to use the services of the site without having to visit the site in a web browser. The APIs of Facebook, Flickr, and Picasa allow an applicaJon to upload images to an account without visiJng the web page.
Funded By: Provost's Office -‐ Faculty Research Fund for Science & Math (IBM)