Golf Scorecard: 1st version submitted.

Former Member
Former Member
I have just submitted my very first release of a simple Golf scorecard app.

(I'd like to post a screenshot here but the image upload widget doesn't work for me)

A simple Golf app that counts your strokes per hole and, if manually started, records the distance, duration and track of your round.
Instructions:

(1) The App will crash on the very first instance. Don't worry. Retry. Just as in Golf: your next swing will be just fine!

(2) The main screen shows the current hole, the strokes on this hole, and, in smaller print, the total score (no stableford, no Hcp, no nothing, only plain strokes) and the time.

(3) To add a stroke press the up button. To delete a stroke press the down button.

(4) Press the "Start/Enter" button to show your score card: the "out" 9 holes in the first row, the "in" holes in the second row. The current hole is marked by a "V". Please note that for convenience the app advances one hole when you invoke the scorecard. You can just click "Start/Enter" a second time to return to the stroke keeping main screen for the next hole. If you want to stay in the current hole or navigate to any other hole, use the up and down buttons. Use "Start/Enter" when done.

Remember: clicking "Start/Enter" twice advances one hole and returns to the main screen. Convenient, isn't it?

(5) If you want to record your activity and create a FIT file that will be uploaded automatically to your Garmin Connect Account, press the "Menu" button (that is the "up" button, but pressed for a while). Use the up/down buttons to navigate the menu. Select "Start Round". CAUTION: this will reset the current scorecard! So if you want to record your round, activate recording before you start your round. Once done, invoke the menu again and select "End round". This will stop recording and finalize the FIT file for upload. You

There are currently no confirmation dialogs such as "are you sure you want to do this?". So be prepared to take the responsibility of any button you press.

