Proposal - SIUC Find My Classroom App

miststizzaΚινητά – Ασύρματες Τεχνολογίες

10 Δεκ 2013 (πριν από 3 χρόνια και 8 μήνες)

80 εμφανίσεις

Page
1





Proposal
-

SIUC Find My Classroom App

Saluki Engineering Company

Team 92

To: University Communications


2012

Team 92

Saluki Engineering Company

5/3/2012

SEC# S12
-
92
-
CLAS

Brian Serrano (PM)

Manuel Suarez

Gerrid

Rose

Ariel Thomas

Dennis Dobson II

Lauren Adams

Sakeeb Ahsan






Page
2


Transmittal Letter

Ariel Thomas

Team 92

S12
-
92
-
CLAS

Saluki Engineering Company

Carbondale, Il 62901


March 26, 2012

Janet Douglas

University Communications

Carbondale, Il 62901


Dear Ms. Douglas,

I hereby submit a proposal in support of a mobile application program entitled “SIUC Find My
Classroom App” that will be designed and developed by Team 92, in Southern Illinois
University Carbondale College of Engineering.

I am requesting no funding. The
project will be developed in the time period of May 12, 2012 to
December 15, 2012.

Any questions related to the technical details of the project should be directed to Brian Serrano , the
project manager at
bserrano@siu.edu

(630) 90
1 2190,
or Gerrid Rose, the senior designer, at
grose0617@siu.edu

(618) 967 6354. Any questions about administration should be sent to A. Weston,
F. Harackiewicz, or K. Purcell at College of

Engineering


Mailcode 6603, Southern Illinois
University, Carbondale, Il 62901
-
6603.

Thank you for your consideration of this proposal.

Sincerely
,



Ariel Thomas, Mechanical Engineer, Team 92

Enclosure: Proposal





Page
3


RESTRICTION ON DISCLOSURE OF INFOR
MATION

The information provided in or for this proposal is the confidential, proprietary property of the
Saluki Engineering Company of Carbondale, Illinois, USA. Such information may be used
solely by the party to whom this proposal has been submitted by
Saluki Engineering Company
and solely for the purpose of evaluating this proposal. The submittal of this proposal confers no
right in, or license to use, or right to disclose to others for any purpose, the subject matter, or
such information and data, nor

confers the right to reproduce, or offer such information for sale.
All drawings, specifications, and other writings supplied with this proposal are to be returned to
Saluki Engineering Company promptly upon request. The use of this information, other t
han for
the purpose of evaluating this proposal, is subject to the terms of an agreement under which
services are to be performed pursuant to this proposal.

Executive Summary

The SIUC Find My Classroom App hopes to fulfill the purpose of aiding incoming fr
eshmen,
sophomores, and visitors navigate around Southern Illinois University Carbondale’s campus.
This mobile application will be designed to minimize the confusion of buildings on campus and
classrooms. It will be comprised of seven subsystems that work
together to provide the user with
ease of use. The subsystems in the project are getting the user location, showing the campus
map, getting the user destination input, showing the shortest and accessible outdoor path,
showing the map of the ground floor, a
nd showing the start and finish markers on the floor from
the entrance to the classroom. This project will also use an accelerometer to determine if the
mobile app can detect floor levels. The key element in the design of this mobile app is the
direction t
o the classroom door. This is the most confusing part to some students as the building
numbers and classroom numbers are complicated and confuse most students on campus. The
project hopes to minimize the confusion by giving directions from the door of the
building to the
classrooms by using markers signifying a beginning and ending destination.

The enclosed proposal contains reviews on other mobile applications that are similar to the one
being developed. It also contains a detailed list of the subsystems,

software included, and the
resumes for each member of the team working on this project. The design of this program
requires no funding, as all the software being used to develop the mobile app is freeware. The
program will be written in JavaScript, and im
plemented on Android capable devices. It will use
the mobile provider’s internet and GPS tracking system to locate the user and also uses Google
Maps in order to display pathways to the destination.



Page
4


Table of Contents

(BS)

Transmittal Letter

................................
................................
................................
...........................

(AT)
2

RESTRICTION ON DISCLOSURE OF INFORMATION

................................
..........................

(BS)
3

Executive Summary

................................
................................
................................
.......................

(AT)
3

In
troduction

................................
................................
................................
................................
....

(BS)
4

Literature Survey

................................
................................
................................
...........................

(DD)
5

Literature Review

................................
................................
..

(Team)
Error! Bookmark not defined.

References

................................
................................
................................
............................

(Team)
6
4

Block Diagram

................................
................................
................................
..............

(BS, GR, LA)
16
6

Design Basis
................................
................................
................................
...............................

(SA)
17
7

List of Primary Subsystems

................................
................................
................................
......

(
SA)
17
7

Optional Subsystems

................................
................................
................................
..............

(SA)
18
8

List of Deliverables

................................
................................
................................
................

(SA)
19
9

O
rganization Chart

................................
................................
................................
...............

(BS,GR)
19
9

Action Item List

................................
................................
................................
.......................
(MS)
20
20

Team Timeline

................................
................................
................................
...................

(BS,LA)
22
22

Commer
cial Section

................................
................................
................................
.................

(LA)
22
22

Data analyses, experiments, and simulations to be performed on individual functions

..........

(GR)
23
23

Appendix A

................................
................................
................................
..............................

(LA)
25
25

Appendix B

................................
................................
................................
..............................

(GR)
32
32


Introduction

Imagine

being a freshman or transfer student going to a new College and not knowing where
their first class of the semester is located. College students trying to find their classroom is the
hardest part of the students first two weeks of school. Students want

to have good impression
,

they don't want to be the last person coming to class on the first day and having that awkward
look that classmates and most importantly the teacher gives them. Making a good first
impression is always important especially in a n
ew school because it show the teacher that the
student cares and is ready to learn. The goal of this project is to create a classroom finder app for
students to locate their classroom and increase attendance, but also decrease tardiness.

Page
5


Literature
Survey

