Cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Announcing Fitbit OS 2.2 - The Versioning!

Fitbit OS 2.2 has begun staged rollout.
 
Check out what's new for developers:
 
Best Answer
23 REPLIES 23

Hi Jon, 

 

I have a watchface that fetches an external API on an Interval every 2.5 minutes to get a blood sugar reading. Im assuming with the new App timeout API, I would have to turn it to false to keep the above functionality working?

 

Cheers

Best Answer
0 Votes

 

I have a watchface that fetches an external API on an Interval every 2.5 minutes to get a blood sugar reading. Im assuming with the new App timeout API, I would have to turn it to false to keep the above functionality working?

No, the timeout only affects apps, not clock faces.

Best Answer

I have updated my watch face to use the new 2.0 SDK, and published it to the existing Gallery item.  The private link that I supply for myself allows me to test features and functionality. According to the announcement, "users on old firmware will still see your SDK 2.0 version, but they will be informed to update their firmware before the app can be installed. Pretty neat, eh?", is not working.  The updated clock face does not show as an update in the phone gallery. If I understand the statement correctly, shouldn't I be prompted to update my watch in order for the new watch face to work?

Best Answer
0 Votes

@mike_EV wrote:

I have updated my watch face to use the new 2.0 SDK, and published it to the existing Gallery item.  The private link that I supply for myself allows me to test features and functionality. According to the announcement, "users on old firmware will still see your SDK 2.0 version, but they will be informed to update their firmware before the app can be installed. Pretty neat, eh?", is not working.  The updated clock face does not show as an update in the phone gallery. If I understand the statement correctly, shouldn't I be prompted to update my watch in order for the new watch face to work?


If you have never published an SDK version 1.0 version of your app, users on old firmware will still see your SDK 2.0 version, but they will be informed to update their firmware before the app can be installed.

Best Answer

So, the only way a current user of my watch face can get the new features implemented, is to remove the existing watch face, and then re-install it?  That seems counter intuitive.

Best Answer
0 Votes

@mike_EV wrote:

So, the only way a current user of my watch face can get the new features implemented, is to remove the existing watch face, and then re-install it?  That seems counter intuitive.


When they update their firmware, they will get the new version for 2.0. At present, they are getting the version which is compatible with their current firmware (1.0).

Best Answer

When does a user get prompted to update their firmware?  I can't seem to find a way to update my watch to SDK 2.0.

How do we (developers) publish 2 versions of our product? It appears that now we will need to maintain a v1 and v2 in order to update anyone that has SDK 1.0 and SDK 2.0.

Best Answer
0 Votes

@mike_EV wrote:

When does a user get prompted to update their firmware?  I can't seem to find a way to update my watch to SDK 2.0.

How do we (developers) publish 2 versions of our product? It appears that now we will need to maintain a v1 and v2 in order to update anyone that has SDK 1.0 and SDK 2.0.


The firmware is on a staged rollout, so it's not available for everyone yet. At some point next week we'll have 100% availability, but they let it soak for a while first.

 

 

You can already upload multiple builds of your application, normally user's just get the latest "published" version. Now we have SDK2, users will get the latest "published" build which is compatible for them. You don't need to maintain multiple versions of your app, leave the old SDK1 "published" version, then continue to add SDK2 versions going forward.

Best Answer
0 Votes

Is there a trick to force it early so we can test our stuff before others have issues?

Best Answer

@wiseman13 wrote:

Is there a trick to force it early so we can test our stuff before others have issues?


Unfortunately not, but it's a good suggestion.

Best Answer

One suggestion would be under the Fitbit Studio if you connect a device and then build the application targeting the new version of the SDK in stead of just saying it is not compatible you give us the option to force the update from Fitbit Studio or at least set the flag that allows us to download it in the Fitbit app.

Best Answer

So what is the roll out cadence? Does the device only check once a day or on each sync for the update?

Best Answer
About the new Body Presence API, if the user takes off their watch “body.present” is false and when they put their watch back on “body.present” is true. But what if their watch is locked by a passcode and when they put the watch back on and don’t enter the passcode, will “body.present” still be true? Is there a way to detect that the user has not entered their passcode so that we can hide sensitive data from showing on the watch face?
Best Answer
0 Votes

Great question that inquiring minds want to know. We are now up to Thursday and I still do not see this update on my Versa. Anyone else having any luck with this slow rollout?

Best Answer

Reading the comments bover here I am wondering if the update has been halted.

 

https://community.fitbit.com/t5/Versa/Fitbit-OS-2-2-Versa-Firmware-Release-32-12-19/td-p/2986372

