You are on page 1of 117

SCALING UP AND EXPLORING MARSH (SUEM)

A Thesis
Presented to
the Faculty of the Department of Computer Science
University of Houston

In Partial Fulfillment
of the Requirements for the Degree
Master of Science

By
Akshay A. Soni
Fall 2015

SCALING UP AND EXPLORING MARSH (SUEM)

Akshay A. Soni
APPROVED:
Dr. Victoria Hilford
Depatment of Computer Science
University of Houston

Dr. Marc Garbey


Depatment of Computer Science
University of Houston

Dr. Steven C. Pennings


Depatment of Biology and Biochemistry
University of Houston

Dr. Nikolaos V. Tsekos


Depatment of Computer Science
University of Houston

Dean, College of Natural Sciences and Mathematics

ii

SCALING UP AND EXPLORING MARSH (SUEM)

An Abstract of a Thesis
Presented to
the Faculty of the Department of Computer Science
University of Houston

In Partial Fulfillment
of the Requirements for the Degree
Master of Science

By
Akshay A. Soni
Fall 2015

iii

Abstract
An ecosystem is a community of plants and animals. They support agricultural
needs and provide clean air and water. However, recent environmental changes such
as global warming and rising sea level caused a need to study these ecosystems.
Ecological problems have the specificity of being dependent on biological elements
with complex interactions. New tools are therefore needed to go past biological
constraints and take into account the complexity of living ecosystems.
Data acquisition was done for six years at Sapelo Island located in Georgia.
The sampling area was approximately 3,200 square meters. Annually around 10,000
images were captured of a sampling area.
Manually examining of a substantial amount of spatially explicit data is very
laborious and resource consuming. The idea is to involve the general public in ecology
projects, first train them in identifying species and then allowing them to identify
these species. Thus, there was a need to develop a systematic way of accumulating,
parameterizing and validating the volunteers contribution to these projects.
Two ecology projects were developed as Web-based games. The first game, Scaling Up Marsh Science was developed to create a detailed mosaic of the sampling
area by stitching multiple overlapping images. Applying automatic methods for image alignment and stitching did not produce precise results due to various factors
such as perspective error, moving animals, amount of overlapping, shadows. The
second game, Marsh Explorer was developed to get an exact description of the sampling area such as identification of the plants and animals species together with their
locations. The final output of this game delivers a detailed summary of the sampling
area.

iv

This thesis adds to the previous versions of these games basic gaming features
such as player ranking, game levels, awards, guided training, player feedback system,
administrative tools, image uploader, and database redesign. To date, approximately
400 volunteer players are contributing to these two projects.

Contents
1 Introduction

1.1

Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Thesis Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

Background and Related Work . . . . . . . . . . . . . . . . . . . . . .

1.3.1

Previous Work and Extension . . . . . . . . . . . . . . . . . .

1.3.2

Similar Work . . . . . . . . . . . . . . . . . . . . . . . . . . .

Organization of the Thesis . . . . . . . . . . . . . . . . . . . . . . . .

10

1.4

2 Scaling Up and Exploring Marsh Game Configuration

12

2.1

Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.2

Software Configuration . . . . . . . . . . . . . . . . . . . . . . . . . .

14

3 Scaling Up Marsh Science: Analysis and Design

16

3.1

Model View Controller Design . . . . . . . . . . . . . . . . . . . . . .

16

3.2

Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.3

Database Schema Redesign . . . . . . . . . . . . . . . . . . . . . . . .

19

3.4

User Experience Redesign . . . . . . . . . . . . . . . . . . . . . . . .

21

4 Scaling Up Marsh Science: Implementation and Testing

23

4.1

Zend framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

4.2

Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

vi

4.3

4.4

Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

4.3.1

Player Information . . . . . . . . . . . . . . . . . . . . . . . .

27

4.3.2

Password Reset . . . . . . . . . . . . . . . . . . . . . . . . . .

28

4.3.3

Player Feedback . . . . . . . . . . . . . . . . . . . . . . . . . .

28

4.3.4

New Web Pages . . . . . . . . . . . . . . . . . . . . . . . . . .

30

4.3.5

Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

4.3.6

Guided Training

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

32

4.3.7

Other bugs fixes . . . . . . . . . . . . . . . . . . . . . . . . . .

32

4.3.8

Other Enhancements . . . . . . . . . . . . . . . . . . . . . . .

34

Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

5 Scaling Up Marsh Science Game Description and Playing Instructions


38
5.1

5.2

User Experience and features . . . . . . . . . . . . . . . . . . . . . .

38

5.1.1

Log in and Registration . . . . . . . . . . . . . . . . . . . . .

39

5.1.2

Scaling Up Marsh Science Homepage . . . . . . . . . . . . . .

39

5.1.3

Playing Scaling Up Marsh Science . . . . . . . . . . . . . . . .

41

Guidelines to Play the Game . . . . . . . . . . . . . . . . . . . . . . .

43

5.2.1

Playing as an Untrained Player . . . . . . . . . . . . . . . . .

43

5.2.2

Playing as a Trained Player . . . . . . . . . . . . . . . . . . .

45

6 Scaling Up Marsh Science: Admin Tools and Image Upload

47

6.1

Need for Administrators Tools . . . . . . . . . . . . . . . . . . . . .

47

6.2

Administrators Tools: Design and Implementation . . . . . . . . . .

49

6.2.1

Download year and row-wise matching points . . . . . . . . .

49

6.2.2

Download Players information . . . . . . . . . . . . . . . . .

49

6.2.3

Expert Image Annotation . . . . . . . . . . . . . . . . . . . .

51

6.2.4

Detailed Statistics

52

. . . . . . . . . . . . . . . . . . . . . . . .
vii

6.2.5
6.3

Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

Unprocessed Image Upload: Design and Implementation . . . . . . .

55

7 Marsh Explorer: Analysis and Design

60

7.1

Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

7.2

Database Schema Redesign . . . . . . . . . . . . . . . . . . . . . . . .

61

7.3

User Experience Redesign . . . . . . . . . . . . . . . . . . . . . . . .

65

8 Marsh Explorer: Implementation and Testing

68

8.1

Zend framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

8.2

Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

8.3

Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

8.3.1

Guided Training

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

70

8.3.2

Game Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

8.3.3

Player Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

8.3.4

Player Information . . . . . . . . . . . . . . . . . . . . . . . .

72

8.3.5

Password Reset . . . . . . . . . . . . . . . . . . . . . . . . . .

73

8.3.6

Player Feedback . . . . . . . . . . . . . . . . . . . . . . . . . .

73

8.3.7

New Web Pages . . . . . . . . . . . . . . . . . . . . . . . . . .

74

8.3.8

Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

8.3.9

Other bugs fixes and enhancements . . . . . . . . . . . . . . .

76

Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

8.4

9 Marsh Explorer Game Description and Playing Instructions


9.1

78

User Experience and features . . . . . . . . . . . . . . . . . . . . . .

78

9.1.1

Log in and Registration . . . . . . . . . . . . . . . . . . . . .

79

9.1.2

Marsh Explorer Homepage . . . . . . . . . . . . . . . . . . . .

79

9.1.3

Playing Marsh Explorer . . . . . . . . . . . . . . . . . . . . .

81

viii

9.2

Guidelines to Play the Game . . . . . . . . . . . . . . . . . . . . . . .

83

9.2.1

Playing as an Untrained Player . . . . . . . . . . . . . . . . .

83

9.2.2

Playing as a Trained Player . . . . . . . . . . . . . . . . . . .

85

10 Marsh Explorer: Admin Tools and Image Upload

86

10.1 Need for Administrators Tools . . . . . . . . . . . . . . . . . . . . .

86

10.2 Administrators Tools: Design and Implementation . . . . . . . . . .

88

10.2.1 Download year and row-wise matching points . . . . . . . . .

89

10.2.2 Download Players information . . . . . . . . . . . . . . . . .

90

10.2.3 Detailed Statistics

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

90

10.2.4 Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92

10.3 Unprocessed Image Upload: Design and Implementation . . . . . . .

92

10.3.1 Grid Superimpose . . . . . . . . . . . . . . . . . . . . . . . . .

94

10.3.2 Database Upload . . . . . . . . . . . . . . . . . . . . . . . . .

94

10.3.3 Image Classifier . . . . . . . . . . . . . . . . . . . . . . . . . .

96

11 Conclusion

99

11.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

11.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101


Bibliography

102

ix

List of Figures
1.1

Satellite image of Marsh land at Sapelo Island, Georgia . . . . . . . .

1.2

Pilot experiment with camera mounted on bicycle . . . . . . . . . . .

1.3

Pattern followed while camera captures continuous marsh images

. .

1.4

Floating Forests web game screenshot showing play web page . . . . .

1.5

Seafloor Explorer web game screenshot showing play web page . . . .

2.1

SUEM Web Architecture . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.2

Running PHP-Zend website on IIS . . . . . . . . . . . . . . . . . . .

15

3.1

Model View controller Design . . . . . . . . . . . . . . . . . . . . . .

17

3.2

Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . .

18

3.3

Database Schema Diagram . . . . . . . . . . . . . . . . . . . . . . . .

20

3.4

User Experience Redesign . . . . . . . . . . . . . . . . . . . . . . . .

22

4.1

Zend Framework Workflow . . . . . . . . . . . . . . . . . . . . . . . .

24

4.2

Player Information . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

4.3

Password Reset Module . . . . . . . . . . . . . . . . . . . . . . . . .

28

4.4

Player Feedback Module . . . . . . . . . . . . . . . . . . . . . . . . .

29

4.5

Useful Tips Web Page . . . . . . . . . . . . . . . . . . . . . . . . . .

30

4.6