Applications for the hardware of mobile devices have many ways of interacting with various
types of programs and software. Since the language of programming is so versatile, this makes
things a lot easier in some cases with the help of algorithms. W
ithout algorithms, programming
would be extremely difficult. The mobile device that is used here is called an Android. The
Android is a Java based device that uses JavaScript programming through Phonegap. It requires
a couple of development kits along with

Android development tools. These are essential for the
use of the Google Map API and other types of APIs to ensure that the components function
properly. The Google Map API itself has its own software for map making that allows
modifications to the prefer
ence of the individual
.

There are some similar mobile applications out
there used at several universities such as University of Oregon, University of Colorado, Penn
State University, and University of Connecticut. The applications are developed for the iP
hone,
Android, and
any
other device that may have

i
nternet access. Unfortunately, there are no patents
for these kinds of mobile applications anywhere. However, there are patents for some system like
Wireless Virtual Campus Escort System and Wide Area Augm
entation System.

Similar projects have been undertaken extensively at a number of University campuses
(UOregon/UColorado/UConnecticut/PennState). Their application and range of features vary
considerable but of course have the same basic goal of getting us
ers to get to where they want to
go. Some of them are platform specific (i.e. native apps specific to a mobile OS). Another form
just provides a mobile version of the local maps with building names without actual active GPS
support. The apps provide extra
features such as locating bookstores and other points of interests.

The design procedures for making an application such as this one are pretty lengthy. First, a
block diagram is made to lay out the steps that are taken to get the functionality of the
appl
ication anticipated. Second, a flowchart is made to display the programming layout with sub
-
functions to get the right position and directions to the classroom desired. Third, the JavaScript
programming code is created to put the functions and sub
-
function
s to ensure that they are
executing properly. Then, the code is tested repeatedly to find any errors that need to be fixed or
a need for adjustment in the code implementation. Finally, the JavaScript programming code is
joined with other components to disp
lay the location on a map where the person is.

There are eight applicable codes and standards under the Software Engineering Code of Ethics
and Professional Practice. The codes and standard are as follows:

1. Public. Software engineers shall act consiste
ntly with the public interest.

2. Client and employer. Software engineers shall act in a manner that is in the best interests of


their client and employer, consistent with the public interest.

3. Product. Software engineers shall ensure that their pro
ducts and related modifications meet the


highest professional standards possible.

4. Judgment. Software engineers shall maintain integrity and independence in their professional

Page
6



judgment.

5. Management. Software engineering managers and leaders s
hall subscribe to and promote an


ethical approach to the management of software
development and maintenance.

6. Profession. Software engineers shall advance the integrity and reputation of the profession


consistent with the public interest.

7.
Colleagues. Software engineers shall be fair to and supportive of their colleagues.

8. Self. Software engineers shall participate in lifelong learning regarding the practice of their


profession and shall promote an ethical approach to the practice of
the profession.


Ref:
http://www.computer.org/cms/Computer.org/Publications/code
-
of
-
ethics.pdf

These codes and standards will not be broken and are kept in strong consideration. This is the
most important part of the designing and programming process.



Re
levant materials and components used that are available on the market are not that hard
to find. In fact, these are already on hand. The materials that are used are the Android Phones.
The components that are used are Java SDK, Eclipse Android SDK, Plug
-
in

for Eclipse, Android
Developer Tools (ADT), Android API, Google Maps API, Phonegap, and Geolocation. The
mobile devices cost a nice amount of money if there is not one already available. The
components, on the other hand, can found on the internet at no e
xpense.

The reviewed literature helps to understand the concepts and materials needed to accomplish the
task creating this mobile application as well as the components. The information shows the
amount of work and time that is needed in the process of
designing the application. The
groundwork of the how to utilize combination of various software and JavaScript programming
are laid out in thoroughly in detail. This shows how to merge them in a unique way so that they
work together properly. It has teamwo
rk written all over it. Not one person by

themselves

alone
can complete such task by him/herself.

Literature Review

Abstract
-

Researching the different computer languages and comparing similar tools and technology
available to build and create an effective mobile application that will benefit a University
and its students.


Index Terms


ADT
-

Android Development Tools

Android
-

Linux based operating system for mobile devices

API
-

Application Programming Interface

BIOS
-

basic input/output system

Page
7


CSS3
-

computer language

GPS
-

global positioning system

HTML
-

computer language

IDE
-

Integrated Development Environment

JavaScript
-

compu
ter language

JDK
-

the Java Development Kit

PhoneGap
-

is an open
-
source mobile development framework developed by Nitobi Software

WAAS
-

wide area augmentation system.


Introduction

The creation of “Find my classroom app” is software with the ability to faci
litate directions on
campus to new students. How is this different from a GPS? It directs the user to specific places
and classrooms on campus, something that a regular global positioning system does not do. The
research involves finding the easiest way
to create the application and making it more cost
efficient, research other schools that have implemented a mobile application and how they use it,
determining how to work with Google maps or any other company that provides data for maps
and streets, Appli
cation Programs Interfaces, programming language and other software tools
that would be beneficial to the project, as well as device software and hardware interaction.


Programs and Language

The development of the SIUC Find My Classroom app is going to be required to be built for and
supported by multiple brands of mobile devices. The big problem is that Android is based on
Java and the project team has zero experience with Java and mobile pr
ogramming will create a
major barrier for production of the team since it would be required learn both a new
programming language enough to create a fully capable app such as is being attempted and at
the same time become familiar with the various operati
ng systems on each mobile device
platform. The main concern is to develop for the Android platform, nevertheless, if there is a
way to bridge across mobile platforms easier, it must be taken.


Found on mobile.tutsplus.com, a tutorial by Abbas Suterwala

[1] mentions a way to program for
a phone using JavaScript by using Phonegap. More literary research done on Phonegap's home
page [2] gives a clear path of the intentions for the project. Phonegap is an open
-
source mobile
development framework developed

