Feature request: easily open simulator GARMIN/ folder in Explorer/Finder/Terminal

Over the past 1.5 years of being a CIQ “hobby dev”, I’ve noticed that some of the same questions get asked over and over again. IMO, if a crucial bit of functionality or knowledge is non-obvious enough that it needs to be “rediscovered” over and over again, then maybe it should be built in to the plugin, simulator, or CIQ docs. Another example: the fact that you have to select “Timer > Save activity” before saving your FIT file, or it will be corrupt. Nobody made this obvious to me when I started, and it’s tripped up other ppl since then. Oh and when I asked on the forums, nobody could really help me. I had to figure it out for myself. Because the ppl who already knew how it worked must’ve taken it for granted that everyone would know to select “Timer > Save Activity”. But it’s apparently not obvious, since more than one person ran into the same problem.

With that in mind, I’d like to request that the simulator GARMIN/ folder be accessible through a menu item in the simulator, or maybe in the Eclipse CIQ plugin.

I can already see the counter-argument coming: “We don’t want devs to access this folder.” Well, imo it’s impossible to do any kind of extended CIQ development without needing to access this folder at least once, to resolve or troubleshoot some sort of issue. For example, if one app launches another, then the simulator apparently disconnects from the Eclipse console. So I don’t see any way to look at the console output from the 2nd app without manually adding an APPNAME.TXT file to the sim APPS/LOGS folder (assuming it works the same way as the real device.)

Also, if devs need to access the Garmin/ folder on the real device, which we clearly do in many cases, then the simulator Garmin/ folder should be equally accessible.

