8
Applied Project: The Collection of Information for Emergency Management: an iPhone Client with Web Service 1 Abstract—Emergency Management is a field that collects and analyzes the incoming emergency information and prevents or minimizes a future accident. This project focuses on the use of technology to conveniently collect and display information about emergencies, which is an important activity in Emergency management. It includes two components, namely, an iPhone client, and a c# web server. The system uses a process called visual examination for dangerous situations, which means the emergency information will display visually on the map along with a picture and a video. Usually, the emergency information is entered by the client and then will upload to a server using the web service. The system we’ve designed allows users to retrieve and display information that’s been gathered, by potentially multiple observers to describe an emergency event. Then Users can use different search methods by visually looking at different emergency information displayed on the map. After checking that kind of information, the user can get a complete understanding of the safety level in that area. Key words—Emergency System, iPhone, Object-C, web service, My SQL I. INTRODUCTION MERGENCY Management is widely used for civil defense, disaster reduction and crisis management [1]. It is a field that collects and analyzes the incoming emergency information and prevents or minimizes the future accident [2]. The product for the result of Emergency Management has already existed in humans’ life; for example, an Emergency Survival Kit which is a portable kit that contains the items that one can survive over seventy-two hours when evacuating form a disaster [3]. Many experts believes that before the product comes out, people have to completely go through the circle of Emergency Management process, which is mitigation, preparedness, response, and recovery. This process would take a long time to complete, especially in preparedness process. As a result, how to implement these four phases in an effective way becomes a problem. A traditional solution is the use of a tool named Emergency Management Information System (EMIS). Basically, EMIS is a computer database that contains a collection of emergency information data. EMIS can also display the result of analyzing the data that stores in a database to the people who wants this kind of information. With this system, the response time for activities in the Emergency Management would be shorted. It helps people to evacuate or survive in an emergency situation. For example, fireman would use this system to shorten the response time for the emergency. Our solution is providing a similar system by using different technology. Instead of focusing on providing the emergency information to special emergency managers in EMIS system, we make emergency information searchable for everyone. The main reason for that is through letting people know the level of emergency information in one area, it can alert people impacted by emergency situations, and reduce the number of injuries. However, there are two major requirements for implementing this solution. One is time, and another is the source of emergency information. For the time, the system should upload the emergency information rapidly when an emergency happens, so that other users can read this information earlier. Because this is an information based system, it does need a lot of input. For this reason, the system requires a large number of users to upload and retrieve information related to observations. Text based information can be augmented by video and pictures when it is displayed for the user. Fortunately, many people have a smart mobile phone or other mobile device capable of displaying multi-media information. Because it has the capability of video, audio, GPS and mobility, smart mobile phones are the most reasonable device to input, play, and display the “visual” emergency information. The mobile device can be an excellent tool to augment EMIS systems for Emergency Management. In order to input a large amount of emergency information, it is important to choose a popular mobile platform. iPhone has a large market of users in the smart phone area. A research shows that Apple’s App Store had reached 10 billion downloads since its inception in 2008 [4]. With that large number of downloading, iPhone could be a useful platform for uploading and viewing emergency information. A. Problem Statement 1) Incomplete or complicated emergency information that is displayed to client can mislead or frustrate the user. In other words, let any user view the emergency information that has been collected by observers, who have direct access to and get a complete understanding about the emergency situation in one partially area is the primary The Collection of Information for Emergency Management: an iPhone Client with Web Service Tengda Wang E

The Collection of Information for Emergency Management: an ...pooh.poly.asu.edu/Lindquist/Students/pubs/TengdaWangReport.pdf · Applied Project: The Collection of Information for

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Collection of Information for Emergency Management: an ...pooh.poly.asu.edu/Lindquist/Students/pubs/TengdaWangReport.pdf · Applied Project: The Collection of Information for

Applied Project: The Collection of Information for Emergency Management: an iPhone Client with Web Service

1

Abstract—Emergency Management is a field that collects and