Learn More Web Page . . . . . . . . . . . . . . . . . . . . . . . . . .

31

4.7

Guided Training Snapshot . . . . . . . . . . . . . . . . . . . . . . . .

33

4.8

Intuitive Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

4.9

Drag-Drop Icon set . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

5.1

Log in and Registration . . . . . . . . . . . . . . . . . . . . . . . . .

40

5.2

Scaling Up Marsh Science Homepage . . . . . . . . . . . . . . . . . .

42

5.3

Playing Scaling Up Marsh Science . . . . . . . . . . . . . . . . . . . .

44

5.4

Guided Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

6.1

Functions of Administrators Tools . . . . . . . . . . . . . . . . . . .

48

6.2

Administrators Tools . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

6.3

Downloading Matching Point Data . . . . . . . . . . . . . . . . . . .

51

6.4

Downloading Players Information . . . . . . . . . . . . . . . . . . . .

51

6.5

Expert Image Annotation . . . . . . . . . . . . . . . . . . . . . . . .

53

6.6

Detailed Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

6.7

Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

6.8

Row Identifier Image . . . . . . . . . . . . . . . . . . . . . . . . . . .

57

6.9

Row Image Folder Naming Convention . . . . . . . . . . . . . . . . .

58

6.10 Image Upload Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

7.1

Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . .

62

7.2

Database Schema Diagram . . . . . . . . . . . . . . . . . . . . . . . .

64

7.3

User Experience Redesign . . . . . . . . . . . . . . . . . . . . . . . .

66

8.1

Guided Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

70

8.2

Playerlog file screen-shot . . . . . . . . . . . . . . . . . . . . . . . . .

72

8.3

Players information at Home page . . . . . . . . . . . . . . . . . . .

72

8.4

Players information at Play page . . . . . . . . . . . . . . . . . . . .

73

8.5

Newly added Tutorial Page . . . . . . . . . . . . . . . . . . . . . . . .

74

8.6

Newly added Training Page . . . . . . . . . . . . . . . . . . . . . . .

75

xi

9.1

Log in and Registration . . . . . . . . . . . . . . . . . . . . . . . . .

80

9.2

Marsh Explorer Homepage . . . . . . . . . . . . . . . . . . . . . . . .

82

9.3

Playing Marsh Explorer . . . . . . . . . . . . . . . . . . . . . . . . .

84

9.4

Guided Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

10.1 Functions of Administrators Tools . . . . . . . . . . . . . . . . . . .

87

10.2 Administrators Tools . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

10.3 Downloading Data . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89

10.4 Downloading Players Information . . . . . . . . . . . . . . . . . . . .

90

10.5 Detailed Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91

10.6 Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93

10.7 Grid Image Superimpose . . . . . . . . . . . . . . . . . . . . . . . . .

95

10.8 Image Classifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97

10.9 Image Upload Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . .

98

xii

List of Tables
1.1

Comparisons in between Floating Forests, Seafoor Explorer and SUEM 10

xiii

Chapter 1
Introduction

1.1

Motivation

An ecosystem is a complex system. It includes the interaction between natural


resources, plants, and animals. Natures wealth is slowly declining with the population explosion and global change. Many species are on the verge of extinction. The
environment has an enormous impact on cultural as well as the biological evolution
of human beings. Therefore, scientists from the various disciplines come forward to
study the different aspects of an environment.
Prairie or the grassland is an important entity of ecosystem. Prairie grasses
provide more usable energy per acre than other biofuel sources also help to reduce
soil erosion. In recent years, prairie land has been converted to croplands due to
its high productivity. In order to preserve prairies we must know more about them.

Considerable researchers are now focusing their study interests on the evaluation of
prairie productivity.

Figure 1.1: Satellite image of Marsh land at Sapelo Island, Georgia


In this thesis, a prairie is a salt marsh at Sapelo Island, Georgia, placed north
of the mouth of the Altamaha River [1]. Figure 1.1 shows a satellite image of salt
marsh land at Sapelo Island. This land is the fourth largest and most pristine of the
Georgia barrier islands. It is mostly composed of smooth cordgrass (spartina). Along
with predominant Spartina, several animal species found are snails, fiddler crabs, and
mussels. The software applications developed for the thesis is to process images that
are captured during Sapelo salt marsh study, for the virtual recreation of prairie to
analyze and study of individual clonal plants and animals and their behavior. The
vast amount of images is taken during the field study. Study of individual images is

not advisable because each field image covers a small area of marshland.
This thesis consists of two web-based games, which get help from the general
public to stitch the images and to study the presence of different animals and plants.
The first web-based game is Scaling Up Marsh Science, which was developed to gather
matching points for image stitching to produce large mosaic. The second web-based
game is Marsh Explorer, which was drawn up to study the presence of different
animals and plants. Previous versions of these games needed stable database design
as well as player management, administrators tools, good user experience, multileveled game design, learning platform - where users can find more information,
players feedback system. This thesis primarily deals with improvement in usability
and functionality of two web-based games.

1.2

Thesis Objective

The main objectives of thesis are:


To maintain two web games and enhance their usability with respect to feedback from users and scientists.
Maintenance includes database redesign for stability and to incorporate new
features, porting of the application to a web server, pre-processing of field data,
testing and fixing of software bugs.
To add new functionality for administrator such as detailed statistics, data
access, image uploader, access to players activity, image classifier and access
3

to players feedback.
Enhancements include new game features such as player feedback systems,
guided training for new players, players achievement awards, multiple levels
based on players progress and a learning platform for Citizen Scientists.

1.3

Background and Related Work

At Sapelo Island scientists are interested in the ecological behavior of marsh plant
and animal species. Scientists like to create a digital map to comprehend spatial
relationships among different species and how these change over time. Digital images
of marshland are captured to accomplish this.

Figure 1.2: Pilot experiment with camera mounted on bicycle

It is hard to stroll through the marsh and take numerous photos. To avoid
this, images were captured with the assistance of a high-quality camera that was
attached to a bicycle with face down (see figure 1.2). While moving through the
marsh following the patterned path, the camera takes continuous images in burst
mode (see figure 1.3). The outcome of this method is a series of overlapping images
along with a few repetitive images due to varying bicycle speed. While capturing
images, it is tough to maintain constant speed through the marsh. However, a camera
captures images at a steady rate. Due to this, each image gets overlapped on next
image with different levels. Low bicycle speed leads to higher overlap and vice versa.
There are animals in the marsh such as crabs, which are continuously on a move
and hence they might not capture perfectly with moving camera. It is difficult for
automated image stitching tools to tolerate variable overlapping and moving animals.

Figure 1.3: Pattern followed while camera captures continuous marsh images

The main goal of this project is to study the fundamental mechanisms involved
in the population dynamic of a prairie. Volunteer computing is a game plan in which
individuals (volunteers) give computing assets to projects, which utilize the assets to
do appropriated computing. On account of the tremendous number of PCs, volunteer
computing can supply great computing power to science, which empowers scientific
research that wasnt possible generally. Also we are using volunteers minds and not
so much their computers.

1.3.1

Previous Work and Extension

Previous work consists of two prototype web games. The first game was Image
Matching Web Interface (IMWI), renamed as Scaling Up Marsh Science, and the
second was Marsh Explorer. Both these game were developed based on basic proof
of concepts. These previous games were the starting point for this thesis. IMWI was
hosted locally and never released to a public domain. The major issues with these
games were that they unable to handle multi-year image sets, error-handling, missing
image uploader, learning platform for Citizen Scientists, uniform user experience,
player feedback system, data management.
The previous database lacked identifying images into physical rows and respective
years. At Sapelo Island, each year images are captured in a row-wise manner. Part
of database redesign revolved around incorporating row identifiers and years into the
database to improve stability while handling a vast amount of data. Redesigning
was done to add new features like administrators tools, where an administrator can

log in. Moreover, an administrator can download the data generated from the games
and review current progress with the help of histograms and detailed statistical data.
Administrators can motivate players by sending monthly newsletters with a current
status of research work along with some interesting facts about ecology. In addition
to the to administrators accessibility to player produced data, detailed statistics, and
managing images into the database, enhancements of previous games were equally
important.
The Scaling Up Marsh science game is hosted at www.ScalinUpMarshScience.cs.uh.edu:85.
The Marsh Explorer is hosted at www.MarshExplorer.cs.uh.edu:86.

1.3.2

Similar Work

1.3.2.1

FloatingForests.org

Interestingly similar work has been done by Kelp Ecosystem Ecology Network (KEEN)
(www.floatingforests.org) as part of Zooniverse project (see figure 1.4). This
project asks users to help them uncover the history of Giant Kelp forest around the
globe. Giant Kelp can grow up to a foot a day and forms lush canopies that can
be seen by satellites. Giant Kelp will show up in pictures as clusters of green pixels
fringing the coastline. Volunteers need to simply outline these forest canopies.
This project includes interesting links about ecology project research work, facts,
and other related information. It is crucial to provide a platform for volunteers,
where they can explore more about ecology and related information, which helps

Figure 1.4: Floating Forests web game screenshot showing play web page
volunteers motivated and educated. KEEN also use social features into the website,
where volunteers can share information related to the project. This project is related
to the first game, Scaling Up Marsh Science, where volunteers are asked to identify
matching points between two images. Inspired by KEENs work, Scaling Up Marsh
Science was redesigned to support volunteer learning platform, volunteer feedback
system, monthly newsletters to keep them motivated. KEENs project lacks in basic
game features like players ranking, training, game score and awards. On the other
hand, Scaling Up Marsh Science provides these important game features along with
useful administrators tools. For example, training ensures players credibility and
quality of data.

Figure 1.5: Seafloor Explorer web game screenshot showing play web page
1.3.2.2

SeaFloorExplorer.org