by Nitobi Software. Phonegap enables software
programmers to build applications for mobile devices using
JavaScript
, HTML5, and
CSS3
,
instead of often less
-
known languages such as Objective
-
C. This is ideal since code.google.com
[3] says that to use Goo
gle Maps in mobile devices, JavaScript is needed. So what this means is
that instead of conforming to the standards of each mobile device operating system, utilizing
Phonegap, it will conform to the programming style. Using JavaScript to code the program

is
necessary as it will be seen in a few paragraphs. The only choice based on the capabilities of
both the team and what is available is Phonegap.





The chosen programming language is JavaScript due to the following table:

Page
8



JavaScript vs. Java (relativ
e to the project)



JavaScript must be be embedded in HTML
mainly and used through a browser which
PhoneGap allows directly



Google Maps API is built on JavaScript
and allows easy transition between objects
both generic and Google Maps based



Good support for

event handlers which will
be important for events in the app



More flexible language but harder to debug



Must be compiled and can stand alone by
itself



Java is very rigid and requires all items to be
denoted and spelled out



Google Maps API is not built on
Java



Android is built on Java but the APIs would
have to be learned



Easier to debug but less flexible



The first step to be able to make an Android app using JavaScript and Phonegap according to
Abbas Suterwala's tutorial, is to download and install the
JDK. With JDK, there is an ability to
develop applications using the Java programming language which is the language that the
Android OS uses and recognizes.


The next step according to Suterwala is to start development, it is needed to download the
Andro
id SDK. The Android SDK provides the tools and APIs(Application Programming
Interface) necessary to begin developing applications on the Android platform using the Java
programming language according to the Android home page [4].


Following the last ins
truction, Suterwala says is to download and install the SDK Eclipse. This is
a good choice even though there are large amount to choose from for such a task. What is being
sought is a very expandable SDK with easy adaptation across multiple platforms. Th
e SDK that
fits the bill, by known experience within the group, Eclipse SDK will work. It is a powerful
SDK that branches across multiple operating systems and has various plug
-
ins for different
programming languages.


Installing the Eclipse ADT plug
-
in i
s the next step announced by Suterwala. ADT, the tutorial
says, is a complete IDE via Eclipse to develop an Android application. It is able to utilize the
Android SDK and its tools effectively from in Eclipse.


After ADT, Suterwala

moves on to the next instruction which is to use the Android SDK to
download the most recent Android platform released. This is the current platform that all
Android phones are updated to.


The next two tutorial steps in Suterwala's directions are to dow
nload and install both Apache Ant
and Ruby (both programming languages). Apache Ant, according to wiki.phonegap.com [5],
says that Apache Ant is a program that is used to automate software build processes. Ruby is a
programming language which Phonegap mu
st use in its framework [5].


Page
9


Finally, Suterwala says that Phonegap can be downloaded and implemented into Eclipse. Then a
workspace for Phonegap applications must be created. After starting a project and adjusting
certain files given in the tutorial, an
d making a web page via HTML5, JavaScript, and CSS3, the
app can be built. When built, the emulator tool AVD downloaded in the Android SDK, will
emulate an actual Android device on a PC.


To build an app relative to the one that is being aimed for, it mus
t have access to some form of
Google Maps and the API needed to utilize it effectively in the JavaScript code. The team needs
to download the Google Maps JavaScript API v3 according to code.google.com. By using that
API in the Android Virtual Device which

in turn recognizes the libraries of Google Maps based
on the JavaScript code in Eclipse, and be able to call Google Maps and its functions into the app.


Software Interactions

When discussing computers or technological device, they can always be broken down into two
categories: hardware and software. Most people think that they just hit keys and the computer
magically works. There is a lot of theory behind it. The interaction be
tween hardware and
software makes all of this happen. Hardware itself has a lot of different kinds and subdivisions.
Software can be separated into operating systems, basic input/output system (BIOS) and
application software. Most devices are built as a se
ries of levels, starting from the hardware
building up all the way to the operation system or software.


As technology keeps on growing there is always the usual questions that users ask themselves on
a regular basis [7]. How does software and hardware wo
rk together? How do they interact? To
answer this question there are a lot of things that need to be reviewed. Most people have a very
poor understanding of how these two technologies connect to make electronics work. Sometimes
most of the people do not un
derstand that hardware and software are technologies that work in
junction but are not the same; they have boundaries working within each other.


Hardware is divided in two categories: Storage and connection; and Software refer to
information, signal and

operation [8]. Hardware storage it refers to how much capacity a device
can have to store information; the bigger the storage capacity the larger the amount of
information that can be stored in it. Connection refers to the way that the information is carr
ied
through the device. It can be anything from a wire, a signal, or any device with the ability to
carry data. When referring to software, it will fall into the information category. This explains
what the software does, it guides what the hardware is sup
posed to store, and it directs files
through the connection device using a signal to make sure the file or program gets to the right
place. Operation refers to anything that has to do with the operation of the hardware through the
software, as well as tran
sference of signals from digital or analog devices depending on the
specific requirements [9].


Many know that hardware and software are different, but are not exactly sure how or why.
Hardware refers to a device that is physically there, that can be seen,

touched, and manipulated
with hands. Software on the other hand, is something that can manipulated through a computer to
Page
10


work with the hardware, is not something that it can be consider physical. It helps direct the
hardware reach the task assigned. Both

of these must be used in conjunction with the other.


Google Maps


Goal

Explore how to modify the source maps with the extra information/map objects that are
required by the project. So far, Google Map Maker [10] is a Google
-
supplied tool that seems li
ke
the best way to add map objects.


Google Map Maker

Google Map Maker allows you to add and update geographic information for Google Maps
and Google Earth. Updates will be reviewed and once approved, will be incorporated into
maps.google.com. For the purposes of the project, it can improve the definition of
our focus map
area. In essence, adding sidewalks, specifying building names and other map objects.

Map Maker's review process is based on other users approving an edit. The first time a Map
Maker user makes edits to a map, the edits may require review and

