Docstoc

PDD

Document Sample
PDD Powered By Docstoc
					     PROJECT DEFINITION DOCUMENT




Galway City iPhone Application
        Development



                JAMES PEYTON

                  07509332

       PROJECT SUPERVISOR: SAM REDFERN

         SUBMISSION DATE: 15/10/2010




                      1
                                                               TABLE OF CONTENTS

Project Definition Document ....................................................................................................................................... 1
Introduction ........................................................................................................................................................................ 3
    Brief ................................................................................................................................................................................... 3
Research and technologies used ................................................................................................................................ 3
    Visit Dublin Application for iPhone...................................................................................................................... 3
    Realsim LTD ................................................................................................................................................................... 4
    iPhone ............................................................................................................................................................................... 5
    iOS SDK 4 ......................................................................................................................................................................... 5
    Xcode................................................................................................................................................................................. 5
    iPhone Simulator ......................................................................................................................................................... 5
    Mac restrictions ............................................................................................................................................................ 5
    Objective C ...................................................................................................................................................................... 6
    Wifi/ 3G ........................................................................................................................................................................... 6
Scope ...................................................................................................................................................................................... 6
         Primary objectives.................................................................................................................................................. 6
    Compass Technology.................................................................................................................................................. 6
         Secondary objectives ............................................................................................................................................. 7
    A tour of Galway city .................................................................................................................................................. 7
    Famous Landmarks..................................................................................................................................................... 7
    Facebook connection.................................................................................................................................................. 7
    Random Fact Generator ............................................................................................................................................ 8
Stakeholders in the project........................................................................................................................................... 8
Project management ....................................................................................................................................................... 9
    Work Breakdown Structure ................................................................................................................................. 10
    Risk management ..................................................................................................................................................... 11
    Gant Chart .................................................................................................................................................................... 12
refrences............................................................................................................................................................................ 13




                                                                                              2
                                     INTRODUCTION


With the release of the iPhone back in 2007, iOS application development has become an
increasing hot topic of interest. As of September 1st 2010, Apple’s App store contains more
than 250,000 iOS applications. These applications have collectively been downloaded 6.5 billion
times. Creating innovative applications for iPad/iPod with iOS SDK 4 has become an important
and competitive business. This area appeals to me as I have always been interested in the
development of Smartphone applications. The main problem I had in exploring this topic was
the time involved in such research. In 2009, I completed my third year of Information
Technology and also a four month work placement during the summer. For this reason, I am
viewing my final year project not only as a course requirement, but as the starting point for me
to enter and explore this field. On entering 4IF1 I knew I would be aiming my project towards
iPhone application development. By the end of this year, I hope to have acquired a strong,
focused understanding of this exciting area, as app development is a sector in which I would
love to work in the future.


BRIEF



My Final Year Project is based on the description given by Sam Redfern in his SR01: Visit Galway
App. I am going to develop a prototype iPhone application targeted at tourists visiting Galway
and Irish citizens, both living in Galway city or throughout the country. The aim of this project is
to create well-defined, user friendly, eye catching application that not only helps the user get to
know the surrounding area but to enjoy learning about the city. I am going to incorporate the
iPhone’s GPS and compass capabilities to plot the current location of the user and display places
of interest. However I don’t want the emphasis of this project to be focused on location/GPS. I
am going to provide an inside look at the city of Galway using bold visualization, incorporate a
“tour of Galway City” feature and facts and information on different land marks. I also want to
include sound and video to create an experience for the user that is both informative and
aesthetically pleasing.


                    RESEARCH AND TECHNOLOGIES USED


App development is an area I hope to become involved in after I graduate next year. This has
increased my motivation to get to grips with the topics at hand, the technologies used, and the
approach I am going to take in order to successfully plan and implement my project.


VISIT DUBLIN APPLICATION FOR IPHONE

In the project description given by Sam Redfern, he refers to a Smartphone app called “Visit
Dublin”. To gain ideas for my own city application, I purchased the app for €1.79 on iTunes and
installed it on my iPad. Here is the description given on the Visit Dublin site [1]:

“The Visit Dublin App uses technology allowing you to use directional search to move around
Dublin and discover your interests. Simply by pointing your Smartphone (iPhone/Android) you



                                                 3
will find rich information about the places you see around you. This powerful pointing
technology performs directionally filtered searches so that you get the information you are
looking for quickly and easily.”


REALSIM LTD

