Literature Review - College of Engineering | SIU

advertisement
S12-92-CLAS
Literature Review
Southern Illinois University Carbondale Find My
Classroom App
Lauren Adams
Sakeeb Ahsan
Dennis Dobson II
Gerrid Rose
Brian Serrano
Manuel Suarez
Ariel Thomas
3/1/2012
Table of Contents
Title
Page 1
Table of Contents
Page 2
Abstract- B.S.
Page 3
Index Terms- A.T.
Page 3
Introduction- D.D., M.S.
Page 4
Sections
1. Program and API- G.R.
Page 4
2. Software Interactions- D.D., M.S.
Page 5
3. Google Maps -S.A.
Page 6
4. Similar Mobile Applications -L.A
Page 7
5. Patents- A.T., B.S.
Page 7
Conclusion- S.A.
Page 8
References
Page 9
AbstractResearching 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
CSS3- computer language
GPS- global positioning system
HTML- computer language
IDE- Integrated Development Environment
JavaScript- computer 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 facilitate 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, Application
Programs Interfaces, programming language and other software tools that would be beneficial to the
project, as well as device software and hardware interaction.
I.
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
us having zero experience with Java and mobile programming 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
operating systems on each mobile device platform. The main concern is to develop for the Android
platform obviously, 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 [5] mentions a way to program for
a phone using JavaScript by using Phonegap. More literary research done on Phonegap's home page
[4] 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 Google 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 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 Java Development Kit (JDK). With JDK,
there is an ablility 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
Android 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 [2].
Following the last instruction, Suterwala says is to download and install the Software
Development Kit (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. The 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 plugins for different programming languages.
Installing the Eclipse Android Development Tools (ADT) plug-in is the next step announced by
Suterwala. ADT, the tutorial says, is a complete Integrated Development Environment (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 download and install both Apache
Ant and Ruby (both programming languages). Apache Ant, according to wiki.phonegap.com [1], says
that Apache Ant is a program that is used to automate software build processes. Ruby is a
programming language which Phonegap must use in its framework [6].
Finally, Suterwala says that then can Phonegap 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, and making a web page via HTML5, JavaScript, and CSS3, the app
can be built. When built, the emulator tool (called Android Virtual Device or 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 must 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.
II.
Software Interactions
When discussing computers or technological device, it 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 between hardware and software
makes all of this happen. Hardware itself has a lot of different kinds and subdivisions. Software can be
broken down into operating systems, basic input/output system (BIOS) and application software. Most
devices are built as a series 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 [9]. How does software and hardware work 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 understand 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 [7]. 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 carried 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 supposed 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 transference of signals from digital or analog
devices depending on the specific requirements [8].
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 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.
III.
Google Maps
a. 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 like the best way to
add map objects."
b. 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.
c. Google Base Map Partner Program
This is a map-enriching avenue that Google runs with data from organizations that have
“authoritative 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 purposes 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 students
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 map 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 of 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 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 [13] 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 Denver 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 webmail and Blackboard
This app can be used all year and by all students. The CU Denver mobile app access fine location
sources such as the Global Positioning System on the device, where available.
The University of Connecticut [12] uses a similar concept but is not an actual app. The
university simply linked everything together with different websites. If you have any device that 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 (arts/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 own
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
depending 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 the room is scheduled to be used, whether
it is for a class or a meeting.
V.
Patents
There have been many previous applications of pedestrian 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 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 Banerjee [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.
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 products out there for us 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
targeted 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 scratch. 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 order to bring them up to speed with requirements.
References
[1] D. Johnson. (2011, October). Getting Started with Android Phonegap in Eclipse.
[Online]. Available:
http://wiki.phonegap.com/w/page/16494774/Getting%20started%20with%20Android%20PhoneGap%
20in%20Eclipse
[2] What is Android? [Online]. Available: http://developer.android.com/guide/basics/what-isandroid.html
[3] The Google Maps Javascript API v3. [Online]. Available:
http://code.google.com/apis/maps/documentation/javascript/
[4] PhoneGap. [Online]. Available: http://phonegap.com/
[5] 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-worldapplication-with-phonegap/
[6] Ruby, A Programmer's Best Friend. [Online]. Available: http://www.ruby-lang.org/en/
[7]N. Steiner and P. Athanas, (2005, April), ”Hardware-software interaction: Preliminary observations,”
Proceedings of the 12th reconfigurable architectures workshop. RAW 2005. Publication. [Online].
Available: http://www.ccm.ece.vt.edu/papers/steiner_2005_RAW05_hsi.pdf
[8] N. Steiner, (unknown), Hardware Software Interactions.[Online] Available:
http://www.ccm.ece.vt.edu/hsi/
[9] N. Steiner (unknown) Software and Hardware Interactions. Lecture. [Online] Available:
http://ece.wpi.edu/~wrm/Courses/EE3803/Notes/lec09.pdf
[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/feature.html
[12] 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/
[13] 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
[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,
April 7, 2005
[16] A. Banerjee, “Pedestrian Mapping System” U.S. Patent 8 000 892 B2, August 16, 2011
Download