  Machine learning models have been trained to predict semantic information
about user interfaces (UIs) to make apps more accessible, easier to test, and
to automate. Currently, most models rely on datasets that are collected and
labeled by human crowd-workers, a process that is costly and surprisingly
error-prone for certain tasks. For example, it is possible to guess if a UI
element is "tappable" from a screenshot (i.e., based on visual signifiers) or
from potentially unreliable metadata (e.g., a view hierarchy), but one way to
know for certain is to programmatically tap the UI element and observe the
effects. We built the Never-ending UI Learner, an app crawler that
automatically installs real apps from a mobile app store and crawls them to
discover new and challenging training examples to learn from. The Never-ending
UI Learner has crawled for more than 5,000 device-hours, performing over half a
million actions on 6,000 apps to train three computer vision models for i)
tappability prediction, ii) draggability prediction, and iii) screen
similarity.