approval before the edits will
be published. Once a Map Maker user has made a few approved edits, most of the subsequent
edits will go live automatically. However, some types of edits or edits in specific regions will
always require review, regardless of
how experienced the mapper is. In addition, some edits may
require multiple reviews before the edits appear on Google Maps.

Google Base Map Partner Program

This is a map
-
enriching avenue that Google runs with data from organizations that have
“authoritati
ve vector data”. Vector data means GIS software modified maps (such as from ESRI
GeoDatabase). This seems to be more of an option for a full
-
fledged mapping company that have
the resources to substantially improve the “base” map that Google uses. For the p
urposes of the
project (or rather because of the limited map score), this option for incorporating the changes
might be overkill.


IV. Similar Mobile Applications

The University of Oregon [11] uses a similar app, only as an iPhone app, to help their studen
ts
find their way around campus. The app is designed to help new students navigate their way
through the campus during the university’s Week of Welcome Orientation. Over the last 20
years, their InfoGraphics Lab gradually built its database with geographic

information about the
school to help fulfill the university’s operational needs (such as showing maintenance crews
where the circuit breakers are located) and populate its digital maps with features. In 2007, the
lab decided to create an interactive web m
ap of the campus to help new students and faculty
members familiarize themselves with their new environment. This specific school does not use
Microsoft or Google maps but customized their own map. They used their data collection,
including aerial photos o
f the campus, from the past few decades and created their map. The free
app plays a major role in the university’s Week of Welcome. The app helps the students find
their dorms, bookstores, registration events, and classrooms. The developers used the iPhone

Page
11


GPS to give walking directions to find all the buildings on campus, which they called the “Walk
Me” feature of the app. This feature displays the start/end positions on the map and estimated
walking time.


The University of Colorado [12] also uses a similar app, as iPhone and Android app, but
provides so much more. This school offers their entire website as an app. The CU Denver mobile
app includes the following:




Interactive map of the campus



Downtown Denve
r weather updates



Campus news, events, updates and safety alerts



Contact directory for academic and student service offices



Checklists for new students, financial aid applications, graduation procedures



Social media such as Twitter feeds, YouTube videos,
and student polls



Info on Admissions, campus resources, student policies, tuition and funding, and
registration



Quick links to web mail and Blackboard


This app can be used all year and by all students. The CU Denver mobile app access fine
location source
s such as the Global Positioning System on the device, where available.


The University of Connecticut [13] uses a similar concept but is not an actual app. The university
simply linked everything together with different websites. If you have any device t
hat can get an
internet connection you can access the campus map. The university uses Google maps for both
their desktop and mobile version. The difference with this school is that you can search for
buildings by the code, name, department, or category (ar
ts/culture, food/cafes, residence halls). It
also shows photos and descriptions of the building so you know exactly what you are looking for
and know when you have arrived. The school also provides detailed driving directions in case
you want to use your o
wn GPS. If you are driving the website will provide details information on
public parking for popular facilities.


Penn State [14] also uses the same concept as the University of Connecticut, not an actual app
but a website with everything linked together.

However, Penn State provides a little more
information. The school uses Google maps with custom code to show icons for buildings with
available computers. Using the mobile app, balloon markers for the buildings will be shown in
green, yellow, and red depe
nding on the percentage of open computers. Mobile text pages are
available so you may select a campus, then building and room will show room details, and it will
show who utilizes that room along with their contact information. The website will show when
t
he room is scheduled to be used, whether it is for a class or a meeting.






Page
12


Here is a comparison table of the similar apps:


SIUC vs. Other Universities


SIUC

University of
Oregon

University of
Colorado

University of
Connecticut

Penn State

Purpose

App

will
direct the user
to a specific
building of
their choosing,
then direct
them to their
classrooms.

App can only
be used during
their week of
welcome to
help students
find their
dorms,
bookstores,
registration
events, and
classrooms.

Offers the
schools e
ntire
website as an
app.

Not an actual
app but can be
used with. Can
search any
building on
campus by
code, name or
department.

Not actual app
and shows
which
buildings on
campus have
open
computers and
also show
who utilizes
that specific
room. Will
als
o show
when the
room is
scheduled.

System

iPhone

Android

iPhone and
Android

Any device
with an
internet
connection

Any device
with an
internet
connection

Features

Provide safest
and shortest
route with
estimated time

Gives walking
directions to
find all
the
buildings on
campus.
Displays the
start/end
positions on
the map and
estimated
walking time

Students can
use a map of
the campus,
get financial
applications,
graduation
procedures, etc

Will provide
photos to show
when you have
arrived. Also
provides
de
tailed
driving
directions in
case you want
to use your
own GPS

Balloon
markers for
the buildings
will be shown
in green,
yellow, and
red depending
on the
percentage of
open
computers


Figure 2


Patents

There have been many previous applications of pedestr
ian mapping and escort systems used on
college campuses. One such application patented the Wireless Virtual Campus Escort System
[15] was designed by Mark D. Laird and Michael Glier, uses a mobile device such as a mobile
phone and a web interface to follow

a set of rules and direct the user of the program to their
Page
13


destination. This application uses positioning systems such as the global positioning system,
hereafter referred to as GPS, and the Wide Area Augmentation System, hereafter referred to as
WAAS, to

find the users position and direct them to the safest and quickest route from a starting
point to a destination point. This application sends and receives signals to and from the mobile
handset and satellites to correct the position and path of the user.
This application also can detect
changes that would affect the current path such as dangerous weather, attack threats and health
issues by monitoring the emergency call. Another such application patented Pedestrian Mapping
System was created by Arup Baner
jee [16] uses a GPS system to direct a path for pedestrians
using any device with a wireless internet network. The server generates the directional path for
the pedestrian to use while finding the quickest route using public transportation, biking,
walking
, or driving. This application also uses routes that can go through a building or landmark
rather than travel around it. Both of these inventions are optimized for use on college campuses.


Below is a comparison table of the patents mentioned:


Comparison

Table

Mapping
Systems

