Please enter your name

build the future
of IoT

with the hug developer community at Hug Innovations Corp.

Introducing the new wave of technologists - "Device Developers"

drone

Now experience touch-free flying by extending Hug’s gesture-flying experience to any Bluetooth enabled drone. Hug is currently integrated with Parrot drones, allowing you to control the drone with the wave of a hand. What’s better, you can also use the Smartwatch to perform tricks with the drone.


join now

virtual reality

Hug is the first Smartwatch to integrate with the Oculus Rift, allowing you to experience next generation control in VR environments. You can now utilise the power of the Hug Gesture SDK and develop immersive and engaging experiences for VR Gaming, VR movies and much more. What’s more, you can also program added gestures for enhanced interactivity.


join now

ollie

Control one of the fastest, most robust toys on the planet with the wave of a hand. Hug is currently integrated with Ollie enabling you to drive it down the stairs, through the dirt, or straight into a wall. You can now also utilise the power of the Hug Gesture SDK and integrate with some of the Industry's most advanced Bluetooth enabled toys.


join now

control

Develop your way into a touchless world using the Hug Gesture SDK and enable an incredible gesture control experience with Home automation, PC software and Smartphone apps.


join now

overview
of design


Click to enlarge

example
listeners

  1. public class PPTListener extends BTListener {  
  2.     @Override  
  3.     public void onConnect(final long timestamp) {  
  4.     }  
  5.   
  6.     @Override  
  7.     public void onGesture(final BTEvent event, final long timestamp) {  
  8.         action = event.getAction();  
  9.         String windowTitle = getActiveWindowTitle();  
  10.         if (windowTitle.contains(PPT_TITLE)) {  
  11.             if (gesture == Gesture.FRONT) {  
  12.                 if (fullScreen) {  
  13.                     performKeys(KeyEvent.VK_ESCAPE);  
  14.                     fullScreen = false;  
  15.                 } else {  
  16.                     performKeys(KeyEvent.VK_F5);  
  17.                     fullScreen = true;  
  18.                 }  
  19.             } else if (gesture.equals(Gesture.BACK)) {  
  20.                 performKeys(KeyEvent.VK_ESCAPE);  
  21.                 fullScreen = false;  
  22.             } else if (gesture.equals(Gesture.LEFT)) {  
  23.                 performKeys(KeyEvent.VK_LEFT);  
  24.             } else if (gesture.equals(Gesture.RIGHT)) {  
  25.                 performKeys(KeyEvent.VK_RIGHT);  
  26.             }  
  27.         }  
  28.     }  
  29.   
  30.     @Override  
  31.     public void onDisconnect(final long timestamp) {  
  32.     }  
  33. }  
  34.             
  1. public class MusicPlayerListener extends BTListener {  
  2.     @Override  
  3.     public void onConnect(final long timestamp) {  
  4.     }  
  5.     @Override  
  6.     public void onGesture(final BTEvent event, final long timestamp) {  
  7.         action = event.getAction();  
  8.         String foregroundApp = getForegroundApp();  
  9.         if (foregroundApp.equals(MUSIC_PLAYER_PACKAGE)) {  
  10.             if (gesture == Gesture.FRONT) {  
  11.                 if (playing) {  
  12.                     AudioManager.pauseMusic();  
  13.                     playing = false;  
  14.                 } else {  
  15.                     AudioManager.resumeMusic();  
  16.                     playing = true;  
  17.                 }  
  18.             } else if (gesture.equals(Gesture.UP)) {  
  19.                 AudioManager.increaseVolume();  
  20.             } else if (gesture.equals(Gesture.DOWN)) {  
  21.                 AudioManager.decreaseVolume();  
  22.             } else if (gesture.equals(Gesture.LEFT)) {  
  23.                 AudioManager.previousSong();  
  24.             } else if (gesture.equals(Gesture.RIGHT)) {  
  25.                 AudioManager.nextSong();  
  26.             }  
  27.         }  
  28.     }  
  29.     @Override  
  30.     public void onDisconnect(final long timestamp) {  
  31.     }  
  32. }  
  33.             
  1.             
  2. class ViewController: UIViewController, MFMessageComposeViewControllerDelegate, HUGBLEManager {  
  3.     override func viewDidLoad() {  
  4.         super.viewDidLoad()  
  5.     }  
  6.   
  7.     func onGesture(notification: BTEvent) {  
  8.         if (MFMessageComposeViewController.canSendText()) {  
  9.             let controller = MFMessageComposeViewController()  
  10.             controller.body = "Message Body"  
  11.             controller.recipients = [userInfo["PhoneNumber"] as! String]  
  12.             controller.messageComposeDelegate = self  
  13.             self.presentViewController(controller, animated: true, completion: nil)  
  14.         }  
  15.     }  
  16.   
  17.     func messageComposeViewController(controller: MFMessageComposeViewController, didFinishWithResult result: MessageComposeResult) {  
  18.         //... handle sms screen actions  
  19.         self.dismissViewControllerAnimated(true, completion: nil)  
  20.     }  
  21.       
  22.     override func viewWillDisappear(animated: Bool) {  
  23.         self.navigationController?.navigationBarHidden = false  
  24.     }  
  25. }  
  26.             

join now