Best Answer
0 Votes

I think there are major issues with the new SDK. I will point out a couple here...

 

  1. Clock Error because of Memory: After spending countless hours trying to figure out why I always exceeded the memory limit (which subsequently caused my submissions to the gallery to be denied), I decided to console log the memory values of my watch face as it loaded. Under SDK v2, the functions I declare were not releasing memory the way the GC does in SDK v1, thus resulting in the clock face error. As soon as I flip the switch in the package.json to SDK v2, I get memory issues.
  2. IDE issues: The logging doesn't report accurate error location information. I cannot get either the Fitbit Studio nor VSCode to give me accurate log writing information. It always seems to be ~20-30 lines off.

 

How does Fitbit expect 3rd party developers to test the features and compatibility of a new SDK if they don't release it ahead of time? And at that, it seems that the new SDK wasn't completely tested in a small market to ensure that things like this didn't happen. The fact that we can't force our device (or a secondary device) to use the new SDK for testing is absurd. I am sure that if Apple told Fitbit that they could test out the new IOS when it becomes available, it would put Fitbit way behind the market of other wearables. There is a reason why companies that have 3rd party developers, release the beta versions of those ahead of time.

 

I know this will probably fall on deaf ears, but whoever is behind the methodology of these releases should really take a look at what these issues do to the stock prices in terms of shareholders, and the confidence of their user base (users and developers included).

 

Let me know what your response is regarding the 2 issues I pointed out above. Thanks.

Best Answer

@mike_EV wrote:

I think there are major issues with the new SDK. I will point out a couple here...

 

  1. Clock Error because of Memory: After spending countless hours trying to figure out why I always exceeded the memory limit (which subsequently caused my submissions to the gallery to be denied), I decided to console log the memory values of my watch face as it loaded. Under SDK v2, the functions I declare were not releasing memory the way the GC does in SDK v1, thus resulting in the clock face error. As soon as I flip the switch in the package.json to SDK v2, I get memory issues.
  2. IDE issues: The logging doesn't report accurate error location information. I cannot get either the Fitbit Studio nor VSCode to give me accurate log writing information. It always seems to be ~20-30 lines off.

 

How does Fitbit expect 3rd party developers to test the features and compatibility of a new SDK if they don't release it ahead of time? And at that, it seems that the new SDK wasn't completely tested in a small market to ensure that things like this didn't happen. The fact that we can't force our device (or a secondary device) to use the new SDK for testing is absurd. I am sure that if Apple told Fitbit that they could test out the new IOS when it because available, it would put Fitbit way behind the market of other wearables. There is a reason why companies that have 3rd party developers, release the beta versions of those ahead of time.

 

I know this will probably fall on deaf ears, but whoever is behind the methodology of these releases should really take a look at what these issues do to the stock prices in terms of shareholders, and the confidence of their user base (users and developers included).

 

Let me know what your response is regarding the 2 issues I pointed out above. Thanks.


Hey Mike, thanks for the feedback.

 

We do actually run a private beta of the firmware with a group of developers, as well as our internal testing, but I would love to see an extended beta programme too. I've also requested that developers receive firmware updates first during a staged rollout.

 

In regard to your specific issues, I think it would be best if you could provide an export or github link to your project, and we can take a look with the firmware team. You can send me a private message on here. 

 

Thanks

Jon

Best Answer

@JonFitbit - I have sent you a PM of my watch face, and have concluded that there is something in the base code that is affecting memory utilization and GC. I even went as far as updating my project (as a test) to exclude any constructors that didn't need to be imported. That didn't have any effect on memory consumption. I would really like to hear a response to what the OS developers have to say about my question. The longer this drags out, the more users that will be affected by watch faces not being able to run correctly, or users that have purchased watch faces only to find out that there isn't a new version compatible with the Fitbit firmware update. I can only assume that your customer service has to deal with quite a few of these calls.

 

@wiseman13 - I factory reset the Ionic that I use for development, and I DID receive an update when adding the "new" device to the Fitbit app, but it is still on SDK v1 (my Versa is still on v1 as is working great). So, I would really like to know how many users Fitbit has pushed this new firmware out to, and what their release cadence looks like. I can't seem to get any good answers from them.

Best Answer
0 Votes

I tried resetting the Android application and the Versa, but am still not seeing the update I am guessing that the rollout has halted based on the multiple issues being discussed in several of the sub forums here. i hope they get back to you soon with some information on the issues you are seeing.

Best Answer
0 Votes