Wireless Virtual Campus Escort
System

Pedestrian Mapping system

Device

Mobile phone with web interface

Mobile phone with web interface

Purpose

Find the users position and direct
them to the safest and quickest route
from the
starting point to the
destination

Generates the directional path for the pedestrians
to use while finding the quickest rout using
public transportation, biking, walking, or
driving. Also uses routes through a building or
landmark

Positioning
Systems

GPS

(Global Positioning System)

WAAS

(Wide Area Augmentation System)

Figure 3


CONCLUSION

Needless to say, the design and implementation of the project has a considerable number of
hurdles and components to it. Very essential design choices need to be made
regarding what will
be needed to implement in the project from a cost
-
benefit perspective. It has been explored
extensively what other similar designs have already been implemented in other university
complexes. Fortunately, there are a few completed produ
cts out there to examine. They offer an
excellent avenue to consider modifications/new features to further assist the end
-
user. One
crucial aspect is the programming segment of the project that actually allows us to have software
that can be run on the tar
geted device(s). To this end, the team has explored how to best connect
the hardware and the software platforms. The team has also looked into the easiest way to “port”
the coding onto the various platforms without having to code for each platform from scr
atch.
Currently, the project’s source maps are to be linked with Google Maps. As of right now, Google
Maps does not offer the level of detail we require. As the project proceeds, one of the objectives
is to collect and submit changes to Google Maps in orde
r to bring them up to speed with
requirement

Page
14


References


[1] A. Suterwala. (2010, Sep. 8).
Created an Android “Hello World” Application with
PhoneGap.

[Online]. Available
: http://mobile.tutsplus.com/tutorials/phonegap/creating
-
an
-
android
-
hello
-
world
-
application
-
with
-
phonegap/


[2]
PhoneGap.
[Online]. Available: http://phonegap.com/


[3]
The Google Maps Javascript API v3.

[Online]. Available:
http://code.google.com/apis/m
aps/documentation/javascript/


[4]
What is Android?

[Online]. Available:
http://developer.android.com/guide/basics/what
-
is
-
android.html


[5] D. Johnson. (2011, October).
Getting Started with Android Phonegap in Eclipse.


[Online]. Available:
http://wiki.phonegap.com/w/page/16494774/Getting%20started%20with%20Android%20Phone
Gap%20in%20Eclipse


[6]
Ruby, A Programmer's Best Friend.
[Online]. Available
: http://www.ruby
-
lang.org/en/


[7] N. Steiner (unknown) Software and Hardware Interactions.
Lecture
. [Online] Available:
http://ece.wpi.edu/~wrm/Courses/EE3803/Notes/lec09.pdf



[8]N.

Steiner and P. Athanas, (2005, April), ”Hardware
-
software interaction: Preliminary
observations,” Proceedings of the 12
th

reconfigurable architectures workshop. RAW 2005.
Publication. [Online]. Available:
http://www.ccm.ece.vt.edu/papers/steiner_2005_RAW05_hsi.pdf



[9] N. Steiner, (unknown), Hardware Software Interactions.[Online] Available:
http://www.ccm.ece.vt.edu/hsi/



[10] Google, (ongoing), MapMakerpedia.
Website

[Online] Available:
https://sites.google.com/site/mapmakerpedia/


[11] M. DeMerritt
, (2011, Feb.), Campus iPhone App Helps University of Oregon Students
Negotiate Their Way around Campus.
ArcWatch Magazine.

[Online]. Available:
http://www.esri.com/news/arcwatch/0211/feat
ure.html


[12] Uniersity of Colorado Denver, (2011, Dec. 1), University of Colarado Denver,
Mobile
application.
[Online]. Available: http://www.ucdenver.edu/life/Pages/CU
-
Denver
-
Mobile
-
Application.aspx

https://market.android.com/details?id=com.u360mobile.cudenver

Page
15



[13] L. Lalancette, (2011, Sept. 16), Campus Map Goes Mobile.
UConn Today Magazine.

[Online]. Available: http://today.uconn.edu/blog/2011/09/campus
-
map
-
goes
-
mobile/


[14] PennState (2010, Feb. 11) Computer Availability.
Penn State University
. [Online].
Available: http://clc.its.psu.edu/labs/locations/computeravailability


[15] M.D. Laird, M. Glier, “Wireless Virtual Campus Escort System” U.S. Patent
2005/0075116A1, Apr
il 7, 2005


Page
16


Block Diagram
Start
Get user location
Get user
input
Is input valid
?
Show map
(
outside
)
Computer user
designed path
Show path
Follow user location
until building
reached
Show
building floor
Is desired floor
Initialize
accelerometer
Search floor data for
desired classroom
Display floor
and stairway
Display icons
Display icons
Check for elevation
Search floor data for
desired class
Display icons
Not on desired
floor
On desired
floor
Stop
Input is not
valid

Page
17


Design Basis




Request for Proposa
ls

Feb
-
07
-
2012



SEC Design Standards

Apr
-
10
-
2012



SEC Project Definition

Apr
-
10
-
2012



Final Proposal

Apr
-
10
-
2012



List of Deliverables

Apr
-
10
-
2012


List of Primary
Subsystems


Source Code


//Function List

CurrentGPSCoordinates(...)

UserInputs(...)

RouteCalculation(...)

DisplayMap(...)

TargetFloorMapDisplay(...)

StartFinishMarkerOverlay(...)


MAIN()

{

[FUNCTION CALL] CurrentGPSCoordinates(...)

[FUNCTION CALL]
UserInputs(...)

[FUNCTION CALL] RouteCalculation(...)

[FUNCTION CALL] DisplayMap(...)


While (CurrentGPSCoordinates(...) != BldgEntranceMarker)


[FUNCTION CALL] DisplayMap(...)

Else


TargetFloorMapDisplay(...)

StartFinishMarkerOverlay(...)

}





Page
18


Get user
location

Use device hardware to get longitude and latitude for triangulating user location. This function
will require no input but will return two values ie. latitude and longitude.

