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

Announcing SDK 5.0 for Fitbit Versa 3 and Fitbit Sense

ANSWERED

SDK 5.0 has been released! Check out the developer blog post for all of the details!

 

https://dev.fitbit.com/blog/2020-09-24-announcing-fitbit-os-sdk-5.0/

Best Answer
1 BEST ANSWER

Accepted Solutions

Whilst I do understand that sometimes a new major version of software needs to be released.

 

It does very much feel like the app and clock face developers have been left to work out how to support both versions of the SDK with workarounds to the Fitbit tooling.

 

Fitbit studio does not support "multi-targets" like other tools (e.g. visual studio and .net versions)

 

There are no compile time directives (again like .net) to support multi targeting where code bases will be different.

 

The GAM does not nicely support uploading a 4.2 SDK and 5.0 SDK version.

 

This whole thing feels like the app ecosystem has been split into legacy and new.  With no real way for developers to support old and new devices without a large amount of manual work of uploading multiple apps.  And also having a split codebase to support 4.2 and 5.0 SDK.

 

All in all, very disappointing from FitBit.

View best answer in original post

Best Answer
35 REPLIES 35

does this mean no more updates for the Ionic and Versa 1, lite, and 2?

Best Answer

How long is SDK 4.x going to be supported?

And what does that mean for developers building apps/clockfaces for that older SDK version?

Building your applications for both versions at the same time would make parallel development for SDK 4.x and 5.x way easier.

But as stated in the blog post this is not possible - not yet or never?

 

Will the release of SDK 5.0 effectively make Ionic, Versa (original, lite, 2) obsolete? - Which makes building apps/clockfaces for these devices way less attractive.

 

Best Answer

I get the following error when trying to implement scrollview or tileview using the new SDK 5.0 on Versa 3 and Sense with the Fitbit Simulator:

 

"Error 22 Invalid value ' '   Resources/widget_tray/widget.defs: 1,1"

 

I've renamed the index.gui file to index.view, widgets.gui to widget.defs and changed the imports in the widget.defs file as instructed.on the link above.

Best Answer

Hi Jon,

 

Thanks for the update.

 

Going forward, do we have to build 2 separate Apps to support all devices?

 

I.e. One App in SDK 4.2 that supports Ionic,Versa,Versa Lite, Versa 2 and a separate App with SDK 5+ for Versa 3 and Fitbit Sense?

 

Thanks.

Best Answer

@SuperStevo86 wrote:

I get the following error when trying to implement scrollview or tileview using the new SDK 5.0 on Versa 3 and Sense with the Fitbit Simulator:

 

"Error 22 Invalid value ' '   Resources/widget_tray/widget.defs: 1,1"

 

I've renamed the index.gui file to index.view, widgets.gui to widget.defs and changed the imports in the widget.defs file as instructed.on the link above.


There are a few spurious errors appearing in the console. We're working to get these resolved.

Best Answer
0 Votes

Two separate projects/fba files, hopefully with shared application logic. They can both be published under the same UUID to the same GAM listing.

Best Answer
0 Votes

How long is SDK 4.x going to be supported? And what does that mean for developers building apps/clockfaces for that older SDK version?
Fitbit Studio only supports 2 SDK versions simultaneously, but you can continue to build with any SDK version using the command line SDK.

Building your applications for both versions at the same time would make parallel development for SDK 4.x and 5.x way easier.

But as stated in the blog post this is not possible - not yet or never?
Technically it's possible to do this, and community members are discussing ideas on Discord.

 

Will the release of SDK 5.0 effectively make Ionic, Versa (original, lite, 2) obsolete?

SDK 4.2 was just released for those devices. SDK 5.0 was released for the new devices. Unfortunately it wasn't possible to have a single toolchain for both OS versions, but you can continue to use SDK 4.2 and publish to the gallery.

Best Answer

After switching it to 5.0, started getting this error.

 

AjaySingh_0-1601033948788.png

 

Best Answer

I am able to figure it out.

Actually the difference between 4.x and 5.x is the index and widget file extension.

for index file, it is index.view and for widget is widget.defs

Best Answer
0 Votes

I bought my Fitbit Versa 2 less than THREE MONTHS ago. If I'm reading this post correctly, API 4.2 is now obsolete after only one week, API 5.0 is incompatible with ALL of the previous (Ionic, Versa, Versa 2 and Versa Lite) devices, there will be no COMMON upgrade path for any of the projects, and the platform will ONLY move forward with API 5.0. Where does that leave the current developers?

 

From what I've seen, the Fitbit Studio web site has only supported the current API version, and a single prior release. If that holds true, I won't be able to support any of my apps beyond API 5.1 from the web site. Since I registered as a developer two months ago, a new OS version has been released every 2 or 3 weeks. All total, I've gotten more than 1,000 reviews for my seven clocks (in just two months). I have no idea how many downloads that actually reflects because the Gallery App Manager STILL doesn't provide a download count. How am I supposed to support these users? I can't fix things using a development environment that locks me out of building my projects every time that a new API version is released.

 

