Opened on 01/02/2017 at 06:14:56 PM

Closed on 03/16/2017 at 04:06:21 PM

Last modified on 10/08/2019 at 05:50:25 PM

#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 on 01/02/2017 at 10:08:00 PM.
How the alert could look like
prototype2.mp4 (516.1 KB) - added by pavelz on 02/02/2017 at 09:02:12 PM.
Screencast of the failure exit screen
216987692.png (71.8 KB) - added by mario on 02/03/2017 at 08:40:55 AM.
ABB - logo-sad.zip (8.6 KB) - added by mario on 02/03/2017 at 11:46:39 AM.
line-separators.zip (1.2 KB) - added by mario on 02/03/2017 at 11:46:47 AM.
bootstrap3.mp4 (427.0 KB) - added by pavelz on 02/03/2017 at 04:42:56 PM.
Screencast of the completed exit screen

Download all attachments as: .zip

Change History (36)

comment:1 Changed on 01/02/2017 at 06:18:10 PM 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 on 01/02/2017 at 09:20:21 PM by pavelz

Changed on 01/02/2017 at 10:08:00 PM by pavelz

How the alert could look like

comment:2 Changed on 01/02/2017 at 10:09:33 PM 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 on 01/09/2017 at 01:47:52 PM by pavelz

  • Description modified (diff)

comment:4 Changed on 01/09/2017 at 02:19:00 PM 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 on 01/09/2017 at 02:42:26 PM by mario

  • Description modified (diff)

comment:6 Changed on 01/11/2017 at 05:10:43 PM 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 on 01/12/2017 at 09:20:14 AM 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 on 01/25/2017 at 02:19:12 PM 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 on 02/02/2017 at 09:02:12 PM by pavelz

Screencast of the failure exit screen

comment:9 Changed on 02/03/2017 at 08:39:44 AM by mario

  • Description modified (diff)
  • Ready unset

Changed on 02/03/2017 at 08:40:55 AM by mario

comment:10 Changed on 02/03/2017 at 08:41:20 AM by mario

  • Description modified (diff)

comment:11 Changed on 02/03/2017 at 08:42:11 AM by mario

  • Description modified (diff)

Changed on 02/03/2017 at 11:46:39 AM by mario

Changed on 02/03/2017 at 11:46:47 AM by mario

comment:12 Changed on 02/03/2017 at 11:47:43 AM by mario

  • Description modified (diff)

Changed on 02/03/2017 at 04:42:56 PM by pavelz

Screencast of the completed exit screen

comment:13 follow-up: Changed on 02/03/2017 at 04:45:51 PM 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 on 02/06/2017 at 10:27:02 AM by mario

  • Description modified (diff)

comment:15 in reply to: ↑ 13 Changed on 02/06/2017 at 10:29:37 AM 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 on 02/06/2017 at 10:36:20 AM by mario

  • Description modified (diff)

comment:17 Changed on 02/06/2017 at 02:52:15 PM by mario

  • Description modified (diff)

comment:18 Changed on 02/06/2017 at 02:57:08 PM by lisabielik

  • Description modified (diff)

comment:19 Changed on 02/06/2017 at 04:40:37 PM 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 on 02/06/2017 at 06:55:52 PM 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 on 02/08/2017 at 01:08:27 PM 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 on 02/08/2017 at 02:30:31 PM by pavelz

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

comment:23 Changed on 02/14/2017 at 09:42:54 AM 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 on 02/14/2017 at 10:08:56 AM by scheer

comment:24 Changed on 02/14/2017 at 04:34:13 PM by pavelz

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

comment:25 Changed on 02/15/2017 at 09:41:00 AM 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 on 02/15/2017 at 09:55:58 AM by pavelz

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

comment:27 Changed on 02/22/2017 at 01:20:16 PM 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 on 03/16/2017 at 04:06:21 PM by mario

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

comment:29 Changed on 04/25/2017 at 10:02:29 AM 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 on 04/25/2017 at 10:03:00 AM by rraceanu

comment:30 Changed on 06/07/2019 at 02:46:37 AM by suneel

spam

Last edited on 10/08/2019 at 05:50:25 PM by kzar

Add Comment

Modify Ticket

Change Properties
Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none).
 
Note: See TracTickets for help on using tickets.