Eventual Connectivity Taxonomy
Following image depicts the taxonomy of eventual connectivity issues, which can be described as errors, usability issues, or confusing behaviors of an app in scenarios where a connection is required. The taxonomy includes high level categories (represented by rounded squares) and low level categories (represented by rectangles). We found 21 low-level types of issues, grouped into 10 high-level categories. Our taxonomy includes a total of 304 issues identified during our analysis+testing process. Note that the high level categories are organized into two sub-trees. The first, representing the bulk of our taxonomy, is related to bad practices we observed that resulted in connectivity issues. The second, named Hybrid practices, groups cases in which we identified an issue in the tested app but also accompanied by a correct behavior. For example, when a connectivity issue happened, the app shows both a non-informative message \textbf{and} an expressive and useful message.
Bad Practices
Blocked Application (BA) »
The app blocks itself for a considerable time or remains blocked until the user closes it.
Completely Blocked (CB) »
The app must be re-started because it does not works after waiting a long time.
Partially Blocked (PB) »
The app is blocked for a long time, but it works after that time.
Stuck Progress Notification (SPN) »
The progress notification keeps stucked when the connection to internet is off. It seems like the content is being loaded, but the progress notification is blocked
Lost Content (LC) »
The app shows an empty space where the content is supposed to be, and it does not say anything about a connectivity problem.
Blank Map (BM) »
A blank map is displayed because there is no connection to internet. The app does not warn that there is no connection to internet or do it in a bad way.
Blurred Map (BMA) »
The map is displayed but when the user try to zoom, it becomes blurry and does not allow to see the detail
Blank Image (BI) »
A blank image is displayed because there is no connection to internet. The app does not warn that there is no connection to internet or do it in a bad way.
User Content (UC) »
The user has some content or work done, and because of a connection problem it is lost by the app.
Lost Text (LT) »
A text section is not available because there is no connection.
Lost Functionality (LF)
A functionality is not available because there is no connection; the components that allows using the functionality disappear or are disabled but there is not message notifying the user about it
Lost Functionality after Connection Lost (LFACL) »
A functionality is not available because there is no connection; the components that allows using the functionality disappear or are disabled but there is not message notifying the user about it
Lost Functionality after Connection Recovery (LFACR) »
One or more functionalities of a view in an application are not responding after connection recovery.
Non-existent Result Notification (NRN) »
The app does not show any result or message indicating that (i) the action carried out by the user or by the system was performed successfully, or (ii) the user must execute a retry/refresh action. It seems that nothing happened.
Non-existent Notification of Retrying an Action (NNRA) »
The app does not show any message that indicates that the user should retrying the action.
Non-existent Notification of Queued Process (NNQP) »
There was an unexpected background process which produced a result, and it was not informed to the user.
Non-existent Notification of Problem when Performing an Action (NNPPA) »
The app does not show any result or message indicating that the action carried out by the user was not performed successfully because of a connectivity problem . It seems that nothing happened.
Non-existent Notification of an Issue while Downloading Content (NNDC) »
The app does not show anything indicating that the required content is being downloaded. It seems that nothing happened.
Redirection to a Different Application without Connectivity Check (RDAC) »
The app redirects the user to another app (different than a browser) and it does not works because it has not internet connection.
Redirection to a WebPage without Connectivity Check (RWPC) »
The app redirects the user to a web page (using a browser) and it does not works because it has not internet connection.
Unclear Behaviour (UCB) »
The app can have different or unexpected behaviors for a particular scenario and it is not clear why (from the user point of view).
Browser Embedded Incorrectly (BEI) »
The app redirects the user to a activity with an embed web page and it does not works because it has no internet connection.
Map File Embedded Incorrectly (MFEI) »
The app redirects the user to an activity with an Map made in a local file and it does not works because it has no internet connection.
External Webpage Embedded Incorrectly (EWEI) »
The app redirects the user to an activity with an embedded web page from a external source (url) and it does not works because it has no internet connection.
Local Webpage Embedded Incorrectly (LWEI) »
The app redirects the user to an activity with an embedded web page from a local file and it does not works because it has no internet connection.
Non-Informative Message (NIM) »
The app shows generic or unclear messages (regarding the connectivity issue) when there is a connection problem.
Generic Message (GM) »
The displayed messages ( where there is a connectivity issue) do not let the user know why the performed action/feature was not executed.
Message with Exception Trace (MET) »
The displayed messages include explicit exception traces or error codes, i.e., there is no textual description of the error.
Inconsistent Message (IM) »
The app shows an inconsistent message. It says something that has nothing to do with the action performed by the user.
Hybrid Practices
Browser Embedded Incorrectly & Expressive Message (BEI-EM) »
The application shows to the user an activity where an embedded browser displays an error message instead of the expected content. Nevertheless, at the same time the app shows a clear message (regarding the connectivity issue) when displaying the activity.
Non-Informative Message & Expressive Message (NIM-EM) »
The app shows at the same time multiple messages when performing an action, some of them are inexpressive messages while the rest are expressive messages.