analyzes the incoming emergency information and prevents or minimizes a future accident. This project focuses on the use of technology to conveniently collect and display information about emergencies, which is an important activity in Emergency management. It includes two components, namely, an iPhone client, and a c# web server. The system uses a process called visual examination for dangerous situations, which means the emergency information will display visually on the map along with a picture and a video. Usually, the emergency information is entered by the client and then will upload to a server using the web service. The system we’ve designed allows users to retrieve and display information that’s been gathered, by potentially multiple observers to describe an emergency event. Then Users can use different search methods by visually looking at different emergency information displayed on the map. After checking that kind of information, the user can get a complete understanding of the safety level in that area.

Key words—Emergency System, iPhone, Object-C, web service, My SQL

I. INTRODUCTION MERGENCY Management is widely used for civil defense, disaster reduction and crisis management [1]. It

is a field that collects and analyzes the incoming emergency information and prevents or minimizes the future accident [2]. The product for the result of Emergency Management has already existed in humans’ life; for example, an Emergency Survival Kit which is a portable kit that contains the items that one can survive over seventy-two hours when evacuating form a disaster [3]. Many experts believes that before the product comes out, people have to completely go through the circle of Emergency Management process, which is mitigation, preparedness, response, and recovery. This process would take a long time to complete, especially in preparedness process. As a result, how to implement these four phases in an effective way becomes a problem. A traditional solution is the use of a tool named Emergency Management Information System (EMIS). Basically, EMIS is a computer database that contains a collection of emergency information data. EMIS can also display the result of analyzing the data that stores in a database

to the people who wants this kind of information. With this system, the response time for activities in the Emergency Management would be shorted. It helps people to evacuate or survive in an emergency situation. For example, fireman would use this system to shorten the response time for the emergency. Our solution is providing a similar system by using different technology. Instead of focusing on providing the emergency information to special emergency managers in EMIS system, we make emergency information searchable for everyone. The main reason for that is through letting people know the level of emergency information in one area, it can alert people impacted by emergency situations, and reduce the number of injuries.

However, there are two major requirements for implementing this solution. One is time, and another is the source of emergency information. For the time, the system should upload the emergency information rapidly when an emergency happens, so that other users can read this information earlier. Because this is an information based system, it does need a lot of input. For this reason, the system requires a large number of users to upload and retrieve information related to observations. Text based information can be augmented by video and pictures when it is displayed for the user. Fortunately, many people have a smart mobile phone or other mobile device capable of displaying multi-media information. Because it has the capability of video, audio, GPS and mobility, smart mobile phones are the most reasonable device to input, play, and display the “visual” emergency information. The mobile device can be an excellent tool to augment EMIS systems for Emergency Management.

In order to input a large amount of emergency information, it is important to choose a popular mobile platform. iPhone has a large market of users in the smart phone area. A research shows that Apple’s App Store had reached 10 billion downloads since its inception in 2008 [4]. With that large number of downloading, iPhone could be a useful platform for uploading and viewing emergency information.

A. Problem Statement 1) Incomplete or complicated emergency information that is displayed to client can mislead or frustrate the user. In other words, let any user view the emergency information that has been collected by observers, who have direct access to and get a complete understanding about the emergency situation in one partially area is the primary

The Collection of Information for Emergency Management: an iPhone Client with Web

Service Tengda Wang

E

Page 2: The Collection of Information for Emergency Management: an ...pooh.poly.asu.edu/Lindquist/Students/pubs/TengdaWangReport.pdf · Applied Project: The Collection of Information for

Applied Project: The Collection of Information for Emergency Management: an iPhone Client with Web Service

2

