Selection of Android Mobile phone
The first challenge the team had was, determining what Android phone to use for the project. The team gathered all the requirements of the project to determine the required functionalities of android phone. The team determined that, an android phone supporting a Qualcomm API and GPS would be the most reliable for the application. The team has done good research and selected some android phones which have satisfied the requirements criteria. By comparing the chosen android phones based on certain metrics, the team has decided Dell Streak 5 will satisfy the requirements of the project. The Dell Streak 5 has a built-in Qualcomm chip and GPS which would be used both for pattern recognition and geo-code based augmentation. Both mentor and instructor have agreed and recommended our selection of android phone.
Selection of Augmented Reality Browser/Engine
Another challenge the team had was determining the best AR browser/engine for the project. AR browser/engine is used to augment images or text on top of the objects of camera’s view in our project. The team has done research on it and come across many AR browsers/engines. Based on the metrics, the team has compared all the AR browsers/engines and found Qualcomm API is best suitable for a pattern-based augmentation. Qualcomm API is an open sourced API and does not augment images based on the geo-code; it augments images based on pattern recognition. The team has determined Wikitude API as the best AR browser in augmenting images based on the geocode. Wikitude API is an open sourced browser and it is very well documented.
CONCLUSION
Our team was successful in completing all the requirements that were specified, even though the concept of augmented reality was entirely new for all our team members. In the process of completing this project, we were able to learn various new technologies. Learning all these new technologies and providing a working prototype in the short aggressive schedule was challenging. The team enjoyed working with the mentors and getting the opportunity to learn from this project. Overall, we had good experience working on the capstone project.
FUTURE WORK
In future, performance of the application (SMAART) can be improved using WIKITUDE API to augment images on camera based on geo-location. SMAART, an augmented reality based android application has also been able to augment images on camera using a basic pattern recognition with the help of Qualcomm API. There is lot of scope to enhance on pattern recognition based augmentation in this application.
REFERENCES
[1]. IBM Rational Software. "Rational Unified Process : Best Practices for Software Development Teams." IBM DeveloperWorks: Rational. January 10, 2003. http://www.ibm.com/developerworks/rational/library/content/03July/1000/1251/1251_bestpractices_TP026B.pdf
[2]. Benismobile (November 23, 2010). Comparing AR browsers. Retrieved from
http://mobilegeo.wordpress.com/2010/11/23/comparing-ar-browsers/ for comparing different AR browsers.
[3]. Learning about Qualcomm API
https://ar.qualcomm.com/qdevnet/developer_guide
[4]. Information about Android fundamentals
http://developer.android.com/guide/basics/what-is-android.html
[5]. Basic knowledge about Augmented Reality
http://en.wikipedia.org/wiki/Augmented_reality
[6]. Survey between Television and Internet
http://www.bit-tech.net/news/2007/08/23/tv_vs_the_internet_internet_wins/1
Appendix A: Project Management and Team Information
Srikanth Majji: Team Leader, Research Analyst, Developer, Database Administrator
Srikanth Inapurapu: Software Designer, Developer
Shivani Kovvuri: Software Designer, Technical writer, Webmaster
Nithin Kumar Dudde: Software Designer, Developer, Webmaster
Manoj Gidda: Research Analyst, Technical writer
Project schedule:
Week
|
Date
|
Phase
|
Week 1
|
01/20/2011
|
Inception phase
|
Week 2
|
01/25/2011
|
Week 3
|
02/01/2011
|
Week 4
|
02/08/2011
|
Elaboration phase
|
Week 5
|
02/15/2011
|
Week 6
|
02/22/2011
|
Week 7
|
03/01/2011
|
Construction phase
|
Week 8
|
03/08/2011
|
Week 9
|
03/15/2011
|
Week 10
|
03/22/2011
|
Week 11
|
03/29/2011
|
Week 12
|
04/05/2011
|
Transition phase
|
Week 13
|
04/12/2011
|
Week 14
|
04/19/2011
|
Week 15
|
04/26/2011
|
Tasks
|
Srikanth
Majji (%)
|
Srikanth
Inapurapu (%)
|
Shivani Kovvuri (%)
|
Nithin Kumar Dudde (%)
|
Manoj Gidda (%)
|
Research & Analysis on different AR browsers
|
20
|
20
|
20
|
20
|
20
|
Documentation on Abstract, Agenda & Meeting Minutes
|
20
|
15
|
35
|
15
|
15
|
Modeling Use cases and sequence Diagrams
|
15
|
15
|
15
|
35
|
20
|
Software Requirements Specification(SRS)
|
15
|
20
|
20
|
15
|
30
|
Website Creation, Maintenance
|
15
|
15
|
20
|
35
|
15
|
UI Design
|
15
|
35
|
20
|
20
|
15
|
Database Design
|
35
|
10
|
10
|
20
|
25
|
Database connectivity with UI
|
25
|
25
|
15
|
15
|
20
|
Technical Report
|
15
|
20
|
35
|
15
|
15
|
Client side:
User shall start the application by clicking on the shortcut key of the application in the Android phone.
System shall retrieve the current location of the user using GPS.
When the user selects the category from menu, the category list shall be retrieved from the server and displayed to the mobile user.
User shall select any one of the categories that he/she is interested in from a number of categories available. (For example categories may include Restaurant, Motel, School, Coffee shops etc.)
System shall retrieve all the markers belonging to that particular category by connecting to the server.
System shall display all these retrieved markers to the mobile user.
User shall set the radius to a particular range. The default radius is set to 10 miles and the maximum radius is set to 60 miles.
System shall retrieve all the markers within that particular range.
System shall display all these markers to the mobile user.
User shall select the camera option once he/she is done selecting the categories and setting the radius.
User shall select the augmentation type. The two types of augmentation are using geolocation and using pattern recognition.
User shall open the map view option once he/she is done selecting the categories and setting the radius. The map shall display markers in the map belonging to that particular category within the selected radius range.
User shall select the augmentation type. The two types of augmentation are using geolocation and using pattern recognition.
User shall download and store the image selected into the Android phone memory.
When the user shall download an image, the system asks the user for login information.
User shall open a stored image from the Android phone memory.
User shall need a JPEG viewer to open the stored images.
Server side:
System shall allow the user to enter a valid mobile number and password.
System shall successfully login and display “login successful” when authenticated.
System shall prompt an error message when an invalid user logs in or when the user does not enter his mobile number and password.
User shall enter mobile number which is 10 digits.
User shall enter a password which should be a minimum of 8 characters.
User shall enter first name.
User shall enter last name.
User shall enter email.
User shall enter mobile model number.
User shall click on “submit” after entering all the details.
If the mobile number already exists, the user shall be displayed an error message that the “mobile number already exists”.
User shall select a geo-location from Google Maps.
System shall display the latitude and longitude of the geo-location selected.
Add image at geo-location
User shall add an image to the geo-location he/she has selected.
User shall create a new category and add an image to that particular category.
User shall categorize the image to any one of the categories that is been added to a particular geo-location.
User shall create a new category if he/she wants to.
User shall browse through the images that are available in the system and choose one of them, uploading it to that particular geo-location.
DATA DICTIONARY:
The table descriptions are as follows
Authorized user: This table holds the authentication details like Mobile number and password for every user who logins to the system. This Mobile number and password is used by the client for login purposes on the Android phone, whenever the user needs to download images.
Column Name
|
DataType
|
Default Value
|
MobileNumber
|
bigint[10]
|
Not Null
|
Password
|
varchar[45]
|
Not Null
|
Primary Key: {MobileNumber}
Functional Dependency: MobileNumberPassword
Highest Normal Form: BCNF
Profile: Each Authorized user has one account. The profile information contains Mobile number, First name, Last name, E-mail, Mobile_model.
Column Name
|
DataType
|
Default Value
|
MobileNumber
|
bigint[10]
|
Not Null
|
FirstName
|
varchar[45]
|
Not Null
|
LastName
|
varchar[45]
|
Not Null
|
E-mail
|
varchar[60]
|
Not Null
|
Mobile_model
|
varchar[45]
|
Not Null
|
Primary Key: {MobileNumber}
Functional Dependency: MobileNumber{FirstName, LastName, Mobile_model, E-mail}
Highest Normal Form: BCNF
ImagePlot: An authorized user can upload any number of images. In order to know which user has uploaded the image at particular Geo Location, we consider Mobile number, Latitude and Longitude as a primary key.
Column Name
|
DataType
|
Default Value
|
ImageID
|
integer[5]
|
Not Null
|
ImageName
|
varchar[60]
|
NotNull
|
ImageDescription
|
Varchar[300]
|
NotNull
|
ImageLink
|
Varchar[200]
|
NotNull
|
Latitude
|
double(20,15)
|
Not Null
|
Longitude
|
double(20,15)
|
Not Null
|
MobileNumber
|
bigint[10]
|
Not Null
|
CategoryID
|
integer[15]
|
Not Null
|
Primary Key: {ImageID}
Foreign Key: {CategoryID, MobileNumber}
Functional Dependency: ImageID ImageName, ImageLink, ImageDescription, Latitude, Longitude, MobileNumber, CategoryID
Highest Normal Form: BCNF
Category: Each image which is placed at a particular geo-location by an Authorized user has a related Category Name.
Column Name
|
DataType
|
Default Value
|
CategoryID
|
interger[15]
|
Not Null
|
CategoryName
|
varchar[45]
|
Not Null
|
Primary Key: {CategoryID}
Functional Dependency: CategoryID CategoryName
Highest Normal Form: BCNF
Share with your friends: |