I tried the Node.js command line interface (CLI) and it only allows me to select between Versa 3 and Sense for new projects. It doesn't look like you can build 4.2 applications out-of-the-box, and you must reverse engineer the project files manually. Versa 3 only came out on August 25th, and the Sense ships today. Virtually all of your user base is still wearing Iconic or legacy Versa devices, and developers have no easy way of creating projects for those platforms.

 

Honestly, I have no intention of buying a Versa 3 or Sense yet because my Versa 2 Special Edition is less than THREE MONTHS old and cost $230 USD. I've NOT seen any posts in this community to suggest that the new platform would be incompatible with the current one until the day API 5.0 was released. Even if I created a new project for API 5.0, I won't have the hardware to even use my own app. So, there's no motivation for me to build anything that's not a shared code base. If you are trying to attract developers, that's not the way to do it.

 

The success or failure of any platform depends on the software. Not just the software written by platform owners like Fitbit, but also third party developers who can make things fun and personal for people (often times for free). Both the Apple and Android mobile platforms owe a large part of their success to third party apps. When you don't provide a good and consistent experience for developers, you end up with something like the Microsoft Windows Phone. What's that? You say you've never heard of a Microsoft Windows Phone?

 

The API is a good platform that I like very much. And I only want to see it succeed.

Best Answer

I just moved one of my clocks over to API 5.0 as a test.  All of the things that I changed were limited to the "resources" folder (at least for clock faces).  For different screen resolutions, I require different sized icons, images and style definitions.  The main JavaScript doesn't change.

 

Why not just have folders under resources for the specific major API versions?  For example, "/resources/4" and "/resources/5"?

 

Have the API version check boxes in Fitbit Studio include 4.2 and 5.0.  Since the majority of your user base is Ionic/Versa/Versa 2/Versa Lite, 4.2 needs to be supported for a while yet.  I'm okay with still having to build API 4.2 and API 5.0 deployments separately, but the ability to easily switch between them in the development environment would be HUGE!

 

That way, developers could have a single code base, and utilize a library that you can check to see whether that features exists on the device -- similar to the way that elevation must be checked if you are supporting Versa Lite before you can access that feature.

Best Answer

Sad stopping propper support of the Versa 2 already. Terrible excuse that you can't upgrade the older once because of the screen size / resolution. 

Best Answer

@TigerPointe wrote:

Why not just have folders under resources for the specific major API versions?  For example, "/resources/4" and "/resources/5"?

 

Have the API version check boxes in Fitbit Studio include 4.2 and 5.0.  Since the majority of your user base is Ionic/Versa/Versa 2/Versa Lite, 4.2 needs to be supported for a while yet.  I'm okay with still having to build API 4.2 and API 5.0 deployments separately, but the ability to easily switch between them in the development environment would be HUGE!


I am pretty sure that something like this would be possible. And this would motivate a lot of developers to also support SDK 5.x for existing projects.

 

Best Answer
0 Votes

@Harboe They were even able to support Versa and Ionic withing the same SDK version. Be honest @JonFitbit and say that you don't have enough resources to keep all the Fitbit devices updated. To me this is a total letdown by Fitbit and will have big effects on its credibility towards users and developers.

Best Answer

This is truly disappointing. Every other OS provides updates for older devices. I was developing an app for fitbit, and I just bought a Versa 2, 3 months ago. I will not only stop developing it, my next device won't be a fitbit.

Best Answer

that's right, only 1 year of support is ridiculous.

me and my girlfriend bought two versa 2 but we will definitely never buy fitbit products again.

Best Answer

Whilst I do understand that sometimes a new major version of software needs to be released.

 

It does very much feel like the app and clock face developers have been left to work out how to support both versions of the SDK with workarounds to the Fitbit tooling.

 

Fitbit studio does not support "multi-targets" like other tools (e.g. visual studio and .net versions)

 

There are no compile time directives (again like .net) to support multi targeting where code bases will be different.

 

The GAM does not nicely support uploading a 4.2 SDK and 5.0 SDK version.

 

This whole thing feels like the app ecosystem has been split into legacy and new.  With no real way for developers to support old and new devices without a large amount of manual work of uploading multiple apps.  And also having a split codebase to support 4.2 and 5.0 SDK.

 

All in all, very disappointing from FitBit.

Best Answer

The platform was already in serious need of more developer support and this decision will certainly drive developers to other competing platforms. You are still selling (but not supporting) most of these watches! My next watch won't be a Fitbit....

Best Answer

@JonFitbit When are these errors going to be fixed and does that mean any SDK 5.0 build that gets submitted for review in GAM will automatically be rejected because there are "errors" even though these errors can't be fixed by the developers as they are referencing "Fitbit" resources not accessible by developers?

Best Answer