purpose in this project. Therefore, the emergency information should be carefully organized. Allowing the user input random type for the emergency information could cause the emergency information unsearchable and unreadable. For example, one user would assign emergency information as a type of car accident, but when another user wants to search this emergency information and put the type as “dangers to life”, thus this emergency information is unsearchable for the user. One method that can prevent this situation is pre-assigning the type for emergency information, so the user would only select the certain type to upload or search emergency information. In general, there are four types of emergencies, namely, dangers to life, health, property and environment [5]. Many experts agree with these four types, and in the iPhone client, we are going to be preloading these types for users, and only let users select a type from picker view. To make the emergency information even more searchable, we also constrain the date, distance in the search method. For example, users are only allowed to select a location on the map, and there are three main reasons. One is users have to put location into the emergency information, so it will help make the emergency information more complete. Another is users have to put location into the search method, so it will help minimize the search result. The last one is users do not need to type the address again, and it can save a lot of time. For building complete emergency information, we are going to collect textual information as well as camera and video information. To make the emergency information more readable, it should include personal comment to explain the emergency situation. Last but not least, visual display the emergency information on the map is more understandable than just list the result in the client. In order to complete this task, the system should display the emergency information on a Google map with a picture and a video. 2) A small mobile device with a tiny virtual keyboard might prevent users to use the system. However, mobile devices have their advantage, which is mobility. It likes a movement camera that can take, upload, and play the emergency information without any hesitation. The second primary task in this project is to increase usability of mobile device by providing a nice, easy and convenient user interface to attract user. iOS (iPhone Operating System) has a compelling user interface. It also comes with a lot of advance features for the developers to use. These user interfaces are also carefully designed according to the usability in iPhone by Apple. Many applications that are just built with these default user interfaces become very successful. Apple also suggests the developer to use

default user interface [6]. With this advantage, the user will learn the system faster because the interface looks and behaves like applications they are already familiar with. Users can accomplish their tasks quickly, because those user interfaces always put the user experience first [7]. 3) Multi-platform is used in the whole project. The emergency information uploaded by any one of the clients should be read by both Android clients and iPhone clients. For example, the movie uploaded by the Android client should be able to play on the iPhone client or vice verse. So both clients should agree to upload the same format of the emergency information that can be read by any client. Also the web service needs to communicate with, Android clients, iPhone clients and web applications, so choosing a protocol that can be understood by multi languages is required. Soap is an XML based protocol runs over HTTP, which can send and receive from both Android clients and iPhone clients to c# web service.

B. Scope The whole project is focusing on the how to upload and

display emergency information in an appropriate way. It includes 3 components: a smart phone client, a c# web service and an ASP .NET web application. This project will include an iPhone client and a c# web service with MySQL database. An Android client and ASP .NET web application is created by another student [8]. The Android client, iPhone client and ASP .NET web application will connect to the c# web service and share the information together. Fig 1 shows the scope of the whole project. Smart Phone client should be able to upload, search and display emergency information. The web service should provide the method for upload, search, delete and update the emergency information. The web application should search, update, delete and show the emergency information.

C. Assumptions Users have a well-functioning device. That means the

camera, video, GPS, and audio in a device should all work. Some of iPod devices will not meet the requirements, because they do not have a camera. Our prototype of this system is pre-loaded with some sample emergency information for the user to search. The user can get the idea of how this systems works by looking at the sample information. The preloaded emergency information is based on real events which are described in WiKi [9] and can be traced online.

D. Approach The major steps of developing the emergency information

systems are: 1. Design database schema for storing emergency

information. 2. Design web service method and connect to the

database for retrieving and adding emergency information data.

3. Designing iPhone client application for emergency information searching and uploading.

Fig. 1. Shows the scope of the whole project.

Page 3: The Collection of Information for Emergency Management: an ...pooh.poly.asu.edu/Lindquist/Students/pubs/TengdaWangReport.pdf · Applied Project: The Collection of Information for

Applied Project: The Collection of Information for Emergency Management: an iPhone Client with Web Service

3

II. LITERATURE REVIEW In order to deliver a successful emergency information collecting system, getting a better understanding of the working flow on the most widely used emergency information systems and how these systems are working becomes very important. Also review the iOS system architecture, software architecture, and how to design mobile user interface can lead the project to build a successful iPhone client.

