Code Monkey home page Code Monkey logo

arduino / arduino-science-journal-ios Goto Github PK

View Code? Open in Web Editor NEW
22.0 9.0 9.0 35.33 MB

Use the sensors in your mobile devices to perform science experiments. Science doesn’t just happen in the classroom or lab—tools like Science Journal let you see how the world works with just your phone.

Home Page: http://arduino.cc/education

License: Apache License 2.0

Ruby 0.07% Shell 0.07% Swift 97.03% HTML 2.68% Python 0.16%
arduino science physics education science-journal

arduino-science-journal-ios's Introduction

Science Journal Logo

Twitter: @Arduino License

Arduino Science Journal for iOS allows you to gather data from the world around you. It uses sensors to measure your environment, like light and sound, so you can graph your data, record your experiments, and organize your questions and ideas. It's the lab notebook you always have with you.

Arduino Science Journal

Features

  • 📈 Visualize and graph data from a variety of sources including your device's built-in sensor
  • 📲 Connect to external sensors over BLE .
  • 📷 Annotate with pictures and 📝 notes.

More

Science Journal formerly brought to you by Making & Science, an initiative by Google. Arduino Science Journal is now an official Arduino Education product.


Required dependencies

First, you'll need a Mac. We don't support building the iOS app on anything else.

Second, you'll need the latest version of Xcode installed.

Third, we use a few open source frameworks to build this app, so you'll need to install CocoaPods as your package manager in order to get what you need to build.

Fourth, we use protobuf. You'll need to install that too. We use Homebrew to install it.

Here are the steps to set up your environment:

  1. Install Xcode.
  2. Install CocoaPods by running sudo gem install cocoapods from your terminal.
  3. Install Homebrew by following the instructions on the Homebrew website.
  4. Install protobuf by running brew install [email protected]; brew link [email protected] -f from your terminal.

Building and running

Before you jump into coding, you'll need to run pod install from the root of this project (the folder that contains has the Podfile file)

Then you can open ScienceJournal.xcworkspace

Note: there is a ScienceJournal.xcodeproj file, but since we use CocoaPods, you shouldn't use that project file. If you do, nothing will work 😭

Contribute to Science Journal iOS

Check out CONTRIBUTING.md for more information on how to help with Science Journal iOS.

Code of Conduct

Help us keep Science Journal open and inclusive. Please read and follow our Code of Conduct.

License

This project is licensed under the terms of the Apache 2.0 license. See the LICENSE file.

Security

If you think you found a vulnerability or other security-related bug in the Arduino Science Journal, please read our security policy and report the bug to our Security Team 🛡️ Thank you!

e-mail contact: [email protected]

arduino-science-journal-ios's People

Contributors

emiliopavia avatar manuelzomer avatar sebromero avatar vkin-arduino avatar

Stargazers

 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

arduino-science-journal-ios's Issues

Text overlaps on iPhone SE 2

Describe the bug
A clear and concise description of what the bug is.

Text in Italian overlaps in welcome screen. Text margins are wrong
Image from iOS (1)

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]iOS
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]iPhone SE 2
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Language localisation

This is not a feature request but rather a question related to language localisation in the app.

I want to add support for my language (Marathi) in this app. I scanned through all the documentation and the forum but couldn't find anything written about the language localisation for this app. I understand that the Arduino IDE has a translation project on transifex and I am looking for something similar for the science journal app on iOS (and on Android too assuming the text strings are the same.)

Can you please help me with this? How can I add a language to the app?

To give an example, my aim is to have the texts shown in the below snaps in Marathi language.

B8C5BBC7-1F10-45AB-A565-03C44A6A1657_1_105_c

FF16A10F-FA66-4E6F-A8A0-E4E471F6D65E_1_105_c

9FEC71B2-7516-49A6-A5E2-C6D66E7F3B18_1_105_c

Action area looses its shadow when navigating

Describe the bug
The action area loses its shadow when navigating to a sensor recording that doesn't need scrolling and then going back.

To Reproduce
Steps to reproduce the behavior:

  1. Add a few notes to the experiment so that it requires scrolling
  2. Click on a sensor recording that doesn't require scrolling (no additional notes for the recording)
  3. Navigate back
  4. The action area has lost the shadow. It doesn't reappear when scrolling.

Expected behavior
The action area should restore the shadow in the sensor card view if scrolling is required there.

Screenshots
Bug Action Area

All Sensors display on Sensor Card

Describe the bug
A clear and concise description of what the bug is.

If I select a specific sensor in an experiment, and go back to the home screen by mistake, and then go to the sensor card again, all sensors from the device and Arduino are automatically selected

To Reproduce
Steps to reproduce the behavior:

  1. Create a new experiment
  2. Click on the sensor icon
  3. In the sensor card all the device and Arduino sensors are automatically selected
  4. Go to sensor settings to unselect them all

Expected behavior
A clear and concise description of what you expected to happen.

If I select a sensor, e.g. Arduino linear acceleration, and go back by mistake... I should be able to see always the same sensor selected, not all of them.

