Thursday, February 2, 2017

Privacy Policy

This policy was created as part of new requirements from Google Play.
PlexFit does not collect or store any personal information on its own app or on the server. Access to the followings are explained as below:

_ Google Account: only to import your fitness your data to Google Fit. Once imported, the data is flushed and nothing is stored locally or in the cloud.

_ Sleep Data: stored locally for the historical feature, no personal information is stored with this data, only raw number + timestamp, it will be wiped  once you uninstall the app.

_ GPS: only for biking + running tracking, once imported to Google Fit, it will be flushed and wiped.

Only the following informations are transmitted to the cloud:

_ Your unique Android Id for license reinforcement (to prevent trial period circumvention or license cracking)

By installing the app, you agree to the following data being used for PlexFit to function as intended. Anytime you change your mind, you can uninstall the app and everything will be wiped. We do not keep any confidential information. We only make money from selling license, which is $2.99, we do not sell your information like what other companies are doing.

Sunday, November 29, 2015

PlexFit now supports Pebble Time Round

Hi guys,
I know it has been a while but I am excited to announce that Pebble Time Round support for PlexFit is here. I had to redesign all the GUI to accomodate the Pebble Time Round and it took longer than I expected. I had to do many iterations till I am happy with the final design without deviating too far from the original PlexFit GUI.

I have released the updated app to the Pebble App Store. If you have a Pebble Time Round, it should be available to you today. If you have a classic Pebble or Pebble Time (Steel), please also try downloading the new app. It has a few new changes under the hood as well:
  • Improve color scheme to make the app looks more modern and improve visibility
  • All the menu screens now updated for color
  • Change the calibration instruction to make it more robust for users
  • Improve sleep data syncing

Here are the few new screenshots on the new PTR, hope you enjoy it. Thank you again for your support. What are you still waiting for, go get yours !!

Tuesday, May 26, 2015

FAQ: The New PlexFit Update

Hi guys,
I received a lot of emails regarding the new version so I would like to address here to hopefully help you quickly find the answer you need to look for.

Q: Help, no sync working when I updated to the latest version

A: Please go the navigation drawer, and select "Install Watch App" option to reinstall/update the watch app on your Pebble and it should work. Please note that new version requires the new watch app to sync.
If you have already had the latest PlexFit version on your Pebble, check to make sure sleep tracker is not active, go the sleep tracker screen (either through the menu or by holding the Select button), check the top right corner below the battery bar, do you see a record icon ? If you do, sync will not work since all syncs are disabled when sleep tracker is on for reason I will explain below

Q: PlexFit keeps launching itself to foreground. I want to run PlexFit purely background only. Please help.

A: Please go to Settings in the Navigation Drawer and check the box "Keep PlexFit Background" and you will never see PlexFit in the foreground again. The reason for this new behavior is because when PlexFit is running background, the sync is very spotty due to Pebble doesn't allow the background worker to use a more reliable sync function. I solved it by regularly launch the watch to foreground to check for new data. If you check that box, the Android app will automatically close the app after it's done so you will never see it in the foreground again.

Q: No sync working when sleep tracker is active, what's the deal ?