A. Emergency System 1) COMMERCIAL MOBILE TELEPHONE ALERTS (CMAS): Commercial mobile service (CMS) providers such as AT&T, Verzion can have an option of sending emergency alerts to their client by using CMAS system. For purposes of CMAS, there are three types of emergency alerts [10]: 1. Presidential Alerts: This is the highest priority alert

message in this system. It can only send by the president and should include any emergency information related to national emergencies.

2. Imminent Threat Alerts: This is the second priority alert message in this system. It includes any emergency information related to immediate threat. For example, when a tornado is coming to the area where you live. CMAS would send this alert message including safety suggestions to your cell phone.

3. Child Abduction Emergency/AMBER Alerts: This is the third priority alert message in the system. It includes any emergency information related to the missing and endangered child.

The system is useful; it will force users to receive the official emergency information from CMS. The CMAS only can send textual information. The maximum length for the alert message is 90 English characters. Because there is no client installed in the mobile devices, users cannot find a way to retrieve additional or history information from the mobile devices. The text-based alert message may also not be authentic for the users who don’t know the CMAS system. Therefore, our system can be useful for retrieving the emergency information as well as camera and video information. Fig 2 shows the CMAS Reference Architecture as defined in the FCC CMAS First Report and Order. 2) National Severe Weather Warning Service (NSWWS): This system is operated by National Oceanic and

Atmospheric Administration (NOAA) in the United States. All the emergency severe weather information is coming from the National Weather Service (NWS) [11], so the information is very accurate. For purposes of NSWWS, the emergency alerts will be classified in one of two categories:

1. National weather service alert: The alert message is the main purpose for the system. It only includes severe weather alert including the forecasting of a severe weather alert.

2. Other alert: This type of alerts will include all types of emergency except severe weather alert such as environment or public safety.

The major difference between NSWWS with CMAS system is that CMAS can send alert message to mobile devices, but the NSWWS is a web application that the users have to search for the emergency information. The biggest advantage in the NSWWS system is that it is updated 24 hours a day. The emergency information is displayed fast and accurately in the web page. This system is more like a weather monitoring system. Instead of forecasting the regular weather, NSWWS only forecasts the emergency severe weather. Fig 3 shows online web application of NSWWS. Different weather warnings are colored in the map so that users can easily identify what kind of emergency weather has happened in a certain location. Users can also click the colorful weather warning sign on the map, so they can go to the detail page and get complete information about this warning. The detail page also contains other functions about the severe weather information, such as displaying the history of severe weather data from the system, comparing the current warning weather with older ones and displaying the result on a map. However, this is no picture or video information displayed on the NSWWS system.

B. Software architectur Model-view-controller (MVC) is software architecture. It is

useful for creating a complex system including different large

Fig.3. Shows the National Severe Weather Warning Service (NSWWS)

Fig. 2.Show the CMAS Reference Architecture as defined in the FCC CMAS First Report and Order [8]

Page 4: The Collection of Information for Emergency Management: an ...pooh.poly.asu.edu/Lindquist/Students/pubs/TengdaWangReport.pdf · Applied Project: The Collection of Information for

Applied Project: The Collection of Information for Emergency Management: an iPhone Client with Web Service

4

data sets [10]. Applying this architecture can make the code more readable, traceable, and maintainable. Fig 4 shows the concept of MVC. The model manages the state and the behavior of the data. It can also include the business logic. The model should be reusable. Both the controller and view can control the model, but in most situations, the view will get the data from the model to display, and the controller will change the data in the model before displaying the view or after refreshing the view. A controller is in the middle of the view and model. It wires up the view and model. When the view changed, it will inform the controller to change the model. Then the view can get the data from the model. iOS uses MVC architecture. For best practice, Apple suggests that model and view should not connect directly which means view should always get data from model through controller. The interface build represents the view. The controller in iOS could be the class that extends the class UIViewController [14], or the class is already defined in the iOS system, such as UINavigationController [14], UITableViewController [14] and so on. The model can be any Object-C class that contains data and business logic.

