PanicInitiative / PanicButton

Panic Button turns your mobile phone into a secret alarm for when you're in trouble
https://panicbutton.io
GNU General Public License v3.0
200 stars 99 forks source link

Implement configurable haptic feedback via Advanced Setting to change vibration pattern. #140

Closed niccs closed 8 years ago

niccs commented 8 years ago

Experimenting with new feedback mechanisms. Implementation Notes

Haptic Feedback options:

Alert sending vibration

Long vibration (current) Three short - pause - Three short SOS: Three short - Three long - Three short None (warn user about this) Confirmation vibration

Long vibration (current) Short vibration None (warn user about this) NOT Confirmed vibration

None (current) Three Fast Short After changing the Haptic Feedback option the user should be offered to do the trigger exercise again.

Vibration for confirm + vibration for activated Countdown Vibration + long active or 3 short cancel Countdown (O) Vibration + long active or 3 short cancel

niccs commented 8 years ago

Here is my understanding and queries regarding the implementation of new feedback mechanism.

Alert sending Viberation:--

1)Long Vibration(current)— As per current dev code its 2 sec 2) Three short - pause - Three short-- I am assuming the meaning as:-three short vibrations with pause in-between 3)SOS: Three short - Three long - Three short

My understanding is that all these 1,2,3 options above are radio buttons.

Query-- For 2,3) points above , need information on— a) vibration duration in time units ( e.g. short =.5sec, long – 2 sec) b) and also what is the pause duration in time units

4)None (warn user about this)— Query:-- need information on more details for warning a) where to show warning (as a toast message, or as a dialogue)? b)when to show the warning, as soon as user selects this option? c)warning message? d) we need to implement the logic and make it configurable

Confirmation vibration:-

1) Long vibration (current) :-- Currently as per code is .5 sec 2) Short vibration :-- Query:-- need information on— a) vibration duration in time units(e.g. short =.5sec, long – 2 sec)

b) None (warn user about this): same as above,

Query:--need information on more details for warning a) where to show warning (as a toast message, or as a dialogue)? b)when to show the warning, as soon as user selects this option? c)warning message? d) need to implement the logic and make it configurable

NOT Confirmed vibration:-

1) None (current) 2) Three Fast Short:-- need information on— Query:-- a)vibration duration in time units(e.g. short =.5sec, long – 2 sec) b) Pause duration in time units c) Need to implement the logic and make it configurable

Query:--

After changing the Haptic Feedback option the user should be offered to do the trigger exercise again.:

 As soon as the user saves the new settings, he will be able to use the new patterns for alerting right there...Or, do we need to move the control back to training screens as currently during the installation of app, about how the alert will be triggered.

In the later case there are more efforts required :-- 1) We need to update the animation files. 2) Upload all possible pattern animation files in the app(will increase app size) 3)Currently using the animation files is mentioned in .json files, so we need to make this configurable 4) Currently training the trigger service is the part of one complete flow during the first time installation of app. So need more analysis in modularizing just the training of trigger patteren related flow to integrate it with Advanced settings savings.