#matc

tord_dellsen@diasp.eu

Mindfulness at the computer:

Opened Sprint 2023-06-30

https://codeberg.org/fswb/mindfulness-at-the-computer/projects/3305

Focus: Finalizing testing of it7. Starting it8: Adding missing components (taking a break away from the computer, selecting multiple breathing phrases). {Using the newly updated dev-process from the FSWB repo, which has issue templates for the main process issue labels}

#matc #fswb #mindfulness-at-the-computer #mindfulness

tord_dellsen@diasp.eu

Mindfulness at the computer:

Closed Sprint 2023-06-16

https://codeberg.org/fswb/mindfulness-at-the-computer/projects/3180

The focus set when starting the sprint was:

Rewrite user stories (user reqs). Finalize analysis of design from iteration 6. Create new design(s) in iteration 7. Update project to be compatible with new FSWB dev process

What has been done

Cleaned up user stories (user reqs) by removing the specific requirement about seeing stats with pauses etc. This was done since the analysis of the iteration-6 design showed that these stats didn't add anything important. Also updated the FSWB dev-process with insights from MatC and vice versa

Created new design (iteration 7) and a hi-fi prototype for this design


New design

  1. small-bell
  2. big bell. new type of breathing GUI shown: static and dynamic. it shows
    • a progress bar with double purpose (time until closing and breathing guide)
    • br phrase
    • close button?
    • stats?? like the amount of time spent at the computer
    • break button??? (would show fullscreen window)
  3. user can interact with the custom dlg or not
    • static: dialog is closed when the timer ends
    • dynamic: dialog is closed when the user hovers outside, or clicks on the dialog

#matc #mindfulness-at-the-computer #fswb #mindfulness

tord_dellsen@diasp.eu

Mindfulness at the computer:

Closed sprint 2023-06-02 (extended to two weeks)

https://codeberg.org/fswb/mindfulness-at-the-computer/projects/3180

Hi-fi prototype created
* Ask user to relax and let go of the computer keyboard and mouse, and sounding bell after a period of inactivity
* Stats for breaks and work sessions. Example: [12:34] 5m 4m 5m (3m) Explanation: [time of application start] work period 1, 2, 3 (break period)
* Redesign of the timer system, now using a state and a single unified timer
* Implementing fading out (transparency) when hovering outside of the breathing area for the break fullscreen window and using this to close the window

If anyone is interested in trying this prototype i can create a pypi package

Other:
* WIP: Creating a taxonomy for programming variable names, and for users
https://codeberg.org/fswb/mindfulness-at-the-computer/issues/540
* Fixed bug in the idleness system

#matc #mindfulness-at-the-computer #fswb #mindfulness

tord_dellsen@diasp.eu

Closed Sprint 2023-04-28 (which was extended by a week) for Mindfulness at the Computer

Focus: Trying out the UX process: Design of new idea(s) and possibly technical implementation

What i accomplished was to
* create a new design where the user activity is tracked
* and (with help from @ๅฎ‡ๅฎ™ใฎๆตท่ณŠ ใƒŸใƒซใ‚ตใƒซ) i implemented idle tracking in code
* also i tried the FSWB dev process when working on the new design and prototypes

#matc #fswb #SoftwareDevelopment

tord_dellsen@diasp.eu

Mindfulness at the Computer --- Beta 1 Release

This is the first beta release, the features are now locked (more or less)

Technical notes:
* Now using pyproject.toml instead of setup.py
* Auto-tests have been added, and they cover 89% of the code

Installation: Install with pip pip install mindfulness-at-the-computer or download package from sourceforge --- for details please see the official website

#mindfulness-at-the-computer #matc #mindfulness #self-care #breathing

tord_dellsen@diasp.eu

Help wanted: Code review for Mindfulness at the computer

Hi all, the design is now finally complete for the application Mindfulness at the computer which i have been working on as a hobby project for a long time. I'd like to do a code review and could use help from people experienced with one or both of the following:
* Python (for review of backend or frontend code)
* Qt, or GUI applications in general (for review of frontend code)

Are you willing to help out, or do you know of any programmers who could be interested?

http://gitlab.com/mindfulness-at-the-computer/mindfulness-at-the-computer/

https://gitlab.com/mindfulness-at-the-computer/mindfulness-at-the-computer/-/issues/52

#matc #mindfulness-at-the-computer #python #programming #development

tord_dellsen@diasp.eu

Help wanted: Design review of Mindfulness at the computer

