DEV Community

Cover image for Intro to developing for the Fitbit Ionic
Richard Orelup
Richard Orelup

Posted on

Intro to developing for the Fitbit Ionic

What led you to start developing on the Fitbit Ionic?

Skip to the next section if you want to get more into the dev details.

My current employer has a wellness program where you can earn up to $500 per year doing different tasks and tracking it. My first year at the company (2016) everything on the site was extremely manual and annoying to track.

Last year the software they used moved to tracking steps instead of time for the majority of the challenges. They also gave us $60 off any item bought directly from Fitbit. Since Fitbit runs sales at the beginning of the year this meant I was able to score a Charge 2 with HR monitoring for $70. While I'm not normally a watch wearer or never been interested in a smart watch before, this device really intrigued me. Right away I looked at how I could customize it to have additional functionality I wanted. Unfortunately it wasn't possible and I was stuck with what it offered but the bug was planted in my head.

With the announcement of the Ionic also came the announcement of the ability to write apps for the device which instantly caught my attention (plus additional features like GPS, waterproof) and I was ready to plop my money down. I decided to wait for the new year in case my work offered another rebate and I was hoping that there would be a new year sale. So second week of January I placed my order and got it 2 days later.

After waiting about an hour to get the device setup (not sure why it takes 30 minutes to download an update for the device initially, but it did), I opened up the getting started guide and 10 minutes later I had an app running on my watch.

What do you write it in?

Apps are written in Javascript, SVG and CSS. It looks like we have access to every sensor and input the device has from what the documentation says but obviously I haven't gotten to that point yet.

The documentation is kept here - Fitbit Developer Site

What's interesting though is that you are required to use their own web based IDE to write/build/deploy your apps. You can't do local development and push to your device. There is no local emulation either so you must test your work on an actual device. Your watch must also be connected to wifi to push a build to it which adds an annoyance for when you want to work on your app from someplace remote.

What can you do with it?

Right now it seems like you can do a ton with the device because, on top of the buttons on the side, you have a a full touchscreen to work with. You can make calls to the web to pull data (pushing data I'm not to sure of yet cause it wasn't very clear in the documentation.) Things like controlling smart devices is pretty simple to do from your wrist. With access to all the sensor data I bet you could create some interesting UI interactions where you manipulate things with your arm.

Someone created a barcode app that I'm using to get in to my local YMCA. The device has NFC built in for handling touch payments BUT I haven't found any documentation on if we can use it for other things.

What's next?

The first project I plan to do is a slider puzzle just to get myself use to working with the device. I'll try to do a build journal on here and share how it goes. I'll also open source the code for others interested in looking at it.

Got any questions or ideas for things you would think would be cool to do with the device? Share below! And thanks for reading.

P.S. I find it funny how it took me 10 minutes to get an app running on my new device but 4 days to write this article. :)

Top comments (1)

Collapse
 
spencerw15 profile image
Spencer

Hi Richard, super appreciative of anyone who has tackled the wearable applications. It’s a really exciting space with a bright future. Thanks for sharing. I’m new to programming and really only spending the majority of my time learning data science with python. What language would I need to learn in order to develop on this platform?

Also, do you know of any online communities where I can easily find posts like yours?

Thanks,
Spencer