Seafloor Explorer (part of Zooniverse project) (www.seafloorexplorer.org) is another project that is similar to the Marsh Explorer game (see figure 1.5). A camera
is flown using a ship traveling at a constant speed while collecting high-resolution
still images of the seafloor. At SeaFloorExplorer.org, volunteers can annotate sand,
shell and gravel like objects present on the seafloor images[2].
Similar to the Floating Forests project, Seafloor Explorer also supports a learning
platform, social features, related blogs, facts, and information. However, unlike
Floating Forests, Seafloor Explorer provides training images for first-time users. Field
guide page lists all possible objects. Marsh Explorer game supports similar web page,
which lists all possible plants and animals along with thumbnails. In Marsh Explorer,

if players failed to finish training successfully, they are not allowed to play further.
In case of Seafloor Explorer, even after unsuccessful training attempt, players can
continue playing. Marsh Explorer also supports important game features like players
rank, level, score, unlike Seafloor Explorer. Table 1.1 shows comparisons in between
Floating Forests, Seafloor Explorer and SUEM.

Mandatory training
Player account
Player information
Social features
Guided training
Video tutorial
Administrators tools
Discussion Forum
Game levels
Player ranking
Game scoring
Discussion forum
Learning platform
Blogs
Player feedback

Projects
Floating Forests Seafloor Explorer
No
Yes
Optional
Optional
Optional
Optional
Yes
Yes
No
Yes
No
No
N/A
N/A
Yes
Yes
No
No
No
No
No
No
Yes
Yes
Yes
Yes
Yes
Yes
No
No

SUEM
Yes
Yes
Yes
No
Yes
Yes
Yes
No
Yes
Yes
Yes
No
Yes
No
Yes

Table 1.1: Comparisons in between Floating Forests, Seafoor Explorer and SUEM

1.4

Organization of the Thesis

This thesis is divided into two parts for each game, Scaling Up Marsh Science, and
Marsh Explorer. This thesis is organized as follows:

Sufficient background and motivation for the Scaling Up and Exploring Marsh
10

(SUEM) in Chapter 1
Chapter 2 explains configuration settings include establishing an environment
suited to develop and deploy the games as well as establishing the databases.
Chapters 3-6 explain the Scaling Up Marsh Science game and Chapter 7-10
explains Marsh Explorer game.
Chapters 3 and 7 illustrate the design strategies along with the reason behind
a particular design decision. It contains MVC(Model View Controller) design
pattern stereotypes as well as detailed UML(Unified Modeling Language) class
diagrams.
Chapters 4 and 8 describe the implementation of the games by explaining each
modules main code features and application testing.
Chapters 5 and 9 describe the features and instructions for playing the games.
Chapters 6 and 10 present administrator features added to games, which explains the need and design of administrator tools and their use to perform
various operations.
Finally, Chapter 11 is the conclusion of the project and future work that requires to be done.

11

Chapter 2
Scaling Up and Exploring Marsh
Game Configuration

2.1

Framework

Scaling Up and Exploring Marsh Game (SUEM) is expected to be used by individuals who may have almost little to no learning about ecology. Thus, the User
Interface had to be as intuitive and straightforward as could reasonably be expected.
Also, users can run these applications within distinctive working framework and
equipment arrangements. Web platform helps delivering software as a continuallyupdated service that gets better the more people use it [3]. In this way, a web-based
application is a better choice than a desktop application as clients need just a web
browser to get to an online application.

12

We decided to use MySQL as the database technology for the capacity of the
information delivered by this web application. MySQL is an extremely acclaimed
technology. MySQL got its start as an open-source platform, which means there is
a large and thriving community of developers to which one can turn for help. Also,
it remains one of the most used databases in the world. It is compatible with all the
main operating systems. MySQL can handle almost any amount of data. It supports
several development interfaces include JDBC, ODBC, PHP [4, 5].
PHP: Hypertext Preprocessor appeared to be a superior decision as server side
scripting, for the most part due to its simplicity and excellent documentation. The
default 1-1 correspondence in the middle of URLs and records makes it simple for
designers, software engineers to alter and make pages. PHP is designed to work well
with the web, and so things, like accessing the GET and POST and working with
HTML and URLs, are built-ins in the PHP language [6]. PHP makes it concise
and straightforward to make a website. Be that as it may, utilizing plain old PHP
is not adequate for applications that develop rapidly in size. A strong architecture
is obliged to give any adaptability in the work process of such applications. Thus,
we chose to utilize Zend Framework. Zend supports MVC (Model-View-Controller)
architecture that isolates rationale behind the application work process and outline
subsequently helping designers to make successful applications [7]. It is exceptionally
extendable and customizable.
We used IIS server stack as back-end technology for the advancement of this web
application. IIS is bundled with MySQL database framework and PHP, and it keeps
running on Windows working framework. The upsides of utilizing IIS incorporate
13

simplicity of establishment and arrangement, no different establishment of database


framework or PHP is needed. It is exceptionally trivial to arrange IIS to support Zend
applications. See figure 2.2 for IIS screen-shot and figure 2.1 shows web-application
architecture.

2.2

Software Configuration

The Operating System used for the development for the applications is Windows
Server 2012. The game is developed utilizing PHP with Zend framework. Zend
Framework (ZF) is an open source, object-oriented web application framework executed in PHP 5 [7]. The front end is created utilizing HTML 5 (which is a markup
language for organizing and displaying substance for the World Wide Web and a
core innovation of the Internet), Javascript, and AJAX technologies. Ajax is a gathering of interrelated web development techniques utilized to develop asynchronous
web applications. With Ajax, web applications can send information to, and retrieve
information from, a server asynchronously without interfering with the current page.
Data can be recovered utilizing the XMLHttpRequest object. HTML and CSS can
be used as a part of a blend to mark up and style data. The DOM is accessed to
with JavaScript to show dynamically, and to permit the client to cooperate with the
information presented. JavaScript and the XMLHttpRequest item give a system to
exchanging information asynchronously in the middle of browser and server to avoid
full page reloads.

14

Figure 2.1: SUEM Web Architecture

Figure 2.2: Running PHP-Zend website on IIS

15

Chapter 3
Scaling Up Marsh Science:
Analysis and Design
This section is divided into four sections. The primary segment clarifies the basics
of MVC design pattern, which precedes redesigned Scaling Up Marsh Science Game
Architecture based on MVC design pattern. Third section describes database schema
redesign, and the fourth section clarifies the user experience of the Scaling Up Marsh
Science game.

3.1

Model View Controller Design

The Scaling Up Marsh game was developed using Model-View-Controller (MVC)


architecture. The MVC architecture is an excellent realization of data level and
expression level separation. It separates application logic from the rest of the user
16

interface. This design pattern does it by separating application into three parts:
the model, the view, and the controller [8] (see figure 3.1). Due to low coupling
in between these three distinct parts, making changes in an application is easier
compared to applications that do not use MVC [9].
The model handles the fundamental behavior and data of the application. It can
respond to requests for data and respond to change the data. In short, it is the data
and data management of the application. View renders data from the model into a
form suitable for the user. Controller receives a request and calls model object to
perform the operation.

Figure 3.1: Model View controller Design

3.2

Architecture

Scaling Up Marsh Science is based on MVC design pattern. Figure 3.2 shows
redesigned architecture of Scaling Up Marsh Game. View includes all the web
pages controlled by three controllers. Each controller has their set of views. Error Controller was redesigned to control Error Page, which handles illegal website

17

re-directions and browser errors. Index controller controls Sign in, Register, Feedback actions and Contact us, Learn more, Useful tips pages. Index Controller is also
responsible for newly added Administrators Tools page for Expert users. Play Controller controls the game flow. Controllers interact with models. Scaling Up Marsh
Science has ten models. Each model interacts with a corresponding Database table.

Figure 3.2: Application Architecture


Figure 3.2 depicts that controllers can not access databases without models. Controllers use model class objects to communicate with databases. In Zend Framework,
18

models are represented by Zend Db Table class. Views are .phtml files under view
folder. And controllers are extensions of the Zend Controller Action class [10].

3.3

Database Schema Redesign

The previous database was designed based on limited requirements for basic game
functionality. This old version mainly designed for player information and image
formations. Each player needs to register to process the pair of images. USERS table
consists of Name, Email, Status, Username, Password and newly added attributes:
last played timestamp, the number of played image pairs. USERS table allows us to
show detailed statistics about players, periodic activity, player rank. IMAGES table
was designed to store physical path and year of field images. Later we redesigned
this table to store image data in a row-wise manner. UNPROCESSED PAIRS table holds
data related to image pairs such as the number of times image pairs has played, the
number of times image has marked as not matching. After a player plays image pairs,
results get stored in PLAYER PROCESSED PAIRS table, which holds pair id, player id,
and matching points. This table has restructured to accommodate Time-stamp.
Post-processing will utilize this data. Once three players have played the image pair,
it will be transferred to PLAYED table form UNPROCESSED PAIRS table.
Scaling Up Marsh Science stores the data provided by the players. TRAINING table
handles data of untrained players such as the number of training attempts, successfully played training image pairs. Another table ANNOTATED PAIRS holds training
image pairs and matching points: to verify matching points of untrained players.
19

Figure 3.3: Database Schema Diagram

20

After each game, a random educational messages is shown to players. FACTS table
holds all educational messages. The configuration table stores all the system parameters. To archive all the feedback from the players, redesigned database is also
equipped with the FEEDBACK table. Figure 3.3 shows a database schema of Scaling
Up Marsh Science.

3.4

User Experience Redesign