I’ll also point out that it’s not enough to simply tell devs “look in your temp folder for the GARMIN/ folder”, because many people have no idea what/where their temp folder is, especially on Mac OS, where there doesn’t seem to be an easy way to access it without using Terminal.
  • As I mentioned in the thread about log files, <appname>.txt files aren't used in the sim - only on devices, so no need for an easy way to work with them.

    Before there was a means to mark an app as "beta" in the app store, one common way to test various app setting was to build a .set in the sim and then copy it to a device along with the side load, but the "Beta" app makes things much easier, as you can change things with GCM/GE.

    This has come up in the past and it seems Garmin wants to kind protect the temp directory, and added sim function to do some basic things like clearing the settings and storage for the running apps and deleting the apps in the sim directory. Under Simulation>Fit Data,you have the option to save the .fit session wherever you want, as that's something that's in the temp directory but is useful for things like checking fitContrib data.

    Maybe they can add other things like that to work with the sims temp directory. What specific things would you want to see?

    Much of what you need to access in garmin\apps on a device, are because it's a real device and you do things like sideloads, can create <appname>.txt log files, and may want to clear settings and storage. Or just delete something.
  • the fact that you have to select “Timer > Save activity” before saving your FIT file, or it will be corrupt. Nobody made this obvious to me when I started, and it’s tripped up other ppl since then.

    Suggestion: don't bury information like this inside another post where it looks like an off-topic rant. If you make a bug report or enhancement request in a separate thread It is much less likely to be treated as such.

    I’d like to request that the simulator GARMIN/ folder be accessible through a menu item in the simulator, or maybe in the Eclipse CIQ plugin.

    Many application write data to the TEMP folder, and I don't know of a single one that has a menu option to open it for you.

    As pointed out by Jim above, we don't write application output to file when running under the simulator, so trying to access log files there is not going to turn up anything useful. He is also right in that we generally try to avoid forcing the user to find the TEMP folder at all by making actions available from the menu. It has been my experience that if someone needs the %TEMP%\GARMIN they don't have a problem finding it.

    While I'm happy to file this as an enhancement request, it seems like it would be best if we knew of a situation where this would actually be useful. Without that it seems like a waste and would be deprioritized into oblivion... Is there something in the TEMP folder that users need access to that would justify this?
  • Travis.ConnectIQ Duly noted -- I apologize for the style/tone of the post. jim_m_58 thanks for clearing that up and sorry for jumping to conclusions. Yes, I had a feeling it might not work. That's another case where I should've tested before posting. Having said that I'll also point out that the sim disconnects from the console if you select "Reset App Data", which restarts the app. (I realize that ppl probably never do this.)

    Thanks once again for your patient replies.

    I agree that there needs to be a valid use case for this enhancement request to matter.

    Yes, you are correct that most/all apps do not have an option to open the temp folder. However, when apps have some sort of "profile folder" that contains some sort of persistent data that the user might need to access, often there is a button or link to open it. This is an in-between case where the data is semi-persistent (e.g. simulator apps and app settings.)

    I believe it has come up in the past on the forums in regards to possibly clearing the entire simulator folder in case of malfunction. I can vaguely recall a few threads in the past couple of years (and before my time) referencing this.

    I concede this is something that should never be necessary for the end-user.

    He is also right in that we generally try to avoid forcing the user to find the TEMP folder at all by making actions available from the menu. It has been my experience that if someone needs the %TEMP%\GARMIN they don't have a problem finding it.


    I guess what this tells me is that the user shouldn't need to access %TEMP%/garmin, but if they do need to, then they can find the information they need in the forums, or create a new topic to ask someone. Which is fair enough.

    However, advice has been given on the forums more than once on how to locate this folder, so there has to be one or more valid use cases.

    Here's the one use case I can remember :
    (to be fair, this is probably the only reason I have ever needed TEMP/GARMIN)
    - Sideloading an app for test purposes which has settings

    As far as I know, the only way to test app settings for a sideloaded app is to edit the settings in the CIQ plugin App Settings Wizard and copy the SET file from the TEMP/GARMIN folder. I hope I haven't missed a new, improved way to do this. I believe this is how I was told to do it 1.5 years ago, in the forums.

    (In all seriousness, I have obviously missed out on noticing one or two very useful and welcome changes over the past 1.5 years.)

    When I was a new dev I had no idea how to do this so I had to ask. I actually previously wasted a ton of time tracing internal network traffic and trying to capture the settings file in transit with Wireshark. I felt really stupid when I discovered the settings file was just sitting in a temp folder.

    And I noticed that the temp folder came up in several contexts since then (and before, from searching old threads), and especially in the case of Mac OS, there was often some confusion over to find it. If this is something that's best handled by the community, then I'm cool with that.

    ---

    Perhaps a different enhancement request would be to make the app SET file available in a more convenient place, such as the PROJECTROOT/bin folder. As we all know, the json version of the settings for the store is already there, as well as the PRG.

    Or maybe the Build For Device Wizard could export the current settings to the build folder. That seems like it would fit the workflow of sideloading better.

    Anyway, I'm good either way. I realize that not every little thing can or should be added. I just noticed the TEMP/GARMIN folder came up several times (not including this case, where it was not really relevant.)
  • So I realize my last reply was once again a wall o text. Just in case it was lost in the noise, afaik access to the simulator temp folder is required to grab an application settings file, if you wish to sideload that app and test settings. Hopefully I am not missing a better way to do this. (Yes, I realize an app can be uploaded to the store and marked as a beta version for testing only. If this method of testing has superseded sideloading, then fair enough.)
  • The easiest way to check out settings in an app under development is to mark it as a beta app in the store. Only you can download it, but you can use GCM or Garmin Express to check out settings. This is also handy if you want to see how fitcontrib works during development, as you'll see the data in Garmin Connect/Garmin Connect Mobile since it's in the app store.

    See:
    http://developer.garmin.com/index.php/blog/post/connect-iq-beta-apps
  • Thanks jim_m_58 that is exactly what I was referring to above. As I said, if that's the current accepted way of testing settings, then so be it. I like having the option to sideload as well, but if it's not considered a primary feature, I understand.

    TBH I prefer not to use the beta feature under all circumstances, in part because I have one GC account for personal use and another for dev use and I don't like switching in the GC app, but I have used it on several occasions. (Yes, I realize that the account used to upload a beta does not have to be the same as the account used to submit the final app....)
  • If I want to test something specific with a sideload, I'll just change the default for that property. Copying a .set gets a bit tricker with devices where filenames for things like the .set are case sensitive (music devices). Even doing "build for device" is a bit different with MTP devices - I build to my hard drive and then copy to the watch, as the wizard doesn't let you build to the device directly. And on a mac, you need something like ATF to even access a MTP device. MTP devices make using beta apps extremely useful and much faster for testing.