Opened 7 months ago

Closed 4 months ago

Last modified 3 months ago

#4766 closed change (fixed)

An alert popup to inform user about application exit

Reported by: pavelz Assignee:
Priority: P2 Milestone: Adblock-Browser-for-iOS-1.5.2
Module: Adblock-Browser-for-iOS Keywords:
Cc: mario, lisabielik, shikitita Blocked By:
Blocking: #4672 Platform: Adblock Browser for iOS
Ready: yes Confidential: no
Tester: Rraceanu Verified working: yes
Review URL(s):

Description (last modified by mario)

Background

The new functionality of reporting non critical errors #4672 enabled proper reporting of one specific kind of *critical* errors, and that is a failure to initialize on app startup. The app actually should not continue operating - it's missing vital parts.

However, #4672 wasn't originally intended to report critical errors but only non-crashing errors. Due to the fact, that we happen to be able to catch said critical error on runtime, we need to display a more specific notification/error and ask the user to restart ABB.

What to change

When the app fails bootstrapping (app startup initialization) display a notification based on the user's error report settings:

  1. If the option "Always Send" (Settings -> Crash Reporting) is selected
    1. Display no notification
  1. If the option "Ask Me" (Settings -> Crash Reporting) is selected
    1. Display a notification with the following content
      1. Headline: Adblock Browser
      2. Text: Unable to start browser.
      3. Button 1: Send Report
      4. Button 2: Don't Send
    2. If "Button 1" is clicked, send a crash event and close the notification
    3. If "Button 2" is clicked, close the notification
  1. If the option "Don't send" (Settings -> Crash Reporting) is selected
    1. Display no notification

