In partnership with InvasivesBC, we created custom software for invasive species management. The project includes several modern applications that are helping create a responsive digital government.
FreshWorks was commissioned by the Ministry of Environment and Climate Change (ENV) and the Ministry of Forest, Lands, Natural Resource Operations and Rural Development (FLNRORD) to create a species and ecosystem information system to provide valuable information on invasive species. The system is easily accessible by multiple stakeholder and user groups, and helps collect and share real-time data to prevent establishment and minimize the spread of invasive land species in British Columbia.
Although the Province of British Columbia had an existing application for invasive plants, there was no information system in place to address invasive animal species threats. Because of this, most invasive animal species issues were being managed as one-off projects as resources allowed, and were being entered into an existing invasive plant IAPP (Invasive Alien Plant Program) application that was no longer aligning with the province’s business priorities.
Not only were these processes leading to sporadic and disconnected data collection and retention, but users were starting to abandon the existing IAPP application in favour of more nimble solutions that could better accommodate their needs. The shift by users away from IAPP created data silos and directly impacted the currency and reliability of data stored in IAPP.
The Province of British Columbia was challenged with a siloed approach to information on invasive species management and the system was creating significant economic, social and environmental damage. For example, just six species of invasive plants were estimated to cost British Columbia $65 million in economic losses in 2008, increasing to a projected $129 million by 2020 with further spread.
Concrete and timely information on invasive species occurrences was not in the hands of the people who needed it. In order to make effective decisions about eradicating, preventing, and managing invasive species the province needed to collect and share data more widely and in real-time.
Public safety and ecosystems were at risk as the occurrences of invasive species were often missed. Management was reactive rather than proactive, and programs for eradication, prevention, or treatment often failed to achieve desired outcomes.
The province wanted to restore trust and strengthen the process of invasive species reporting, response and management in British Columbia. They approached FreshWorks to build a scalable solution based on that vision.
To stay resilient in the face of socio-economic, ecological and technological change, the province identified the following objectives in the implementation of a new solution.
Consolidate all invasive species information into a unified system that is accessible, reliable, and responsive.
Improve collaboration among internal and external stakeholders by enabling easy entry, access, use, and sharing of data.
Support more efficient and effective science-based management of invasive species across British Columbia.
Reduce costs associated with managing invasive species and their impacts.
Reduce threats and impacts from invasive species with consideration of public safety, the economy, the environment, and native species.
Enable broader engagement in invasive species management by supporting citizen scientists, research, and knowledge transfer.
BC SEISM (aka Species and Ecosystems Information Systems Modernization project ) is a centralized database of inventory and management actions. It is also a mapping application that incorporates multi-faceted options for land managers and researcher scientists, along with easy reporting options for citizen scientists. This robust system tracks infestations, coordinates control actions, monitors results and reports legislated requirements.
Our approach was to transition from the existing invasive plant IAPP application to a new system under SEISM with expanded scope to cover all data needs for invasive species detection and management.
While delivering these essential tools for invasive species detection, control and management, our team developed a platform that enables the sharing of species population and occurrence data with other existing systems as well. It does this by accessing and using ecological layers and providing a valuable layer of information on invasive species for others to access.
Who Uses It?
There were 5 distinct types of users that would be interacting with this system. Each user type had different expectations and ideals for the user experience, based on their preferences and what they needed to do with the system. By examining and integrating 8 years worth of UX research we are able to make a pleasant experience for each so that everyone can successfully do their part with this custom software for invasive species management.
In the course of their work, surveyors will observe and record the absence, presence, and spread of invasive species; collecting this information for sharing within SEISM.
Subject Matter Experts
BC employs a number of SMEs who help combat negative effects of invasive species in the province. They perform a variety of duties including recording and analyzing data in order to create action plans which are captured within the application.
Private contractors implement the recommended treatments for observed invasive species based on the action plans developed by SMEs. The resulting activity is also captured in the SEISM database.
The BC Ministry of Environment and Climate Change Strategy employs IT System Administrators who manage the application, its users, and their access privileges.
Support for IDIR and BCeID Access
Government (IDIR) and BCeID (Basic, Personal, Business) logins are supported to access the system. Login is required to the general public to access the system and view the data collected; users with login IDs can have a different level of access than the general public.
User Roles and Permissions Management
Security levels are assigned to different user groups to ensure only authorized users have access to secure data. Security levels determine the type of access a user has to secure data. However, assigned project team members have access to their project information before it is released.
Interactive Maps Displaying Multiple Data Layers
An interactive map is available to assist with locating information by different attributes and helps users with understanding population and distribution trends in the province. Resulting datasets can be exported for additional analysis and mapping.
Observations of Invasive Species Absence / Presence
Users can record data for invasive plants or animals either through incidental observations or from inventory and stock assessment projects. Observations which fall outside of the known range for a particular species can be flagged to the data collector for validation.
Query and Export of Data
The project team can export the collected data in commonly used database file formats (i.e. EXCEL, CSV, KML) and have the ability to access the data directly for analysis.
Bulk Data Entry
Data collection is organized under projects which include surveys and project metadata. The system provides a container for the collected data and includes surveys, artefacts (i.e. documents, spatial files, photos), project metadata and caveats.
Mobile Device Data Entry
A subproject of SEISM was to build ‘Inspect’ — a mobile application used by boat inspectors to find and prevent invasive mussels from contaminating lakes in British Columbia. Through Inspect, users can download documented protocols from their mobile device and provide access to materials (PDFs, documents) to assist biologists with data collection.
Data can be collected on-site and stored locally on the mobile device when there is limited or no network access. The system continues to provide access to drop-down lists and applicable codes while offline. Data can be collected and stored on the mobile device until the biologist is ready to upload the data. The data can then be synced to the system when in network range.
Our applications for this project use Node, PostgreSQL (with PostGIS), and TypeORM. The team chose PostgreSQL as it is one of the most advanced open source database systems that enabled us to create a highly scalable and robust data cataloguing solution. PostgreSQL also supports diverse indexing techniques, flexible full text search and it comes with packaged PostGIS spatial libraries that helped us develop the interactive mapping interface.
Developed in Angular which offers a high level of security and greater assurances of code quality and consistency. This makes it easier for future project teams to work with our software.
Conducted using Karma, Jasmine, Mocha, and Chai. This variety of testing frameworks was used in order for us to build specialized test cases for different aspects of the application.
Containers were built using Jenkins pipelines and Docker. As part of our best practices for Continuous Integration and Continuous Development we want to ensure there is robust and repeatable work across platforms. Our environments run on an OpenShift container platform cluster. This modern and open source infrastructure enabled us to rapidly build out scalable and reliable applications that can be ported to different platforms should the need arise.
Evolution of the Primary Web Platform
The Government of British Columbia is actively building advanced software tools to maintain and expand this system. An aquatic and terrestrial species and habitat information system — one of the technical projects under Species and Ecosystems Information System Modernization (SEISM) is at the centre of their work. This new system will be used to encourage internal and external data collectors to record their aquatic and terrestrial species and habitat data. The system will provide several tools to support the collection, storage, management, reporting and analysis of data for internal staff and external stakeholders. This government database software will provide useful information and data that will improve productivity and efficiency in the public sector.
Improved Mobile Application
A subcomponent of SEISM was design and development of Inspect mobile application. We built the native iOS app to help boat inspectors identify, record and prevent invasive mussels from contaminating lakes in British Columbia. The enthusiasm for Inspect has spread to continue the work on a second mobile application for invasive plants and animals.
FreshWorks is helping an external team roll out this second mobile application; primarily with form creation, offline mapping and access data layers. Once completed, the application will allow users to download relevant spatial layers and georeferenced maps on their mobile device to assist with directions and identify areas of interest. These maps may include layers generated in ArcGIS, for example.
Centralized Species Inventory
A central source of species inventory will improve sharing of information across the province. This will allow interested parties to locate the information they need to create policy and make decisions which could impact the landscape. A central system will also enable prioritization of animal inventories and population monitoring to ensure species and their habitat are protected.