A: It was actually a deliberate design decision. There has been studies such as this one saying that having mobile phone or devices emitting radiowave near where you are sleeping reduces sleep quality: I tried to protect my users from harm so I decided to make PlexFit Pebble collects then analyze all the data by itself instead of streaming raw accelerometer to the phone like Sleep As Android (, which might be bad for your health. Please note that I am not trying to bash any apps, I am just trying to raise awareness on this issue and what I have done to improve user health.

Q: Sleep tracker is not accurate and it shows me very high awake time or very high deep sleep time

A: First of all, make sure you calibrate your PlexFit since sleep tracker depends on whether calibration has been done or not to be accurate. If you have already calibrated and the values are still off from other trackers, use the Sensitivity in the Sleep Tracker section to adjust sensitivity of the sleep tracker. If PlexFit gives you very high awake time, it means it's too sensitive and you will need to lower the sensitivity to low. If PlexFit gives you very high deep sleep time, it's undersensitive and you will need to increase the sensitivity to high.

Q: Steps in Google Fit doesn't match in PlexFit

A: This is actually a common issue but the solution is actually pretty simple. Go to Google Fit, turn off "Activity Detection" and the step should match. If you leave "Activity Detection" on, Google Fit will also act as a pedometer and it will count your steps in redundant with PlexFit, causing the step to disagree.
Please note that at times, there might be bug causing the steps to disagree between PlexFit and Google Fit and I have fixed most of them in the latest release. There's still one and I will try to release a fix for it this weekend.

Q: Distance estimation in PlexFit is not accurate

A: Distance estimation in PlexFit is based on the stride length, which in turn calculated from your height PlexFit reads from Google Fit. Make sure you enter your height in Google Fit. PlexFit will automatically check for updated height then readjust the distance estimation accordingly.

Q: What are the shortcuts ?

A: In the main PlexFit screen, hold Select (the middle button) to quickly access the sleep tracker window.
In the sleep tracker window, hold Up to start sleep tracking, hold Down to stop sleep tracking.

If I miss any other questions, please let me know and I will try to add.

Thanks guys,

Sunday, May 24, 2015

PlexFit with Sleep Tracker and Pebble Time support is officially out of beta

Hi guys,
Pretty excited today to finally release PlexFit with Sleep Tracker and Pebble Time support to the main channel. Everyone should be able to get the new update in a few hours. Here is the list of changes compared to the last version released on the main channel:

  1. Sleep Tracking support and fully integrated
  2. New GUI for both the Android app and the Pebble App
  3. Pebble Time support (see PlexFit in color)
  4. Full background mode
  5. Tasker support (to automate pause, resume, sync, start sleep tracking, etc...)
  6. Significantly improve sync with Google Fit
  7. Now PlexFit can track and insert distance into Google Fit
  8. And many more ...
Download today and enjoy all the latest features PlexFit has to offer. I would like to thank all the beta testers on the PlexFit Beta Testers Google Communities who have continuously provided feedbacks to make PlexFit better and better.

Here is the list of intent action available in Tasker.
EDIT: Additional intents to control biking and running tracker has been added

Package: com.bidusoft.plexfit

Force Manual Sync Intent Action:

Pause Tracking Intent Action:

Resume Tracking Intent Action:

Start Sleep Tracking Intent Action:

Stop Sleep Tracking Intent Action:

Sleep Data Sync:

Start Running Tracker:

Stop Running Tracker:

Start Biking Tracker:

Stop Biking Tracker:

Sunday, April 19, 2015

PlexFit Beta with Sleep Tracker Released

Hi guys,
It has been a while since I started working on adding sleep tracking to PlexFit and it's finally here: the first beta build with sleep tracking completely integrated and a new GUI to accompany the new features.

I know many people has been requesting for sleep tracking since it's a necessary component of any fitness tracker released nowadays. I felt the same way so I have been working very hard to make this happens as early as I possibly can. During the initial beta testings of the dedicated PlexFit Sleep Tracking app, the feedbacks have been overwhelming positive and many users let me know that the sleep tracking algorithm was as good as the big names in fitness tracking such as Misfit, Fitbit, Sleep As Android and more... The users were very responsive when I asked for more information to help me further fine tune the sleep tracker and they were all very cooperative. Thank you for all your helps for enabling me to get this far. Without your feedbacks and encouragement, I probably will not even make it. Hope that this release will make PlexFit one step closer to being the ideal fitness tracker for Pebble and many of you have been longing for.

Without further adieu, here are some new features of the new PlexFit Beta:

  • Sleep tracking is now integrated seamlessly. It will be started and stopped automatically based on the sleep time pattern you configure into PlexFit and PlexFit algorithm (this is actually the hardest part of the integration: determining when the users going to sleep and wake up but I finally did it)
    • PlexFit Android app also have support for syncing sleep data with the beta PlexFit app
  • New GUI design with new navigation drawer for improved accessibility
  • Other UI tweaks to improve readability of information

There are actually a lot of changes underneath but they are too many to be listed here. Give the new beta a try and you will see it.

To be able to use the beta, you will need to do the followings:

Here are the new screenshots of the Android apps:

Here are screenshots of the PlexFit Watchapp:

Enjoy and please let me know if you have any feedbacks or questions via email at 

Wednesday, March 25, 2015

Settings in PlexFit Pebble 1.14 explained

Hi guys,

1.14 was released yesterday to the Pebble App Store and since Pebble App Store has very poor update policy. I was actually taking advantage of it and used it as a way to test it for limited audience. The initial feedback was good and I will release it soon to everyone.

With the release of 1.14, there were a lot of changes and new features and I want to explain those features/settings in this blog, hoping that everyone will understand the new settings and make those work for you.

First of all, here are the new features:
1) New beta algorithm (Magnitude)
2) Finer granularity of sensitivity control
3) Update or refresh frequency setting added for users to control how quickly the watch face is updated (to conserve battery)

Now let me explain what the existing and new settings mean:

1. Calibration

This is actually the most asked about setting. I have received so far at least 100 emails asking about this so I will try my best to be clear about this topic. First of all, the point of the calibration is to take into account the fact that not all Pebble are made equal. By default, due to manufacturing variation, all Pebble will have very different base calibration values.

By default, an accelerometer at rest on the face of the Earth should register a base acceleration value of 1G or 1000mG, that's equal to 9.80 m/s * s. The Earth exerts a gravitation force on any accelerometer on Earth causing this value. Now, any accelerometers by default will have the base readings deviate from this value, some register 980, some register 1020, 1010, etc... so on and so forth. How far it deviates from the base value is based on the manufacturing tolerance and based on how much the company is willing to spend on QC.

Now, how this base value affects the pedometer algorithm you may ask. That's because the accelerometer is now known to have an offset from the expected value, then all the readings from this accelerometer have a high chance of having this offset as well and they are not accurate, a sound assumption right ? So, let's assume that we know this offset, we can assume that we can subtract this offset from every accelerometer readings then feed that to the algorithm then we should expect the algorithm should behave the same on all the Pebble, a reasonable assumption here.