C. iOS 4 architecture iOS 4 is a specially designed system for developing iPhone

applications. Fig 5 shows the architecture of iOS 4. The basic level layer is the Core OS layer, and it includes the most foundation functions in iOS. The highest layer is the Cocoa Touch layer, and it has the most useful functions in iOS. Most of the low level layers’ code is written by C language, and the highest level layers’ code is primarily written by Object-C language. In other words, the top layer has already been well organized and contains the most useful classes. Rather than writing their own basic C level code, developers should use classes in the Cocoa Touch layer for building an iPhone

application.

D. User Interface In the problem statement section, this paper mentions that

how well organized and compiled the iPhone user interface is, so doing a research on these user interface APIs and using them as they were designed to be used in the project become important. According to Apple’s suggestion for user interface [7], following general rules should be used when developers are creating iPhone applications. When users want to make a selection in iPhone, developers should use UIPickerVIew class [14], which is for selecting among pre-defined alternatives. The UIDatePickerView class [14] is for picking the date. When users want to navigate one page to another page, developers should use UINavigationController class [14] or UITabViewController class [14] to control the page navigation. When users want to display a group of data in a table, developers can use UITableView class [14]. These classes are the most widely used user interfaces in iPhone development, but there are also some other useful classes that developers can use. For example, using UIImagePickerController class [14] can be avoided by making the camera interface ourselves, and users can also easily take pictures and videos by using this default interface. Another similar example is MPMoviewPlayerController class [14] that will provide a default connection to the movie player in iPhone for developers.

III. REQUIREMENT AND DESIGN

A. Requirement The iPhone client can run on any iOS system. The web

service is written by C# language and can be deployed on any platform that has a .NET runtime environment, such as Windows, Linux, and Mac. It can also connect to other types of mobile phone devices such as Android phone [8], and ASP .NET web applications. The database is built using MySQL and should be deployed with the web service. The client phone should be able to access the Internet, take photos, record video, play audio, and use GPS features. Some iPod touch devices do not meet these requirements.

B. Design This project includes three components, namely a database,

a web service and an iPhone client. The database takes the responsibility of storing detailed emergency information. The web service connects the iPhone client to the database, which runs on a server that is available to all devices through the Internet. It provides methods for accessing the database that the iPhone client needs. There are two main tasks for the iPhone client. One is looking for emergency information, and the other is uploading emergency information.

1) This project uses MySQL database, which is the most popular open source database for storing data. Fig. 6 shows the ER model of the system. There are two tables in the database, namely, emergency table and location table. The picture type is longblob, which means we will store the entire picture along with a binary format in the database.

Fig. 4. Model-view-controller concept. The solid line represents a direct association, the dashed an indirect association [13]

Fig. 5. Shows the architecture of iOS 4 [10]

Page 5: The Collection of Information for Emergency Management: an ...pooh.poly.asu.edu/Lindquist/Students/pubs/TengdaWangReport.pdf · Applied Project: The Collection of Information for

Applied Project: The Collection of Information for Emergency Management: an iPhone Client with Web Service

5

Unlike pictures, video files are much bigger. For the performance of querying data from database, the video field only stores the video path that references the video file. The location table contains a foreign key for the emergency table. It also sets the cascading action for the emergency table, which means entries in the location table will be deleted as well as the emergency table. As we mentioned before, users can only select certain values to input for emergency information, and the system will load the data for users to choose. For example, in the Fig 7, when Users want to upload the emergency type, they do not need to type in mobile devices. Instead, they will use picker view to select a type. Hence, it can save the typing time and also the emergency information will be better formed. The interfaces that was using for inputting “date”, “personal injury”, and “property damage” field by users are similar with Fig 7. 2) The web service methods are not so complex. All the

methods are for connecting to the database and returning the result back to clients. In order to satisfy the clients’ needs, the following web methods are implemented: SearchbyPersonalInjury: Giving the emergency type,

