Photo%Sharing%in%App%Inventor% - Wellesley CS

Photo Sharing in App Inventor

Emily Erdman `13 Advisor: Franklyn Turbak

Wellesley College Computer Science Department

The Image Sharing Problem

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.

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.

The Blocks

The Method Block

The service you want to use.

The Event Handler Block

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 URL of the uploaded image.

OAuth 2.0 Protocol

Consumer (App)

Service Provider (Photo Sharing Site)

Direct user to login and authorizaJon pages

User

Redirect to app with token

User grants access to app

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.

OAuth 1.0a Protocol

Consumer (App)

Service Provider (Photo Sharing Site)

Step 1

(Get Request Token)

Request Token Receive Token

User

Step 2

(Get Verifier)

Direct user to login and authorizaJon pages

Rveedriifireecrt t otok e anp p

with

User grants access to app

Step 3

(Get Access Token)

Request Access Token Receive Access Token

Funded By: Provost's Office

-- Faculty Research Fund for Science & Math (IBM)

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download