I will be working in conjunction with the Galway based company Realsim. The description of the
company that I obtained from the company website is as follows [2]:

“RealSim is short for Real-time Simulation builds geospatially accurate, photo-realistic, 3D
models of towns and cities. One can view and interact with these digital or virtual city
environments on any gaming or real-time simulation program. Uses include planning and
development, training and education, 3D satellite navigation maps, and real world games.”

In addition to this I also spoke with Realsim’s Managing Director, Gavin Duffy, on Friday the 8th
of October. He informed me that he had employed a team to generate a complete database of
every building in Galway city for a previous 3D modeling project. He had this information put
into an excel spreadsheet which he told me holds the name, information and picture of each
individual building. He explained that the relevant co-ordinates must be assigned to the relevant
locations. I learned that there will be a significant amount of work required to achieve this, as
well as the possibility of adding additional detail to each building.

I asked Gavin about incorporation the iPhones compass technology, as I was unsure if this
would be possible to implement given the timeframe assigned to this project. He told me that it
would be achievable as his programming team have looked into this in past 3D modeling
projects and it is not as difficult as imagined.

Initially, I had given considered basing this application on the iPad, as I had purchased the
device over the summer. However, after speaking with Gavin, I have decided to develop my
project for the iPhone. This decision was based on a number of factors.

       User may feel uncomfortable and conspicuous walking through Galway’s busy streets
       with an iPad
   ·

       The glare that effects the iPad on a bright day
       The iPad is a new product in Ireland, less people have the unit compared to those who
   ·

       own iPhones
   ·


While speaking with Gavin I wanted to get an idea of the scope of this database of buildings. I
asked him how far out the records went. He told me that from roughly, the Cathedral, east
towards Galway County Hall, southwards towards the Docks, west towards Claddagh and finally
north back up to the Cathedral. This is a wider area than I intend to cover, but the option is
there if I decide to expand. Another point that Gavin made was that not every building has its
own image and that there may be need in some cases to acquire a unique picture. However this
may not be necessary in other cases, for example a housing estate.

I am very thankful for the interest that Realsim have in this project and I’m looking forward to
working with them throughout the year.




                                                4
IPHONE

The iPhone is an Internet and multimedia-enabled Smartphone designed by Apple. The iPhone
includes such functions as camera, text messaging, visual voicemail, media player, email web
browsing, bluetooth and Wifi. The device has a multi touch screen. The newest version of the
iPhone, the iPhone 4, was released this year. The iPhone 4 comes standard with 5-megapixel
still camera, Video recording, HD (720p) up to 30 frames per second with audio, Assisted GPS,
Digital compass and a new higher resolution, which Apple have named “ Retina display” [3].


IOS SDK 4

The Program I am going to use to develop my application is Apple’s free to download software,
iOS SDK 4. This includes a comprehensive set of development tools for creating applications for
iPad, iPhone, and iPod touch, including the Xcode IDE, iPhone Simulator, and Interface Builder
[4].


XCODE

Xcode is a refined application that enables you to easily type in, compile, debug and execute
programs. Xcode is a set of tools for developing software on Mac OS X. Xcode is licensed and
developed by Apple. The most recent version to date that is currently available is 3.2.4. Xcode
also includes Apple’s WebObjects tools and frameworks for building Java web applications and
web services.


IPHONE SIMULATOR

The iPhone simulator will allow me to run the project and view my application on an iPhone
interface as if it were actually on the iPhone device. This is the first level of development. I
would also have the possibility of using the NUIG iOS developer program licence. This would
allow me to see how my developed application would perform in a real-world environment,
taking my creation from the computer monitor to an iPhone. Xcode’s graphical debugger is used
to speedily identify and address any performance issues. The following stage is what Apple calls
the “distribution” stage. Once the application is tested and accepted by Apple, The iOS Developer
Program grants access to the App Store, where the Galway application can be distributed to
millions of Apple customers.


MAC RESTRICTIONS

One problem I may encounter while working on my Final Year Project is that I need a Mac
machine with an Intel-based processor, running Leopard version of Mac OSX. I have always
been a Windows user and I own a Dell machine running windows 7. Thankfully, NUI Galway
provides access to four Mac computers in the media lab. Early in September I enquired to check
if these machines would be suitable for what I require. They needed an upgrade, which I
requested and are now set for me to undertake my project. [5]




                                               5
OBJECTIVE C

