jump to navigation

Mobile Hunting Application December 11, 2012

Posted by brltkd in Mobility.
trackback

Introduction

It is important to be aware of your location while hunting as well as the applicable rules and regulations. Hunters often go to different locations and regulations may differ between them. They also need to be aware of the land where they are hunting to ensure they are on the property legally and are not trespassing. Mobile technology can be leveraged to make this information easily accessible to hunters.

Example Scenario

You are set to walk from the car to your hunting location and open the application. It displays an alert reminding you that you are in a shotgun only management unit so you are sure to use the correct weapon. This is a new area of public land that you have scouted but you are not very familiar with the topography. You follow the directions to the location where you will hunt for day which you have previously marked. A few minutes after arriving, your phone vibrates to alert you that the legal opening time has passed.

After a while you decide to take a walk and explore a new area. Your phone vibrates to indicate that you are approaching the property line. You check the map to verify your location and change direction to prevent crossing into private property. You are alerted about an hour before the end of the hunting hours to start heading back since the application know it will should take about 45 minutes to return to your vehicle. As you approach the road your phone vibrates to indicate you are too close to the road to take a safe shot.

Technology Overview

There are several technological aspects to this application which I will address in the context of the example scenario.

Network Availability

The primary concern with this application is the presence of a data connection. The majority of the population is covered by cellular data services but hunting often occurs in unpopulated areas with unreliable or no coverage. [1]

The application must be able to cache information retrieved when the network is available and use that data when no coverage is present. Even if network coverage is available, it may not provide enough bandwidth to transfer the information in real-time. This requires sufficient storage space on the mobile device as well analysis to know what data may be needed during offline operation.

Often higher speed data connections are available near roadways and they degrade as you move into more obstructed areas. Cached data is still used when only a slower network like a 1X connection is available. Volatile data such as the current weather forecast will still update with the slower connection. Data requiring higher bandwidths, such as maps, will only be updated when a higher speed connection like a 3G network is present and this data is cached.

In the example, the destination is already known before setting out. The application should retrieve the relevant data for the area within a user specified radius of this location. This will enable the application to function using the cached information for the area if no data connection is present.

The actual caching can be accomplished by implementing web storage functionality in HTML5. Using the localStorage attribute allows the creation of local storage objects which hold the information. [2] The application first checks to see if the necessary data is available in a local storage object prior to retrieving it. The local data is used if available or new data may be retrieved and stored if a fast enough data connection is available.

Additionally the HTML5 application cache allows the specification of a manifest file. This file allows application to specify how and when different portions of the data should be downloaded. [3] Specific pages and resources can be listed in this file so they are cached immediately after they are first downloaded. This is ideal for static information such as JavaScript, CSS, and image files. Additionally it can specify resources that are only accessible when the network is available and a fallback method for when it is unavailable so the application gracefully handles offline operation.

Location Determination

Both GPS and cellular phone based locating systems can be used together to determine the users location. Cellular phone coverage is often available in many rural areas where data coverage is unavailable. The GPS would still provide a sufficiently accurate location even if cellular coverage is not present.

This information is retrieved by implementing the Geolocation API, which provides a transparent method for retrieving the current location. This standard API is available in most current mobile devices and is implemented by many applications. This API uses multiple factors, including but not limited to those listed above, to determine the user’s current location. [4] The application itself does not need to calculate the location itself. However, it does need to trust that the location provided by API is accurate.

Mapping Information

The map functionality is a primary aspect of this application. General map data is readily available through services such as the Google Maps API. This is used to display and provide the map interaction. This creates a familiar interface for the user without the need to develop and maintain a large amount of native code.

The maps are loaded and managed through a Javascript API that has many methods and properties to control the maps appearance and operation. Providing the API with the latitude and longitude coordinates retrieved from the Geolocation API allows it to display the user’s current location. [5]

Geographical Information Systems (GIS)

Utilizing the public GIS information creates the ability to provide alerts the user regarding public land and property boundaries. The Wisconsin Department of Natural Resources (DNR) provides GIS files containing information about state owned, managed forest crop land, and other land accessible to the general public. [6] They are available through FTP, which is sufficient for this application as the files would be cached and only updated if a newer file was available. Their information can be display on the map by using Keyhole Markup Language (KML) layers in the Google Maps API. [5]

Other GIS information such as property line locations and owner data is maintained at the county level. General availability of this data varies by county. Ideally each county would publish their GIS files to a single location for the state where the information can be easily retrieved.

Even without the county level information, the application would still be able to alert the user about their location relative to the public land.

Hunting Regulations

The hunting regulations are published and distributed by the DNR. They are currently only available as PDF documents which the application can download and cache so the user always has them available. [6] This format would provide a version that the hunter can easily read and search.

However, these documents are difficult to process directly to provide alerts to the user. Converting the files to a structured format that is easily parsed is necessary. One possible solution is to publish the files in an XML format. The application can download and cache these files on the device making the readily accessible regardless of network availability. This allows the application to generate alerts automatically for the opening and closing hunting hours.

Future Work

This application could be expanded to other outdoor sports in addition to hunting. Many of the aspects this application addresses would also be applicable to fishing, snowmobiling, in addition to hunting. Information regarding their rules and regulations would need to be available in a manner similar to the hunting regulations. Other data such as snowmobile trails and conditions along with lake specific conditions could also be beneficial.

 

[1] Verizon, “Network Facts,” Verizon, October 2012. [Online]. Available: http://aboutus.verizonwireless.com/bestnetwork/network_facts.html. [Accessed 13 November 2012].
[2] I. Hickson, “Web Storage,” W3C, 8 December 2011. [Online]. Available: http://www.w3.org/TR/webstorage/#the-localstorage-attribute.
[3] W3Schools, “HTML5 Application Cache,” 2012. [Online]. Available: http://www.w3schools.com/html/html5_app_cache.asp.
[4] A. Popescu, “Geolocation API Specification,” W3C, May 2012. [Online]. Available: http://dev.w3.org/geo/api/spec-source.html.
[5] Google Inc., “Google Maps Javascript API V3 Reference,” Google Inc., 18 November 2012. [Online]. Available: https://developers.google.com/maps/documentation/javascript/reference.
[6] Wisconsin Department of Natural Resources, “Hunting Regulations,” 7 December 2012. [Online]. Available: http://dnr.wi.gov/topic/hunt/regulations.html.
Advertisements

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: