CSS 590: Machine Problem #3

Simple Web Services

 

Due time: Please refer to our course web-site

 

 

Objective

The goal of this MP is to get ourselves familiarize with simple web services and the OAuth process.

 

Specification

We will use the building of a simple mobile social network app as the vehicle to practice working with multiple web services that involves different levels of authentication. Here is my implementation for this assignment based on working with Bing Map and Facebook services: example implementation of this app.[1]  Here are the technical specifications:

 

1.       At least two web-services:

a.       Your application must involve at least two independent web services with at least one of this services require full OAuth. In the given example, the two services are from Bing Map and Facebook.

b.       One of the services can be one with simple or no authentication (e.g., Bing Map service requires minimal authentication). Your app should use the results from this one service to post to the service that requires full authentication. In my example, Bing Map results are used to identify a position to be posted to the Facebook application.

2.       At least one sensor on the phone: your application must involve at least one sensor device (e.g., accelerometer, camera, GPS, etc.) on the phone. In my example, the GPS is used to identify the user’s current location. Your app must support the switching of this sensor on and off. For example in my application, the GPS is switched off until the user click on the “Find Me!” button, and as soon as the “Post to Facebook” button is clicked, the GPS is shut off.

 

3.       Web services interaction: your application must interact with both of the services which must include:

 

a.       Modify and/or otherwise echo on the phone user interface based on service results. In my case, the pin on the Bing Map satisfies this requirement.

 

b.       Form the authenticated service (the Facebook service in my example):

 

                                                                   i.      Your application must support the posting of information that can be verified (from PC web-browser, eg.).

 

                                                                 ii.      Your application must support at least one data-binding list of information you received. My example does not fulfill this requirement! For example, I can fulfill this requirement by defining data-binding attributes and displaying the last 10 wall postings from my Facebook page.

 

                                                                iii.      Notice, in the week4-example-6, the FacebookLoginPage is actually an annoyance that does not fit into the Metro workflow where we must either remove the page from the navigation stack or support an explicit software “Back” button. Your application must implement the OAuth process without this explicit intermediate page. For example, in my mp3 implementation instead of having an useless explicit page, the “Post To Facebook” button sets the visibility of a initially hidden WebBrowser and at the end of the authentication process navigates directly to facebook information page.

 

4.       Web Service Registration: You must create your accounts and register with the web-services with your own ID’s. Use of my FB ID will result in 20% deduction from your assignment! You are warned, please register and use your own ID’s!!

 

 

Credit Distribution:

1.        

Web services

 

25%

a.       At least two services

b.       At least one with full OAuth process

15%

10%

 

2.        

Sensor

 

20%

a.       At least one sensor

b.       Proper On/Off control

10%
10%

3.        

Web services interaction:

 

45%

a.       Echo on phone UI based on service results

b.       Posting to fully authenticated service

c.        Data binding list on the phone

d.       No login-page for full authentication

5%

10%

15%

15%

 

4.        

Web service registration and written  submission requirement

 

20%

 

Please submit a one page bullet point list explaining how your application satisfies each of the technical requirements. Please include this page in your zip file.

 

You bullet list must correspond to each of the items from 1 to 3: e.g. for my application:

 

1a.: Bing and Facebook

1b: Facebook

2a: GPS

2b: On: FindMe! Button, Off: Post to Facebook button

 

Your submission must include this VERY brief one-pager. This page is meant to help the grader and I grade your mp! Don’t forget, 20% of your grade will be deducted if you do not submit this page!!

 

 

5.

Softcopy submission requirement

 

5%

a.       Zip file with all source code

b.       Proper zip file name

c.        Removed all useless files: Bin, obj, .cache, .user

 

 

 

 

This mp counts 20% towards CSS490 and 18% towards CSS590 final grade. This is a group project. Your final project group should work on this project together.

 



[1] This implementation is based on an assignment designed and submitted by Jordan Locke and Kyle Zaretzke in Fall 2011