SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
PROTOTYPING GNOME UI
FOR GESTURAL INPUT
Presented by
Adityo Pratomo ( ) / Surya University
Hidayat Febiansyah / Surya University
GNOME.Asia 2015
@kotakmakan
(@havban)
ABOUT US
We are lecturers at the Informatics Department at Surya
University
Adityo Pratomo got a Master Degree in Interaction Design
from University of Sydney, previously worked at an
advertising agency
Hidayat Febiansyah an IT wizard... jk went with yellow
Jaket, obtained PhD from Sun Moon University, Republic
of Korea
USER INPUT DEVICES
Devices act as a medium for user to give input to computer
EVOLUTION OF USER INPUT DEVICE
Punch Card
Keyboard
Mouse
Scanner
Graphic Tablet
Touchscreen
Voice Input
Tangible User Interface
Air Gesture Input
TODAY CONDITION
Huge variety of input device
(Still) Follows the WIMP (Windows, Icon, Menu, Pointer)
style
Term coined in 1980 by Merzouga Wilberts
Popularized by Apple Macintosh in 1984
Windows
Runs a self contained program, isolated from other program,
run at the same time in other windows
Icon
Shortcut for an action that the computer performs
Menu
Text or icon-based selection system that selects and executes
programs or tasks
Pointer
An onscreen symbol that represents movement of a physical
device that the user controls to select icons, objects, data
elements, etc
GESTURAL INPUT
Provides gestures (mostly fingers) input for users
Touchpad
Implemented in many OS
NEW GESTURAL INPUT DEVICES
Introduces free form gestures as means to interact
Microsoft Kinect
Full body input, including voice
No finger detection
Leap Motion
Fingers input only
Have built-in finger gestures detection
Intel RealSense
Essentially a much smaller Kinect
Windows only SDK
Generally speaking, hardware wise, these devices do their job
well (can be improved though)
PROBLEMS
Come from the software implementation of it Especially, for
productive, non-entertainment use
Metro UI
Supposed to be designed for touch
Falls flat for these kind of interactions
Kinect Guidelines
Still involves choosing and confirming action
Chooses a big icon
Confirms by hanging there for a period of time
Direct Mouse to Leap Motion
Barely usable since it involves high accuracy in picking
object
Lost in translation between 2D (where the feedback
happens) and 3D (where the action happens)
OS Wise
Information are structured inside tree, explored by moving
down branches, presented one node at a time (nothing
wrong with this)
Interaction wise, requires moving between directories,
picking up objects, confirming and working on that (this
requires specific interaction technique)
GOALS AND MOTIVATIONS
To suggest an interaction model for an OS-wide application
of free gestures input
We view this interaction model as something that's
human and natural, appreciating human's inherent
motoric ability
To push further research of this area, without waiting for
big corp to do it (hooray Open Source)
INFLUENCES AND PREVIOUS WORKS
This project takes cues from other projects that people
already worked on
GNOME Shell
Minimal use of icon, users are forced to memorize keyboard
shortcuts
Controlling GNOME with Leap
http://www.joaquimrocha.com/2013/08/09/controlling-
gnome-with-leap/
Leap Motion DBus
https://github.com/jamespcole/leapmotion-dbus
9 to 5
a Leap Motion puzzle game
https://www.youtube.com/watch?v=rz_wBzWCAXw
Kids Note Training System
A tool for kids to learn about musical notes and test their
hearing
DESIGN CONSIDERATION
Applied in Leap Motion
Complementary to mouse and keyboard
Can be used with only one hand
Focus on gesture use with minimal icon involved
Main use case for productivity, non-entertainment
functionality
ISOLATING THE PROBLEM
Bigest problem is telling people how to choose an object
using gestures
This is NOT a replacement for mouse
Mouse is precise, gestures are not.
Giving a bigger icon doesn't necessarily means it'll be
easier to pick
It still requires a dexterity to accurately choose the object
Plus, how to confirm that choice? Inaccurately pressing the
air?
OUR SOLUTION
To translate imprecise gestures into an act of choosing an
object and confirming it
OUR PROTOTYPE
Leap Motion-controlled windowing system
UI-model prototype for desktop
Both will demonstrate how choosing object is done with
gestures
ARCHITECTURE
Application
OS WIndowing System
System Event
Leap Motion API
OS
FEATURES
Alternative live tile windowing system prototype
All contents are live and directly editable
Activated using gestures
Mapping of various gestures into keyboard shortcut
Translation of keyboard shortcuts into various events
Usage of GNOME windowing capability
Keyboard shortcuts receiver inside application
GESTURES
CircleGesture() – A circular movement by a finger.
SwipeGesture() – A straight line movement by the hand
with fingers extended.
ScreenTapGesture() – A forward tapping movement by a
finger.
KeyTapGesture() – A downward tapping movement by a
finger.
MAPPING SHORTCUTS
Connecting the element using keyboard shortcuts
e.g. ctrl+alt+=
No need to access lower level component
Portable deployment
Leap motion control is only complementary input, not
primary
Other input can be proceded with existing keyboard or
mouse
COMPONENTS
Leapjs Controller
NWJS
RobotJs
With added functionality to accept multiple flags shortcut
Packery.js
Other: node-open, jquery, scrollTo, Knobjs, Togglejs, node-gyp
https://developer.leapmotion.com/documentation/javascrip
http://nwjs.io/
https://github.com/octalmage/robotjs
http://packery.metafizzy.co
CHARACTERISTICS
Open Sourceness
Platform Agnostic
as long as the device supports HTML5, specifically node-
webkit
Easy to configure
Manage shortcuts
Easy to develop
Common technology platforms
SYSTEM MODE
Running with existing gnome shortcut mode
Move among workspaces
ctrl+alt+- => Swipe down
ctrl+alt+= => Swipe up
Move among windows
alt+tab => Swipe left
alt+shift+tab => Swipe right
Inner applications windows movement
alt+` => keytap
DEMO MODE
Move among widgets one step
ctrl+alt+i => Swipe left
ctrl+alt+y => Swipe right
Move among widgets with rolling
ctrl+alt+i * => Rotate finger right
ctrl+alt+y * => Rotate finger left
Focused widget → Full size widget
ctrl+alt+space => keytap
FUTURE GOALS
User test
Integrate with other technologies (VR, haptic sensors)
Possibility into integration with file system that behaves
like a graph database
Formalize the system
CONCLUSION
Air gesture-based interaction will come along in the next
few years (or even decades)
Software and hardware capabilities are there, they just
need to be unified by a proper design system
Requires further development to integrate with other
technologies and to user test it rigorously
COME JOIN THE PARTY
adityo.pratomo@surya.ac.id hidayat.febiansyah@surya.ac.id
http://www.github.com/lunchboxav/leap-gnome

Contenu connexe

En vedette

Oculus Rift DK2 + Leap Motion Tutorial
Oculus Rift DK2 + Leap Motion TutorialOculus Rift DK2 + Leap Motion Tutorial
Oculus Rift DK2 + Leap Motion TutorialChris Zaharia
 
Developing VR in Unity
Developing VR in UnityDeveloping VR in Unity
Developing VR in UnityAdityo Pratomo
 
Design in motion. The new frontier of interaction design
Design in motion. The new frontier of interaction designDesign in motion. The new frontier of interaction design
Design in motion. The new frontier of interaction designAntonio De Pasquale
 
2014 UX/UI trends for mobile solutions
2014 UX/UI trends for mobile solutions2014 UX/UI trends for mobile solutions
2014 UX/UI trends for mobile solutionsDMI
 
10 Design Trends 2015 - UX & UI Trends for Mobile Solutions
10 Design Trends 2015 - UX & UI Trends for Mobile Solutions10 Design Trends 2015 - UX & UI Trends for Mobile Solutions
10 Design Trends 2015 - UX & UI Trends for Mobile SolutionsDMI
 
최신 UX/UI 디자인 트렌드
최신 UX/UI 디자인 트렌드최신 UX/UI 디자인 트렌드
최신 UX/UI 디자인 트렌드Billy Choi
 
[Creative report 1] 2016 VR Report
[Creative report 1] 2016 VR Report[Creative report 1] 2016 VR Report
[Creative report 1] 2016 VR Reportfmcommunications
 
맥스 서밋 2016 행사소개서
맥스 서밋 2016 행사소개서맥스 서밋 2016 행사소개서
맥스 서밋 2016 행사소개서Mobidays
 

En vedette (12)

Oculus Rift DK2 + Leap Motion Tutorial
Oculus Rift DK2 + Leap Motion TutorialOculus Rift DK2 + Leap Motion Tutorial
Oculus Rift DK2 + Leap Motion Tutorial
 
동작인식 UI/UX
동작인식 UI/UX동작인식 UI/UX
동작인식 UI/UX
 
prayVR
prayVRprayVR
prayVR
 
Developing VR in Unity
Developing VR in UnityDeveloping VR in Unity
Developing VR in Unity
 
Design in motion. The new frontier of interaction design
Design in motion. The new frontier of interaction designDesign in motion. The new frontier of interaction design
Design in motion. The new frontier of interaction design
 
2014 UX/UI trends for mobile solutions
2014 UX/UI trends for mobile solutions2014 UX/UI trends for mobile solutions
2014 UX/UI trends for mobile solutions
 
10 Design Trends 2015 - UX & UI Trends for Mobile Solutions
10 Design Trends 2015 - UX & UI Trends for Mobile Solutions10 Design Trends 2015 - UX & UI Trends for Mobile Solutions
10 Design Trends 2015 - UX & UI Trends for Mobile Solutions
 
최신 UX/UI 디자인 트렌드
최신 UX/UI 디자인 트렌드최신 UX/UI 디자인 트렌드
최신 UX/UI 디자인 트렌드
 
사용자 중심의 소프트웨어 개발을 위한 UI/UX 참조모델 가이드
사용자 중심의 소프트웨어 개발을 위한 UI/UX 참조모델 가이드사용자 중심의 소프트웨어 개발을 위한 UI/UX 참조모델 가이드
사용자 중심의 소프트웨어 개발을 위한 UI/UX 참조모델 가이드
 
[Creative report 1] 2016 VR Report
[Creative report 1] 2016 VR Report[Creative report 1] 2016 VR Report
[Creative report 1] 2016 VR Report
 
맥스 서밋 2016 행사소개서
맥스 서밋 2016 행사소개서맥스 서밋 2016 행사소개서
맥스 서밋 2016 행사소개서
 
sungmin slide
sungmin slidesungmin slide
sungmin slide
 

Similaire à Prototyping GNOME UI for Gestural Input

426 lecture6b: AR Interaction
426 lecture6b: AR Interaction426 lecture6b: AR Interaction
426 lecture6b: AR InteractionMark Billinghurst
 
Human Computer Interaction
Human Computer InteractionHuman Computer Interaction
Human Computer InteractionBHAKTI PATIL
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System RequirementsLaura Arrigo
 
Operating Systems
Operating SystemsOperating Systems
Operating SystemsLeon Lei
 
Gui Layout Presentation
Gui Layout PresentationGui Layout Presentation
Gui Layout Presentationtrangy
 
SWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface DesignSWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface Designghayour abbas
 
Next generation User interfaces
Next generation User interfacesNext generation User interfaces
Next generation User interfacesHarshad Kt
 
Introduction to development
Introduction to developmentIntroduction to development
Introduction to developmentMatteo Valoriani
 
hcid2011 - Gesture Based Interfaces: Jacques chueke (HCID, City University L...
hcid2011 -  Gesture Based Interfaces: Jacques chueke (HCID, City University L...hcid2011 -  Gesture Based Interfaces: Jacques chueke (HCID, City University L...
hcid2011 - Gesture Based Interfaces: Jacques chueke (HCID, City University L...City University London
 
Multi Touch And Gesture Event Interface And Types
Multi Touch And Gesture Event Interface And TypesMulti Touch And Gesture Event Interface And Types
Multi Touch And Gesture Event Interface And TypesEthan Cha
 
GUI Web Designs.pdf
GUI Web Designs.pdfGUI Web Designs.pdf
GUI Web Designs.pdfSonia Simi
 
Fast multi touch enabled web sites
Fast multi touch enabled web sitesFast multi touch enabled web sites
Fast multi touch enabled web sitesAspenware
 
Tips for building fast multi touch enabled web sites
 Tips for building fast multi touch enabled web sites Tips for building fast multi touch enabled web sites
Tips for building fast multi touch enabled web sitesAspenware
 
CSS for Touch Devices
CSS for Touch DevicesCSS for Touch Devices
CSS for Touch DevicesEmma Woods
 

Similaire à Prototyping GNOME UI for Gestural Input (20)

426 lecture6b: AR Interaction
426 lecture6b: AR Interaction426 lecture6b: AR Interaction
426 lecture6b: AR Interaction
 
Human Computer Interaction
Human Computer InteractionHuman Computer Interaction
Human Computer Interaction
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System Requirements
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
 
Gui Layout Presentation
Gui Layout PresentationGui Layout Presentation
Gui Layout Presentation
 
Leap motion
Leap motionLeap motion
Leap motion
 
SWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface DesignSWE-401 - 8. Software User Interface Design
SWE-401 - 8. Software User Interface Design
 
Next generation User interfaces
Next generation User interfacesNext generation User interfaces
Next generation User interfaces
 
Take a Ride on the Metro
Take a Ride on the MetroTake a Ride on the Metro
Take a Ride on the Metro
 
Ring mouse
Ring mouseRing mouse
Ring mouse
 
Introduction to development
Introduction to developmentIntroduction to development
Introduction to development
 
Material design
Material designMaterial design
Material design
 
MS-WINDOWS.pptx
MS-WINDOWS.pptxMS-WINDOWS.pptx
MS-WINDOWS.pptx
 
hcid2011 - Gesture Based Interfaces: Jacques chueke (HCID, City University L...
hcid2011 -  Gesture Based Interfaces: Jacques chueke (HCID, City University L...hcid2011 -  Gesture Based Interfaces: Jacques chueke (HCID, City University L...
hcid2011 - Gesture Based Interfaces: Jacques chueke (HCID, City University L...
 
Unit-1.pptx
Unit-1.pptxUnit-1.pptx
Unit-1.pptx
 
Multi Touch And Gesture Event Interface And Types
Multi Touch And Gesture Event Interface And TypesMulti Touch And Gesture Event Interface And Types
Multi Touch And Gesture Event Interface And Types
 
GUI Web Designs.pdf
GUI Web Designs.pdfGUI Web Designs.pdf
GUI Web Designs.pdf
 
Fast multi touch enabled web sites
Fast multi touch enabled web sitesFast multi touch enabled web sites
Fast multi touch enabled web sites
 
Tips for building fast multi touch enabled web sites
 Tips for building fast multi touch enabled web sites Tips for building fast multi touch enabled web sites
Tips for building fast multi touch enabled web sites
 
CSS for Touch Devices
CSS for Touch DevicesCSS for Touch Devices
CSS for Touch Devices
 

Plus de Adityo Pratomo

Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringAdityo Pratomo
 
Developing Serverless Microservice in Rust
Developing Serverless Microservice in RustDeveloping Serverless Microservice in Rust
Developing Serverless Microservice in RustAdityo Pratomo
 
Empowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game DesignEmpowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game DesignAdityo Pratomo
 
Coding as Intersection of Art and Technology
Coding as Intersection of Art and TechnologyCoding as Intersection of Art and Technology
Coding as Intersection of Art and TechnologyAdityo Pratomo
 
Interactive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User InterfaceInteractive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User InterfaceAdityo Pratomo
 
Adityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDFAdityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDFAdityo Pratomo
 
Adityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding AssignmentAdityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding AssignmentAdityo Pratomo
 

Plus de Adityo Pratomo (10)

Managing Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform EngineeringManaging Infrastructure as a Product - Introduction to Platform Engineering
Managing Infrastructure as a Product - Introduction to Platform Engineering
 
Designing with Code
Designing with CodeDesigning with Code
Designing with Code
 
Developing Serverless Microservice in Rust
Developing Serverless Microservice in RustDeveloping Serverless Microservice in Rust
Developing Serverless Microservice in Rust
 
Let The Machine Helps
Let The Machine HelpsLet The Machine Helps
Let The Machine Helps
 
Introducing Rust
Introducing RustIntroducing Rust
Introducing Rust
 
Empowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game DesignEmpowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game Design
 
Coding as Intersection of Art and Technology
Coding as Intersection of Art and TechnologyCoding as Intersection of Art and Technology
Coding as Intersection of Art and Technology
 
Interactive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User InterfaceInteractive Data Visualization with Tangible User Interface
Interactive Data Visualization with Tangible User Interface
 
Adityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDFAdityo Pratomo - Grounding Presentation PDF
Adityo Pratomo - Grounding Presentation PDF
 
Adityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding AssignmentAdityo Pratomo - Grounding Assignment
Adityo Pratomo - Grounding Assignment
 

Dernier

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Dernier (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Prototyping GNOME UI for Gestural Input

  • 1. PROTOTYPING GNOME UI FOR GESTURAL INPUT Presented by Adityo Pratomo ( ) / Surya University Hidayat Febiansyah / Surya University GNOME.Asia 2015 @kotakmakan (@havban)
  • 2. ABOUT US We are lecturers at the Informatics Department at Surya University Adityo Pratomo got a Master Degree in Interaction Design from University of Sydney, previously worked at an advertising agency Hidayat Febiansyah an IT wizard... jk went with yellow Jaket, obtained PhD from Sun Moon University, Republic of Korea
  • 3. USER INPUT DEVICES Devices act as a medium for user to give input to computer
  • 4. EVOLUTION OF USER INPUT DEVICE Punch Card
  • 10.
  • 14. TODAY CONDITION Huge variety of input device
  • 15. (Still) Follows the WIMP (Windows, Icon, Menu, Pointer) style Term coined in 1980 by Merzouga Wilberts Popularized by Apple Macintosh in 1984
  • 16. Windows Runs a self contained program, isolated from other program, run at the same time in other windows
  • 17. Icon Shortcut for an action that the computer performs
  • 18. Menu Text or icon-based selection system that selects and executes programs or tasks
  • 19. Pointer An onscreen symbol that represents movement of a physical device that the user controls to select icons, objects, data elements, etc
  • 20. GESTURAL INPUT Provides gestures (mostly fingers) input for users
  • 22.
  • 24. NEW GESTURAL INPUT DEVICES Introduces free form gestures as means to interact
  • 25. Microsoft Kinect Full body input, including voice No finger detection
  • 26. Leap Motion Fingers input only Have built-in finger gestures detection
  • 27. Intel RealSense Essentially a much smaller Kinect Windows only SDK
  • 28. Generally speaking, hardware wise, these devices do their job well (can be improved though)
  • 29. PROBLEMS Come from the software implementation of it Especially, for productive, non-entertainment use
  • 30. Metro UI Supposed to be designed for touch Falls flat for these kind of interactions
  • 31. Kinect Guidelines Still involves choosing and confirming action Chooses a big icon Confirms by hanging there for a period of time
  • 32. Direct Mouse to Leap Motion Barely usable since it involves high accuracy in picking object Lost in translation between 2D (where the feedback happens) and 3D (where the action happens)
  • 33.
  • 34. OS Wise Information are structured inside tree, explored by moving down branches, presented one node at a time (nothing wrong with this) Interaction wise, requires moving between directories, picking up objects, confirming and working on that (this requires specific interaction technique)
  • 35.
  • 36. GOALS AND MOTIVATIONS To suggest an interaction model for an OS-wide application of free gestures input We view this interaction model as something that's human and natural, appreciating human's inherent motoric ability To push further research of this area, without waiting for big corp to do it (hooray Open Source)
  • 37. INFLUENCES AND PREVIOUS WORKS This project takes cues from other projects that people already worked on
  • 38. GNOME Shell Minimal use of icon, users are forced to memorize keyboard shortcuts
  • 39. Controlling GNOME with Leap http://www.joaquimrocha.com/2013/08/09/controlling- gnome-with-leap/
  • 41. 9 to 5 a Leap Motion puzzle game https://www.youtube.com/watch?v=rz_wBzWCAXw
  • 42. Kids Note Training System A tool for kids to learn about musical notes and test their hearing
  • 43. DESIGN CONSIDERATION Applied in Leap Motion Complementary to mouse and keyboard Can be used with only one hand Focus on gesture use with minimal icon involved Main use case for productivity, non-entertainment functionality
  • 44. ISOLATING THE PROBLEM Bigest problem is telling people how to choose an object using gestures
  • 45. This is NOT a replacement for mouse Mouse is precise, gestures are not.
  • 46. Giving a bigger icon doesn't necessarily means it'll be easier to pick It still requires a dexterity to accurately choose the object Plus, how to confirm that choice? Inaccurately pressing the air?
  • 47. OUR SOLUTION To translate imprecise gestures into an act of choosing an object and confirming it
  • 48. OUR PROTOTYPE Leap Motion-controlled windowing system UI-model prototype for desktop Both will demonstrate how choosing object is done with gestures
  • 50. FEATURES Alternative live tile windowing system prototype All contents are live and directly editable Activated using gestures Mapping of various gestures into keyboard shortcut Translation of keyboard shortcuts into various events Usage of GNOME windowing capability Keyboard shortcuts receiver inside application
  • 51. GESTURES CircleGesture() – A circular movement by a finger. SwipeGesture() – A straight line movement by the hand with fingers extended. ScreenTapGesture() – A forward tapping movement by a finger. KeyTapGesture() – A downward tapping movement by a finger.
  • 52. MAPPING SHORTCUTS Connecting the element using keyboard shortcuts e.g. ctrl+alt+= No need to access lower level component Portable deployment Leap motion control is only complementary input, not primary Other input can be proceded with existing keyboard or mouse
  • 53. COMPONENTS Leapjs Controller NWJS RobotJs With added functionality to accept multiple flags shortcut Packery.js Other: node-open, jquery, scrollTo, Knobjs, Togglejs, node-gyp https://developer.leapmotion.com/documentation/javascrip http://nwjs.io/ https://github.com/octalmage/robotjs http://packery.metafizzy.co
  • 54. CHARACTERISTICS Open Sourceness Platform Agnostic as long as the device supports HTML5, specifically node- webkit Easy to configure Manage shortcuts Easy to develop Common technology platforms
  • 55. SYSTEM MODE Running with existing gnome shortcut mode Move among workspaces ctrl+alt+- => Swipe down ctrl+alt+= => Swipe up Move among windows alt+tab => Swipe left alt+shift+tab => Swipe right Inner applications windows movement alt+` => keytap
  • 56. DEMO MODE Move among widgets one step ctrl+alt+i => Swipe left ctrl+alt+y => Swipe right Move among widgets with rolling ctrl+alt+i * => Rotate finger right ctrl+alt+y * => Rotate finger left Focused widget → Full size widget ctrl+alt+space => keytap
  • 57.
  • 58.
  • 59. FUTURE GOALS User test Integrate with other technologies (VR, haptic sensors) Possibility into integration with file system that behaves like a graph database Formalize the system
  • 60. CONCLUSION Air gesture-based interaction will come along in the next few years (or even decades) Software and hardware capabilities are there, they just need to be unified by a proper design system Requires further development to integrate with other technologies and to user test it rigorously
  • 61. COME JOIN THE PARTY adityo.pratomo@surya.ac.id hidayat.febiansyah@surya.ac.id http://www.github.com/lunchboxav/leap-gnome