range of the area, the largest number of people injured, the destination’s latitude and longitude, the method will return a result as a type of dataset.

SearchByPropertyDamage: Giving the emergency type, range of the area, the maxim number of

property damage, the destination’s latitude and longitude, the method will return a result as a type of dataset.

SearchByDate: Giving the emergency type, range of the area, the date since the emergency happened, the destination’s latitude and longitude, the method will return a result as a type of dataset.

SearchByAddress: Giving the emergency type, range of the area, the destination’s latitude and longitude, the method will return a result as a type of dataset.

SerachByCountry: Giving the emergency type, country name, the method will return a result as a type of dataset.

RemoveByEmergencyID: Giving the emergency id, the method will return true if the emergency information is deleted and return false if the emergency information cannot be deleted.

AddEmergencyInfo: Giving all the required fields in the emergency and location table, the method will return the emergency id if the emergency information is added successfully and return -1 if the emergency information cannot be added.

UpdateEmergencyInfo: Giving all the required fields in the emergency and location table, the method will return the emergency id if the emergency information is updated successfully and return -1 if the emergency information cannot be added.

3) The client has two main tasks. One is searching for emergency information, and the other is uploading the emergency information. Users cannot delete or update emergency information in mobile devices. Instead, they can use the web application to perform the deleting or updating action. Because the design of the iPhone client is strictly following the iOS Human Interface Principles, so this project will follow the four steps which are defined in the App Design Strategies [16]: 1. The first step is “list all the features you think users

might like” which is listing in App Design Strategies [16]. The features in the iPhone client should include searching, uploading, displaying emergency information, and the ability of instructing users about how to use this system. A well forming emergency information including picture and video along with people’s explanation about the emergency situation would be another big feature.

2. The second step is “determine who your users are” which is listing in in App Design Strategies [16]. The main users for the application are the people who always travel around in the world. These people usually spend a lot of time in the airport, so they would have time to open the application to see the area that they are traveling is safe or not. Other potential users include the people who are interested in discovering or searching emergency information.

3. The third step is “filter the feature list through the audience definition” which is listing in in App Design Strategies [16]. The audience definition for the iPhone client is “Checking a safety level of one area

Fig. 7. Select type when uploading

Fig. 6. ER Model

Page 6: The Collection of Information for Emergency Management: an ...pooh.poly.asu.edu/Lindquist/Students/pubs/TengdaWangReport.pdf · Applied Project: The Collection of Information for

Applied Project: The Collection of Information for Emergency Management: an iPhone Client with Web Service

6

for people who travel a lot”. By using this definition, the features in the iPhone client will only include searching and uploading the emergency information.

4. The fourth step is “don’t stop there” which is listing in in App Design Strategies [16]. This step is a designing step. After careful consideration, the iPhone client will use UITableView class [14], UIPickerView class [14], and UIMapView class [14] with interface builder to decorate the iPhone of the client.

After going through these four steps, user cases and pages in the iPhone client are designed. Fig 8 shows the user case. When users first launch the application, they will see the main page that shows in Fig 9, and they can start to search emergency information immediately. Users can reach all the main features on the main page. For example, users can click a search button, and the result will attach to different pins and display on the map. When users click a pin on the map, a simple result including name, picture, comment, and a button that can go to a detail page about emergency information will show. The above example is the longest flow in our user cases, and users can also click a back button on the navigation bar to go back to the previous page. Other flows such as “upload” and “about” is just showing the upload page and about page.

Because the iPhone client is using MVC architecture, so we wire the controllers and views by using interface builder, and we also define some models for the system. There are two main models for the client: 1. DataTable class: this class contains all the fields of

database tables that show in the Fig. 6. This model will have the capability of storing single set of emergency information including large data files such as an image and a video. With that setting, controllers can use this model to upload, download, and store the emergency information. The view can use this model to retrieve and display the emergency information.

2. MyAnnotation class: this class has a field of “title”, “subtitle”, “location”, and “tag”. With this setting, the model has a capability of storing a single map annotation. Hence, map views can use this model to display a pin. To decide which pin is clicked, the tag in the model will be used.

