1 / 28

Team 9 : Jailbreakers Rendezvous

Members: Twinkle Agarwal Anjana Bhirde Ravi Madaiah David Hodgson. Team 9 : Jailbreakers Rendezvous. Instructor: Dr . Perez Davila Mentor: Mr. Todd Guillory. Why iPhone ?. Not desktop, not web app. Mobile development not usually offered as a course.

flavio
Download Presentation

Team 9 : Jailbreakers Rendezvous

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Members: Twinkle Agarwal AnjanaBhirde Ravi Madaiah David Hodgson Team 9 : Jailbreakers Rendezvous Instructor: Dr . Perez Davila Mentor: Mr. Todd Guillory

  2. 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

  3. Requirements • Must call a web service • Must perform basic database operations • This had a huge influence on what we decided to do

  4. 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

  5. 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

  6. 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.

  7. 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

  8. Feature One: Weather Sequence Diagram

  9. 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

  10. Feature One: Weather screenshots

  11. 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.

  12. Feature Two : Fix Meeting • Uses two web services • Consume existing web service for getting list of restaurants (Yahoo! API) • Create a web service for sending invitation message via email. Deployed on DCM web server.

  13. Feature Two : Fix Meeting Sequence Diagram

  14. 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

  15. Feature Two : Fix Meetingscreenshots

  16. Feature Two : Fix Meetingscreenshots

  17. Feature Two : Fix Meetingscreenshots

  18. 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)

  19. Feature Three : Get directions Sequence Diagram

  20. 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.

  21. Feature Three : Get directionsscreenshots

  22. 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.

  23. 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: • Movies • Concerts • Sporting events

  24. More stuff to do • Web service authentication and encryption • HTTPS • Token

  25. 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

  26. 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)

  27. 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.

  28. 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

More Related