The App runs on a fenx 3 only. I bet there will be bugs. Please remember: this is the very first release! Hcp 54 in Golf language.
  • Former Member
    Former Member over 10 years ago
    Some new ideas (or requests) for this great apps:

    1. In recording mode, when we start a new hole, is it possible to mark a new lap in the track? That will be very useful because after uploading the Activity to Garmin Connect and see the track on the map, we can see separately 18 laps (correspond to 18 holes).


    That's a very good idea. I also thought about it. I thought also about loading recorded rounds with lap markers and interpret the lap marker as the position of the pin on the green. Once this would be possible, one could display the distance to the green...

    Unfortunately, as far as I'm aware, the SDK and IQ API in the current version neither allow to set a lap, nor to load tracks and retrieve lap markers. I hope that will change later.

    2. Can you store the scores into the FIT file, so that we can view later in Garmin Connect, may be in the "Comment" field?


    Again, excellent idea. As far as I know the API does not allow me to do this.


    3. Same as 2. above but the strokes' number and their distance (provided that user recorded properly right after each new stroke).


    See above. I'd love to do this but Garmin seems not to support this right now.

    One could even take this a bit further and create a FIT file that is compatible to those from Garmin's own approach series. Garmin connect supports golf scores with statistics etc. beautifully on their web site, but I don't see how I could make use of it.

    One reason might be that Garmin wants to protect sales of their Approach series watches. If so, I think this is a rather dumb idea because someone interested in an Approach S5 or S6 would currently not buy a fenix (because the lack of Golf support), but might prefer a fenix rather than an S6 if the fenix would have similar features. In both cases they would sell ONE product at a time per customer. If the customer goes for a fenix (or another IQ model), this would strengthen the relevance of the platform and would reduce the support of the "old" approach series development.

    Garmin, do you hear us?
  • For adding a lap, I tried to look at the developer website http://developer.garmin.com/downloads/connect-iq/monkey-c/doc/frames.html#!_index.html

    May be the Class Toybox::ActivityRecording::Session has the addLap method which be used?

    "True" golfer (not me) won't buy fenix as it is too big and not "specialized" for golf. Only "amateur" guys (like me) will use fenix 3 for recording the golf score and many other types of sport activities.
  • Former Member
    Former Member over 10 years ago
    For adding a lap, I tried to look at the developer website http://developer.garmin.com/downloads/connect-iq/monkey-c/doc/frames.html#!_index.html

    May be the Class Toybox::ActivityRecording::Session has the addLap method which be used?


    Thanks for that tip! I checked, tried it on the simulator (seemed to work), then on the fenix, where the addLap() call invokes a screen or view that is not part of my App, apparently a view that is part of the fenix firmware. Very strange. The only way to get rid of that screen that looked a bit like a full screen data field with 3 values, was the "back" button, which stopped the App.

    I believe this is a bug in the SDK/API. It cannot be meant like this. A 3rd party app should be able to add a lap without invoking an unwanted screen that is not explicitly called by the app itself.
  • Former Member
    Former Member over 10 years ago
    Some new ideas (or requests) for this great apps:

    1. In recording mode, when we start a new hole, is it possible to mark a new lap in the track? That will be very useful because after uploading the Activity to Garmin Connect and see the track on the map, we can see separately 18 laps (correspond to 18 holes).


    That's a very good idea. I also thought about it. I thought also about loading recorded rounds with lap markers and interpret the lap marker as the position of the pin on the green. Once this would be possible, one could display the distance to the green...

    Unfortunately, as far as I'm aware, the SDK and IQ API in the current version neither allow to set a lap, nor to load tracks and retrieve lap markers. I hope that will change later.


    It is absolutely possible to set a lap in an activity recording session. See Session.addLap() You can't read from a fit file, but you could certainly save the positions in the object store and recall them at a later time to give distance to the pin.

    2. Can you store the scores into the FIT file, so that we can view later in Garmin Connect, may be in the "Comment" field?


    Again, excellent idea. As far as I know the API does not allow me to do this.


    You are correct, the API does not allow adding custom data to a FIT file at this time, but it is something we are looking to add in a future release.

    3. Same as 2. above but the strokes' number and their distance (provided that user recorded properly right after each new stroke).


    See above. I'd love to do this but Garmin seems not to support this right now.

    One could even take this a bit further and create a FIT file that is compatible to those from Garmin's own approach series. Garmin connect supports golf scores with statistics etc. beautifully on their web site, but I don't see how I could make use of it.

    One reason might be that Garmin wants to protect sales of their Approach series watches. If so, I think this is a rather dumb idea because someone interested in an Approach S5 or S6 would currently not buy a fenix (because the lack of Golf support), but might prefer a fenix rather than an S6 if the fenix would have similar features. In both cases they would sell ONE product at a time per customer. If the customer goes for a fenix (or another IQ model), this would strengthen the relevance of the platform and would reduce the support of the "old" approach series development.

    Garmin, do you hear us?


    I don't know how the golf messages work in FIT files, but I can create a feature request ticket for being able to write them.

    There are a few reasons I know of that specific features are not opened up in ConnectIQ APIs right now, and product differentiation is not one of them. The main reasons are:
    • It is not possible.
    • There are associated security issues we have not yet solved.
    • Garmin Headquarters is not located in a gravity well.
  • Third round: crash 8,05 kms (version 1.1)
    Thanks for measure between 2 strokes :)
  • Former Member
    Former Member over 10 years ago
    I must try to reproduce this

    Third round: crash 8,05 kms (version 1.1)
    Thanks for measure between 2 strokes :)


    Thanks for the bug report. Same distance as before, as it seems?

    I try to provoke that behaviour on my fenix over the weekend. I almost hope that mine crashes, too. Because only then I can try to understand and fix it.
  • Yes, always the same distance :(
  • Former Member
    Former Member over 10 years ago
    Yes, always the same distance :(


    I could reproduce the crash twice. I'm currently away from my computer, but I will read out the error log tomorrow and then see whether and how I can fix it. The nasty thing about it that the crash doesn't happen on the simulator.
  • Former Member
    Former Member over 10 years ago
    It is absolutely possible to set a lap in an activity recording session. See Session.addLap() You can't read from a fit file, but you could certainly save the positions in the object store and recall them at a later time to give distance to the pin.


    Thanks for both these advices.

    I tried the adLap() method, but it invokes a view that looks like a screen with three data fields and is not part of my app. I don't know why this happens and how to suppress it, but it certainly disrupts the expected behaviour of my app. And it doesn't happen on the simulator.

    Storing the pin position in the app's property storage is a good advice, but works only if you always play on the same golf course.

    Ideally, one would set up a JSON server somewhere, store golf courses there and retrieve them from the app. But here I would need help on the server and client side.
  • Former Member
    Former Member over 10 years ago
    Bad news (for now). I connected my F3 and had a look at the CIQ_LOG.txt file that is meant to catch and log all error messages. And there was no new entry that would hint add the reason for the mysterious crash at 8.05 km.

    So I must speculate a bit and look whether the way how access the elapsed distance, and how I convert it into a string is an issue. I have no other idea at the moment. The simulator doesn't crash at 8.05 km, but at least two devices do...