Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila...

28
TEAM 9 : JAILBREAKERS RENDEZVOUS Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr . Perez Davila Mentor: Mr. Todd Guillory

Transcript of Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila...

Page 1: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

TEAM 9 : JAILBREAKERS

RENDEZVOUS

Members:Twinkle AgarwalAnjana BhirdeRavi MadaiahDavid Hodgson

Instructor: Dr . Perez DavilaMentor: Mr. Todd Guillory

Page 2: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Why iPhone?

Not desktop, not web app. Mobile development not usually offered as a course.

New programming language Learn about Mac OS Learn about Model-View-Controller (MVC)

pattern Resume building

Page 3: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Requirements

Must call a web service Must perform basic database operations This had a huge influence on what we decided to

do

Page 4: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

What is a web service?

A method of machine-to-machine communication A way of calling a procedure/function/method on

another machine Interoperability: can use different languages,

different operating systems

Page 5: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Web services

Two types: “Big web services” and RESTful Big web services use HTTP, and SOAP. Easier to

consume with proxy classes. Click here for sample web service.

RESTful services use existing HTTP operations of GET, PUT. Really just parsing a well-formed web page. No SOAP involved. http://www.geoplugin.net/extras/postalcode.gp?lat=29.577637&long=-95.104244&format=xml

Page 6: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

What does our application do?

Divided into three features, to satisfy different requirements

First feature: gets the weather. Second feature: invite friends to a restaurant. Third feature: find directions to a friend, using

Google Maps. All features assume that there is internet

connectivity.

Page 7: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Feature One: Weather

The view that loads with the application launch is the weather for the user’s present location

It also comes with a search option to get weather update for particular zip code

It also has an image that depicts the weather description (sunny, etc.)

Uses response of one web service (zip code) as input for another web service (weather ): like function composition in math

Page 9: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Notes on feature one:

The user does not need to know where he is Does not accept invalid input It consumes data from an existing web service Demonstrates interoperability (between Apple

OS and Microsoft OS, and objective c to C#). Same is true for feature 2 and feature 3

Page 10: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Feature One: Weather screenshots

Page 11: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Feature Two : Fix Meeting

On launch of this feature displays a list of restaurants for present location

Also has a search option for getting restaurants for a particular zip code

Shows list with 10-12 restaurants with respect to user’s present location (limitation of XML?). This might be because users give long reviews of restaurants, so the service chops off the results.

Page 12: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Feature Two : Fix Meeting

Uses two web servicesI. Consume existing web service for getting list of

restaurants (Yahoo! API)II. Create a web service for sending invitation

message via email. Deployed on DCM web server.

Page 13: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Feature Two : Fix Meeting

Sequence Diagram

Page 14: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Notes on feature two:

User does not need to know where he is User does not have to do any typing Does not accept invalid input Retains value when there are view switches User choices are stored in a singleton object Interoperability

Page 15: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Feature Two : Fix Meetingscreenshots

Page 16: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Feature Two : Fix Meetingscreenshots

Page 17: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Feature Two : Fix Meetingscreenshots

Page 18: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Feature Three : Get directions On launch of this feature, displays a list of friends

and their respective distance from the user Also has update location option that updates

user’s location in database Created web service that calls a stored procedure

that return relative distance between user and his friend

Performs database operations (INSERT, UPDATE, SELECT)

Page 19: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Feature Three : Get directions

Sequence Diagram

Page 20: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Notes on feature three

Gives map as well as textual route Interoperability Illustrates web service performing database

operations Database is prepopulated with users’ locations. The application does assume that a group of

friends all have and use the application.

Page 21: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Feature Three : Get directionsscreenshots

Page 22: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

What is unique about our application?

Two people in a new city can find each other without knowing each other’s current location.

Inviting a friend to a restaurant does not need any typing on the user’s part.

Page 23: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Ideas of how this can be extended in future semesters On restaurant feature, can get results based on

current location and radius. Other types of events: 1. Movies2. Concerts3. Sporting events

Page 24: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

More stuff to do

Web service authentication and encryption HTTPS Token

Page 25: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

More to do: privacy concerns Need to authorize friends to see where I am

(could stalk someone otherwise) Web service needs to check that they are actually

friends before sending results

Page 26: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

More to do: Identity

Using a phone number to represent identity, which can change

Need to have a way for users to update their information (name, phone number, email address)

Page 27: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Things we could have done better

Comment code as we go, instead of at end For commercial applications, if you don’t, it won’t get

done More time consuming otherwise Don’t use comments to comment out code, and

especially don’t commit it into source control Break down objects more

View controllers were doing a lot of work. Could move parsing XML and calling web services into another class.

Makes for more reusable code.

Page 28: Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson Instructor: Dr. Perez Davila Mentor: Mr. Todd Guillory.

Conclusion

The requirements that we had to meet for the course are met by this application

Successfully implemented the three features that we intended to implement at the start of the course

Get legitimate outputs