User Interface design is an important aspect of any web application. Figure 3.4
shows User Experience Redesign of Scaling Up Marsh Science. Designing mainly
included developing web pages for each use cases and one layout for consistent user
experience. There are 12 web pages vaguely divided into three use cases. Sign in,
Register web pages belongs to the same use case. After sign in players are redirected
to Homepage: a container for other new web pages like Learn more, Contact us,
Feedback, Useful Tips, Play. Players with admin rights can access Administrators
Tools page from Home Page. Last use case consists of Play and Instructions pages.
We followed minimalist approach to keep the user interface simple. The home
page provides an overview of the project and vision behind the origin of this game.
Learn more page contains web links for basic ecology related articles. Administrators Tool contains detailed statistical data, histograms, the list of image pairs, not
matching. Administrator can use these tools to download data generated by players.

21

Figure 3.4: User Experience Redesign

22

Chapter 4
Scaling Up Marsh Science:
Implementation and Testing

4.1

Zend framework

Zend Framework is a simple, straightforward, open-source software framework


based on PHP 5 designed to eliminate tedious details of coding and let one focus
on the large picture. Its strength is in its highly modular MVC design, making a
code more reusable and easy to maintain. The Zend Framework is a PHP library
for developing PHP web application. It uses loosely coupled components that can
be used independently called a component library. It enables to build PHP applications more easily which will easier to maintain and extend over the lifetime of the
application [11]. Scaling Up Marsh Science was implemented using Zend Framework
version 1.11.
23

Figure 4.1: Zend Framework Workflow

24

Zend Framework is the whole plugin architecture (see figure 4.1). The basic
workflow of a Zend Framework MVC request is as follows:

Application Bootstrapping
Routing
Dispatch

Zend Framework is intended for bootstrapping the application. The idea is to get
all dependencies to route and/or dispatch, everything the application may need is in
place [10].
The basic directory structure of the project consists of three main folders, namely,
controllers, models, and views. Views folder contains subfolders for each controller
defined. Each subfolder contains the view files. For example, the home page from
IndexController is defined in the index folder under views as index.phtml. Each
of the view files has corresponding action method in its respective controller class.
Other than the three main components of the Zend project, there is a bootstrap
file Bootstrap.php that determines which resources and components to initialize.
The applicaiton.ini under configs folder defines application configuration settings.
This configuration file consists of specific project paths to bootstrap file, controllers
directory, Zend library. It also includes database details such as host, root and password and session timeout value. Layouts folder contains layout.phtml file, allowing
developers to wrap application content within another view, usually representing the
site template. Layouts are achieved using Zend Layout class. The only content that

25

is modified by each action method is kept inside the respective view page of that
action [10].

4.2

Project Structure

Scaling Up Marsh Science is written using PHP, CSS, and JavaScript. The configurations of Scaling Up Marsh Science are placed in application.ini file under configs folder. The configurations include database information such as host,
port, username and password, session timeout values and various application specific
paths. Layout.phtml defines the header, footer, navigation bar, the relative path to
stylesheet and JavaScript files. All the CSS files, JavaScript file and images used in
Scaling Up Marsh Science are placed in the public folder of the project.
As discussed in Chapter 3, Scaling Up Marsh Science is based on MVC design pattern. Controllers folder contains three classes namely, ErrorController,
IndexController and PlayController. The controller classes are extended from
Zend Controller Action. The controller is responsible for handling basic action
methods that correspond to various tasks. Zend framework provides an easy interface to manage database. Each table in the database corresponds to a class in
Zend Framework. All model classes are inherited from Zend Db Abstract class that
implements the database operations. View folder contains .pthm files.

26

4.3

Implementation

This section describes the implementation of new features for Scaling Up Marsh
Science Game.

4.3.1

Player Information

It is useful to display player details during the play session. Details include player
name, player status, the number of image pairs played, rank, the number of unprocessed image pairs and rewards (see figure 4.2). Player name, status are defined in
UsersMapper model. The getRank() function was implemented in PlayController,
which shows player rank. Based on number image pairs played, players can earn
bronze, silver and gold snails. For each 50 image pairs, player is entitled to one
bronze snail(up to 5 bronze snails). For each 250 image pairs, player is entitled to
one silver bronze (up to 5 silver bronze). And for each 1250 image pairs, player can
earn one gold snail. This section also displays the number of successful image pairs
played during the training session.

Figure 4.2: Player Information

27

4.3.2

Password Reset

If players forget their password, Password Reset feature is helpful. It requires a


username, email address and new password as parameters. The new password gets
updated if username and email matches with the database entry. Figure 4.3 shows
steps for password reset.

Figure 4.3: Password Reset Module

4.3.3

Player Feedback

Player feedback can be a valuable resource for game development. Feedback from
the preliminary users can be effective in conducting future development efforts.
There are two types of feedback in Scaling Up Marsh Science - Software related
feedback and Educational feedback. Software feedback mainly deal with Software
28

bugs. Educational feedback includes requests for research findings, useful materials. Sometimes users report bad image pairs, which are unable to process. The
controller indexController invokes the sendfeedbackAction() action. In return,
action updates the FEEDBACK table in the MySql database and sends an email using
Zend Mail Transport Smtp object to the respective administrators and user with
the feedback text, user name and type of feedback. Figure 4.4 explains feedback
system with a sample feedback email.

Figure 4.4: Player Feedback Module

29

4.3.4

New Web Pages

Enhancements include the development of learning platform for players. The majority of players have limited or no knowledge about Ecology. So providing a learning
platform can help this project in two ways. One, players with no knowledge of ecology will find this game a bit difficult because matching points are mostly animals and
plants. New pages - Learn More and Useful Tips provide insights regarding plants
and animals present at Marshland. Second, these web pages provide resources for
further reading to keep players motivated and play more. Figure 4.5 and 4.6 shows
screen-shots of Useful Tips and Learn more web pages.

Figure 4.5: Useful Tips Web Page

30

Figure 4.6: Learn More Web Page

4.3.5

Layout

MVC is a software architecture that allows for the separation of models and controllers from the user interface. In this architecture, the user sees and interacts with
the web pages, which are generated by HTML code (along with JavaScript, CSS,
images). All the web pages share common header, footer and page styling. So it
was advisable to use same styling and content in multiple views, which is Layout.
Scaling Up Marsh Science Layout features simple, minimal, easy to use web pages.
The layout follows the color scheme standardized by the University of Houston [13].

31

4.3.6

Guided Training

An untrained player needs to go through training to become trained player. The


reason to have the training is two-fold. First, the player gets the idea what common
objects to look for in a pair of images. The player also understands the objective of
the game. Second, we can eliminate malicious players who register to contribute to
the project with no interest. We noticed a few cases, in which users register and fail
training multiple times. After that users never get a chance to annotate unprocessed
images either due to lack of motivation to complete training or unable to understand
how to identify matching points. Now guided training shows first image pair having
red arrows on left image and respective highlighted area on another image. It is
much more easy to identify matching points for the first time user (see figure 4.7).
Once user submit first guided image pair, next image pair will have red arrows only
on left image. This way we can expect fewer drop outs.

4.3.7

Other bugs fixes

This includes numerous software bugs fixes.

Loop Training - After each unsuccessful training session, database entries for
active training session reset to null values. The player can restart the training, unlike previous version - where the player has to register with another
username. Moreover, training is more intuitive see Fig. 4.8.
Continuous Image pair formation Issue - This game shows the pair of images

32

Figure 4.7: Guided Training Snapshot

Figure 4.8: Intuitive Training


for annotation. Pairs are simply formed by selecting images next to each other
in the database. All images are stored in one database table IMAGES. Due to
the continuous nature of pair formation, few pairs are formed in between last
image of previous row and the first image of next row. In those cases, the
player will take a longer time to identify matching points (but there wont be
any matching point) and eventually click on Not Matching button. To avoid
this, the system will show only those images that are present in a same row.

33

Image Zoom issue - There was a bug with previous JavaScript code zoom.js.
Drag and Drop icons used to shift their locations after zoom in or zoom out.
The reason behind this bug was the incorrect calculation of image aspect ratio.

4.3.8

Other Enhancements

This includes numerous software enhancements.

More precise instructions and demo video on Instruction page.


Drag-drop icons are now more vibrant, large and easy to identify (see figure
4.9).

Figure 4.9: Drag-Drop Icon set

4.4

Testing

Testing is a crucial step in the development cycle of a software product [12]. In


case of Scaling Up Marsh Science, this step involved testing of the user interface,
main controlling logic on the server and database testing. Since Scaling Up Marsh
Science game followed Agile Development, testing was done along with the development phase. Testing was performed on Chrome, Safari and Firefox web browsers. It
34

comprised of testing for all the links in web pages, database connection, session variables, zoom/unzoom as well as drag and drop. Corner conditions such as dropping
the icons outside the image frames were handled and tested. Testing was done to
check validations on each field and handling wrong input to the fields. Data consistency is significant in the Scaling Up Marsh Science game. Thus, testing, to check for
data integrity and errors, was given top attention. During testing of each iteration,
it was made sure to test if all the database queries are executing correctly, data is
retrieved correctly and also updated correctly.
User feedback is very important in Agile Software Development mode. Feedback
help to identify the bug in the software as well as a possibility to enhance the software.
Following is the list of feedback, which were responsible the changes in Scaling Up
Marsh Science game.

A video of someone using the


game through manipulating
the icons and magnification
usage might be pretty helpful..
I hope it allows me to do that.
I a not quite sure. - Received
on 02/15/2015

We simplified the instructions and


added Useful Tips web page. Also
recorded a demo video on how to play
game. This video is embedded at
instruction page.

35

The facts were interesting


and I dont mind the same
ones popping up because I
require lots of repetition to
retain facts. I would like more
different facts though. Received on 02/18/2015

Total number of FACTS are increased