Get user input

Prompts user and passes data (destination and desired path
) onto the next module that

calculates route. This function has no inputs but will output/store into variables the destination
building, floor, room number and route type.

Calculate Route

Calculate the route from start position to building entrance. Using

the desired routing method
(Shortest/safest/most accessible path). The input to this function will be the four variables that
the Get_User_Input subsystem outputs. Also the Get_User_Location's outputs (ie. latitude and
longitude) are used as inputs. Outpu
t is a (possible vector overlay data) set of GPS data points (ie
set of coordinates) that may be overlayed on the next subsystem (ie. Show_Map)
.

Show map

Overview of route displayed on required section of map. This function takes, as inputs, the start
coor
dinates, end coordinates and the set of intermediate route coordinates that the
Calculate_Route function outputs.


Show map of ground/target floor

Once user coordinates are near destination building, road map switches to destination bldg. Input
is the name

of the destination building.

Show start & finish markers for floor plan

Look up floor plan and place markers for room entrances and other floor map objects
(bathroom facilities/handicap access points)
.

Input is the name of the destination building and
th
e destination floor.

Optional Subsystems

Accelerometer

Analyze data from accelerometer to figure out elevation data

Page
19


List of Deliverables



Source code for app



Design Flowchart



Timeline for Project


Organization Chart








S12
-

92
-

SIUC APP

FTA: Harini
Ramaprasad

PM: Brian Serrano

(Main Function)

User Location

Gerrid Rose

User Input

Ariel Thomas

Google Map Layout

Gerrid Rose

Shortest/Safest Route

Sakeeb Ahsan

Building Map

Lauren Adams

Accelerometer

Brian Serrano

Building Icons

Manuel Suarez

Campus Map Editing

Dennis Dobson III

Page
20


Action Item List


Item #

Activity

Person

Assigned

Due

1

Get User
Location:

Use
device hardware
to get longitude
and latitude for
triangulating user
location


Gerrid Rose

08
-
20
-
2012

08
-
27
-
2012

2

Get User Input:

Prompts user and
passes data
(destination and
desired path) onto
the next module
that calculates
route


Ariel Thomas

08
-
20
-
2012

08
-
27
-
2012

3

Shortest
accessible path
outdoor map:

Once user
coordinates are
near destination
building, road
map switches to
d
estination bldg


Sakeeb Ahsan

08
-
20
-
2012

08
-
27
-
2012

4

show map of
ground floor:

Once user
coordinates are
near destination
building, road
map switches to
destination bldg


Lauren Adams

08
-
20
-
2012

08
-
27
-
2012

5

Show start &
finish markers:

Look up floor
plan and place
Manuel Suarez

08
-
20
-
2012

08
-
27
-
2012

Page
21


markers for room
entrances and
other floor map
objects (bathroom
facilities/handicap
access points)


6

Accelerometer:

Analyze data
from
accelerometer to
figure out
elevation data


Brian Ser
rano

08
-
20
-
2012

08
-
27
-
2012

7

Show target
floor:

Once user
coordinates are
near destination
building, road
map switches to
destination bldg


Lauren Adams
Brian Serrano

08
-
27
-
2012

09
-
02
-
2012

8

Show map:

Overview of route
displayed on
required section
of map


Gerrid Rose

08
-
27
-
2012

09
-
02
-
2012








Page
22


Team Timeline

Commercial Section

Resources Needed List

Item

Description

Quantity

$ Each

$

Subtotal

1

Android Phone

1

On hand

0.00

0.00

2

Java sdk

1

On
hand

0.00

0.00

3

Eclipse Android
sdk

1

On hand

0.00

0.00

4

Android API

1

On hand

0.00

0.00

5

Google Maps
API

1

On hand

0.00

0.00

6

Android
Developer tools
(ADT)

1

On hand

0.00

0.00

7

Plugin for
Eclipse

1

On hand

0.00

0.00

8

Phonegap

1

On hand

0.00

0.00

9

Geolocation API

1

On hand

0.00

0.00


Total $ Needed



0.00

0.00

Page
23


Data analyses, experiments, and simulations to be performed on individual
functions



Get user location (Gerrid Rose):

This method will retrieve the user's location on a coordinate
system used for any position in the
world and the location will be used appropriately in the app.



analyze the power consumption savings of geolocation over GPS



experiment the accuracy of geolocation relative to GPS



simulate getUserLocation module individua
lly until success




Get user input (Ariel Thomas):

This method will prompt the user for where their destination is on campus and will pass the input
to other methods to be used.



analysis of user input and separation of building and classroom data



experiment

different input methods such as drop down lists as user input



experiment having default/preferred settings on initialization



simulate userInput module individually until success






Shortest
-
safest
-
most accessible path on outdoor map (Sakeeb Ahsan):

This met
hod will take the user's location and also their input, compute the appropriate route, and
pass it to the showMap method to show the path the user should follow and update itself passing
new data to the showMap method as the user moves until they reach the

building.



analyze paths on Google Maps and note which paths are under what categories



experiment the effectiveness of Google Maps API path functions and to what extend
they can be explored



for most accessible path category, create separate path function (
Google Maps API
does not support this)



simulate shortestPath initially and individually until success, but if time allows,
implement one or both of the remaining path functions




Show map (Gerrid Rose):

This method will accept data (location, destination) f
rom the shortest
-
safest
-
mostAccessiblePath
method and show the user's position on Google Maps and update close to real time to show
current position as the user approaches their destination.



experiment with different settings to optimize zoom on user locat
ion



experiment accuracy of location based on the setup of the map



simulate showMap module individually until success




Show map of ground/target floor (Lauren Adams & Brian Serrano):

Page
24


This method will constantly scan for the user to be so close to their dest
ination building and
when they arrive it will take over showMap display and show the appropriate floor map which
the user is on.



analyze format and resolution of floor image to allow use of map through JavaScript



analyze floor map elements, making a look
-
u
p table of classrooms and their location
relative to their place on the map