In the client and server application, clients always need to know when the downloading and uploading actions have finished or vice verse. Even more, client and server sometimes need to transfer the result data to each other. In iOS, developers usually are using NSNotificationCenter class [14]. Fig. 10 shows how to set the NSNotificationCenter class for sending objects between controllers. The first step is using NSNotificationCenter to add an observer to the main thread, so the main thread can be notified by receiving an object data or a message. The second step is using NSNotificationCenter in any thread to send a message or an object to the main thread.

There are two APIs the iPhone client at use. One is QSUtilities library [17]. This is because the client and server are communicated by using soap message, so video and picture files have to encode into NSBase64 string format. Currently iOS do not have the class to complete the base64 encoding and decoding tasks. Instead of writing own classes, this project is using QSUtilities library [17] to perform the

Fig. 9. Main page

Fig. 8. User case

Fig .10: Step of setting NSNotificationCenter

Page 7: The Collection of Information for Emergency Management: an ...pooh.poly.asu.edu/Lindquist/Students/pubs/TengdaWangReport.pdf · Applied Project: The Collection of Information for

Applied Project: The Collection of Information for Emergency Management: an iPhone Client with Web Service

7

task. The other one is Google Geocoding API [18]. This is because the Corelocation [14] service in iOS can only get the coordinate of the location, but this project need to use Google Geocoding API to translate the coordinate to the actual address. For example, by giving the latitude 37.423021 and longitude -122.083739, if clients post the http url like “http://maps.googleapis.com/maps/api/geocode/xml?latlng=37.423021,-122.083739&sensor=true”, they will get a xml result including the address.

There is no existing proxy generator found to connect Objective-C iPhone applications to SOAP web services. This project has to manually create the soap message in the iPhone client and use NSURLConnection [14] make the call. When the result returns, the iPhone client has to use NSXMLParser class [14] parser the xml result.

IV. ANALYSIS AND VALIDATION Validation of the emergency information system is

performed by testing 2 user cases, namely, search and upload.

A. Search Users have three options which are “search by name”,

“search by location”, and “search by date” to get the emergency information. This project has already tested each case. Here is the one test case about search by location. When a user goes to the main page as seen in the Fig 9, and he clicks the “Search by location” button, a page like Fig 11 will be displayed. Then he can select type and range by using picker view. Also, clicking the location button will take the user to the location selection page like Fig. 12 to perform the selecting location task. After this task is done he can go back to the “search by location” page again, and the location address that he choses will automatically display on the location label. Then if he clicks search button on the navigation bar, the page will immediately switch to the “search by location result” page that shows in the Fig. 13. At last, if user clicks a pin, a briefly detail will pop out that show on the Fig. 13 too. By clicking the button in the pin, the user can also go to the detail page. In this page, he can view all the emergency information details, and he can also click the video tab to play video. The video play page is seen on Fig. 14.

B. Upload Upload user case is also tested. All the emergency

information that users uploaded will become immediately searchable to all Users.

Simple use case validation by preloading data and and testing have been performed on a real device. The iPhone client device is used to test this project. However, for a completed validation, this project will need more clients to be involved and broader use. The purpose of the project is much more to demonstrate capability and to prototype a potential application. The most important aspect of this type of application demonstrates is a way to use mobile technology to collect information that may then be shared and accessed by location for a broad set of users. It should get a large amount

Fig .11: Search Selection Page

Fig .12: Location Selection Page

Fig .13: Search result Page

Fig .15: Video play Page

Fig .14: detail result Page

Page 8: The Collection of Information for Emergency Management: an ...pooh.poly.asu.edu/Lindquist/Students/pubs/TengdaWangReport.pdf · Applied Project: The Collection of Information for

Applied Project: The Collection of Information for Emergency Management: an iPhone Client with Web Service

8