to 107. Moreover, players can now
visit Learn More web page for
interesting study articles on ecology.

AMAZING PROGRAM Received on 03/13/2015

On the learn more page, the


second set of links should be
titled Salt marsh animals...,
not Salt marsh plants... Received on 03/05/2015

This was a typo error.

36

I wasnt able to pass the


training no matter how hard I
tried. I think the standards
need to be lower or something
else to help with passing. I
tried my best. Props to those
who were able to pass. Received on 05/03/2015

We received such feedback stated


unable to complete the training. After
that, we introduced Guided Training,
which helped untrained players to
succeed the training.

37

Chapter 5
Scaling Up Marsh Science Game
Description and Playing
Instructions
This section describes Scaling Up Marsh Science Game features and guidelines.
First section deals with the User Interface and game features. The second section
lists guidelines to play Scaling Up Marsh Science.

5.1

User Experience and features

There are three distinct user flows, Login/Registration, Home page and Auxillary
pages, Game-play in the Scaling Up Marsh Science game.

38

5.1.1

Log in and Registration

The user interface is kept as simple as possible. There are three use cases for this
section. The first-time user can register by clicking on New User link. Registration
requires the first name, last name, username, email address, and password. After
registration, the user can login to the system using the username and password. If
the user forgets their password, they can click on Forgot Password link to reset it.
The Forgot Password process requires an email address and username for resetting
the password. If the username and email address do not match with a database
entry, password will not be changed. Sign in page also shows a brief overview and
the objectives of the project (see figure 5.1).

5.1.2

Scaling Up Marsh Science Homepage

This section contains 6 web-pages (figure 5.2) -

The homepage provides an overview of the project and reasons for the origin
of this game. Players can start playing Scaling Up Marsh Science by clicking
on Lets Start button.
Contact Us page displays contact information of the people involved in creating Scaling Up Marsh Science. Contact information includes office address,
email addresses and respective weblinks.
About Us page describes the background and objectives of long-term ecology
project along with people involved from the different area.
39

Figure 5.1: Log in and Registration

40

Learn More and Useful Tips provide insights regarding plants and animals
present at Marshland. The majority of players have little or no knowledge
about Ecology. So providing a learning platform can help this project. Also,
these web pages provide resources for further reading to keep players motivated
and play more.
Feedback page supports two types of feedback - Software related feedback
and Educational feedback. Player feedback proved to be a valuable resource
for game development. Software feedback mainly deal with Software bugs.
Educational feedback includes requests for research findings, useful materials.
Sometimes users report bad image pairs.

5.1.3

Playing Scaling Up Marsh Science

This section covers Scaling Up Marsh Science game flow (see figure 5.3). Homepage
Lets Start button redirects players to Instructions Page. Instructions page contains information about how the player should play the game. It explains which
objects to look for in the images. The instructions page also contains scoring information for untrained users. A demo video, which explains- how to find matching
points using drag-drop icons and use of image zoom feature. This video is embedded
at Instructions Page. Play button at Instructions Page redirects players to Play
page. Play page displays pair of images, drag-drop icons, player statistics, images
year and name along with three options- Not Matching, Save Results, Next Pair.
We give players an option to mark the pair in which the images do not match. Not
41

Figure 5.2: Scaling Up Marsh Science Homepage

42

Matching option is not available during the training session. If the pair of images
do not overlap, players can mark it as Not Matching. Save Results saves matching
points coordinates into the database. Next Pair picks a random image pair from
the database. Play page allows users to score the images. It also saves the results in
the database. Players can utilize zoom feature to find more precise matching points,
which helps Scaling Up Marsh Science project gathering high-quality data.

5.2

Guidelines to Play the Game

The player has to login to the game using credentials. If a player is not registered,
he/she can create a new account and then login. Once a player enters their login
credentials, the system authenticates the player. If their credentials do not match
with the details in the database, then an error message is displayed to him Incorrect
username or password. If the credentials match to the ones in the database, then
the system checks whether the player is an untrained, trained player.

5.2.1

Playing as an Untrained Player

Untrained players are supposed to finish a training session successfully before they
start playing with unprocessed image pairs. Ahead the training session, it is advisable
to read all the instructions and watch a demo video at Instruction Page. Training
session always starts with Guided Expert Annotated Image Pair, see figure 5.4.
The untrained player has to locate red arrows, shown on the left image, inside the

43

Figure 5.3: Playing Scaling Up Marsh Science


44

respective ellipses on the right image. Guided training image pairs are designed to
educate untrained players. Next training image pairs do not support annotations on
the right image. Untrained players need to finish three out of five image pairs with
more than 75 scores each to complete the training session successfully. After each
pair of images, the score is shown to the player as well as the number of remaining
image pairs needed to done before the end of training. If players fail to finish, they
can restart the training.

Figure 5.4: Guided Training

5.2.2

Playing as a Trained Player

The aim of this game is to find the matching points in between the image pair to
align the images into a giant mosaic. To achieve the result, trained players need to
play unprocessed image pairs. Unprocessed image pairs are non-annotated, unlike

45

training image pairs. Players are free to identify any objects, listed at Instruction
Page. A minimum of three or a maximum of four matching points are required to
process one image pair. We advise the players, while placing drag & drop icons, to
keep those apart from each other as much as possible to improve accuracy. Trained
players can mark image pair as Not Overlapping. The database keeps track of nonoverlapping image pairs so that eventually an expert can check or annotate those
pairs. All other game features from the training session like game statistics, image
zoom, image name and year are available to the trained player.

46

Chapter 6
Scaling Up Marsh Science: Admin
Tools and Image Upload
We implemented several features for Scaling Up Marsh Science to improve game
management and administrators functionality. These tools help the administrator
to manipulate game data. This chapter summarizes the Administrators Tools in
terms of need, design and Implementation.

6.1

Need for Administrators Tools

Each year Scaling Up and Explorer Marsh (SUEM) project captures approximately
12,000 images of marshland. Trained players annotate each image pairs for three
times, which generates the tremendous amount of data. It was desirable to have
a set of tools to manipulate and visualize the data. Administrators Tools were
47

designed for data downloading, game management and birds eye visualization of
Scaling Up Marsh Science (see figure 6.1). It also includes raw image preprocessing
to upload images into the database. Data download involves image matching points
and user data. Histograms and statistical information display the overall status of
the Scaling Up Marsh Science. Image preprocessing includes row formation and
upload script, which ignores redundant images and upload row-wise images into the
database. Expert Re-Annotation tool helps administrator to play difficult image
pairs, in which, finding matching points is tough for the players.

Figure 6.1: Functions of Administrators Tools

48

6.2

Administrators Tools: Design and Implementation

This section outlines design and implementation of Administrators Tools. Figure


6.2 shows a screen-shot of Scaling Up Marsh Science Administrators Tools page.

6.2.1

Download year and row-wise matching points

As we discussed in Chapter 2, one objective of this thesis is to preprocess data in


the rows. These rows signify actual site rows. This tool was specifically designed for
downloading matching points. Previously we developed a tool that used to download
all matching points at once. However, there were two problems with that solutionone was; it took a longer time to download the vast amount of matching point data.
Second, it was confusing to have the whole set of data each time. To avoid this,
we introduced year and row selection options for the administrator. This simple approach can solve both the problems. Figure 6.3 shows steps involved in downloading
matching points.

6.2.2

Download Players information

Scaling Up Marsh Science project is developed to gather matching points generated


by volunteer players. It is an important task to keep players motivated. This tool
lets administrator download players information such as email address, a number
of image pairs played, status. This way the administrator can keep track of players
49

Figure 6.2: Administrators Tools

50

Figure 6.3: Downloading Matching Point Data


progress and send monthly newsletters. Newsletters mostly consist of the current
status of the project and learning sources, which can help players to keep motivated.
Figure 6.4 shows a tool for downloading players information.

Figure 6.4: Downloading Players Information

6.2.3

Expert Image Annotation

Series of images taken at Marsh site consists of overlapping images. Sometimes two
consecutive images are not overlapping due to various reasons. We provide players

51

with an Not Overlapping option on the play page. If the player is unable to find
matching points, then the player can click on Not Overlapping button. Sometimes
players falsely report image being not overlapping. If an image pair is flagged as
Not Overlapping for the three times, the system removes the unprocessed image
pair from the pool and keep it in the NOT MATCHING PAIRS data table, where an
administrator can play those image pairs for expert verification. Expert Image
Annotation tool helps administrator to have a look at those image pairs, which are
not overlapping. Administrator can select any pair from that image pair pool and
play it to identify matching points. Image pairs played by an administrator have
high priority over other players. Figure 6.5 shows Expert Re-Annotation tool and
web page.

6.2.4

Detailed Statistics

This tool was designed to have a birds eye view of Scaling Up Marsh Science project
(see figure 6.6). Statistics contains a total number of image pairs, image pairs played
for 3, 2 and one times, image pairs not matching for 3 times, total number of players
registered, total number of trained players, number of times players played game,
average number of image pairs played by trained players. Detailed statistics helps
administrator to upload new image pairs into the database.

52

Figure 6.5: Expert Image Annotation

53

Figure 6.6: Detailed Statistics

54

6.2.5

Graphs

A histogram is a graphical representation of the distribution of numerical data [14].


Histograms are easy to read, visually appealing, handle large data sets and show
a trend in the data relationship. Graphs help the administrator for quick analysis
of data. We show two types of graphs; monthly player activity and monthly image
completion. First graph tracks players activity in terms of the number of times
players played Scaling Up Marsh Science. The second graph shows monthly progress
with respect to the total number image pairs, which are ready to use. Figure 6.7
shows both the graphs.

6.3

Unprocessed Image Upload: Design and Implementation