experiment accelerometer capability to replace ground floor map (for the appropriate
situation)



experiment the best method to replace Google Maps with ground floor map



simulate
showFloor module individually until success




Show start & finish markers (Manuel Suarez):

This method will wait for the showMapOfBuildingFloor method to pass to it the building map so
it can read the correct floor's look
-
up table and display icons based on

user destination and other
possible places of interest on the floor.



experiment with the look
-
up table of the floor to find appropriate place to place start
and finish icons



simulate showStartFinish module individually until success



if time allows, create

path through building map from start to finish


This module are to be tested but only implemented if time allows



Accelerometer (Brian Serrano):

This method will activate when the building is reach and detect when the user raises or lowers
elevation to
call the appropriate map after there has been a floor change by the user.



analyze data collected by accelerometer of a phone and see if it can be used
effectively in detecting floor level



experiment with accelerometer in JavaScript code with no relation to

project



experiment accelerometer in JavaScript with functionality that is related to the project



simulate accelerometer module individually until success






Page
25


Appendix A

Ariel Thomas

arielt17@siu.edu

Permanent Address







College Address

14357 S. Vail








708 E. College Lot 6

Dixmoor, Il 60426







Carbondale, Il 62901


Objective:

To obtain a position in the Mechanical Engineering field beginning May 2013


Education:



Southern Illinois University, Carbondale, Il 62901


Bachelor of Science in
Mechanical Engineering


Currently Attending GPA 2.0/4.0


Relevant Coursework



C++



Internal Combustion




Manufacturing Methods

Experience:


Customer Service, Macy’s Inc.



March 2010
-
October 2010



Provide customer service to customers



Opening STARS accounts,
customer service, cashier, checkout, cleanliness

Customer Service, Lakeside Express



September 2008
-
March 2010



Provide excellent service to customers and staff



Stocking, Facility cleanliness, customer service

Skills:



Inventor/AutoCad Design



Basic C++



Mico
soft Products

Honors/Awards:



Valedictorian of High School Class of 2007

Activities:



Secretary of National Society of Black Engineers in 2010



Current member of National Society of Black Engineers








Page
26


Brian A. Serrano

bserrano@siu.edu

Permanent Address:






College Address:

1620 Norwood Avenue






600 East Campus Dr.

Itasca, IL 60143







Apt #6A

(630) 901
-
2190







Carbondale, IL 62901










(630) 901
-
2190


Education


Bachelor of Science in Computer Engineering, Minor in Math


May 2013


Southern Il
linois University Carbondale, IL 62901


GPA: 2.45/4.0


Relevant Course Work



Introduction to Digital Computation



Intro to Discrete Logic/Digital System



Intro to Software Engineering


Experience


Groundskeeper, Schaumburg Flyers Stadium


May 2007
-
August 200
8



Serviced the baseball field before and after each home game



Supervised promotional advertisement with the audience

Game Staff, Southern Illinois University



September 2009
-
Current



Secure playing field, assist guest and media, oversee main media and team

entrance

during games



Help maintain facilities, assist with parking, and assist with tickets


Computer Skills



Working Knowledge of Microsoft Office



Knowledgeable with Windows XP, Windows Vista, Windows 7



Working Knowledge of Microsoft Visual C++


Honors/A
wards



Human Relation Award, 2007



All Conference Honorable Mention Baseball, 2008



Southern Illinois Baseball Club World Series participants, 2009, 2010


Activities



Southern Illinois Baseball Club


Page
27


Dennis L. Dobson II

ddobson83@hotmail.com

Permanent Address:








School Address:

7306 S. Winchester Ave.

405 E. College St.

Chicago, IL 60636


Apt 226
Cell: (773) 406
-
0916









Carbondale, IL
62901



OBJECTIVE:

Seeking an Internship in electrical engineering starting May of 2012



EDUCATION


Southern Illinois University 08/’05
-

Present

Carbondale, IL



B.S. Computer and Electrical Engineering



Expected Graduation: December 2012

Relevant Coursework

Circuits

Electronics

Signals


C++

Software Engineering





Jobs For Youth

08/’02
-

08/’04 Chicago, IL



Certificate of Completion



A Two
-

Year Job Readiness Program


EXPERIENCE

Counselor Assistant

08/’98
-

06/’00

Chicago, IL


Simeon Career Academy



Selected to work through M.A.N.O.S. (Helping Hands) Program



Developed organizational skills through filing documents


SKILLS



Xilinx ISE Design Suite 13.1



Pspice and QtSpim


HONORS/ AWARDS/Membership



Dean's

List


Summer 2011



Engineers Without Borders


Member
Page
28


Gerrid Rose

grod_89@yahoo.com


12931 N. Shoreland Dr.

Marion, IL 62959

618
-
967
-
6354 (cell)


Objective:
A job position pertaining to the field of computer engineering
after graduation in December
2012.


EDUCATION

Bachelor of Science in Computer Engineering, December 2012

Southern Illinois University, Carbondale, IL 62901

G.P.A.: 3.7/4.0

Relevant Coursework

C++ Software Engineering

Multicore Programming

Comp Design JavaScript Comp Networking

Senior Design Project:
SIUC Find My Classroom A
pp (currently collaborating on)

EXPERIENCE


Customer Service, Fast Stop, Inc.



Provide excellent service & support to customers



Food prep, customer service & checkout, facility maintenance, night manager duties


Warehouse Laborer, Mid Valley, Inc.



Distribution of inventory to customer work site



Forkl
ift driver and facility maintenance, organized and created efficient systems to retrieve
inventory in a timely manner


SKILLS



Years of learning experience with IDE Visual C++



Can build GUI applications



Ability to create programs with multiple threads


HONORS / AWARDS



Achieved Deans List status


Every Semester


while working 25
-
30 hours per week



Pre
-
Engineering Scholarship, 2009, 2010



Salutatorian Scholarship, 2007, 2008


ACTIVITIES



Member, ATMAE, Southern Illinois University Carbondale, 2012



