패키지, 저장소 및 앱 카테고리 검색

GitHub 저장소nyxkn/meditation

명상

안드로이드용 필수 명상 타이머

명상 프로젝트 이미지
스타
58
포크
9
최근 푸시(UTC)
2024. 12. 6.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

Meditation

This is a meditation timer. Minimalistic, reliable, and truly elegant.

Get it on F-Droid

Get it on Google Play

Or download the APK directly from GitHub:

Features

Shield: GitHub version Shield: F-droid version

  • Simple, elegant, and intuitive
  • No distractions - only the essential features
  • Beautiful assortment of bell and gong sounds
  • Custom volume adjustment of the bell sounds
  • Reliable countdown timer
  • Pre-meditation delay
  • Intermediate meditation intervals
  • Free and open-source software

Screenshots

     

Description

Meditation is a truly minimalistic countdown timer for meditation, with a clean user interface and no clutter. The minimalism of the app embodies meditation's actual purpose.

A notable feature of the app is the ability to customize the volume of the notification bells independently of system volume. This allows you to set a predefined volume so that the sounds will reliably play at the same loudness every time. No more mid-meditation worrying that you remembered to turn the volume up!

Another important feature is for the timer to be as reliable as possible, to ensure an accurate meditation time and prompt ending sound notification. This is achieved by starting a foreground service and disabling battery optimization.

Reliability is of extreme importance to a meditation tool in order to eliminate all possible worries about the timer not behaving correctly. Just press the button and start!

Donations

If you find this project helpful and you feel like it, throw me some coins!

And drop a star on this repo :)

Buy me a coffee

Liberapay

Support me on ko-fi

Paypal

Bitcoin: bc1qfu5gk78898zdcxw372unmwua0yd5luf3z60sgq

Technical notes

An important feature to implement was to have the volume of the notification bells be consistent and reliable. In other apps, the volume is tied to the system volume, implemented either as using the system volume setting directly, or as a modifier thereof. Both approaches are flawed and will lead to inconsistent volumes if the system volume changes or if you had forgotten to set it to the desired level before starting the timer. With my approach the app makes use of a configurable absolute value, so that the sounds play consistently at the same volume no matter what.

Another issue to solve was the reliability of the timer timeout event, making sure it happens at exactly the right time. For whatever reason, this is a ridiculously complex problem on mobile devices. There are continuous "improvements" to attempt to extend battery life, that make it really hard to ensure that a time-critical task happens at the right time. This app will make use of all possible tricks to ensure it is reliable. What I settled on was a combination of a foreground service and disabling battery optimization. This allows notifications to be sent reliably at the correct time. If that still doesn't work, you also have the option of keeping the screen on through wakelock.

Credits

Audio files

Here's a listing of the original audio files that each asset was derived from. They were all modified to improve cohesion.

Other
  • Enso.svg (CC0): used in the making of the app icons.

License

Source code

All source code is licensed under the GPL-3.0-only License.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.

Assets

All assets (images and audio files) are licensed under the CC-BY-SA 4.0 License.

This includes everything in the assets and media folders and in android/app/src/main/res.

Third-party

This project is developed using the Flutter framework, which is licensed under the BSD 3-Clause License.

Additional licensing information on all of the Flutter modules that are being used can be found in the in-app About screen.

nyxkn GitHub avatar
GitHub 작성자

nyxkn ↗

언어DartKotlinRubySwiftObjective-C

의존하는 Flutter 컴포넌트

사용 중인 의존성

의존성 목록 17 개

앱 카테고리

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