====== FYP IK0903 iPhone Application with Augmented Reality ====== ( **2009 Fall Semester** | [[fyp:ik0903|2010 Spring Semester]] ) ====== Title ====== iPhone Application with Augmented Reality - Photo Earth Live (Former named: IK0903 Open Project) ====== Prerequisite ====== Interested in research ====== People ====== Supervisor [[king@cse.cuhk.edu.hk|Prof. KING Kuo Chin, Irwin]] Students [[ckkung7@cse.cuhk.edu.hk|KUNG Chun Kit]] [[syyeung7@cse.cuhk.edu.hk|YEUNG Shing Yuen]]




====== Schedule ====== ^ Weeks ^ Detail ^ Remarks ^ | Week 01 (07/09 - 14/09)| - Meet with 2 Stanford Students
- [[fyp/ik0903/brainstorming#fyp_ideas_1409|Brainstorming & discussion]] | / | | Week 02 (15/09 - 22/09)| - General meeting with supervisor
- [[fyp/ik0903/brainstorming#fyp_ideas_2209|Brainstorming & discussion]] | / | | Week 03 (23/09 - 28/09)| - General meeting with supervisor
- [[fyp/ik0903/brainstorming#idea_elaboration_2809|Idea Elaboration]]
- [[fyp/ik0903/reference#the_gopher_game_2709|Article Reading]]| / | | Week 04 (29/09 - 05/10)| - General meeting with supervisor
- [[fyp/ik0903/prev_material#application_specification|Application Specification]]
- [[fyp/ik0903/prev_material#expected_schedule|Development schedule planning]] | / | | Week 05 (06/10 - 12/10)| - General meeting with supervisor
- Equipment arrangement
- [[http://developer.apple.com/adconitunes|Revisit ADC videos about iPhone technology]]
- Application interface design
- [[fyp/ik0903_2009fall#application_specification|Specification refinement]] | / | | Week 06 (13/10 - 19/10)| - General meeting with supervisor
- [[fyp/ik0903_2009fall#applications_services_comparison|Related applications testing & comparison]]
- [[fyp/ik0903_2009fall#allow_repeating_picking_photos_from_album_by_clicking_button|Feature testing (I)]]
- [[fyp/ik0903_2009fall#iphone_documents_reference|Reading iPhone development reference documents (1,2)]] | / | | Week 07 (20/10 - 26/10)| - [[fyp/ik0903_2009fall#change_view_by_rotating_device|Feature Testing (II)]] | / | | Week 08 (27/10 - 02/11)| - General meeting with supervisor
- Server OS and software installed and fine tuning
- [[fyp/ik0903_2009fall#showing_google_map_inside_application|Feature Testing (III)]]
- [[fyp/ik0903_2009fall#week_08|Application prototype development (I)]] | / | | Week 09 (03/11 - 09/11)| - Applied for iPhone Development Program
- Requested port opening for server
- [[fyp/ik0903_2009fall#week_09|Application prototype development (II)]] | / | | Week 10 (10/11 - 16/11)| - Testing the application on the iPhone
- [[fyp/ik0903_2009fall#enabling_camera_on_iphone|Feature Testing (IV)]] | Heavy workload on students
reduced work can be done | | Week 11 (17/11 - 23/11)| - General meeting with supervisor
- [[fyp/ik0903_2009fall#week_11|Application prototype development (III)]] | / | | Week 12 (24/11 - 30/11)| - General meeting with supervisor
- Fixing bug in rotating device
- [[fyp/ik0903_2009fall#downloading_image_from_server|Feature Testing (IV)]]
- [[fyp/ik0903_2009fall#week_12|Application prototype development (IV)]] | / | ====== Features / Work Status ====== ===== Application Overview ===== ^ Items ^ Expected Finish Week ^ Status ^ | Application interface design | Week 05 | ✔ 12th Oct.| | Documentation | Week 11 - 12 | Pending | ===== Server ===== ^ Items ^ Expected Finish Week ^ Status ^ | Equipment arragement | Week 05 | ✔ 15th Oct.| | Setting up services | Week 06 | ✔ 30th Oct.| | Preparing network | Week 06 | ✔ 10th Nov. | | Receiving & storing photos sent via iPhone | Week 06 | Postponed | | Retrieving GPS & compass information of photos uploaded | Week 07 | Postponed | | Sending photo requested to iPhone | Week 08 | Partially Working | ===== Feature Coding Test ===== ^ Items ^ Expected Finish Week ^ Status ^ | Select photo from album | Week 05 | ✔ 19th Oct. | | In-app photo taking | Week 06 | Postponed | | Upload photos to the server | Week 06 | Postponed | | Switch view when phone is level & vertical | Week 07 | ✔ 26th Oct. | | Display Google map inside application | Week 07 | ✔ 2nd Nov. | | Download photos from server | Week 08 | ✔ 23th Nov. | | Showing photos according to compass direction
/w camera switched on | Week 08 | ✔ 24th Nov. | | Mapping photos onto Google map | Week 09 | Postponed | ===== Feature Testing Screenshots ===== ==== Allow repeating picking photos from album by clicking button ==== {{:fyp:ik0903:feature_testing:photopicking-1.png?w=103&h=192|}}{{:fyp:ik0903:feature_testing:photopicking-2.png?w=103&h=192|}}{{:fyp:ik0903:feature_testing:photopicking-3.png?w=103&h=192|}} ==== Change view by rotating device ==== {{:fyp:ik0903:feature_testing:changingdir-1.png?w=103&h=192|}}{{:fyp:ik0903:feature_testing:changingdir-2.png?w=192&h=103|}} ==== Showing Google Map inside application ==== {{:fyp:ik0903:feature_testing:mapview-1.png?w=103&h=192|}} ==== Enabling camera on iPhone ==== ==== Downloading image from server ==== {{:fyp:ik0903:feature_testing:download-1.png?w=103&h=192|}} {{:fyp:ik0903:feature_testing:download-2.png?w=103&h=192|}} ===== Application Prototyping ===== ==== Week 08 ==== {{:fyp:ik0903:prototype_sem1:001.png?w=103&h=192|}} {{:fyp:ik0903:prototype_sem1:002.png?w=103&h=192|}} {{:fyp:ik0903:prototype_sem1:003.png?w=103&h=192|}} {{:fyp:ik0903:prototype_sem1:004.png?w=103&h=192|}} * With animated toolbar & landscape mode * Able to select photo for uploading purpose (with alert as a indicator currently) ==== Week 09 ==== {{:fyp:ik0903:prototype_sem1:005.png?w=103&h=192|}} {{:fyp:ik0903:prototype_sem1:008.png?w=103&h=192|}} {{:fyp:ik0903:prototype_sem1:009.png?w=103&h=192|}} {{:fyp:ik0903:prototype_sem1:010.png?w=103&h=192|}} * Able to locate and zoom to the user current location * Showing buttons (and search bar for further development) ==== Week 10 ==== * Using camera on iPhone ==== Week 11 ==== * Switching view when iPhone is in landscape and portrait mode ==== Week 12 ==== * Allow downloading image from server * Overlaying image on the Camera ===== Applications / Services Comparison ==== ^ Applications | Photo Earth Live | Layar | AroundMe | NearPics | Panoramio | Leisure Guide| ^ Map View | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ^ Thumbnail | ✔ | | | | ✔ | | ^ Augmented Reality | ✔ | ✔ | | | | ✔ | ^ Direction (Compass)| ✔ | ✔ | | | | ✔ | ^ In-app photo taking| ✔ | | | | | | ^ Upload photo| ✔ | | | | ✔ | | ^ Changing position of
the viewing rage | ✔ | | | | | | * Only compare features will be developed in phase I. ====== Application Specification ====== Last updated: 13th October, 2009 ===== Overview ===== Photo Earth Live(PEL) is an iPhone application that let people see the World in live though iPhone. The main purposes are to provide the live view of the World and event's photos based on the geographical information. To provide a brand new experience on how photos are viewed and shared. It also provide a social network platform as letting people browsing around to know more about their friends and familiar places they know very well. As everyone can upload the photos and view the photos immediately after the upload was made, much more tiny little things can show around the World what the culture at the specific place. ===== Purpose ===== - To let users find out photos taken on a specific area. - To let users view photos according to the direction of the view ===== User Interface (UI) ===== === View 0 - Welcome screen === No image at this moment. === View 1 - Map View === {{:fyp:ik0903:sketch_view01.png|}} iPhone place at level mode and landscape. The app will first try to locate the place when start up the app and showing the photos based on the location information. {{:fyp:ik0903:ik0903_popup_ref-panoramio.png|Screen captured at panoramio.com}} The above is a reference screen from [[http://www.panoramio.com/places/|Panoramio]] === View 2 - Map View with tab bar opened === {{:fyp:ik0903:sketch_view02.png|}} After pressing the right hand corner of view 1, a tab bar pop out and let user choose various functions. === View 3 - Upload photos from the iPhone photo library === {{:fyp:ik0903:sketch_view03.png|}} When we chose upload, a view which is similar to iPhone photo library mutli-select will show and let user choose set of photos to upload. === View 4 - Setting view === {{:fyp:ik0903:sketch_view04.png|}} This is a setting page when choosing setting from view 2. Most of the app setting will be showing here. === View 5 - In-app. photo taking === {{:fyp:ik0903:sketch_view05.png|}} This view will only be shown while the iPhone is in standing position and in portrait. More details will be showing on follow(view 6). === View 6 - Live view with photos showing according to the photos direction === {{:fyp:ik0903:sketch_view06.png|}} This is the details view of view 5, showing how the app displaying photos based on given information. === View 7 - Paused live view === {{:fyp:ik0903:sketch_view07.png|}} Sometimes user may want to see photos in a specific direction and distance or just simply tired on holding the iPhone standing. It will paused the location, direction service as well as the camera. Beside from these, other functions provided in view 5,6 will be provided. ===== Hardware Requirements ===== __Client / Users__ iPhone 3GS * GPS and compass information must be allowed to attach to the photo. * with internet connection. * installed iPhone OS 3.0 or above. __ Server __ * Server accepts internet connection from public internet network * High performance - reply request in a short period of time ===== Communcation Protocol ===== * Between iPhone & Server: HTTP ===== Limitation ===== * Users are only allow to upload a limited amount of photos, at this moment, 100 photos would be set ===== Application Features ===== - Upload photos from the iPhone to the server - Display photos according to their geographic location on the map - Display photos according to their direction on the screen ===== Assumption / Dependency ===== - Enough users from all over the world to upload photos to the server - All photos are with GPS & compass information - Photos uploaded is interesting and attractive to general users - Photos uploaded is with good quality - No hacker would be stealing information between transmission ====== Reference ====== ===== iPhone Documents Reference ===== - [[http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/index.html#//apple_ref/doc/uid/TP30001163|The Objective-C 2.0 Programming Language]] - [[http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/CocoaFundamentals/index.html#//apple_ref/doc/uid/TP40002974|Cocoa Fundamentals Guide]] - [[http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html|iPhone Application Programming Guide]] ===== Other Reference ===== * [[http://www.gwap.com]] * [[fyp/ik0903/reference#the_gopher_game_2709|The Gopher Game]] * [[http://developer.apple.com/iphone/|iPhone Dev Center - Apple Developer Connection]] * [[http://developer.apple.com/adconitunes|Apple Developer Connection on iTunes]] * [[http://www.panoramio.com/places/|Panoramio]] ===== Internal Links ===== [[fyp/ik0903/brainstorming|Ideas]], [[fyp/ik0903/reference|Reference materials]], [[fyp/ik0903/prev_material|Other information displayed]]