GithubHelp home page GithubHelp logo

sail4oxygenmobile's Introduction

sail4oxygen ReadMe

Great projects often start with a terrible underestimation: "We might need kind of a registration page at one point. Probably a Google-Form would do it", was how I came into the Citizen Science: Sailing for Oxygen Project and here am I writing the Readme for a mobile app…

For more information about Citizen Science: Sailing for Oxygen, the project behind this app, go to sail4oxygen.org (german) or see the official press release in english

Release Status:

Beta Testing - (Please get in contact if you want to help with testing and development)

Release Notes

here

Using the app

The main purpose is to receive a shared CSV-File from that previously mentioned KOR App with a measurement in it. Multiple measurements in one file will also work, as long as they are taken as a time series at the some location. The reson for that limitation is the design of the exported CSV File and the fact, that it does not provide location data. sail4oxygen jumps in at that point and adds the either automatically or manually entered GPS-Latitude and Longitude. Once done, sail4oxygen will pack everything and send it via email to GEOMAR where your measurement will be processed and published.

Steps

  • Do a measurement with the sonde
  • Download the Data using the KOR-App
  • Export Data as CSV File
  • Select GEOMAR from the list of Share Targets
  • (correct the GPS Coordinates if needed)
  • Press “Send to GEOMAR”
  • A Mail Message will be displayed to be sent.

Credits

Like most software today this project heavily depended on people willing to share their good knowledge on Stackoverflow. That said, I have to admit that my first asking more and more often goes to Github Copilot and ChatGPT.

LIBRARIES USED:

CommunityToolkit.Mvvm (version 8.2.1) The CommunityToolkit.Mvvm is a powerful open-source library developed by the community under the MIT License. It provides a set of MVVM (Model-View-ViewModel) components and utilities for building cross-platform applications. The CommunityToolkit.Mvvm simplifies the implementation of the MVVM pattern, enabling developers to write maintainable and testable code.

CommunityToolkit.Maui (version 5.2.0): The CommunityToolkit.Maui is an open-source library developed by the community, providing a collection of controls, helpers, and services for building cross-platform applications using Microsoft MAUI. It offers a range of UI components and utilities that enhance the development experience and enable the creation of visually appealing and functional user interfaces. The Librariy is also released under MIT License.

sail4oxygenmobile's People

Contributors

hinnerkweiler avatar

Stargazers

 avatar

Watchers

 avatar  avatar

sail4oxygenmobile's Issues

Allow Coordinates in different formats

Is your feature request related to a problem? Please describe.
Plotters rarely display decimal coordinates per default.

Describe the solution you'd like
Entering coordinates manually in other formats should be possible. e.g.

53 30.25N
53 30 15N
53.525N
53,525N

are all the same value

Manual selected KOR file get's no Coordinates added

Describe the bug
When a KOR File is saved to the device an opened using the app it does not get coordinates attached and the original file is just attached.

To Reproduce
Steps to reproduce the behavior:

  1. create a KOR compatible CSV and save it locally
  2. start App
  3. select the CSV and press Send

Expected behavior
Coordinates and Boatname should be added to each row, the filename should be different then KOR exported

Does not send without location service

Describe the bug
Sending a Message fails

  • if no GPS Signal is available (may happen inside metal boats)
  • if location services have been intentionally turned off
  • if permission to use the Device Location was removed.

There is no clear error associated by now. After trying to send the App will only report "Did not send your message!"

To Reproduce
Steps to reproduce the behavior:

  1. Turn off Location Service
  2. share a CSV or load it from File Browser
  3. press Send

Expected behavior
A clear error message in case no Coordinates were entered manually or using those

Exported CSV contains empty rows

Describe the bug
After each line in the generated CSV follows an empty row.

Rewriting the Line Ending adding "\n\r" adds a new line followed by a carriage return. The correct way would the carriage return first: "\r\n"

Decimal Seperator vanishes if manual entered using decimal point

Describe the bug
Entering Coordinates manually using decimal point results in coordinates without decimal separation at all.

To Reproduce
Steps to reproduce the behavior:

  1. crete a measurement
  2. enter coordinates and send the measurement

Expected behavior
Decimal coordinates in CSV file

make entering coordinates easier

Is your feature request related to a problem? Please describe.
Yes. Coordinates in d.ddddd° notation are uncommon in boating. Conversion errors have already occured. Change entering coordinates to [d]dd° m.mmmmm notation. Also add a converter for different formats.

Describe the solution you'd like
Default display: change to dd°mm.mmmmm. A map view allows to manually select a location and enter coordinates in either d.dddd and d°m.mmmm or d° m ss.sssss.

Insert boat name on main page

It would be helpful if the boatname could be inserted next to the position data. Especially if one phone is used by severeal citizen scientists on different boats. Also to just check if it had been set correctly.

It would be great to keep the option to set the boatname in the settings and display the set name as default but in a text input form where it can be changed. The newly inserted name should then be used as the set name.

unclear email share process

Describe the bug
Handing the data to an e-mail client might be confusing and needs clarification.

When using the App for the first time Android presents all apps that are able to handle an e-mail share intent. It might be confusing and either the wrong or no mail client could be chosen.

Expected behavior

  • Give clear advice to select a configured mail client before the intent is shown.
  • if possible check for a positive callback from the selected app after sending the mail

Select Screen mode

Is your feature request related to a problem? Please describe.
A phone might be set to dark mode and using the app in dark mode outside in bright sunlight is difficult.

Describe the solution you'd like
Allow a setting to select from:

  • Follow Phone screen mode
  • permanent bright mode
  • permanent dark mode

Additional feature

  • Check if the phone provides ambient information and switch to bright mode in sunlight conditions

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.