Commit 3e2aeff8 authored by Alberto Monge's avatar Alberto Monge
Browse files

added README

parent 2a6702f1
# AmI 2019 - Lab 2: Intro to Python (and Git)
Socialize (v1)
The goal of the exercises of this lab (see [Labs-02-python-basics.pdf](Labs-02-python-basics.pdf)) is to introduce you to the basic features of Python.
Socialize (version 1) is a "digital wellbeing" app that implements the most common features of contemporary tools that assist users in changing their behaviors with smartphones. This repository hosts the code for a demonstrative version of Socialize that works locally, only: data are stored and manipulated on the user's smartphone, only, and are not sent to any web service.
To get started:
Socialize works both at the phone and the app-level, by providing tools for self-monitoring as well as interventions.
1. Fork your own copy of this Git repository (_Fork_ button in the upper right corner of the GitHub repository webpage) to your personal account
2. Open PyCharm Professional on your computer and select _Checkout from Version Control > Git_ in the "Welcome to PyCharm" window, to clone your (forked) repository
3. Fill the requested fields (repository URL, location on disk, ...) and press the "Clone" button
4. Once the project is open, you can create a new Python file by right clicking on the project name (Project tab, on the left) and selecting _New > Python File_
5. To execute your program, right click on the Python file (in the Project tab) to be executed and select _Run_
6. Commit and push the changes you made back to GitHub, from the VCS menu in PyCharm
Socialize provides users with statistics both at the phone and the app-level. The application has 2 main type of windows: the main dashboard, and the detailed views. Through the main dashboard, users can monitor phone-level statistics such as number of daily unlocks, number of received notifications during the day, and total daily time spent with the device. Furthermore, the dashboard includes per-app daily information, by showing the time spent per-app, the number of times such apps have been checked, and the number of app notifications.
## Solution
The solution for all the exercises is in the [solution](../../tree/solution) branch
By clicking on the phone-level information, users can access a more detailed view of their smartphone usage, with hourly charts displaying time spent, unlocks, and notifications hour by hour. The same detailed view is provided also for each specific app.
From the detailed views, users can set up interventions both at the phone and the app-level.
For limiting the usage of the entire phone, users can set up:
- phone timers to be notified when they are using the phone for too long;
- phone blockers to block the usage of the phone;
- phone breaks to take a break from the devices by silencing and locking it.
At the app-level, users can set up app timers and app-blockers.
When interventions trigger, a pop-up window opens on top of any other currently used application: users have the possibility to:
- respect the inter- vention, i.e., by closing the blocked app/locking the phone; - snooze the intervention, i.e., by resetting the timer;
- delete the intervention.
Beside the duration, all timers and blockers are customizable in terms of context: users can optionally specify an activity (still, walking, running, cycling, on vehicle) and a location to make the interventions valid in a given context, only.
Future Works
We are currently releasing the version 2 of Socliaze! The new version is able to understand your habits with the smartphone, and to assist you in changing your unwanted habitual behaviors.
Stay tuned!
You can read the related [CHI 2019 paper]( for more intormation. If you publish research that uses Socialize, please cite it as
author = {Monge Roffarello, Alberto and De Russis, Luigi},
title = {The Race Towards Digital Wellbeing: Issues and Opportunities},
booktitle = {Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems},
series = {CHI '19},
year = {2019},
isbn = {978-1-4503-5970-2},
location = {Glasgow, Scotland Uk},
pages = {386:1--386:14},
articleno = {386},
numpages = {14},
doi = {10.1145/3290605.3300616},
acmid = {3300616},
publisher = {ACM},
address = {New York, NY, USA},
Alberto Monge Roffarello,
Luigi De Russis,
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment