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

Advanced Settings Page #178

Open jmatsushita opened 8 years ago

jmatsushita commented 8 years ago

Please change the default trigger setting so that we send a release to our alpha group with a different default.

jmatsushita commented 8 years ago

This will require to allow "deactivating" or "activating" the confirmation press aspect (right now the settings can be changed, but it's not possible to "remove" the confirmation press sequence). Please no need to focus on making a UX setting for this yet, we can work on this with #179 just after.

niccs commented 8 years ago

@jmatsushita,

1)Currently the default trigger setting is "5 initial presses". Do we need to release the app with default value changed to "7 initial presses"?(its just the constant value changed to 7 from 5, or am I missing something?)

Q:-(right now the settings can be changed, but it's not possible to "remove" the confirmation press sequence). 2) I do not understand this. Right now also, in settings, user can select "None" in "Alarm Sending Confirmation" option

jmatsushita commented 8 years ago

Hi @niccs

1) We do change the constant value AND we remove the need for the confirmation sequence. i.e. after 7 presses the alarm starts.

2) There should now be 2 main modes. One when the alarm is sent only by repeated presses and no confirmation, another when the alarm is only sent after doing the initial presses PLUS the confirmation sequence. (there will be a 3rd custom mode where users can change the settings while mode 1 and 2 will have default that makes more sense but can't be changed, or rather need to be changed only in the 3rd custom mode).

jmatsushita commented 8 years ago

Hi @niccs I realise that a follow for this task is to also create an option in the advanced settings to Activate or Deactivate the Confirmation Sequence. And that Deactivating it should Disable a number of Advanced Settings (i.e. Confirmation Wait Time/ Confirmation Wait Vibration . So could we also use the opportunity to rearrange slightly the Advanced Settings page in this way:

1. Alarm Trigger Settings

Trigger Settings (==> Please show the options on the page rather than on a modal dialog)
 - (Default) 7 repeated Presses
 - Extra confirmation press
 - Custom

2. Trigger Pattern Settings

2.1 Initial Presses (==> Change to "Number of Presses")

2.2 Initial Times (==> Change to "Time to complete the presses")

2.3 Feedback on Alarm Activation

3. Confirmation Settings

3.1 Use Confirmation Sequence
 - (Default) Inactive
 -  Active

3.2 Confirmation Wait Time

3.3 Confirmation Wait Vibration

3.4 Feedback on NON Confirmation Alarm  

4. Configuration Training

4.1 Test your new configuration

5. Power Button Trigger

5.1 Activate/Deactivate the Power Button Trigger
jmatsushita commented 8 years ago

Hi @niccs,

I see the following things that need to be finalised: 1/ Display the 3 "Trigger Settings" options in the advanced settings page. How it is now: The user needs to click on the "Trigger Settings" link in order to see the 3 radio buttons. What we would like: For the 3 radio buttons to be displayed directly in the advanced settings page without needing to click. 2/ Is it possible to in fact make sure that all radio buttons are displayed directly in this page to avoid extra clicks and help users see what their current configuration is only with scrolling?

Hi @jmatsushita, for the above two points:-- As per the android Settings framework design guidelines:-- Only a checkbox type preference can be shown on the same page--which is just to select true/false value. Other than that, a list of radio buttons(List preference) , edit test preference, or any other preference does not allows the display on same page. this is inline with all settings screens provided by other apps.

3/ There is a confusion between what levels the elements where in the previous post. I've clarified by adding numbers but please don't add the numbers, just fix the hierarchy and ordering.

@jmatsushita, I still have confusions on the hierarchy given above:--

2.3 Feedback On alarm Activation-- what options are in this ?? 3.4 Feedback on NON Confirmation Alarm - what options are in this?? Right now there is one more option required, whose configuration is used in the code: it says 3.4--"Alarm Sending Confirmation(Vibration pattern to inform that the alarm has been activated), this one is missing from the list you have given.

Thanks!

jmatsushita commented 8 years ago

Could we also add intro text for the Advanced Settings page:

The advanced setting page allows you to change the way the alarm trigger works in Panic Button. This is such a critical feature of the application that you should consider carefully whether you need to change the defaults. One case where you might want to change these settings is when you experience false triggers. In order to change these advanced settings, please select "Custom" in the Trigger Settings.

jmatsushita commented 8 years ago

Just noticed that the number of presses for the main option "Extra confirmation press" is 7. Could you change this to 5 presses please and rename the option "5 presses plus confirmation"

niccs commented 8 years ago

@jmatsushita , I have added inline doubts for the levels of elements in Advanced settings above. Other than that, do you want me to make a intro screen to show the intro text before going to Advanced settings?? So user clicks Advanced Settings--> Intro screen(like a warning screen) Press OK --> Advanced Settings Screen.

jmatsushita commented 8 years ago

Hi @niccs no I didn't mean an intro screen, I meant some text at the top of the advanced settings page.

Modifying my post is not the best way to comment inline, next time please do the following:

That being said, back to content:

This is quite complicated so hopefully it makes sense :)

Jun

niccs commented 8 years ago

@jmatsushita ,

As per documentation:Android 's Preference APIs to build an interface that's consistent with the user experience in other Android apps (including the system settings).

1) So the intro text , explaining the settings is not allowed as per this library. I can try putting a button(will look like Redo training button), but I doubt, if this much intro text is allowed.

2)We need summary for the following radio button options, so as to explain users, what these options means. (Default) 7 Repeated Presses 5 presses plus confirmation Custom

3)Since we are using support library for Settings (to support API-8) , on click of Custom Settings, when we open the new sub screen (with options from 2 to 5)-- On click of Back from the sub-screen... the control goes to main Settings(instead of first page of advanced settings). Please review these changes and let me know what more changes are required.

niccs commented 8 years ago

@jmatsushita ,

If you approve the basic look and feel for current advanced settings screen then I need to work on following(Point 3 mentioned above):-

3)Since we are using support library for Settings (to support API-8) , on click of Custom Settings, when we open the new sub screen (with options from 2 to 5)-- On click of Back from the sub-screen... the control goes to main Settings(instead of first page of advanced settings).

Now because of the above point , if a user does some custom alarm settings and wants to go to previous screen for "Redoing the alarm exercise", he is not able to. So once the Advanced Settings is approved, need to work on this.

We need to create a separate preference screen (a separate fragment)for the sub-screen and follow the fragment to fragment communication.

niccs commented 8 years ago

@jmatsushita ,

This advanced settings part is completed with the subscreen and its back press handled(Point 3 mentioned above). The title length for the checkboxes were more than allowed and I have moved that to summary part. Attaching the screen shots for easy understanding.

Please review the same.

This was the original, as requested:-- image

And this one is after moving it to summary texts:

image