Code Monkey home page Code Monkey logo

trail-sense's Introduction

Trail Sense

Use your Android phone's sensors to assist with wilderness treks or survival situations. Designed for entirely offline use.

Nightly

Trail Sense is a tool, and just like any other tool that you bring into the wilderness, it's essential to have backup equipment and skills.

As featured in the #WeArePlay campaign!

See the Technical Blog / Research

F-Droid Google Play
Get it on F-Droid Get it on Google Play

Table of Contents

Feature Roadmap (2024)

The feature roadmap is a tentative outline of the major features that are planned to be completed in the next year. Smaller features may end up being implemented in between.

  • Augmented reality
  • Customization
  • Stability / performance
  • Path navigation
  • Experiment with the first plugin (Comms)

Goals

  • Trail Sense must not use the Internet in any way, as I want the entire app usable when there is no Internet connection
  • Features must provide some benefits to people using the app while hiking, in a survival situation, etc.
  • Features should make use of the sensors on a phone rather than relying on stored information such as guides
  • Features must be based on peer-reviewed science or be verified against real world data
  • Use Cases

Features

  • Designed for hiking, backpacking, camping, and geocaching
  • Place beacons and navigate to them
  • Follow paths
  • Retrace your steps with backtrack
  • Use a photo as a map
  • Plan what to pack
  • Be alerted before the sun sets
  • Predict the weather
  • Use your phone as a flashlight
  • And much more!

See the need for a new feature? Post it here!

For a list of community contributed device feature support, go here

Privacy

Location information gathered by this application does not leave your device (as a matter of fact, this app doesn't use the Internet at all). The altitude and pressure history for the last 48 hours is stored in local app storage - this is used to determine weather forecasts. The last known location is also stored in app preferences to allow faster load times and support app functionality when the GPS can not be reached. The beacons and paths store their location information in a local SQLite database. All of this information is cleared when you clear the app storage or delete it.

Permissions

Sensitive

  • POST_NOTIFICATIONS
    • Allows Trail Sense to display notifications (backtrack, weather, sunset alerts, astronomy events, water boil timer, etc)
    • When denied: Alerts will not be displayed and some services may not function properly depending on your device manufacturer.
  • ACCESS_FINE_LOCATION / ACCESS_COARSE_LOCATION
    • Allows Trail Sense to retrieve your location for navigation, weather (sea level calibration), and astronomy.
    • When denied: You will have the ability to mock your location under Settings > Sensors > GPS. On Android 14+, backtrack and weather will be unavailable due to Android OS constraints.
  • ACCESS_BACKGROUND_LOCATION
    • Allows Trail Sense to retrieve your location for sunset alerts while in the background. On some devices, this will also improve the reliability of backtrack and weather monitor (though shouldn't be needed on most devices).
    • When denied: If you travel and do not open Trail Sense, but have Sunset Alerts enabled, the times will likely be inaccurate.
  • ACTIVITY_RECOGNITION
    • Allows Trail Sense to use your phone's pedometer for distance calculation.
    • When denied: The pedometer will not work.
  • CAMERA
    • Allows Trail Sense to use your camera on the sighting compass, clinometer, and for taking photos used by the Cloud Scanner, QR Code Scanner, and Photo Maps.
    • When denied: You will not be able to use the sighting compass, camera clinometer, or QR Code Scanner. You will need to pick an existing photo to use for the Cloud Scanner or Photo Maps.
  • SCHEDULE_EXACT_ALARM
    • Allows Trail Sense to post a notification at an exact time. This is used by the Clock tool (when updating system time) and Sunset Alerts.
    • When denied: The clock and sunset alerts may not be accurate (can be off by several minutes).

Not sensitive (always granted)

  • RECEIVE_BOOT_COMPLETED
    • Allows Trail Sense to restart when you reboot your device. This will re-enable backtrack, weather monitor, and several other background services.
  • FOREGROUND_SERVICE
    • Allows Trail Sense to start foreground services, such as backtrack and weather monitor.
  • FLASHLIGHT
    • Allows Trail Sense to control the phone's flashlight.
  • VIBRATE
    • Allows Trail Sense to vibrate the phone. Used for haptic feedback on dials and on the metal detector tool.
  • WAKE_LOCK
    • Allows Trail Sense to reliably run services such as backtrack and weather monitor, especially when the frequency is under 15 minutes.

Debug features

Only available on debug APKs / builds via Android Studio

  • Weather tool's barometer chart shows unsmoothed readings in background
  • Weather history, elevation history, path elevations, and latest cloud scan are logged to the files/debug folder in Trail Sense data as CSV files
  • Weather settings shows statistics timing (for weather monitor service)
  • Paths show statistics about timing (for backtrack service)

Contributing

See the CONTRIBUTING.md file for details on contributing to Trail Sense.

FAQ

The FAQ has moved to the wiki

Support

The best way to support Trail Sense is to send me your feedback, share how you are using it, test nightly builds, or post your ideas for new features.

Open Source Credits

License

License

trail-sense's People

Contributors

acabman666 avatar alessandrofrangiamone avatar another-sapiens avatar beriain avatar cewbdex avatar chuckmichael avatar clonewith avatar comradekingu avatar craftefix avatar crlambda avatar delthia avatar ebraminio avatar fjuro avatar jakarrrg avatar jer194 avatar kylecorry31 avatar laralem avatar muryno avatar oersen avatar ojppe avatar portagoras avatar qwerty287 avatar raphaelventura avatar santossi avatar secularsteve avatar shilonit avatar sr093906 avatar weblate avatar xoronic avatar zsbetu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

trail-sense's Issues

Add light meter/indicator

Tells you how much light to expect at night (can I see without a flashlight)

Maybe a gradient bar graph of some sort, or it could be just description text as an MVP.

Add GPS timeout

  • If GPS can't be reached after X seconds, use last altitude or barometric altitude (in that order)

Submit to F-Droid

If applicable, I'd be interested in seeing this app available on the main F-Droid repository :)

Improve barometric altimeter

When using the Barometer + GPS mode, it is very inaccurate. You should only use the barometric pressure when there is an altitude-caused change in pressure.

Allow downloading map tiles

User can download the currently viewed section of the map (at default zoom level)

User can name downloaded section of map

User can view which sections are downloaded

User can delete downloaded maps

Add paths

A path is a series of coordinates which should be followed in order

Remove flashlight page

Not very useful given that the flashlight is a quick action in the supported Android versions

Rename the app

A name should be chosen to better represent that it displays environmental sensor information - maybe something related to outdoors

Allow changing the barometer mode

The barometer currently uses sea level pressure or raw pressure. It should also let the user select whether to use the GPS or barometer for detecting and filtering out elevation changes.

Weather Page

  • Barometer (if available) [DONE]
    • Weather prediction (using pressure changes / temperature) [DONE]
  • Sunrise / Sunset
  • Temperature (if available) [DONE]
    • Heat index + warnings [DONE]
  • Humidity (if available) [DONE]
    • Comfort level [DONE]
  • Moon phase [DONE]
  • Predictors (instructions for using clouds, wind direction, etc to predict weather)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.