All Projects → eBay → Headgazelib

eBay / Headgazelib

Licence: mit
A library to empower iOS app control through head gaze without a finger touch

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Headgazelib

Vue Autosuggest
🔍 Vue autosuggest component.
Stars: ✭ 492 (-32.88%)
Mutual labels:  accessibility
Nouislider
noUiSlider is a lightweight, ARIA-accessible JavaScript range slider with multi-touch and keyboard support. It is fully GPU animated: no reflows, so it is fast; even on older devices. It also fits wonderfully in responsive designs and has no dependencies.
Stars: ✭ 5,127 (+599.45%)
Mutual labels:  accessibility
React Accessible Accordion
Accessible Accordion component for React
Stars: ✭ 610 (-16.78%)
Mutual labels:  accessibility
Iowncode
A curated collection of iOS, ML, AR resources sprinkled with some UI additions
Stars: ✭ 499 (-31.92%)
Mutual labels:  arkit
Politespace
Politely add spaces to numeric form values to increase readability (credit card numbers, phone numbers, etc).
Stars: ✭ 532 (-27.42%)
Mutual labels:  accessibility
Thefatrat
Thefatrat a massive exploiting tool : Easy tool to generate backdoor and easy tool to post exploitation attack like browser attack and etc . This tool compiles a malware with popular payload and then the compiled malware can be execute on windows, android, mac . The malware that created with this tool also have an ability to bypass most AV softw…
Stars: ✭ 5,944 (+710.91%)
Mutual labels:  accessibility
Findme
An ARKit App that can help your friends to find you
Stars: ✭ 483 (-34.11%)
Mutual labels:  arkit
Archarts
Lovely Augmented Reality Charts for iOS - Built with ARKit
Stars: ✭ 679 (-7.37%)
Mutual labels:  arkit
Accessibility Insights Web
Accessibility Insights for Web
Stars: ✭ 544 (-25.78%)
Mutual labels:  accessibility
Frontend Cheat Sheets
Collection of cheat sheets(HTML, CSS, JS, Git, Gulp, etc.,) for your frontend development needs & reference
Stars: ✭ 604 (-17.6%)
Mutual labels:  accessibility
Realitymixer
Mixed Reality app for iOS
Stars: ✭ 520 (-29.06%)
Mutual labels:  arkit
Mineral Ui
A design system and React component library for the web brought to you by CA Technologies.
Stars: ✭ 533 (-27.29%)
Mutual labels:  accessibility
Thea11ymachine
The A11y Machine is an automated accessibility testing tool which crawls and tests pages of any web application to produce detailed reports.
Stars: ✭ 574 (-21.69%)
Mutual labels:  accessibility
A11y Style Guide
Accessibility (A11Y) Style Guide
Stars: ✭ 493 (-32.74%)
Mutual labels:  accessibility
Primitives
An open-source UI component library for building high-quality, accessible design systems and web apps. Maintained by @modulz.
Stars: ✭ 644 (-12.14%)
Mutual labels:  accessibility
React Spectrum
A collection of libraries and tools that help you build adaptive, accessible, and robust user experiences.
Stars: ✭ 5,876 (+701.64%)
Mutual labels:  accessibility
Arkit Corelocation
Combines the high accuracy of AR with the scale of GPS data.
Stars: ✭ 5,045 (+588.27%)
Mutual labels:  arkit
Itext7 Dotnet
iText 7 for .NET is the .NET version of the iText 7 library, formerly known as iTextSharp, which it replaces. iText 7 represents the next level of SDKs for developers that want to take advantage of the benefits PDF can bring. Equipped with a better document engine, high and low-level programming capabilities and the ability to create, edit and enhance PDF documents, iText 7 can be a boon to nearly every workflow.
Stars: ✭ 698 (-4.77%)
Mutual labels:  accessibility
Arpaint
Draw with bare fingers in the air using ARKit
Stars: ✭ 672 (-8.32%)
Mutual labels:  arkit
Arsolarplay
通过ARKit实现的太阳系动画
Stars: ✭ 593 (-19.1%)
Mutual labels:  arkit

HeadGazeLib

Platform iOS license MIT

What is the Project

HeadGazeLib is a pure Swift library to empower iOS app control through head gaze without a finger touch.
See the story behind it here


The above teaser is available at example/demo.

Who May Wish to Use the Project

Any iOS developer who would like to introduce head-based control to their app. Ideal for accessibility and game control.

Dependencies

iPhone X, iOS 11, Swift 4

How to use the library

  1. Simply copy and paste the entire folder HeadGazeLib to your xcode project.
  2. Extend your ViewController from UIHeadGazeViewController and change the button outlet reference class from UIButton to UIHoverableButton or UIBubbleButton
class MyViewController: UIHeadGazeViewController{
    @IBOutlet weak var myButton: UIBubbleButton! // UIButton!
}
  1. Similarily, change the button class from UIButton to UIHoverableButton or UIBubbleButton in the identity inspector of storyboard

  2. Define head gaze event handler through UIHeadGazeRecognizer instance in MyViewController class

class MyViewController: UIHeadGazeViewController{
//.....
  private var headGazeRecognizer: UIHeadGazeRecognizer? = nil

  override func viewDidLoad() {
    super.viewDidLoad()
    setupGestureRecognizer()
  }
  private func setupGestureRecognizer() {
    // set button dwell duration
    self.myButton.dwellDuration = 1 // in second
    
    // add head gaze recognizer to handle head gaze event
    self.headGazeRecognizer = UIHeadGazeRecognizer()
    
    //Between [0,9]. Stablize the cursor reducing the wiggling noise.
    //The higher the value the more smoothly the cursor moves.
    super.virtualCursorView?.smoothness = 9
    
    super.virtualCursorView?.addGestureRecognizer(headGazeRecognizer)
    self.headGazeRecognizer?.move = { [weak self] gaze in

        self?.buttonAction(button: (self?.myButton)!, gaze: gaze)

    }
  }
  private func buttonAction(button: UIButton, gaze: UIHeadGaze){
    guard let button = button as? UIHoverableButton else { return }
    // The button instance would trigger TouchUpInside event after user specified seconds
    button.hover(gaze: gaze) 
  }
  
  @IBAction func myBtnTouchUpInside(_ sender: UIBubbleButton) {
     print("Button clicked by head gaze.")
  }
//....
}

For working demo, we have prepared three examples:

  1. demo: A simple jump start example showing how to empower a regular iOS app with head control with minimum code change.
  2. HeadSwipe: A more serious example - swipe daily deal on eBay with head control
  3. Sensitivity: An example on how to use UIMultiFuncButton to track the location and timestamp of the cursor as user is "clicking" the button. Useful for sensitivity analysis.

Citation

If you find this work useful in your research, please consider citing:

Cicek, Muratcan, Jinrong Xie, Qiaosong Wang, and Robinson Piramuthu. "Mobile Head Tracking for eCommerce and Beyond." arXiv preprint arXiv:1812.07143 (2018).

BibTeX entry:

@article{cicek2018mobile,
  title={Mobile Head Tracking for eCommerce and Beyond},
  author={Cicek, Muratcan and Xie, Jinrong and Wang, Qiaosong and Piramuthu, Robinson},
  journal={arXiv preprint arXiv:1812.07143},
  year={2018}
}

License

Copyright 2018 eBay Inc.
HeadGazeLib is available under the MIT license. See the LICENSE file for more info.

Developers

Jinrong Xie, Muratcan Cicek, Qiaosong Wang, Robinson Piramuthu

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].