InfiniTimeOrg / InfiniTimeOrg/InfiniTime

Levels of customization

Open
#1,315 9 comments 10 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question/discussion
Dominant language
C
Stars
3.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

I am opening this issue as a general discussion about customization.
We have the problem that InfiniTime wants to keep unnecessary customization out in favor of good defaults, but we also have a user base that seems to like to tinker on a lot of little details. Both are completely valid. I do not think that "maintain your own fork" is a good default solution for this.

I propose the following three tiers of customization:

  1. Settings that can be changed via the UI, because people actually change them on a stable setup (like turning Bluetooth off).
  2. Settings that can be changed from the settings file via BLE FS without a UI, so not everything needs a UI. This would need changes on the file and maybe the companion apps. People could share those config files with each other. An example could be custom vibration times/patterns.
  3. Custom builds, for everything that needs no runtime configuration, like which apps, watch face or general features to include. I am also thinking of something like building the firmware completely without heart rate monitoring for people who are not interested in this.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Begin by reviewing the three proposed customization tiers and determining which tier is in scope; done would require an agreed implementation plan for UI settings, BLE FS configuration, or custom builds.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.