Coder Social home page Coder Social logo

importryan / muggle Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 4.42 MB

Muggle is an open source, privacy-friendly alternative to apps by Bluetooth smart mug manufacturers.

License: Other

Swift 99.78% Shell 0.22%
corebluetooth ember-mug macos nordic-bluetooth swiftui swiftui-macos ember-smart-mug

muggle's Introduction

Muggle

Muggle is a macOS menu bar app for Bluetooth smart mugs. Unlike OEM apps, your identity and activities are not collected.

Test Flight | Supported Mugs | Repo Overview | To-Dos

At Target Temp Heating/Cooling
AtTargetTemp NotAtTargetTemp

Supported Mugs

  • Ember Cup 6 oz (tested: CM21S)
  • Ember Mug 2 14 oz (tested: CM19P)
  • Ember Tumbler 16 oz (tested: CM21XL)

Caution

Check the max target temperature of your mug in Ember's app. Muggle's max is 63โ„ƒ (145โ„‰). If that doesn't match Ember's app, I'd appreciate an email about it. Don't set a higher temp (as I lack your device and have not tested whether Ember wrote a safeguard into its firmware).

Repo overview

Various brands of BLE mugs are abstracted behind a BluetoothMug and BluetoothPeripheral protocol to keep the view layer agnostic to specific models. Nordic's CoreBluetoothMock library enables stable unit testing on CI.

Package\Target Purpose
MuggleMac SwiftUI MenuBarExtra
MuggleCore\MuggleBluetooth CBCentralManager
MuggleCore\EmberBluetooth Ember CBPeripheral(s) + Nordic mocks
MuggleCore\VFZOBluetooth VFZO M1 CBPeripheral + Nordic mocks
MuggleCore\Common BluetoothMug/Peripheral protocol + Nordic CoreBluetoothMock shim
MuggleCore\CommonUI Cross-platform SwiftUI

Tasks

V1.0.2

  • Icon: brighten/de-cheese
  • Verify behavior: Travel mug (HasContentsCharacteristic, Service)
  • Verify behavior: Tumbler
  • Verify behavior: Cup
  • fix: When keyboard navigation enabled, the Settings button appears with a focus ring

V1.1

  • Experiment: predict cooldown time, battery life, charge time
  • VFZO M1 mug support

Features

  • Experiment: eliminate Ember's low volume overheating
  • Experiment: reduce Ember's' battery consumption during cooldown phase
  • More non-Ember products
  • visionOS: as central
  • macOS/visionOS: "remote" central
  • iPhone/iPad + Live Activity / Widget
  • Improve onboarding

Minor/Fixes

  • Scanner efficiency: Reduce eagerness to save a little laptop battery / turn on manually after initial session
  • Forget a mug: cache forgotten IDs to prevent mugs in discovery mode from automatically reconnecting if scanning
  • Multi-muggers: select mug for MenuBar or allow multiple in MenuBar
  • Expand mock and live test suite

muggle's People

Contributors

importryan avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

dorukakinci

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.