Objective C is the primary programming language for iPhone development. It is an extension of
C which I studied for a year in 2007. It is a reflective, object oriented programming language. I
have researched the language and have spoken to a family member who is familiar with it. He
informed me that it is not too difficult and since I have studied Java from 2008 to present, my
previous programming experience should assist me in adjusting to Objective-C. I have also
purchased and downloaded tutorials on getting started on app development as well as a
number of e-books. I also borrowed a book from Sam Redfern, called “Programming in Objective
C 2.0” by Stephen Knochan, aimed at programmers who are new to Objective-C. Also, there is an
extensive list of web sites aimed at new developers, providing video tutorials and sample
projects. [6]


WIFI/ 3G

For user to have access to all features and to get the best use out of this application, Wifi/3G
access will be required. This is necessary for tracking the location of the end user, plotting
places of interest and establishing a connection with Facebook.


                                             SCOPE


There are many primary features included in my project, which will make it a successful
application. However, I have a number of secondary features in mind, which if time allows I
would like to implement.

                                     PRIMARY OBJECTIVES


The main feature I want to include in my project is for the
user to be able to choose a place/category of interest (E.g.
shop, restaurant, entertainment, etc) and from this choice, be
given a list of suitable options. The user will then be able to
select where he/she would like to visit. The user will be able
to view their current location and chosen location on a 2-
dimensional street view map of Galway city. The user will
also have access to directions, photos, descriptions and other
information of all location. The user should be able to search
for a key word and to be returned a list of relating results.


COMPASS TECHNOLOGY

After using the “Visit Dublin” app, I was very impressed with
the iPhone’s built in compass. Using the “Visit Dublin” app
the user can search for a location and by means of a graphical
arrow, be informed of the direction in which to go. This is a
feature that I would like to include.




                                                 6
                                   SECONDARY OBJECTIVES


To prevent this application from becoming specifically a guide of Galway city, I would like to
incorporate the following features:


A TOUR OF GALWAY CITY

For this I would personally take a number of pictures with a high spec camera starting at one
end of the street and making my way down to the other, capturing images at predefined
intervals (e.g. 4-5 metres). I would cover the main
popular streets of Galway and create a database of
images. These would then be taken and put together in
order and incorporated into the “Tour of Galway”
function. The idea is that the user could pick from a
number of starting points at different locations around
Galway city and select “Start Tour”. This would then bring
the user to the first photo I had taken at the desired
location. The user could then virtually make his/her way
down through the different streets simply by flicking left
or right on the screen. If there was a split in the street the
application would give the user the decision of choosing
left or right. To add to the experience of the user I would
hope to include some background music and information
of interest along the way.


FAMOUS LANDMARKS

This feature would provide the user with relevant and
interesting information about the different landmarks
that exist in Galway. For this I will expand out from
Galway city and allow the user to explore landmarks
outside the area. For example, user could select “Eyre
Square”. This would then give the user an informative
overview of the vicinity. This would include audio
describing the area and possibly video. (To personalise
the project, where possible, I would like to provide all images, video and sound clips) I thought
it would also be interesting to include a 360 degree view of the different locations, where the
user could rotate the image, essentially flicking through the same panoramic image on a loop.


FACEBOOK CONNECTION

In today’s technologically advanced world, it is possible to know where a person is by simply
reviewing past Facebook “wall posts”. With 500 million people worldwide using Facebook, I
want to join my application with this influential social network. I would like to include an
option for the user to post either their place of interest or current location onto their Facebook
profile wall. To do this the user would select the Galway application from the home page of their
iPhone and instead of going straight to the main menu of the app, the user will be directed to a
Facebook login section, where they log into their account and then be directed to the main menu




                                                7
of the Galway application. After the user posts the relevant information on his/her page, the link
on Facebook would provide a link to Google maps.


RANDOM FACT GENERATOR

This is a small feature I would like to include. It would be a user friendly interface in which the
user can jump from fact to fact on screen, simply by shaking or pressing next. The information
could be represented by audio playback.


                        STAKEHOLDERS IN THE PROJECT


The following are the stakeholders involved in this project:

DR. SAM REDFERN
Lecturer Sam Redfern is my project supervisor, I have already met with Sam to discuss my
project ideas and to gain suggestions on what directions to take when starting this project. Sam
and I will meet on a weekly/fortnightly basis to discuss progress or to resolve any problems I
may encounter along the way.

NATIONAL UNIVERSITY OF IRELAND, GALWAY
NUIG is providing me with access to all technology requires to complete this project form Mac
computers to the iOS SDK, to the Universities Apple iOS developer program licence.