Hi all, i'm looking to move into BETA for the application Mindfulness at the computer which i have been working on as a hobby project for some years now, but before that i'd like to do a design review of the application. Do you know of any UX designers that may be willing to help?

Also any user feedback is welcome!

https://mindfulness-at-the-computer.gitlab.io/

#matc #mindfulness-at-the-computer #ux #ux-design

tord_dellsen@diasp.eu

Mindfulness at the Comupter - Release notes for alpha 11

Please note that unless we get suggestions on changing features this is going to be the last alpha release, which means that no more features may be added. So if you have an idea for the application that you'd like to see, please write an issue or contact us

Breathing dialog updates:
* Rounded corners
* Increased size
* Different help messages now shown (at the top of the breathing dialog)
* Fade out for the breathing dialog: If the mouse pointer leaves the breathing dialog area, the dialog isn't closed at once, but rather it starts fading out. If the user moves the mouse pointer back into the dialog it remains open

New breathing visualizations:
* Line - A simple visualization, with the breathing phrases in the middle, and where the user interacts by hovering above or below the middle horizontal line
* Columns - This is different from the other visualizations in that it shows the lengths of previous breaths

Technical notes:
* Now only distributing sdist for the pypi package
* The pythondevmode environment flag has been added to the pycharm configurations
* Added logging of (otherwise) uncaught exceptions

Installation: Install with pip pip install mindfulness-at-the-computer or download package from sourceforge (for details please see the website)


Links: Website, Gitter chat, GitLab repo

#matc #mindfulness-at-the-computer #freesoftware #mindfulness

tord_dellsen@diasp.eu

I've been working on this code for storing settings in a JSON file. It's for the mindfulness-at-the-computer project

def settings_file_exists() -> bool:
    return os.path.isfile(JSON_SETTINGS_FILE_NAME)

def save_dict_to_json(i_dict_to_save: dict, i_file_path: str):
    print("save_data_to_json")
    with open(i_file_path, "w") as write_file:
        json.dump(i_dict_to_save, write_file, indent=2)

def load_dict_from_json(i_minimum_dict: dict, i_file_path: str) -> dict:
    print("load_data_from_json")
    ret_dict = i_minimum_dict.copy()
    if os.path.isfile(i_file_path):
        with open(i_file_path, "r") as read_file:
            from_file_dict: dict = json.load(read_file)

            diff_key_list: list = []
            for min_key in i_minimum_dict.keys():
                if min_key not in from_file_dict.keys():
                    diff_key_list.append(min_key)
            print(f"One or more keys needed for the application to work were not "
            f"available in {os.path.basename(i_file_path)} so have been added now. "
            f"These are the keys: {diff_key_list}")

            diff_key_list: list = []
            for file_key in from_file_dict.keys():
                if file_key not in i_minimum_dict.keys():
                    diff_key_list.append(file_key)
            print(f"One or more keys in {os.path.basename(i_file_path)} are not "
            f"used by the application (though may have been used before). "
            f"These are the keys: {diff_key_list}")

            print(f"Before merge {i_minimum_dict=}")
            print(f"Before merge {from_file_dict=}")
            ret_dict.update(from_file_dict)
            # -if there are different values for the same key, the value
            #  in from_file_dict takes precendence
            print(f"After merge {ret_dict=}")
    return ret_dict

SK_SHOW_BREATHING_TEXT = "show breathing text"
SK_REST_ACTIONS = "rest actions"
SK_BREATHING_AUDIO_VOLUME = "breathing audio volume"
SK_BREATHING_BREAK_TIMER_SECS = "breathing break timer secs"

# The values given here are the minimum values needed for the application to work
min_settings_dict = {
    SK_SHOW_BREATHING_TEXT: True,
    SK_BREATHING_AUDIO_VOLUME: 50,
    SK_REST_ACTIONS: {},
    SK_BREATHING_BREAK_TIMER_SECS: 3,
}

# Initial setup
if not settings_file_exists():
    rest_actions: dict = {
        "Making tea": "path/to/image",
        "Cleaning workspace": "/home/user/_",
        "Walking meditation": "path/to/image",
    }
    min_settings_dict.get(SK_REST_ACTIONS).update(rest_actions)

db_file_exists_at_application_startup_bl = settings_file_exists()
settings: dict = load_dict_from_json(min_settings_dict, get_json_file_path())
print(f"{settings=}")

#python #programming #coding #json #datapersistence #mindfulness-at-the-computer #matc