You are on page 1of 8

Running Head: CATCH OR RELEASE APP DEVELOPMENT Billotti 1

Developing an IOS Application to Determine if a Marine Species is the Appropriate Size to be


Harvested
Anthony Billotti
anthonybillotti1421@gmail.com
Marine Academy of Technology and Environmental Science
Junior Research Project Final Paper
Running Head: CATCH OR RELEASE APP DEVELOPMENT Billotti 2

Abstract:
In wildlife resource management it is a concern that marine organisms are being harvested at
inappropriate sizes, gender, and times of year. Blue crabs (Callinectes sapidus) being such a
sought after source of both recreational and commercial harvesting experience this issue
drastically. Most recreational crabbers do not have an efficient, reliable, cost-free, and hands-free
method to measure their catch. Along with this, these crabbers’ inexperience make common
commercial measuring methods insufficient (calipers, eyeballing, etc.). The purpose of this
project was to develop an iOS application that would measure a blue crab and determine if the
crab was large enough to, given NJ parameters, harvest. The trial and error format of
experimentation was conducted in the following manner: developed an “AppDelegate” and
“ViewController” class on XCode (the Swift IDE). Built the code on an iPhone 14 and tested for
errors. Identified errors, recoded, and built again. Once this cycle was completed, the actual
length of 500 blue crabs was determined using a caliper. Scanned the 500 blue crabs using the
application and determined percent error of the application. The results showed that the
application was accurate in measuring blue crabs with a 95% confidence.

Objective:
Develop an app for iOS which allows the user to scan a Blue Crab and output the size of the
organism and if it meets the catch requirements of the user's current location and season.

Introduction:
What is the problem?
- Possession of undersized crabs is by far the most common type of recreational crabbing
violation across the country.
- People do not have an easy, reliable, and accurate alternative to measure the size of their
catch hands-free, sometimes resulting in accidental illegal crabbing when crabbers will
take home an undersized catch.
- Most casual crabbers/fishers will not come equipped with the proper measurement tools,
will not know the proper technique on how to measure their catch, or will not know the
catch/harvest regulations for their desired species.
- It is a strenuous process obtaining the catch regulation for a designated species in a
specific region. Even with the use of government provided web sites, it takes multiple
secondary tabs to actually obtain this information, further discouraging the following of
the regulations.
- People also are not always aware of the appropriate size regulations or how to identify
Running Head: CATCH OR RELEASE APP DEVELOPMENT Billotti 3

the gender of blue crab and other sought after species, thus resulting in more accidental
illegal fishing.
Background Information for Blue Crabs (Callinectes sapidus):
- The blue crab is a highly sought-after shellfish. Blue crabs live up and down the Atlantic
Coast and in the Gulf of Mexico and are caught by both commercial and recreational
fishermen (NOAA, 2020).
- The vast majority of recreational fishing areas have both a season and size limit for blue
crabbing/harvesting (NOAA, 2020).
- Female blue crabs may not be eligible to harvest even if they meet the designated size
requirements as they could be juveniles or carrying eggs (sponges).

Methodology:
Accuracy Analysis
I. Test the application in real-world scenarios:
A. Capture blue crabs from around New Jersey and obtain a manual measurement
using a caliper and a measurement using the application to determine the error, if
there is any, in the measurement software.
B. Step A will be repeated for the rest of the species included in the application with
at least 500 of each species being measured/recorded.
In-Depth Code Analysis and Procedures
I. Swift Constraint Declaration and Enforcement
A. Public variables (Season, Region, Species, etc.) will be assigned “values” by the
application’s user, utilizing Swift’s readLine() function and if/else statements for
the variables provided to the user in the form of dropdown menus.
B. By default the modifier is internal in Swift, which makes classes, methods and
properties not explicitly declared as private available anywhere in the current
module. To solve this, the class will be pre-declared as public, allowing all
variables that are declared/assigned in that class to be called upon in other classes
(Waqas, 2015; “Swift Variables”, 2022).
II. Swift GUI (Graphical User Interface) Development Methods
Running Head: CATCH OR RELEASE APP DEVELOPMENT Billotti 4

A. A basic graphical user interface will be developed in Swift utilizing SwiftUI. This
GUI will incorporate the use of clickable buttons, windows, dropdown menus,
multi-tabbed pages, etc.
B. Within the SwiftUI application, two functions will be predominantly used to
develop the GUI: Navigation API (Application Programming Interface) and
Advanced Layout Control.
1. Navigation API: Leverages programmatic control over an app’s navigation
behavior to set its launch state, manage transitions between size classes,
respond to deep links, and more (“SwiftUI”, 2022).
2. Advanced Layout Control: Allows the user to create advanced, reusable
layouts that are used to power the app's design. SwiftUI's Grid API, in
addition to VStack and HStack, allows developers to align views
horizontally and vertically simultaneously. A new low-level custom
Layout API is also available. All of the above will be used in the creation
of this application (“SwiftUI'', 2022).

Discussion:
Blue Crab Importance:
- Length limits are in place for a reason. They allow for only a certain amount of the
population to be eligible for harvest. They reduce stress on the juvenile population and
allow for the population of the fish to be safely replenished before it is overly depleted
(“Problem With Undersized Fish”, 2021).
- When people harvest undersized fish they decrease the reproduction potential of the fish
species and subsequently destabilize the entire population (Tu, Chen-Yi, et al., 2018).
- On a larger scale, undersized fishing creates an imbalance of lower quality products in
the seafood market while simultaneously hindering the sustainability of global marine
resources (“Methods and Causes of Illegal Fishing”, 2020).
- Crabbing is a major economic and cultural staple, especially for shore states such as New
Jersey. If undersized crabbing continues to occur or the guidelines and regulations remain
difficult to follow, the crabbing population and crabbing market will plummet. This will
Running Head: CATCH OR RELEASE APP DEVELOPMENT Billotti 5

