Welcome to Interaction Mining: a privacy-preserving, open-source project to collect organic mobile app task flows.
We enable collection of app task flows directly from your Android phone. We do this using an Android app through Accessibility Service API and our web application.
Our web application is written in Next.js, a React framework.
Check out our code below:
We plan on supporting iOS app task flow collection in the near future.
Want to Get Involved?
❗ This Section is Still Under Development
Create an Android App Task Flow
Requirements
Android phone with version 12.0 or higher
A Wi-Fi connection
Install Android App
Download the mobile app APK and install it on your Android device.
You may need to enable installation from unknown sources in your device settings. This setting allows you to install apps from sources other than the Google Play Store.
Open the Settings app on your device
Look for Security or Privacy settings (the name may vary depending on your device)
Find the option called "Install unknown apps" or "Install from unknown sources"
Next, locate and open the APK file you downloaded. Follow the instructions from the installer to complete the installation.
Once the app is installed, a new app with an Android icon and the name ODIM will appear on your device's home page.
Create a New Task Flow
Sign in to the web application and navigate to the user dashboard.
Click on to redirect to new task creation form.
Fill out the form with chosen app and description and click
Add a new app by providing the Android app's package name from its Google Play Store URL
A QR code corresponding to the new capture will be generated.
Open the Android app and scan this QR code to get task information.
Follow on-screen prompts to enable accessibility permissions.
Note: Some phones may first ask you to grant app permissions. If this happens, go to Settings > Apps > ODIM and enable all necessary permissions.
Capture a Task From Mobile App
Launch the target app you want to interact with. The interaction mining app captures your screens and interactions in the background.
After ending a trace, you can:
View the list of screens of the task flow from the app interface
Select the recorded task flow and upload it from your device
Once uploaded, the screens should be detected by the web app. From there, you can complete the pre-processing workflow, which includes:
Tagging gestures and interactions
Redacting sensitive information from screenshots
Stopping ODIM Recording
To stop ODIM from recording entirely:
Navigate back to Settings > Accessibility
Toggle the ODIM app OFF
You can restart recording at any time by toggling ODIM back ON.
Post-Process on Web App
Once screens are uploaded, you must post-process the screens to fix errors and remove privacy sensitive information in the screens.
The post-processing interface uses a multi-part form with phases to:
Delete extraneous or irrelevant screens from a trace.
Tag missing or incorrect gestures and interactions.
Redact sensitive information from screens.
Delete Screens
To delete unneeded screens from your trace:
Review your trace and locate extraneous screen(s).
Click the icon on the top right of the screen.
Restore deleted screens by clicking on the top left
Tag Gestures
To complete the post-processing stage, all screens must be tagged with an gestures and a short 1-2 word description of the interaction.
Add a Gestures to Screen
Screens with missing gestures will overlay icon in the bottom filmstrip.
Select the screen with missing gesture from the bottom filmstrip.
On the top right view displaying the selected screen, click the area of screen where the interaction occurred.
A colored circle will pop up with a dropdown of common interaction types, select the correct interaction type
Write a short description of what the gesture does in the text area below.
Amend Incorrect Gestures
Some screens may have erroneous interactions and may need to be corrected.
Select the screen with incorrect gesture from the bottom filmstrip.
On the top right view displaying the selected screen, drag the colored gesture icon to where the interaction actually occurred on screen.
Change the gesture type from dropdown and description from text area if needed.
Redact Screens
Private data can be redacted from screens by clicking and dragging over screen regions containing sensitive data.
Tools
The redaction editor provides three tools to help you redact personal data.
Move: Select (or click V) to move around and zoom in/out of the screen on the redaction canvas.
Draw: Select (or click P) to draw a redaction over the screen by click + drag.
Eraser: Select (or click E) to erase a redaction by clicking on a redaction box. You can also click the icon on the top left of the redaction.
Select the screen with sensitive data from bottom filmstrip.
On the top right view displaying the selected screen, click the draw tool and click + drag over bounding box containing sensitive data.
Redact the bounding box area so the view hierarchy metadata of the element with personal data is also redacted.
View hierarchy metadata only redaction is currently in development
Annotate Task Flow
Review all the screen annotations to make sure everything is correct. Then, give a 1-2 sentence summary of the screens and click to submit the task flow.