Uploading the vast amount of images into the database needs a systematic approach.
We pre-process images based on the identifier image (refer figure 6.8). Pre-processing
divides images into row-wise row folder. We followed machine readable folder naming
convention so that image uploader script can parse folder name (Refer figure 6.9).
Row Number is incremental value for rows within a year. Row Identifier is taken
from identifier image from that row. Camera captures series of images in continuous
mode, this leads to dirty images towards both ends of the row. First Actual Image
and Last Actual Image ignore dirty images, which are redundant and out of focus.
Image Upload script can identify First Actual Image and Last Actual Image by

55

Figure 6.7: Histograms

56

parsing folder name. Uploader only considers images in between and including First
Actual Image and Last Actual Image.

Figure 6.8: Row Identifier Image


To upload these images, we used the separate web application for ease of database
maintenance. Figure 6.10 shows how to use this web application. There are two
steps involved in this process; first is to enter the secret passphrase (only database
administrator has access to this web application). The second step is to specify the
folder path relative to the document root (www folder) of IIS server. After clicking
submit button, all the data such as physical path, year, resolution and pairs will be
inserted in the respective tables.

57

Figure 6.9: Row Image Folder Naming Convention

58

Figure 6.10: Image Upload Tool

59

Chapter 7
Marsh Explorer: Analysis and
Design
This section contains three subsections. We discussed the MVC design pattern in
Chapter 3. Based on MVC design pattern, the first subsection explains The Marsh
Explorer Game Architecture. The second area is related to database schema redesign,
and the third area illustrates the user experience of the Marsh Explorer Game.

7.1

Architecture

Like Scaling Up Marsh Science, Marsh Explorer was also implemented using MVC
design pattern. Figure 7.1 shows redesigned architecture of Marsh Explorer Game.
MVC has three main components - View, Controllers, Model. View covers all HTML
web pages, JavaScripts. Controllers control the behavior of views and interact with
60

Models. Each controller has their set of view. All models are associated with the
corresponding Database table. There are five controllers for Marsh Explorer. Error
Controller handles controlling Error Page, which handles illegal website re-directions
and browser errors. Index controller controls Home Page, Feedback actions and
Contact us, Tutorials, Useful tips, Animals, Plants pages. Index Controller is also
responsible for newly added Administrators Tools page for Expert users. Login
controller handles session login, logout, register new users. Game Controller controls
the game flow. The game controller allows players to play unprocessed images and
stores results into XML files. Training Controller handles training sessions for the
newly registered player. All Controllers interact with models as well as views.
Figure 7.1 shows that controllers can not access databases without models. Controllers utilize model class objects to interact with databases. This application is
implemented adopting Zend Framework, which encourages MVC design pattern. In
Zend Framework, models are rendered by Zend Db Table class. Views are .phtml
files in view folder. And controllers are inherited from the Zend Controller Action
class [10].

7.2

Database Schema Redesign

Database redesign was a crucial step for both games - Scaling Up Marsh Science
and Marsh Explorer. The earlier database was designed based on small elements for
basic game functionality. That early version was fundamentally designed for player
and image formations. Players needed to register to process the images. Players
61

Figure 7.1: Application Architecture

62

Table consists of Name, Email, Expert Status, Password, Trained flag and newly
added attributes: number of images played, last played timestamp. Images Table
was designed to store physical path and year of field images. Later we redesigned
this table to store image data in a row-wise manner. Unprocessed Images Table
contains the reference to unprocessed images and play count. After a player plays
image pairs, result get stored in Player Processed Images Table, which includes
Image Id, Player Id and XML Id. This table has restructured to capture play timestamp. Post-processing will use this data for statistical purpose. Each image is
played for three times, once three players have played the image, it will be migrated
to Played Images Table from Unprocessed Images Table.
Marsh Science uses the data generated by the players activity. To verify the
reliability of the player, each newly registered player undergoes Training sessions.
Expert Annotated Images Table holds Image Id and XML Id, which contains plants
and animals location registered by an Expert player. Players Table keeps track of
training attempts made by untrained players. After each game, random educational
messages are displayed to players. Messages Table holds all educational messages.
To archive all the feedback from players redesigned database is also equipped with
the Feedback table. XML file contains Animals and Plants locations. XML Table
handles XML files corresponding to every processed images. The table contains
XML Id, XML file name, XML file location and count of each plant and animal.
XML Table is linked to Spartina, Limonium, Batis, , Juncus, Salicornia, Juncus,
Borrichia plants Tables. XML Table also linked to Crab, Snail, Burrow, Mussel
animal Tables. As Figure 7.2 shows, all Animal and Plant Tables are referring to

63

Figure 7.2: Database Schema Diagram

64

XML Id in XML Table.

7.3

User Experience Redesign

The designing of the website predominantly consists of the User Interface, server
side implementation and Database design. The User Interface design is a crucial
aspect of any web application. Figure 7.3 shows User Experience Redesign of Marsh
Explorer. User Interface design starts with Layout design. For Marsh Explorer, we
designed two separate layouts, one for Game flow, and another is for Homepage flow.
The layout handles look and feel of the website, which includes details such as color
scheme, element organization, header & footer designs, font family, font size. The
layout is useful for consistent user experience and ease of use. For layout design,
we followed the guidelines prescribed by The University of Houston [13]. These
guidelines are related to the color scheme and the font of the website.
There are 17 web pages divided into four use cases. Sign in, Register web pages
come under the same use case. After sign in players are redirected to Homepage: a
container for other web pages like Contact us, Feedback, Animals, Plants, Tutorials,
Administrators tools. The homepage provides an overview of the project and contains reasons behind the origin of this game. Administrators Tool contains detailed
statistical data, histograms. Admin can also use these tools to download data generated by players. Animals and Plants pages contain a list of animals and plants,
which are found at Marshland. The third use case is for training, which includes
Training page and Instruction page. Instructions page provides information about
65

Figure 7.3: User Experience Redesign

66

how the player should attempt the training successfully. It explains which objects to
look for in the images. The instructions page also contains scoring information for
untrained users. Last use case consists of Game page. The game page allows users
to score the images. It also stores the results to the database.

67

Chapter 8
Marsh Explorer: Implementation
and Testing

8.1

Zend framework

Marsh Explorer is implemented using Zend Framework version 1.11 as the Scaling
Up Marsh Science. I already discussed Zend Framework and its underlying architecture in chapter 4.

68

8.2

Project Structure

Marsh Explorer is implemented based on MVC design pattern. Controllers folder


includes five classes - ErrorController, IndexController, LoginController, GameController and TrainingController. These are the classes extended from ZendControllerAction and include all the action methods that are correspond to different tasks. Zend
framework has an easy interface to manage database. Each table in the database corresponds to a class in model. All model classes are inherited from Zend Db Abstract
class. Model classes are responsible for database operations. View folder contains
webpages categorized with respect to their controllers.
Marsh Explorer is written using PHP, CSS, and JavaScript. As with Scaling Up
Marsh Science, the configuration file contains database information such as host,
port, username and password, session timeout values and various application specific paths. Layouts defines the header, footer, navigation bar, the relative path to
stylesheet and JavaScript files. All the CSS files, JavaScript file and images used in
Marsh Explorer are placed in the public folder of the project.

8.3

Implementation

This section describes the implementation of new features for the Marsh Explorer
Game.

69

8.3.1

Guided Training

Guided Training feature is introduced for a better user experience. A first time
user will start a training session with a guided training image. That image will show
only those options for plants and animals that are present on that training image,
along with plant and animal locations. It is much more easy to identify plants and
animals for the first time user. This feature proved very useful based on feedback
from Scaling Up Marsh Science. Figure 8.1 shows guided training screen-shot.

Figure 8.1: Guided Training

70

8.3.2

Game Levels

Playing the Marsh Explorer game is more complex than the Scaling Up Marsh Science
game. The player is required to identify all possible plants and animals present on the
image. Sometimes this count goes well beyond one hundred. For a newly registered
player, it is quite difficult to identify all hidden and hard-to-recognize animals and
plants. So we decided to classify unprocessed images into three categories based
on the vegetation. Level One images are like a barren land with least vegetation,
which helps new players to recognize animals and plants easily. Level Two comprises
medium vegetation with few hidden animals. Lastly, Level Three images contains
dense vegetation and requires a lot of efforts and experience to uncover hidden plants
and animals. Image uploader classifies unprocessed images into three levels based
on the vegetation. Each level requires to pass a training. First training is more
general in a sense for introduction to Marsh Explorer. Second and third trainings
are respectively designed for Level Two and Level Three images. After each successful
training, player qualified for the next level.

8.3.3

Player Logs

To record historical data of each player (registration and training timestamps for
different levels), player Logs functionality is added to Marsh Explorer. Image shows
a sample log file. Figure 8.2 shows a sample player log file screen-shot.

71

Figure 8.2: Playerlog file screen-shot

8.3.4

Player Information

It is useful to display player details during the play session. Details include player
name, player status, the number of images played, rank, and player level. Player
name, status are defined in PlayersMapper model. The getRank() function is implemented in IndexController, which shows player rank. Based on number images
played, players are qualified to next level. Figure 8.3 and 8.4 shows newly added
player information screen-shots at home page and play page respectively.

Figure 8.3: Players information at Home page

72

Figure 8.4: Players information at Play page

8.3.5

Password Reset

If players forget their password, Password Reset feature is useful. It requires a


username, email address and new password as parameters. The new password gets
updated if username and email matches.

8.3.6

Player Feedback