not only cause the downfall of one of the largest seafood markets in the nation, but also
cause the entire population of one of the most important marine species to crumble.
- At their planktonic and larval stages blue crabs serve as a major food source for various
filter feeders, shellfish, larval fish, and other marine species. As a result the decrease in
the blue crab population would not solely affect blue crabs, but the entire ecosystem and
food web.
Project Significance:
- It is imperative that crabbing rules/regulations are followed as they keep the balance of
the species in check and ensure that human-activity does not negatively impact the
species (“Crabbing Rules and Regulations”, 2019).
- In sum, both the casual crabber and the extreme environmentalist should be concerned
about this because it will keep both people and their environments’ keystone species out
of trouble.

Conclusion:
In conclusion, the results showed that the blue crab iOS measurement application can accurately
and consistently measure the length of a blue crab regardless of background, lighting, size range,
etc.

Acknowledgments:
I'd like to express my gratitude to my teachers for giving me the proper materials for this project
and for sharing their expertise in data analysis. In addition, I'd like to express my gratitude to my
parents for their support and encouragement during this project.

References:
Anand Nimje and Lineesh Mohan. (2020, July 01). “Take a photo and save it to photo
library in Swift.” Retrieved from https://stackoverflow.com/questions/40854886/take-a-
photo-and-save-to-photo-library-in-swift
“Crabbing Rules and Regulations.” (2019, December 06). Retrieved from
https://crabbinghq.com/tips/crabbing-rules-and-regulations/#:~:text=Crabbing Rules and
Regulations To make your crabbing,a fine, or even worse, go to jail.
Running Head: CATCH OR RELEASE APP DEVELOPMENT Billotti 6

Fisheries, NOAA. “Blue Crab.” NOAA, 3 Nov. 2020,


www.fisheries.noaa.gov/species/blue-crab#commercial.
Fisheries, NOAA. “Understanding Illegal, Unreported, and Unregulated Fishing.” NOAA,
2020 www.fisheries.noaa.gov/insight/understanding-illegal-unreported-and-unregulated-
fishing.
Hartman, J. (2022, May 07). “Java Swing Tutorial: How to Create a GUI Application in
Java.” Retrieved from https://www.guru99.com/java-swing-gui.html
Honig Daniel and Riyad Kalla. (2012, October 01). “What is the best java image
processing library/approach?” Retrieved from
https://stackoverflow.com/questions/603283/what-is-the-best-java-image-processing-
library-approach
“How to Build a Real-Time Augmented Reality Measuring App with ARKit and Pusher.”
FreeCodeCamp.org, FreeCodeCamp.org, 24 July 2017,
www.freecodecamp.org/news/how-to-build-a-real-time-augmented-reality-measuring-app-
with-arkit-and-pusher-41da426dedf9/.
“Is It A Crime To Catch An Undersized Fish or Too Many Lobster?” Key West Criminal
Defense, 15 Sept. 2016, keywestcriminaldefense.com/crime-catch-undersized-fish-many-
lobster/.
“Java Swing Tutorial - javatpoint.” (2021). Retrieved from
https://www.javatpoint.com/java-swing
Koul, P. (2020, April 16). “Difference between public, private, protected and default in
Java.” Retrieved from
https://iq.opengenus.org/public-private-protected-in-java/#:~:text=First and important
difference is the accessibility i.e.,and default is accessible only inside the package.
Nair, A. (2021, September 23). Top 5 Libraries For Image Processing In Java. Retrieved
from https://analyticsindiamag.com/top-5-libraries-for-image-processing-in-java/
“NJ Blue Crab Regulations.” The Fisherman, 28 June 2021,
www.thefisherman.com/article/nj-blue-crab-regulations/#:~:text=The minimum size for
crabs,attached must be returned immediately.
“Open Source Swift Library for Image Processing.” (2022). Retrieved from
https://products.fileformat.com/image/swift/swiftimage/
Running Head: CATCH OR RELEASE APP DEVELOPMENT Billotti 7

“Problem with Undersized Fish.” Fishingreminder, 2021


www.fishingreminder.com/fishing-talk/4-fishing-talk/3686-problem-with-undersize-fish.
“SwiftUI Overview - Xcode - Apple Developer”. (2022). Retrieved from
https://developer.apple.com/xcode/swiftui/
“Swift Variables, Constants and Literals.” (2022). Retrieved from
https://www.programiz.com/swift-programming/variables-constants-literals#:~:text=In
Swift, we use the var keyword to,variables. For example, var siteName:String var id: Int
Tu, Chen-Yi, et al. “Fishing and Temperature Effects on the Size Structure of Exploited
Fish Stocks.” Nature News, Nature Publishing Group, 8 May 2018,
www.nature.com/articles/s41598-018-25403-x.
“Various Methods and Causes of Illegal Fishing That Affect Our Marine Life.” Conserve
Energy Future, 9 Oct. 2020, www.conserve-energy-future.com/methods-causes-illegal-
fishing.php.
Wain, Ryan. “Crab Measuring Gauge for Dungeness and Blue Crabs.” Fisherman First, 17
Aug. 2021, fishermanfirst.com/crab-measuring-gauge/.
Waqas Bhati (2015, September 01). “Swift: Declare a Public Variable.” Retrieved from
https://stackoverflow.com/questions/28191815/swift-declare-public-variable
Running Head: CATCH OR RELEASE APP DEVELOPMENT Billotti 8

You might also like