Enrico

September 27, 2021 ยท View on GitHub

We have manually curated a random sample of 10k UIs from Rico, a large dataset of mobile apps, and have concluded to Enrico (shorthand of Enhanced Rico), a high-quality dataset comprising 1460 UIs classified according to 20 design topics.

UI examples

UMAP projection of the Enrico dataset

Design topics overview

Topic nameNum. UIsDescription
Bare76Largely unused area
Dialer6Number entry
Camera8Camera functionality
Chat11Chat functionality
Editor18Text/Image editing
Form103Form filling functionality
Gallery144Grid-like layout with images
List265Elements organized in a column
Login141Input fields for logging
Maps9Geographic display
MediaPlayer32Music or video player
Menu79Items list in an overlay or aside
Modal67A popup-like window
News59Snippets list: image, title, text
Other52Everything else (rejection class)
Profile63Info on a user profile or product
Search35Search engine functionality
Settings90Controls to change app settings
Terms39Terms and conditions of service
Tutorial163Onboarding screen

Dataset files overview

The dataset include the following files:

  • A comma-separated file matching each UI identifier with one of the 20 design topics. Link to file

    screen_id,topic
    50245,tutorial
    .
    .
    .
    
  • Screenshot images, in JPG format at 540x960 px resolution. Link to sample file ~ Download ZIP file (110 MB, 157 MB uncompressed)

  • Semantic wireframe images, in PNG format at 540x960 px resolution. Link to sample file ~ Download ZIP file (5.3 MB, 10 MB uncompressed)

  • Semantic annotations, in JSON format, with all the UI components, text buttons, and icons encoded in the wireframes.

  • View hierarchies, or DOM-like tree structure, in JSON format. Link to sample file ~ Download ZIP file (1.7 MB, 16 MB uncompressed)

    { "class": "com.android.internal.policy.PhoneWindow$DecorView", "bounds": ...
    
  • App metadata, in JSON format. Scrapped from Google Play as of August 2020. Link to sample file ~ Download ZIP file (2.8 MB, 8 MB uncompressed)

    { "title": "Sync.ME - Caller ID, Spam Call Blocker & Contacts", "icon": ...
    

    Note: There are 296 UIs with empty metadata, since by the time we scrapped Google Play they were no longer available.

Other files

You can download additional files from the Rico dataset such as UI layout vectors (8 MB), interaction traces (6 GB), and animations (214 GB). Enrico uses the same screen IDs (UI identifiers), so you can easily match the files in Rico.

Issues

Thanks to Samuel Rosas from Aalto University, we have identified a few issues in the dataset that you should be aware of. Please see issues.csv file. We have categorized the issues into three sources of errors (screenshot, wireframe, and hierarchy) and have included a description of the issue and a degree of severity (low, medium, high). Here's the number of UIs affected:

              severity
source     low medium high  total
---------------------------------
screenshot   0      8    2     10
wireframe   16      9   14     39
hierarchy   32      0    0     32
---------------------------------
total       48     17   16     81

We have decided not to remove any of the affected UIs because these issues may or may not impact your study. For example, if your model or analysis doesn't rely on the view hierarchies, then you can ignore the issues that are flagged as "hierarchy" in the source column of issues.csv.

Citation

If you use Enrico, please use the following citation:

  • L. A. Leiva, A. Hota, A. Oulasvirta. Enrico: A High-quality Dataset for Topic Modeling of Mobile UI Designs. Proc. MobileHCI Adjunct, 2020.
@InProceedings{Leiva20_enrico,
  author    = {Luis A. Leiva and Asutosh Hota and Antti Oulasvirta},
  title     = {Enrico: A High-quality Dataset for Topic Modeling of Mobile {UI} Designs},
  booktitle = {Proc. MobileHCI Adjunct},
  year      = {2020},
}