Player feedback proved a valuable resource for game development. Feedback from
early users helped us introducing new features. There are two types of feedback
in Marsh Explorer - Software related feedback and Educational feedback. Software
feedback mainly deal with Software bugs. Educational feedback includes requests for
research findings, useful materials. Sometimes users report bad images such as out
of focus image, which players are unable to play. Feedback system sends real-time
emails to Web Admin and Project Owners. Also it updates the FEEDBACK table in
the MySql database for future reference.
73

8.3.7

New Web Pages

New pages - Animals and Plants provide insights regarding plants and animals
present at Marshland. Training Instructions page provide all the instructions related to training and further playing along with a video. Tutorial page lists games
instructions, aim, and scoring system. Figure 8.5 and 8.6 shows newly added Tutorial
page and Training page.

Figure 8.5: Newly added Tutorial Page

74

Figure 8.6: Newly added Training Page

75

8.3.8

Layout

All the web pages share a common header, footer and page styling. So it was needed
to use same styling and content in multiple views, which is Layout. Marsh Explorer
Layout features simple, minimal, easy to use web pages. The layout follows the color
scheme standardized by the University of Houston [13].

8.3.9

Other bugs fixes and enhancements

This includes number of software bugs fixes and enhancements.

Image Double Click Zoom


Drag Drop Icon Outside Image
Training Passing Criteria
New Icon Sets
Game Parameter Configuration File
Drag Drop Icon repositioning to avoid overlapping

8.4

Testing

Testing is a important part of the software development cycle. Testing involved the
user interface testing, features testing and database testing. Since Marsh Explorer

76

game followed Agile Development, testing was done along with the development
phase. Testing comprised of testing for all the links in web pages, database connection, features. Corner conditions such as dropping the icons outside the image
frames were handled and tested. Testing was done to check validations on each field
and handling wrong input to the fields. Data consistency is of utmost significance in
the Marsh Explorer game. Thus, testing, to check for data integrity and errors while
players annotate images, was given top attention.
During testing of each iteration, it was made sure to test if all the database queries
are executing correctly, data is retrieved correctly and also updated correctly. User
feedback were very important for testing. Feedback helped to identify the bugs in
the software as well as a possibility to enhance the software.

77

Chapter 9
Marsh Explorer Game Description
and Playing Instructions
This section describes Marsh Explorer Game features and guidelines. The first
section deals with the User Interface and game features. The second section lists
guidelines to play Marsh Explorer.

9.1

User Experience and features

There are three distinct user flows, Login/Registration, Home page and Auxillary
pages, Game-play in the Marsh Explorer game.

78

9.1.1

Log in and Registration

The user interface is kept as simple as possible. There are three use cases for this
section. The first-time user can register by clicking on Register link. Registration
requires the first name, last name, username, email address, and password. After
registration, the user can login to the system using the username and password. If
the user forgot the password, then click on Forgot Password link to reset it. Forgot
Password requires an email address and username for resetting the password. If
username and email address do not match with database entry, no password will
change. Sign in page also shows a brief overview and objectives of the project (see
figure 9.1).

9.1.2

Marsh Explorer Homepage

This section contains 7 web-pages (figure 9.2) -

The homepage provides an overview of the project and reasons for the origin
of this game. Players can start playing Marsh Explorer by clicking on Play
option.
Contact Us page displays contact information of the people involved in creating Marsh Explorer. Contact information includes office address, email addresses and respective weblinks.
About Us page describes the background and objectives of long-term ecology
project along with people involved from the different area.
79

Figure 9.1: Log in and Registration

80

Animal/Plants provide insights regarding plants and animals present at Marshland. The majority of players have limited or no knowledge about Ecology. So
providing a learning platform can help this project.
Tutorial page describes gaming instructions and scoring scheme.
Feedback page supports two types of feedback - Software related feedback
and Educational feedback. Player feedback proved to be a valuable resource
for game development. Software feedback mainly deal with Software bugs.
Educational feedback includes requests for research findings, useful materials.
Sometimes users report bad images, which are unable to process.

9.1.3

Playing Marsh Explorer

This section covers Marsh Explorer game flow (see figure 9.3). Homepage Tutorial
option redirects players to Tutorial Page. Tutorial page contains information about
how the player should play the game. It explains which objects to look for in the
images. The Tutorial page also contains scoring information for untrained users. A
demo video, which explains- how to identify plants and animals using drag-drop icons
and use of image zoom feature. This video is embedded at Instructions Page before
training session. Play option at Home Page redirects players to Play page. Play
page displays an image, animals and plants list with drag-drop icons, player statistics,
images year and name along with two options- Undo, Finish, Next Pair. Finish
saves location coordinates into the database. Next option, on the dialog box, picks
a random image from the database. Play page allows users to score the images. It
81

Figure 9.2: Marsh Explorer Homepage

82

also saves the results in the database. Players can utilize zoom feature to uncover
hidden objects, which helps Marsh Explorer project gathering high-quality data.

9.2

Guidelines to Play the Game

The player has to login to the game using credentials. If a player is not registered,
he/she can create a new account and then login. Once a player enters their login
credentials, the system authenticates the player. If their credentials do not match
with the details in the database, then an error message is displayed to him Incorrect
username or password. If the credentials match to the ones in the database, then
the system checks whether the player is an untrained, trained player.

9.2.1

Playing as an Untrained Player

Untrained player supposed to finish training session successfully before they start
playing with unprocessed images. Ahead the training session, it is advisable to read
all the instructions and watch a demo video at Instruction Page. Training session
always starts with Guided Training Image, see figure 9.4. The untrained player
has to locate all animals and plants, shown on the image with the help of arrows
and highlighted area. Guided training images are designed to educate untrained
players. Next training images do not support annotations. Untrained players need
to successfully play three out of five images with more than 50 percent scores for each
object, to complete the training session. If players fail to finish, they can restart the

83

Figure 9.3: Playing Marsh Explorer

84

training.

Figure 9.4: Guided Training

9.2.2

Playing as a Trained Player

The aim of this game is to identify plants and animals on the image. To achieve
the result, trained players need to play unprocessed images. Unprocessed images are
non-annotated, unlike training images. Players are free to identify any objects, listed
at Tutorial Page. Trained players supposed to search the image carefully to make
sure they see all the plant species and all the animals. Players can zoom into each
subsection of the image so that they can find all the snails and burrows. This will
also help us find the rarer plant species.

85

Chapter 10
Marsh Explorer: Admin Tools and
Image Upload
As with Scaling Up Marsh Science, I implemented many administrators features
in Marsh Explorer. These tools assist the administrator in manipulating game data.
This chapter reviews the Administrators Tools in terms of need, design, and Implementation.

10.1

Need for Administrators Tools

As we discussed earlier, Scaling Up and Explorer Marsh (SUEM) project handles


nearly 12,000 images per year. Trained players play each image for three times,
which creates a large amount of data. Administrator Tools are intended for data

86

downloading, game management, and birds eye visualization of Marsh Science. Additionally It includes field image preprocessing to upload images into the database.
Basic functionality of Data download, Histograms, and statistical information are
similar to Scaling Up Marsh Science Game. Image preprocessing includes grid superimposition, classification and database update.

Figure 10.1: Functions of Administrators Tools

87

10.2

Administrators Tools: Design and Implementation

This section describes design and implementation of Administrators Tools. Figure


10.2 displays a screenshot of Marsh Explorer Administrators Tools.

Figure 10.2: Administrators Tools

88

10.2.1

Download year and row-wise matching points

Earlier we developed a tool that used to download all generated data at once. However, there were two difficulties with that solution- one is; it took a longer time to
download a substantial amount of data. Second, it was frustrating to have the entire
set of data each time. To avoid this, we added year and row selection options for the
administrator. This simple strategy can resolve both the difficulties we discussed.
Download creates a zipped folder at a run time, which contains generated data in
the form of XML files. We used PHP Zip library for zipped file creation. Figure 10.3
shows steps involved in downloading data.

Figure 10.3: Downloading Data

89

10.2.2

Download Players information

Marsh Explorer, like Scaling Up Marsh Science, is based on data produced by players.
It is an essential responsibility to have players motivated. This tool lets administrator
download players information such as email address, a number of images played,
status. This way the administrator can keep the record of players progress and send
monthly newsletters. Newsletters often consist of the current state of the project
and learning references, which can help players to keep motivated.

Figure 10.4: Downloading Players Information

10.2.3

Detailed Statistics

This tool is designed to have an overview of Marsh Explorer. Statistics contains


a total number of images in the database, images played for 3, 2 and one times,
total number of players registered, total number of trained players, number of times
players played game, average number of images played by trained players. Detailed
statistics assists administrator to upload new images into the database.

90

Figure 10.5: Detailed Statistics

91

10.2.4

Graphs

A histogram is a graphical representation of the distribution of numerical data [14].


Histograms are the helpful tools for the administrator. Histograms are easy to read,
visually appealing, handles massive data sets, shows a trend in the data relationship.
Histograms help the administrator for prompt review of data. Like Scaling Up Marsh
Science, we show two kinds graphs, monthly players activity and monthly image
completion. The first graph(histogram) displays players activity in terms of the
number of times players played Marsh Explorer. The second graph shows monthly
progress with respect to the total number images, which are ready to use. Figure
10.6 shows both the graphs.

10.3

Unprocessed Image Upload: Design and Implementation

In Marsh Explorer, we divide image into 15 cells. Players can play each cells separately to identify plants and animals. Moreover, Marsh Explorer classify images into
three levels based on image complexity. Unlike Scaling Up Marsh Science, Marsh
Explorer game required a complex multistage process to upload new images. First
stage is to superimpose grid on the top of field image. Next step includes image upload into database. Final step is to run image classifier script to classify field images
into three distinct groups.

92

Figure 10.6: Graphs

93

10.3.1

Grid Superimpose