So when you calibrate your Pebble using PlexFit, what it does is that, it takes a lot of measurement in the 10 seconds, then it computes the average and compares that against the base expected acceleration value, which is 1000mG. Any offset from this value will be reported in the Calibration(x) at the end of the calibration (actually the calibration algorithm is a bit more complicated than that but this is the general idea). Then, PlexFit will store this value and uses it to subtract every readings from it before feeding to the algorithms.

This calibration offset affects both algorithm since it is subtracted from the data before feeding to the algorithms.

2. Sensitivity Level

In short, this is a way for you to customize how sensitive you want the algorithm to be. If the current algorithm is too sensitive for you, reduce the sensitivity level (more negative) and vice versa. In 1.14, this setting has been adjusted to be more granular (around 25% finer than in 1.13 and earlier) so that you can select the sensitivity settings that fit your needs better.

Note that this setting works for both algorithms (Rhythm and Magnitude)

3. Low Pass Filter

This setting is part of the Rhythm algorithm. It serves as an additional filter to filter away events that do not resemble a walking motion. Let's say you take shower, eating, etc... and you have a lot of false positive counts on your PlexFit while using the Rhythm algorithm. This setting will allow you to filter out those events and it should greatly reduce the number of false positives from other activities in your daily life. Some users report that it also filters out false positives when the users drive, ride motorcycle, etc...

Note that this setting only works with Rhythm algorithm. It will not do anything if you select Magnitude algorithm.

4. Step Threshold

This setting affects both the Rhythm and Magnitude algorithm. It controls how many valid step events PlexFit must register before it turns on the pedometer and start tracking. This setting should help considerably if you suffers from a lot of false positives from any activities in your daily life that are not walking (for instance typing, eating, hand gestures while talking etc....). Because this restricts that the user has to continuously walking for more than x number of steps before it will start tracking, any isolated motions like shaking wrist, etc... will not trigger the pedometer.

Please note that there's a battery trade-off if you go to higher step threshold setting due to PlexFit has to do more calculation by comparing more past events to ensure that you walk enough to trigger the pedometer. You should conservatively increase this if you have issues with false positives.

5. Algorithm

Yes, this is the beef of 1.14 and this is the one feature that many users have been asking about. I will try my best to explain here but please let me know if you have any questions or follow-ups and I will address here as well.

The initial algorithm included with PlexFit is the Rhythm algorithm. It's based on the latest research on walking motion and it basically tracks and compares user movement to a rhythm. It works well for users who have normal walking rhythm with certain arm swings when walking but its con is that it doesn't track well when a) users have walking rhythms different from the rhythm expected by the algorithm b) users who artificially constrain or restrict their walking rhythm by actions like putting hands in pocket, using muscle to dampen acceleration generated by arm swing, etc... Please note that you can adjust the above settings so that PlexFit can fit your walking rhythm but there are cases where the users couldn't find the correct settings for them at all and that's a problem preventing PlexFit from appealing to more users.

So I developed the alternative algorithm called Magnitude. Different from Rhythm, it doesn't care if the users walk, or do any actions at all. As long as the magnitude of the accelerometer values is large enough or similar to the value generated from a valid walking event, PlexFit will count that as step. This algorithm is more like a general algorithm that should cater to a larger public or to users who don't have or don't like a normal walking rhythm expected by the previous algorithm. This algorithm should work well enough for most users provided that you take time to tune the sensitivity levels and step threshold to fit your walking style while mitigating false positives. Please note that low pass filter is a Rhythm algorithm setting and it will not do anything if you select the Magnitude algorithm.

6) Update Frequency

Ok last but not least, this new setting allows you to control how frequently you want the watch app to update whenever the step count and active time change. Currently it's set to update immediately as new step coming in but given the understandings that e-ink consumes battery more when there are a lot of refresh or motion. I added in this setting so that you can conserve battery life by having the watch face refresh less often. If you do not check PlexFit frequently, this setting is great for saving battery.

Ok that should be everything in 1.14. Please let me know if you have any questions and I will post it here for everyone to see :). Thank you for your supports and for all the constructive feedbacks I have received. You guys are making PlexFit better day by day and I really appreciate that !!

Sunday, March 22, 2015

New version of Beta Sleep Tracker and companion Android App Released

Hi guys,
I just released a new beta of the PlexFit Sleep Tracker and the companion app (initial release).

Changelog for the PlexFit Sleep Tracker app for Pebble (version 1.2):
_ Battery optimization
_ Algorithm optimization
_ Added sync support to the Android companion app

You can get it here: Link

Initial release of the companion PlexFit Sleep Tracking Beta:
_ Allow the data collected by the Pebble PlexFit app to be visualize in Sleep Graph so that you can compare with your favorite sleep tracker (required version 1.2 of the PlexFit Beta Sleep Tracker for Pebble)

You can get it here: Link

Thank you in advance for helping to make PlexFit better :)