[Solved] Enabling Tobii Eye Tracking programmatically C#

Home Forums Software Development [Solved] Enabling Tobii Eye Tracking programmatically C#

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #8450
    Thomas Booijink
    Participant

    Hi everyone,

    As the title may suggest I’m trying to enable tobii eye tracking programmatically. I’m using the Core SDK.

    eyehost.EnableConnection(); doesn’t seem to do the trick. Do I need to set the state through context.SetStateAsync or is there another method of doing so? (Or is it impossible to do?)

    Thanks in advance!

    #8452
    Grant [Tobii]
    Keymaster

    Hi @thomas6886, I assume you are referring to a means by which to turn off/on the eye tracker itself programatically? ie the functionality that is already present within the system tray icon of the Tobii Core Software?

    I am afraid for the time being, this is not a feature we include in the Core SDK, although various workaround such as stopping the Tobii Windows Service via Powershell might serve your need. Apologies for any inconvenience.

    If however, you intended something else, please let us know and we will try to assist.

    #8458
    Schaefer
    Participant

    I’ve been using the Core SDK for several months now and can’t get used to the lack of a way to turn the lights on/off. Especially because the system tray switch for the EyeX also fails. This leads to the absurd procedure of constantly plugging in and out the USB cable.
    For me, this functionality is the biggest weakness of the otherwise very nice Core SDK. Hopefully the constant emergence of this topic here in the forum will move Tobii in the right direction.

    #8463
    Grant [Tobii]
    Keymaster

    Hi @chrisschaefer, thanks for your inputs. Certainly, you don’t need to unplug the cable as there are workarounds as a mentioned above, but I understand your point and will indeed pass it along to the developers for further review.

    #8466
    Thomas Booijink
    Participant

    Yes I mean the functionality already present in the system tray dialog. It would make it easier for users to use software supported by eye trackers. (Turn on the eye tracker in case it isn’t on already). Now I have to prompt users to first turn it on before using the program. Especially when having a full screen application it can be confusing.

    The powershell workaround doesn’t really work for me, the eyetracker doesn’t automatically turn on when you re-enable the Tobii Windows Service. So I can shut it down but can’t get it to turn back on programmatically.

    As @chrisschaefer said, the rest of the api works very well. It seems like a basic function so I wonder why it isn’t there by default.

    #8472
    Grant [Tobii]
    Keymaster

    Thanks @chrisschaefer @thomas6886 to you both for the feedback, I will discuss with the developers and investigate any possibilities to help you out.

    Out of curiosity, is it more a case that you simply want the LED’s to be switched off or do you requite the device itself to be fully disconnected?

    #8473
    Thomas Booijink
    Participant

    For me it’s more having control of the enable button in the tray UI. This way I can enable the eye tracker in case it’s disabled by the user. This prevents the user from having to tab out of your application, turn on eye-tracking, and tab back in. It seems like unnecessary steps for the user to take.

    #8478
    Schaefer
    Participant

    My concern is that the functionality of the EyeX has been reduced. Back in 2014, when I bought it, I had more control than today. At that time with the GazeSDK I could calibrate programmatically with my own design and switch the LEDs on/off programmatically. Since there is no technical reason for removing the functions, it must have been a conscious decision. I just don’t see any reason for it.

    In our daily business it turned out that users do not understand the interaction between the Tobii software and our software. They want everything seamlessly from a single application. GazeSDK based we were able to offer a better usability for our users.
    With illuminated LEDs one feels observed and the slight flickering of the 4Cs disturbs permanently. Therefore, it is normal for our users that they want to turn off the LEDs after the eye tracking session is over.
    To your recommended work-around to stop the Tobii service: An additional difficulty is that some employees in Fortune 500 companies have no rights to stop a Windows service. But no Windows access right can stop them to unplug the cable…

    #8498
    Grant [Tobii]
    Keymaster

    Hi @chrisschaefer @thomas6886, thanks for your patience in allowing me to formulate for you a detailed respose to your queries.

    Tobii are of the belief that the user, and only the user, should have the right to totally shut eye tracking off. If any app could shut it off we could have potentially numerous support issues where the eye tracker doesn’t work, only to discover it has been shut off by another application.

    We have several use cases that are system wide; For example for impaired people, business security services (e.g detect if someone is peeking over your shoulder or locking the computer when you are not present for example), battery saving features (turn off display when you are not present), and so on.
    All of these would stop working if we let any app turn off the tracker.

    Indeed, there may be cases where it would make sense to turn the tracker off, watching full screen video for example, but we can’t control what the client app is doing and we can’t make sure the tracker would be turned back on. That would need some complex security feature with detecting what app is in front, if it is full screen, having user’s consent, automatically restore, etc.

    As Tobii has developed, our goal is that it should be a natural part of every computer. Back in the days of the GazeSDK the use cases were very limited and there were no security features. Anyone could to anything and had access to everything which for us resulted in numerous issues both for consumer and our support team.

    I appreciate your disappointment in this case, but I hope this helps you understand our perspective.

    #8501
    Schaefer
    Participant

    I understand Tobiis desire to break out of the niche and make eye tracking more mainstream. But why does this have to go at the expense of all the motivated developers here? There have been so many threads on programmatic calibration and programmatic enabling in recent years, but never a thread about removing API functions.

    There is the TOBII_STATE_EXCLUSIVE_MODE. One possible solution could be that the critical applications you mentioned can launch the tracker in an exclusive mode and no other app can turn off the tracker in this mode. I have never seen a setting where a customer uses two different eye tracking apps at the same time.

    #8507
    Grant [Tobii]
    Keymaster

    I will be more than happy to pass along your input, though at this current stage any change of policy is unlikely in the near future.

    #8516
    Thomas Booijink
    Participant

    I can see why disabling the eyetracker would possibly cause problems but enabling it only makes for a nicer user experience. As I stated before: ‘This prevents the user from having to tab out of your application, turn on eye-tracking, and tab back in.’

Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.