Member, Math / Science Club, Shawnee Community College, 2009, 2010
Page
29


Sakeeb Ahsan

412 Warren Rd, Carbondale IL 62901

Cell: 217
-
819
-
0731 ▪ Email: xps2340@gmail.com


Objective

To obtain an internship in the field of electrical
engineering and computer science to utilize & further
improve upon leadership, communication and technical skills.


Education

Bachelor of Science in Electrical Engineering
Expected Graduation: May '13

Southern Il
linois University Carbondale, Ilinois (SIUC)






SIUC ECE Coursework GPA: 3.0/4.0


Work Experience

Network System Administrator


U of Illinois at Urbana
-
Champaign, Champaign, IL


Oct '07


Sept '10



Worked extensively with Windows Desktop & Server
OS variants, Mac OSX and several Linux
distributions.



Programmed in C++ alongside simple batch file scripting to automate processes.



Was in charge of customer service with regards to the computing needs of professors and deans
in the College of LAS at the
University. Worked extensively with individuals to formulate the best
solution to their specific problems.



Troubleshot extensively with computer hardware, to correct equipment malfunction. As well as
source & make purchasing decisions with regard to cost
-
b
enefit.



Implemented a parallel processing computer cluster using multiple nodes with MS Win Compute
Cluster Server 2003.



Assembled a workstation to remove sensitive data from harddrives. Throughput was drastically
improved due to the automation & paralleli
zation implemented.



Ported hardware servers, file repositories and print servers onto virutal machines. This reduced
physical server footprint. Worked with VMWare & Remote Desktop Access protocols.



"Imaged" complete system software suites for mass
deployment.



Wrote literature on projects to serve as guides for future projects of the firm.



Trained new staff.


Delivery Driver,




Papa Johns Inc, Champaign, IL




Nov ’10


Aug ‘11



Delivered product in a timely fashion while de
aling with unforeseen problems that arose.



Trained new employees and handled the running of the store when short
-
staffed.



Interacted with a large number of people on a daily basis to sell them a product and attend to

customers so they are 100% satisfied w
ith their purchase.


Qualifications/Technical Skills



Proficient in C++, Assembly Language and Machine Code



Circuit Design experience with Matlab, PSpice, Xilinx, VHDL



Parallel Computing experience with Win Compute Cluster Server 2003 & ClusterKnoppix



Native speaker of English & Bengali


Page
30


Manuel Alejandro Suarez

manuel@siu.edu

Permanent address:

College Address:

Rotaria Avenue #10
-
65 507 South ash st Apt. 8

Barquisimeto, Venezuela 03001

Carbondale, IL 62901

01158
-
251
-
4428848 618
-
303
-
7466


OBJECTIVE:
An internship in Electrical Engineering beginning Summer (Ma
y
-
Aug) 2012.


SUMMARY:



Managed the finances of the “Los Caracas” Restaurant.



Took charge of the publicity of “Los Caracas” Restaurant, resulting in savings of over 10,000$ a
year.


EDUCATION:

Bachelor of Science in Electrical Engineering, December 2012

Southern Illinois University Carbondale, IL 62901

G. P .A.:3.0/4.0


Relevant Coursework:




C++



Systems & Controls



Analog and Digital Systems



Calculus I/II/III



Differential equations/Numerical Methods



Digital Circuit Design



EXPERIENCE

Supplement
Instruction, Southern Illinois University August, 2011
-

present



Help students understand calculus and the theory behind it.


Supervisor, “Los Caracas” Restaurant Aug
ust 2005

August 2008



Worked with people from different ethnic background which broaden my cultural knowledge.



In charge of preparing new employees for the job and assigning them tasks.


SKILLS



Microsoft Visual C++



Xilinx
Design platform


Lauren Ashley Adams

504 S. Wall St., Apt. 234


Carbondale, IL


(708)254
-
4090


lauren.adams18@yahoo.com

Objective

To obtain a position or an internship that will allow me to develop experience in engineering and equip me for a
challenging and growing workforce.

Education

Aug 2010


Present

Southern Illinois University
-
Carbondale

Carbondale, IL

Electrical and Computer Engineering Expected Graduation: May 2013 GPA: 2.3/4.0

Relevant coursework


Circuits




Electronics



C
ontrols


Communication:



C++




Signals


Aug 2008


May 2010

South Suburban Community College

South Holland, IL

Associates in General Science Graduated May 2010 GPA: 2.9

Honors/Activities

Blaudow/ATS Technology Scholarship


2010 and 2011

Minority Engineering Program Scholarship


2010 and 2011

Dean’s List at South Suburban College


2010


Leadership

N.S.B.E:



Vice President that helped increase the membership of N.S.B.E.
(National





Society for Black Engineers).

Con
ducted fundraisers:

As a N.S.B.E. member I managed fundraising projects in an effort
to recruit members and to produce funds to supplement
conventions.

LDP:

A recipient of a scholarship program (Leadership Development Program) that
challenges its participa
nts to not only excel in their daily responsibilities, but will
also be tasked with various assignments

Math Tutor:


Tutored students and adults at Southern Illinois University
-
Carbondale

Work Experience

Desk Assistant: SIUC; University Housing; Secretary for Hall Director






August 2011
-
Present

Summer Bridge Counselor: SIUC; Minority Engineering Summer Bridge Program; Director’s Assistant






June 2011
-
July 2011

Suppl
emental Instructor:


SIUC; Tutoring Services; Academic Assistant






August 2010
-
May 2011


Cashier:




Dollar Tree, Tinley Park IL; Customer Service, Stock





October 2007
-
August 2010







Page
32


Appendix B


Contact Information

Client

Contact



Janet Douglas



douglas@siu.edu



(618) 453 2821



Mike Ruiz



mikeruiz@siu.edu



(618) 453 2518

FTA:



Dr. Harini Ramaprasad



harinir@siu.edu



(618) 453
-
4755

Guidance



James Mathias



mathias@engr.siu.edu



618
-
453
-
7016