of data for emergency management when many users are using this system. In short, all functions list inside paper were tested in an actual iPhone device and the results were successful.

V. CONCLUSION In this paper, we have introduced an application that

combines and uses technologies for collecting and sharing emergency information. In order to apply best practices, we have evaluated two emergency information systems to better understand how emergency systems work. Reviewing the iOS system architecture and software architecture is also helpful for the project, because it makes the code run more effective and be easily maintained. Before building the iPhone client, this project is also using the rules of App Design Strategies [16] suggested. Most of the user interfaces in iPhone client are designed in the interface builder, and most of the class methods are using cocoas touch layer to make the code shorter and more understandable. Testing on the real device makes this project ready to go. In short, by using this system, users can understand the safety level of one area, and sometimes, it may even save people’s life by avoiding an emergency situation.

VI. FUTURE WORK Because this project communicates large files such as

videos between the client and server, creating and deploying http live streaming media may be more efficient. Now iPhone devices only support video format that is H.264 Baseline Profile Level 3.1[19]. More preloading data is also required for users to search. As the introduction said, the system required a large source of users’ input, so the system should deploy to other popular smart phone platforms such as Windows mobile phone. An automatic proxy generator tool is also needed for both Android and iOS systems, so application developers do not need to manually create the soap message.

REFERENCES [1] H. George D, J. A. Bullock, Introduction to emergency management,

Amsterdam, Boston : Butterworth-Heinemann, 2003, pp.15-16. [2] FEMA Department of Homeland Security. National Preparedness

Guidelines, [Online]. Available: http://www.fema.gov/pdf/government/npg.pdg.

[3] J. A. South, The Sense of Survival (Book style). Orem, Utah: Timpanogoes Publishers, 1990, pp. 221.

[4] E. Slivka. (2011, January 22), App Store hits 10 billion download, [Online], Available: http://www.macrumors.com/2011/01/22/app-store-hits-ten-billion-downloads/

[5] Emergency, [Online], Available: http://en.wikipedia.org/wiki/Emergency#Types_of_emergency/

[6] Introduction to Apple Human Interface Guidelines, [Online], Available: http://developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html

[7] Introduction to Apple Human Interface Guidelines, [Online], Available: hhttp://developer.apple.com/library/mac/#documentation/

UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html.

[8] Leng, J., The Collection of Information for Emergency Management: an Android Client with ASP .NET Web Application, Masters Project for Department of Computing Studies and Technology, [Online], Available (Expected Completion: Summer 2011): http://pooh.poly.asu.edu/Lindquist/Students/pubs

[9] Wiki, [Online], Available: http://www.wiki.com/ [10] Commercial Mobile Alert System (CMAS) in Release-9, [Online],

Available: http://www.3g4g.blogspot.com/2010/03/commercial-mobile-alert-system-cmas-in.html

[11] NOAA Weather Radio All Hazards, [Online], Available: http://en.wikipedia.org/wiki/NOAA_Weather_Radio_All_Hazards .

[12] R. Trygve, MVC XEROX PARC 1978-79, [Online], Available: http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html

[13] Model-view-controller, [Online], Available: http://en.wikipedia.org/wiki/Model-view-controller

[14] iOS Developer Library, [Online], Available: http://developer.apple.com/library/ios/navigation/

[15] The iOS 4 Architecture and SDK Frameworks, [Online], Available: http://www.techotopia.com/index.php/The_iOS_4_Architecture_and_SDK_Frameworks

[16] App Design Strategies, [Online], Available: http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/AppDesign/AppDesign.html#//apple_ref/doc/uid/TP40006556-CH19-SW1

[17] QSUtilities, [Online], Available: https://github.com/mikeho/QSUtilities

[18] Google Maps Javascript API V3 Basics, [Online], Available: http://code.google.com/apis/maps/documentation/geocoding/

[19] Best Practices for Creating and Deploying HTTP Live Streaming Media for the iPhone and iPad, [Online], Available: http://developer.apple.com/library/ios/#technotes/tn2224/_index.html