REALSIM LTD
I will be working in partnership with Realsim, who have developed the required database of
restaurants, shops, facilities, etc in Galway.

MYSELF
This project is going to be one of my main focuses as I complete my final year. I hope to graduate
with a high-quality degree and am aiming high with this exciting and interesting project.




                                                 8
                                PROJECT MANAGEMENT

Project management is an essential aspect of a project’s success. In this section I outline all
project deadlines, milestone dates and requirements.



    1. PROJECT DEFINITION DOCUMENT
This document is the Project Definition. It is the overall plan of what I am hoping to achieve,
what will be involved and how I intend on achieving it. This document is due on Friday the 15th
of October 2010.



    2. WEB PAGE
To keep track of all student projects it is a requirement that each student produces and
maintains a webpage containing details of the project along with relevant information regarding
progress. This will then be accessible from the National University of Ireland Galway,
Information Technology Website. Web page must be completed by Friday the 22 October 2010.



    3. FINAL REPORT
This document shows the overall understanding and knowledge of the student. It is in essence a
complete synopsis of the undertaken project from start to finish. This is the document that may
be viewed by an external examiner. Final report is due on Friday the 25 March 2011.




    4. PROJECT DEMONSTRATION
After completion of the project I am required to give a bench demonstration and verbal report
to a number of staff members. This is not only to display the final product but to demonstrate
my understanding of the development process. Project demonstrations begin on the 28th of
March 2011.



    5. VIVA VOCE
This is the final project obligation. It is an oral examination of my project. This will explore all
aspects of my project (requirements, research undertaken, technologies used, design etc). And
will take place on the 4th of April 2011




                                                  9
                       WORK BREAKDOWN STRUCTURE



1. Initial Research

       a. App development
       b. IOS SDK
       c. Related applications (visit Dublin)

2. Create Project Definition Document

       a.   Plan Document
       b.   Type up initial document
       c.   Adjust due to changes during planning process
       d.   Submit document

3. Put together Website for project summary

       a. Choose tool to use
       b. Design and Implement
       c. Finalize site, Submit

4. Begin development of Galway application

       a. Plan, design, learn objective C
       b. Implement
       c. Test on iPhone simulator and remove bugs

5. Add additional features

       a. Plan/ choose features to include and design
       b. Implement
       c. Test on iPhone simulator and remove bugs

6. Create Final Year Project Report

       a. Create primary draft
       b. Edit and correct
       c. Submit

7. Give Bench Demonstration



8. Attend Viva Voce




                                          10
                                      RISK MANAGEMENT

It is also successful to the success of my project that I am aware of any problems that
might arise and how to tackle them if they do.

Loss/Corruption of data: This has been an issue that I have encountered in the past. Keeping
multiple copies on multiple machines/devices will help avoid this issue.

Lack of Mac machine: As stated previously I have no windows machine. However I plan to
spend the majority of my time working in this project in the college on the Mac machines
provided.

New Technologies/objective C: This is a new area of exploration for me, though I have been
programming for three years, becoming familiar with objective C may be difficult due to
demand from other subjects and projects.

Illness: The possibility of illness is inevitable. Hopefully I will keep well during the year as to
not have to take substantial time off from college.


Scope: It may be possible at this early stage to plan a project and create a scope that is not
practical. However after the planning and research that I have performed, I believe that my
project is achievable.


Primary and secondary objectives: I have to prepare myself on beginning this project. I do not
want to rush the completion to my primary features in order to implement my secondary
features. This would result in loss of quality in primary features.

Inability to meet requirements due to time: In creating this document I have a greater
understanding of how to schedule my time. Following my Gantt chart will keep me on track of
time management.


Failure to Test sufficiently: I will need to perform testing and debugging throughout the year
as not to have the program crashing at critical times i.e. Bench Demo




                                                  11
GANT CHART




             12
                                       REFRENCES


[1]Visit Dublin application

Available at: http://www.visitdublin.com/multimedia/app.aspx?id=389



[2] Realsim LTD

Available at: http://www.realsim.ie/



[3] IPhone Information

Available at: http://www.apple.com/iphone/specs.html



[4] IOS SDK

Available at: http://developer.apple.com/ipad/sdk/index.html



[5] Mac Restrictions

Available at: http://discussions.apple.com/thread.jspa?threadID=1902925



[6] Objective C

Available at: http://en.wikipedia.org/wiki/Objective-C




                                             13