Marsh Explorer game requires the player to identify plants and animal locations
on the image. Sometimes multiple layers of plants appear at few locations. To
identify such densely located animals and plants, we support zoom functionality.
In the Marsh Explorer, the image is divided into 15 cells. Players can zoom into
each cell just by clicking on the cell area. In the absence of the grid, it is quite
confusing to visualize underlying tile structure, which creates cells. To avoid this
confusion, we decided to superimpose the grid on the top of the field image. Grid
Superimposition is the first step of image upload process. Algorithm works like
this - Read the input image and convert it into the 2-D array of pixels and then
superimpose that 2-D array with grid image pixels. The result of this process
creates the new image with field image as background and grid as foreground.
This algorithm is implemented using imagecreatefrompng, imagecreatefromjpeg,
imagecopy, imagejpeg, imagedestroy functions from PHP GD library.

10.3.2

Database Upload

Uploading multiple images into database needs a systematic approach. We preprocess images based on the identifier image (refer figure 6.8). Same as Scaling Up
Marsh Science, we developed machine readable folder naming convention so that
image uploader script can parse folder name (Refer figure 6.9). As we discussed in
Chapter 6, Row Number is incremental value for rows within a year. Row Identifier
is used from identifier image from that row. Image Upload script can recognize First

94

Figure 10.7: Grid Image Superimpose


95

Actual Image and Last Actual Image by parsing folder name. Uploader only uploads images in between First Actual Image and Last Actual Image. This is the
second step after grid image superimposition. After this step, all row images are
inserted into the database for image classification and Marsh Explorer game use.

10.3.3

Image Classifier

Image classifier is the last step in image upload process. We observed the complexity
of field image is based on vegetation. Thick vegetation leads to overlapping of multiple plants. Due to dense vegetation, it becomes difficult to identify different plants
and animals. To play dense images, a player should be a bit experienced. We noticed
that new players fail to identify all possible plants and animal for the complicated
images. To avoid such data loss, we introduced three levels for the Marsh Explorer.
These levels are based on players experience. Image Classifier module classifies
images based on color hue into three levels (Less vegetation to dense vegetation).
Normal histograms of the images do not give a significant difference between
them. However, we observed that complex images have more grass, therefore, more
green color while simple images have a lot of gray colors. So we decided to use hue
histogram and find it has the potential to classify the images. With some threshold
based on the percent of the pixel having certain hue range, we can identify the sample
pictures with the lowest error rate.
Figure 10.9 shows how to use this image uploader in 3 steps. For each step,
the administrator has to enter the secret passphrase followed by the folder path

96

Figure 10.8: Image Classifier

97

relative to the public folder of Marsh Explorer under the root (www folder) of IIS
server. After clicking on Submit button, each step notifies individual success or error
messages along with process logs.

Figure 10.9: Image Upload Tool

98

Chapter 11
Conclusion

11.1

Conclusion

Previous work consisted of two prototype web-based games. This thesis is based
on extending the Scaling Up Marsh Science and Marsh Explorer games. I successfully extended two proof-of-concept projects into complete software products. I
addressed the major issues with the previous games by improving multi-year image
sets, error-handling, row-wise image uploader, uniform user experience and database
redesigning. I successfully added new features such as player-feedback system, administrators tools, ecology learning platform, image-preprocessing, game parameters,
improved content, gaming features like player rank, game levels and player awards.
The player-feedback System provided us feedback, which helped improved the

99

games. Prompt actions were taken to improve the player experience and fix technical issues in the games. One of the common points in the feedback was that the
instructions to play the games were not very clear. To solve this issue, clearer instructions along with tutorial web pages were provided. Also, multiple demo videos were
provided to educate players about how to play. Another common issue reported was
trouble using the image zooming and drag and drop features, which were redesigned
and tested thoroughly for any reported bugs.
Certain feedback was related to the difficulty level of the games, especially when
playing the Marsh Explorer game, which was a bit more complex for some players.
We addressed this issue by adding game levels into Marsh Explorer along with guided
training. Image preprocessing now includes an image classifier module, which classifies images into three levels based on the amount of vegetation. More vegetation
leads to more hidden objects. This new feature provides players an adaptive learning
capability to play the Marsh Explorer. As a result, the output of the Marsh Explorer
is more precise and reliable.
Each year the Scaling Up and Explorer Marsh (SUEM) project captures approximately 10,000 images of marshland. Players generate a tremendous amount of data.
It was desirable to have a set of tools to manipulate and visualize this data. We
added Administrators Tools designed for data downloading, image uploading and
birds eye visualization of the project.

100

11.2

Future Work

The addition of more volunteer players is required because data set consists of images for six consecutive years and each year has approximately 10,000 high-quality
images. Once we get information on the matching points and all the plants and
animal species in these approximately 60,000 images, we need to do post processing
on the collected information. Scaling Up Marsh Science Game future work is developing a robust method to generate a single high-resolution, close-up image of an
entire marsh, using relatively low-tech equipment and volunteer computing. Marsh
Explorer Game future work is simulating virtual models for plant growth and competition using citizen scientists. These games will help validate and improve the
models by strengthening the predictive value of the simulations on the evolution of
clonal plant ecosystems. Other software features like bulk emails can be added at
Administrators Tools page to send newsletters to players. Another feature can be
added is a For Educators page that will feature ideas about how the two projects
can be used in the classroom. Also an algorithm for quality assurance and quality
control can be added for data quality.

101

Bibliography
[1] Sapelo Island .org - Resources for Sapelo
http://sapeloisland.org/ (accessed July 23, 2015).

Island

Georgia,

[2] Seafloor Explorer, http://www.seafloorexplorer.org/ (accessed July 23, 2015).


[3] Oreilly, Tim. What is Web 2.0: Design patterns and business models for the
next generation of software. Communications and strategies 1 (2007): 17.
[4] MySQL Cluster Features & Benefits. MySQL. Accessed July 3, 2015.
https://www.mysql.com/products/cluster/features.html.
[5] Novell Doc: NW 6.5 SP8: Novell MySQL Administration Guide - Benefits of
MySQL. Novell Doc: NW 6.5 SP8: Novell MySQL Administration Guide Benefits of MySQL. Accessed July 3, 2015.
[6] Meloni, Julie C., and Matthew A. Telles. PHP 6 fast & easy web development.
Cengage Learning, 2007.
[7] Learn - Zend Framework. Zend Framework Blog RSS. Accessed July 3, 2015.
http://framework.zend.com/learn/.
[8] Hua, C. H. E. N. MVC Design Pattern. Computer Knowledge and Technology
(Academic Exchange) 14 (2007): 051.
[9] Chapter 21: Designing Web Applications. Chapter 21: Designing
Web Applications. Accessed July 9, 2015. https://msdn.microsoft.com/enus/library/ee658099.aspx.
[10] Zend Framework & MVC Introduction - Zend Framework Quick Start
- Zend Framework. Zend Framework Blog RSS. Accessed July 5, 2015.
http://framework.zend.com/manual/1.12/en/learning.quickstart.intro.html.

102

[11] Understanding the Zend Framework, Part 1: The Basics. Understanding the Zend Framework, Part 1: The Basics. Accessed July 13, 2015.
http://www.ibm.com/developerworks/opensource/library/os-php-zend1/.
[12] The value of usability testing for Internet-based adolescent ..,
http://www.ncbi.nlm.nih.gov/pubmed/24094082 (accessed July 23, 2015).
[13] University of Houston. Style Guidelines -. Accessed July 15, 2015.
http://www.uh.edu/policies/graphic-standards/style-guidelines/.
[14] Pearson, Karl. Mathematical Contributions to the Theory of Evolution. Vol.
186. London: [Harrison and Sons], 1895. 343414.
[15] Smaoui, Malek, Marc Garbey, and Cendrine Mony. Virtual prairie: going green
with volunteer computing. Asia-Pacific Services Computing Conference, 2008.
APSCC08. IEEE. IEEE, 2008.
[16] Eckert, Christopher G. Clonal plant research: proliferation, integration, but
not much evolution. American Journal of Botany 86.11 (1999): 1649-1654.
[17] Nicholls, Robert J., Poh Poh Wong, Virginia Burkett, Jorge Codignotto, John
Hay, Roger McLean, Sachooda Ragoonaden et al. Coastal systems and lowlying areas. Research Online, University of Wollongong (2007).
[18] Pennings, Steven C., and Ragan M. Callaway. The advantages of clonal integration under different ecological conditions: a community-wide test. Ecology
81.3 (2000): 709-716.
[19] Maler, Karl-Goran. Sustainable development and resilience in ecosystems.
Environmental and Resource Economics 39.1 (2008): 17-24.
[20] http://en.wikipedia.org/wiki/Sustainable development
[21] Tilman, David, Jason Hill, and Clarence Lehman. Carbon-negative biofuels from low-input high-diversity grassland biomass. Science 314.5805 (2006):
1598-1600.
[22] Brown, Matthew, and David G. Lowe. Automatic panoramic image stitching
using invariant features. International Journal of Computer Vision 74.1 (2007):
59-73.
[23] Szeliski, Richard. Image alignment and stitching: a tutorial. Foundations and
Trends in Computer Graphics and Vision 2.1 (2006): 1-104.

103

[24] Lindeberg, Tony. Feature detection with automatic scale selection. International Journal of Computer Vision 30.2 (1998): 79-116.
[25] Zitova, Barbara, and Jan Flusser. Image registration methods: a survey.
Image and Vision Computing 21.11 (2003): 977-1000.
[26] Hilford, V., et al. WIMIWeb Interface to Medical Information, best paper
award in data engineering at SEDE07, 16th internat. Conference on software
engineering and data engineering. 2007.

104

You might also like