Screenshots
If applicable, add screenshots to help explain your problem.
Animated GIF-source (7)

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Recording pretends to start but doesn't with disconnected sensors

Describe the bug
When one of the sensors on the sensor card is not connected and the recording button is tapped, the action area switches to the recording mode, the navigation controller doesn't.

To Reproduce
Steps to reproduce the behavior:

  1. Open an experiment
  2. Add a bluetooth sensor that is not connected
  3. Start recording
  4. See the incorrect behaviour of the action area

Expected behavior
The user should be presented with a message saying that either, recording is currently not possible, or give the user the option to proceed recording without the disconnected sensor. The latter option is more user friendly but maybe it's an edge case that we don't need to consider.

Screenshots
Recording bug

Differentiate device sensor icons from external device icons

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

It can be confusing for a user to understand which sensor you've selected, especially if 2 sensors reads the same kind of data (e.g. accelerometer XYZ). If icons are the same, and you record it's impossible to see which one is which

IMG_7EC6EA4E378A-1
IMG_7EC6EA4E378A-2

Describe the solution you'd like
A clear and concise description of what you want to happen.

Either using different icon colors or a different shape to discriminate internal and external sensors

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Auto Scale for Recordings

Describe the solution you'd like
An auto scale function that scales the recording's graph y-axis according to the maximum and minimum values of the current recording. This feature also exists on Android.

Screenshot 2020-12-08 at 17 12 33

Screenshot 2020-12-08 at 17 12 33

Users have the ability to create alert triggers without alerting-method

Describe the bug
When creating a trigger of the type alert, it is possible to not choose an "Alert me using..." method, this results in a trigger which is active but doesn't do anything.

To Reproduce
Steps to reproduce the behavior:

  1. Select a sensor
  2. Create a new trigger
  3. Choose "Alert Trigger" as trigger type
  4. Save without choosing anything in "Alert me using..."

Expected behavior
The user should not be able to save if no alert method is selected, the method "Visual Trigger" should be pre-selected. This is also the behaviour on Android.

Screenshots
7c610cba-e5da-4ee4-8c65-348992e31094
9356da85-0613-4bd2-b153-d7c14050f522

Application crash[iOS 13.6.1 - iPhone11]

Describe the bug
Application crashed

To Reproduce
Steps to reproduce the behavior:

  1. open application
  2. select/create experiment
  3. From sensor select Pitch

Expected behavior
Application should be stable, don't crashed.

Screenshots
IMG_1650.zip

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: iPhone 11
  • OS: iOS 13.6.1
  • Browser: latest safari and google chome( latest from apple store)

Select multiple sensors at the same time

Issue Description

Sensors are shown in the pairing section as drop down, not as a subset of sensors of a specific board ID see the example for Android below.

IMAGE 2020-07-24 14:48:09

Environment

  • iOS version tested ______
  • Device type (iPhone/iPad/etc) ______
  • Xcode version (if applicable) ______

Can't unselect all internal device sensors, even if an external device is connected

Describe the bug
In the sensor settings it is not possible to unselect all internal sensors (one sensor always stays) even if an external device is connected. In comparison, the Android version lets you unselect all internal sensors as long as any external sensor of a connected device is selected.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the sensor settings
  2. Add an external device
  3. Select a sensor of the external device
  4. Try to unselect all internal sensors

Expected behavior
As long as an external device is connected (and a sensor of this connected device is selected), it should be possible to unselect all internal sensors.

Audio Settings for Recordings

Is your feature request related to a problem? Please describe.
The sensor live view features different audio settings for transforming the visual curves into sound (Scale, Notes, Conductor). For a recording it is not possible to change to a different audio setting than the default one.

Describe the solution you'd like
There should be the same possibility of changing the audio style as there is for the sensor live view. This feature is also available on Android.

1
2

BLE Sensors info card text missing

Describe the bug
When connecting a BLE Sense and looking at the information cards of the sensors, they all have the "What’s going on?" title displayed but no text underneath.

To Reproduce
Steps to reproduce the behavior:

  1. Connect a BLE Sense
  2. Select a Sensor
  3. Click on the "i" button
  4. See missing text/misplaced title

Expected behavior
The "What’s going on?" section should either be filled with content or the title should not be displayed.

Screenshots
IMG_0955

Crash when adding note

Describe the bug
When adding a note from the action area and tapping "VIEW" the application crashes. The crash happens here:

preconditionFailure("A detailViewController is not currently being shown.")

To Reproduce
Steps to reproduce the behavior:

  1. Go to an experiment
  2. Click on "Text"
  3. Add a note
  4. Tap "VIEW" in the snackbar that appears

Expected behavior
The app should navigate back to show the note that was just created.

Smartphone (please complete the following information):

  • Device: iPhone X
  • OS: iOS 14

Switch sensor, once sensor is selected

Issue Description

Once a sensor is selected, it's impossible to switch to other sensors from the external hardware. The only way to go is to forget the device and pair that again.

UNADJUSTEDNONRAW_thumb_48

Environment

  • iOS version tested ______
  • Device type (iPhone/iPad/etc) ______
  • Xcode version (if applicable) ______

