Whats the difference between Apps and Widgets?

Former Member
Former Member
I have looked at the UI guideline summary and I dont fully understand the difference between an App and a Widget, they seem to have access to the same functionality so I guess its the way they are presented to the user that is different. Can someone enlighten me?
Thanks
Nick
  • Widgets are "quick view" things and on watches, typically accessed with up/down from the watchface. (the "widget loop"), you more though each one and it runs. On watches they also have a short life (30sec-2min) and revert to the watchface if there's no user interaction.

    Device-apps are run in the same way you run a native activity (like "run"), stay running until the user exits, and have extra functionality like recording a .fit file.
  • Just to add a bit to Jim's explanation, an app basically takes over the entire watch UI and is thus the most powerful but complicated CIQ object. You can still use API's to help do things like record an activity, but all the UI from drawing to handling button presses is being done by the app. Apps also run indefinitely until the user does something to cause the app to exit - defined button presses, plugging the device into the computer, etc.
  • Former Member
    Former Member over 6 years ago
    Thanks for the answers.

    Is it possible for a single .prg to deliver the full set of UI objects: an App, a widget, a Data Field and a watch face. I can certainly see our customer wanting the first three to support their product and it would be better if they were not seperate installable items from a users perspective.

    We aren't writing the ConnectIQ app but we are tasked with understanding the Garmin ecosystem and adding ANT/ANT+ support to what is currently a BLE only product.
  • If you want a device-app and a widget that do basically the same thing, you'll need 2 prg files. When building you can use shared code/barrels and reduce the amount of unique code for each.
  • Thanks for the answers.

    Is it possible for a single .prg to deliver the full set of UI objects: an App, a widget, a Data Field and a watch face. I can certainly see our customer wanting the first three to support their product and it would be better if they were not seperate installable items from a users perspective.

    We aren't writing the ConnectIQ app but we are tasked with understanding the Garmin ecosystem and adding ANT/ANT+ support to what is currently a BLE only product.


    As Jim says, not available today, but that would be an interesting concept. Not sure if it would confuse users more or less though. Is it an app or a data field or a widget? There are often apps and data fields that do very similar things by the same developer but used in different scenarios. But if the user doesn't understand the difference between the object types (which most probably don't), they could get quite confused.