After the notification has been closed (or in case it wasn't shown as per point 1. and 3.), display this error message on the splash screen as specified in this style guide. Text:

  • Headline: Uh-oh!
  • 2nd headline: Something went wrong.
  • Text: A critical error prevented Adblock Browser from starting. Follow the steps below to quit the app and try again.
  • Bullet point 1: Double-tap the Home button.
  • Bullet point 2: Swipe up on Adblock Browser to quit the app.
  • Bullet point 3: Restart Adblock Browser.

Assets

Attachments (6)

Simulator Screen Shot 2 Jan 2017, 23.06.25.png (94.8 KB) - added by pavelz 7 months ago.
How the alert could look like
prototype2.mp4 (516.1 KB) - added by pavelz 6 months ago.
Screencast of the failure exit screen
216987692.png (71.8 KB) - added by mario 6 months ago.
ABB - logo-sad.zip (8.6 KB) - added by mario 6 months ago.
line-separators.zip (1.2 KB) - added by mario 6 months ago.
bootstrap3.mp4 (427.0 KB) - added by pavelz 6 months ago.
Screencast of the completed exit screen

Download all attachments as: .zip

Change History (35)

comment:1 Changed 7 months ago by pavelz

@lisabielik alert texting proposal

Title: "Adblock Browser"
(it's a good practice to link critical alerts clearly to a specific app)

Message: "Browser failed starting up and will close now. The issue was reported if you allowed it."
(this refers to step 1 of required actions which should have happened before this alert)

Button: "Close"
(it should not say anything regularly cheerful like "OK" or "Got it", as there is nothing cheering about app failure)

Last edited 7 months ago by pavelz (previous) (diff)

Changed 7 months ago by pavelz

How the alert could look like

comment:2 Changed 7 months ago by pavelz

Seeing the screenshot, the beginning of message wording could be different. Saying "Adblock Browser" in title and then immediately "Browser failed" feels somewhat redundant.

comment:3 Changed 7 months ago by pavelz

  • Description modified (diff)

comment:4 Changed 7 months ago by pavelz

SCREEN SHOT 1 OBSOLETE

After some discussion with @mario, this alert should be the only one displayed. Which means that it should show the applicable error reporting options, preventing the need for displaying the former error reporting selection per #4672. New proposal:

Title stays "Adblock Browser"

Message should be more friendly, something along "Oops, the browser cannot start properly and will close now"

The rest varies by already set HockeyApp reporting option:

  1. Option "Always Send"

-> Additional sentence in the message "The issue was reported to developers."
-> Button "Close"

  1. Option "Ask me"

-> No additional sentence
-> Two buttons of the same phrasing as crash reporting per #4672
"Send Report", "Don't send"
do not display "Always send" as it actually changes the user's sending preference - a controlled shutdown is considered a rare event

  1. Option "Don't send"

-> Technically should not display anything and shutdown right away. But Appstore may reject an app with such unwarranted closing
http://stackoverflow.com/a/12242357
so the same screen as with option 2. is considered. Not displaying "Always send" makes even more sense here.

comment:5 Changed 7 months ago by mario

  • Description modified (diff)

comment:6 Changed 7 months ago by lisabielik

Title: Adblock Browser
Message: Unable to start browser. The app will now close.
Additional sentence: This issue has been reported to developers.

comment:7 Changed 7 months ago by mario

  • Description modified (diff)
  • Priority changed from Unknown to P2
  • Ready set

Thanks, Lisa. Updated the description. Ready from our side.

comment:8 Changed 6 months ago by pavelz

The UI of closing the app will have to be changed to user-initiated. I.e. the user will have to close the app through swiping in iOS app listing, we can just kindly ask the user to do so. Now the texting challenge:

Title: (stays the same) Adblock Browser
Main message (stays the same): Unable to start browser.

Additional sentence for option 1 above (stays the same):
This issue has been reported to developers.
Button: Close

Additional sentence for option 2 above (already established for HA crash handling):
Would you like to send a report to fix the problem?
Buttons: Send / Don't Send

Additional sentence for option 3 above: (PROPOSAL, to be polished)
You disabled report sending, please consider letting us know error code ABCDEFGH.
Button: Close

Following will be an overlay of the browser splash screen (which is the point of bootstrap failure) with a text, which asks the user kindly to click iPhone Home button and kill the app by swiping in app listing. TEXTING REQUIRED HERE.

Changed 6 months ago by pavelz

Screencast of the failure exit screen

comment:9 Changed 6 months ago by mario

  • Description modified (diff)
  • Ready unset

Changed 6 months ago by mario

comment:10 Changed 6 months ago by mario

  • Description modified (diff)

comment:11 Changed 6 months ago by mario

  • Description modified (diff)

Changed 6 months ago by mario

Changed 6 months ago by mario

comment:12 Changed 6 months ago by mario

  • Description modified (diff)

Changed 6 months ago by pavelz

Screencast of the completed exit screen

comment:13 follow-up: Changed 6 months ago by pavelz

Regarding bootstrap3 screencast, i have configured ABB to "Don't send crashes & errors", which means that it shows the request for contacting developers in other way, per Option 3. Consider the texting per proposal in Comment #8

comment:14 Changed 6 months ago by mario

  • Description modified (diff)

comment:15 in reply to: ↑ 13 Changed 6 months ago by mario

Replying to pavelz:

Regarding bootstrap3 screencast, i have configured ABB to "Don't send crashes & errors", which means that it shows the request for contacting developers in other way, per Option 3. Consider the texting per proposal in Comment #8

At this point the user has actively decided not to send us reports. Regular crash reporting notifications aren't even shown if this option is selected. Thus we should IMHO handle it the same and respect the user's decision not to send us reports. Which also means not prompting him to send us a report via email or the like.

comment:16 Changed 6 months ago by mario

  • Description modified (diff)

comment:17 Changed 6 months ago by mario

  • Description modified (diff)

comment:18 Changed 6 months ago by lisabielik

  • Description modified (diff)

comment:19 Changed 6 months ago by pavelz

While i was finalising the translation body, i realized one thing: if the error/crash option "Don't send" is not supposed to yield any popup, presumably because the regular error reporting does not yield, per change at comment 16, the option "Always Send" should not either! Hence Option 1 of this change description does not apply the same way as option 3. @mario agree?

comment:20 Changed 6 months ago by mario

  • Description modified (diff)

Removed the first notification from the scope of this issue in order to align the notification logic with the crash report logic: Only prompt the user to send a report if the default value "Always ask" is configured in the user's crash/error reporting settings.

comment:21 Changed 6 months ago by mario

  • Milestone set to Adblock-Browser-for-iOS-next
  • Ready set

This hasn't landed yet, but it needs to be included in 1.5.2.
Thus I'm already adding the milestone in order to communicate the intended changes before feature freeze.

comment:22 Changed 6 months ago by pavelz

  • Resolution set to fixed
  • Status changed from new to closed

comment:23 Changed 5 months ago by scheer

  • Resolution fixed deleted
  • Status changed from closed to reopened
  • Tester changed from Unknown to Scheer

'What to Change' section 2-a.-ii. 'Text'. States that the text should read 'Unable to start browser.' Actually, it states, 'Unable to start browser. Would you like to send a report to fix the problem?'. As discussed, the text is incorrect.
ly.

Last edited 5 months ago by scheer (previous) (diff)

comment:24 Changed 5 months ago by pavelz

  • Resolution set to fixed
  • Status changed from reopened to closed

comment:25 Changed 5 months ago by scheer

  • Resolution fixed deleted
  • Status changed from closed to reopened

Please see the bold text below that outline the current issue.

  • When the option "Always Send" (Settings -> Crash Reporting) is selected no notification is shown and the error is still sent. (Currently, due to SDK issues, the error is sent some 15 seconds after the option is selected and the app still active.)
  • When the option "Ask Me After a Crash or Error" (Settings -> Crash Reporting) is selected a notification with the following content is displayed. (Currently, due to SDK issues, the error is sent some 15 seconds after the option is selected and the app still active.)

Headline: Adblock Browser
Text: Unable to start browser.
Button 1: Send Report
Button 2: Don't Send
If "Button 1" is clicked, send a crash event and close the notification
If "Button 2" is clicked, close the notification

  • When the option "Don't send" (Settings -> Crash Reporting) is selected no notification is displayed.
  • After the notification has been closed (or in case it wasn't shown as per point 1. and 3.), the error message on the splash screen as specified in ​this style guide is shown. The Bold 'Current Text' section below currently does not display the correct sentence in-app. Text:

Headline: Uh-oh!
2nd headline: Something went wrong.
Current Text Reads 'A critical error prevented Adblock Browser from starting. Follow these instructions to quit the app and try again.'
Correct Text: A critical error prevented Adblock Browser from starting. Follow the steps below to quit the app and try again.
Bullet point 1: Double-tap the Home button.
Bullet point 2: Swipe up on Adblock Browser to quit the app.
Bullet point 3: Restart Adblock Browser.

comment:26 Changed 5 months ago by pavelz

Alright, the wording is really off. Unfortunately it already flies in translation. Offload to next version?

comment:27 Changed 5 months ago by mario

  • Cc shikitita added

@lisabielik, @shikitita,
See two comments above. Unfortunately a slightly different variation of the string stated above landed in the application:
A critical error prevented Adblock Browser from starting. Follow these instructions to quit the app and try again.
instead of
A critical error prevented Adblock Browser from starting. Follow the steps below to quit the app and try again.

We could easily change the English original, but I fear the translations won't be on point then. Tamara, how do the translations of this string read? If you're fine with them, I'd suggest that we fix the English version manually.

comment:28 Changed 4 months ago by mario

  • Resolution set to fixed
  • Status changed from reopened to closed

comment:29 Changed 3 months ago by rraceanu

  • Tester changed from Scheer to Rraceanu
  • Verified working set

Verified working with correct text in place:

Iphone 6
iOS 9.1
ABB 1.5.2-dev (1507)

Last edited 3 months ago by rraceanu (previous) (diff)
Note: See TracTickets for help on using tickets.