BLE temperature sensor is missing icon on sensor card

Describe the bug
The temperature sensor of the BLE Sense doesn't display any icon in its sensor card, it is the only sensor to do so.

To Reproduce
Steps to reproduce the behavior:

  1. Connect BLE Sense
  2. Select the temperature sensor
  3. See missing icon on the sensor card

Expected behavior
The temperature sensor should display an icon on the sensor card like all other sensors.

Screenshots
IMG_0956

Issue with notes and pics associated to a recording of multiple sensors

Describe the bug
A clear and concise description of what the bug is.

There is an issue with adding notes and pics to a recording that has memory of 2 or more sensors recorded concurrently.
The notes and pics show up in all recording screens

To Reproduce
Steps to reproduce the behavior:

  1. Make a 2 sensors recording
  2. Tap on the sensor recording
  3. Scroll through tabs
  4. Add a note and a picture at some point on the timeline
  5. Scroll to the other tabs (the notes will still be displayed across multiple recordings)

Expected behavior
A clear and concise description of what you expected to happen.

The pics and notes should be associated ONLY to the tab of the selected sensor

Screenshots
If applicable, add screenshots to help explain your problem.

IMG_7EC6EA4E378A-1
IMG_7EC6EA4E378A-2

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Inconsistent sensor order

Describe the bug
The sensor icons are not presented in the same way on ios and android.

To Reproduce
(both ios and android phone needed)

  1. Go to settings
  2. Check all the sensors
  3. Go back to the sensor view
  4. See inconsistent order on both phones

Expected behavior
I expect the sensors to be in the same order on both operative systems

Screenshots
image
image

Desktop (please complete the following information):

  • OS: [iOS; ANDROID]
  • Version [20 ios, 1.0.0 android]

Smartphone (please complete the following information):

  • Device: [iPhone7]
  • OS: [iOS14.0.1]
  • Browser [e.g. stock browser, safari] (no browser)
  • Version [e.g. 22](don't know)

Additional context
Add any other context about the problem here.

Unarchive uses the same icon as archive

Describe the bug
Unarchive uses the same icon as archive

To Reproduce
Steps to reproduce the behavior:

  1. Go to main screen
  2. Click on three dots of an experiment, then tap "Archive"
  3. Click again on the three dots
  4. See the incorrect unarchive icon

Expected behavior
Unarchive should use the icon with the arrow pointing up

Screenshots
image

Smartphone (please complete the following information):

  • Device: iPhone X
  • OS: iOS
  • Version 14

Measuring resistance with Nano 33 BLE Sense

Is your feature request related to a problem? Please describe.
To be able to implement some of the lessons for the content platform, we need the be able to measure the resistance with the Nano 33 BLE sense.

Describe the solution you'd like
I want to be able to measure resistance with the Nano 33 BLE Sense, this includes a feature in the app together with the sensor icon. Right now I think I can measure the resistance with the Raw or Resistance sensor using the Science Kit setup. So similar to this but for the other board.

Describe alternatives you've considered
Using the Science Kit setup (mkr and shield), however the other content focuses on the Nano board and I would like it to be consistent.

Additional context
This is what it looks like if I connect to the mkr and shield from the science kit.
image

Group sensor in the sensor card by device

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

We need to group sensors according to devices used. At the moment sensors are displayed randomly with no selected order.
IMG_1ECCF6CF089D-1

Describe the solution you'd like
A clear and concise description of what you want to happen.

The first sensor to appear should be the latest selected, also the sensors should be sorted by device. First the Arduino ones, then the iphone/ipad ones.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

MKR WiFi 1010 ID not shown

Issue Description

The board you want to pair is not shown with its unique ID (in a classroom with multiple devices, this is particularly complicated). At the moment, in the Android version of the app you get a unique ID identifier like: MKRSciXXX

IMAGE 2020-07-24 14:40:57

You have Available Devices > Arduino Boards > list of BT devices connected > MKRSciXXXX device

Once you select the device you get a drop down with all sensors listed for that specific device.

Environment

  • iOS version tested ______
  • Device type (iPhone/iPad/etc) ______
  • Xcode version (if applicable) ______

Inconsistency in alignment of recoding-length label

Describe the bug
When creating several recordings within an experiment, the recoding-length label is sometimes aligned to the right and sometimes aligned to the left (see screenshot).

To Reproduce
Steps to reproduce the behavior:

  1. Create several recordings in an experiment
  2. Look at the observations-view of the experiment

Expected behavior
The alignment should be consistent.

Screenshots
ipad-screenshot

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Snapshot icon not supported

Describe the bug
A clear and concise description of what the bug is.

When taking a snapshot on iOS, the icon of the sensor is not supported in the card, and it's replaced by a placeholder icon
IMG_6C922B3D98C8-1

To Reproduce
Steps to reproduce the behavior:

  1. select a sensor
  2. Click on the snapshot icon
  3. See the snapshot icon card

Expected behavior
A clear and concise description of what you expected to happen.
This is how it should look when fully working (the screenshot is taken from Android):
photo_2020-08-31 17 48 47

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

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.