SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Single input device for
cross-machine manipulation
Cross-machine, cross-platform desktop manipulation
with a single set of input devices
When working on multiple local computers, switching control across a few
     machines can be really painful. You either have to pick one machine and to
     remotely control all the others from there, or pick up another mouse and
     keyboard for each machine.

     This presentation shows a solution to reduce control to a single set of devices
     and virtually no network connection between machines to be needed.




Abstract
Contents
1. Problems         6. Hardware

2. Motivation       7. Encapsulation

3. Idea             8. Mechanism

4. Graphical demo   9. Conclusions

5. Extend
1. Problems
● Working on more machines at the same time
  involves a pair of input devices for each one
  of them

● Switch hand between mice is counterintuitive

● File transfer between machines nearby
  proves to be quite tedious (especially cross-
  platform)
2. Motivation
● Improve productivity by keeping hands on
  the same mouse and keyboard

● Flawless and intuitive drag-and-drop file
  transfer and cross-machine copy-paste

● Minimize changes and additions needed for
  the system to work
2. Motivation
● Why is this different from "remote desktop
  control"?

  ○ No output overhead:
         ●   Doesn't stream the whole output from the "remote" machine
             (including video)
  ○ Faster:
         ●   Remote-Control usually works over Internet which is a few
             orders of magnitude slower
  ○ Accessibility:
         ●   To improve speed, RC can run on LAN, but this involves
             more configs
3. Idea
● Usual input devices to work would be great,
  but would involve complex machines config.

● So, empower the mouse
  ○ Mouse = server
  ○ Machines = clients


● The mouse is connected to all the computers
  and reasons about who it is currently
  controlling
4. Graphical demo
Graphical demo




Pointer initially active on M1 (Machine1)
Graphical demo




Transition between displays of the same machine is
naturally handled by the OS
We want to be able to jump to the other machine
The right (configurable) edge triggers the jump
The pointer becomes inactive on M1 and active on M2
Now the mouse controls M2
M2 has left screen edge configured to trigger a jump
You've been waiting for something to happen to that
folder on M1, right?
Can do drag-and-drop file transfer cross-machine
(even cross-platform)
Drag it all the way into the edge of screen
Activates the jump and file transfer too
(more details later)
File transfer operation (like the usual one) initiates
Can jump around from a machine to the other...
... just like the jump between screens on the same OS
5. Extend

● The system can be extended to a virtually
  unlimited number of machines

(For more than 4 neighbours to each machine,
some other trigger could be used, instead of
screen edges)
6. Hardware
● Although all the system's complexity is in the
  mouse, there is no innovation required
   ○   most "expensive" mice have internal memory
   ○   small microcontroller or microprocessor
   ○   duplex communication through wireless or Bluetooth
   ○   one separate communication channel for each
       machine


● (The keyboard works similarly, so the
  discussion will be limited to the mouse
  device)
7. Encapsulation
● Installation should be piece of cake:
   ○ Install driver and software
   ○ Establish connection to mouse
      ■ Either insert one of the wireless receivers
      ■ Either pair through Bluetooth
   ○ Configure machines layout (visually)


● The driver delegates everything, keeping the
  complexity as much as possible
  encapsulated inside the mouse
8. Mechanism
● Mouse behaves normally
● Screen edge is reached
  ○ Driver on the active machine (M-old) sends
    notification to mouse
● Mouse switches the output channel to the
  new active machine (M-new)
  ○ M-old becomes inactive by default, being ignored
  ○ Mouse movement and actions are received only by
    M-new until a new jump event is encountered
8. Mechanism




Even file data is transferred: M1 -> Mouse -> M2
8. Mechanism (files)
● Pointer activates a screen edge on M1 while
  dragging a file
  ○ Software driver on M1 notifies the mouse about the
    jump and also requests to initiate file transfer
  ○ Mouse switches output channel to M2 and notifies
    driver on M2 about the file transfer
● M2 accepts the transfer
  ○ M1 starts streaming data to mouse
  ○ Mouse forwards data to M2
  ○ On M2 additional file-system related changes are
    applied
9. Conclusions
● Usability gain comes with some additional
  cost
  ○ If the usual workflow involves more machines on the
    same desk, it should be worth it


● The system could be extended such as
  windows and processes could be dragged
  across different machines
  ○ Better parallelism results from this
Custom made illustrations © Iulius Curt


        This presentation is meant to propose a solution to an unsolved problem at the
        moment (although many work-arounds had been implemented)




                                                                                  Iulius Curt
                                                                              ©   february 2013




Single input device for cross-machine manipulation

Mais conteúdo relacionado

Mais procurados

PDQ C++ Uml state Machines
PDQ C++ Uml state MachinesPDQ C++ Uml state Machines
PDQ C++ Uml state Machinesdandb-technology
 
OGDC 2014: Architecting Games in Unity
OGDC 2014: Architecting Games in UnityOGDC 2014: Architecting Games in Unity
OGDC 2014: Architecting Games in UnityGameLandVN
 
FoeduMed: Hardware and Software 40_16
FoeduMed: Hardware and Software 40_16FoeduMed: Hardware and Software 40_16
FoeduMed: Hardware and Software 40_16Majid Ali
 
Computer Operating system
Computer Operating systemComputer Operating system
Computer Operating systemMis bah
 
virtualization_software
virtualization_softwarevirtualization_software
virtualization_softwareafa2001
 
Interacting with Your Computer
Interacting with Your ComputerInteracting with Your Computer
Interacting with Your ComputerUjjwal 'Shanu'
 

Mais procurados (6)

PDQ C++ Uml state Machines
PDQ C++ Uml state MachinesPDQ C++ Uml state Machines
PDQ C++ Uml state Machines
 
OGDC 2014: Architecting Games in Unity
OGDC 2014: Architecting Games in UnityOGDC 2014: Architecting Games in Unity
OGDC 2014: Architecting Games in Unity
 
FoeduMed: Hardware and Software 40_16
FoeduMed: Hardware and Software 40_16FoeduMed: Hardware and Software 40_16
FoeduMed: Hardware and Software 40_16
 
Computer Operating system
Computer Operating systemComputer Operating system
Computer Operating system
 
virtualization_software
virtualization_softwarevirtualization_software
virtualization_software
 
Interacting with Your Computer
Interacting with Your ComputerInteracting with Your Computer
Interacting with Your Computer
 

Destaque

Presentation on ip
Presentation on ipPresentation on ip
Presentation on ipsagarashwini
 
Ict 123 input devices
Ict 123  input devicesIct 123  input devices
Ict 123 input devicesNurizah
 
Input devices in computer graphics
Input devices in computer graphicsInput devices in computer graphics
Input devices in computer graphicsAnu Garg
 
Input Devices
Input DevicesInput Devices
Input Devicesantzwithu
 
Presentation on Input and Output Devices
Presentation on Input and Output DevicesPresentation on Input and Output Devices
Presentation on Input and Output DevicesZobia Aziz
 

Destaque (6)

Presentation on ip
Presentation on ipPresentation on ip
Presentation on ip
 
Ict 123 input devices
Ict 123  input devicesIct 123  input devices
Ict 123 input devices
 
Input devices in computer graphics
Input devices in computer graphicsInput devices in computer graphics
Input devices in computer graphics
 
Input Devices
Input DevicesInput Devices
Input Devices
 
Presentation on input devices
Presentation on input devicesPresentation on input devices
Presentation on input devices
 
Presentation on Input and Output Devices
Presentation on Input and Output DevicesPresentation on Input and Output Devices
Presentation on Input and Output Devices
 

Semelhante a Single input device for cross-machine manipulation

Concurrency computing information management
Concurrency computing   information managementConcurrency computing   information management
Concurrency computing information managementHallmark B-school
 
Ch 01-types-and-components-of-computers
Ch 01-types-and-components-of-computersCh 01-types-and-components-of-computers
Ch 01-types-and-components-of-computersmmoussa83
 
OperatingSystem01..(B.SC Part 2)
OperatingSystem01..(B.SC Part 2)OperatingSystem01..(B.SC Part 2)
OperatingSystem01..(B.SC Part 2)Muhammad Osama
 
Operating System & Types
Operating System & TypesOperating System & Types
Operating System & Typesabdullahabid56
 
Operating system and its further types
Operating system and its further typesOperating system and its further types
Operating system and its further typesabdullahabid56
 
INTRODUCTION TO COMPUTER .pptx
INTRODUCTION TO COMPUTER .pptxINTRODUCTION TO COMPUTER .pptx
INTRODUCTION TO COMPUTER .pptxRamjeyDavocRony
 
operating system
operating system operating system
operating system emmaoli429
 
Galvin-operating System(Ch1)
Galvin-operating System(Ch1)Galvin-operating System(Ch1)
Galvin-operating System(Ch1)dsuyal1
 
Operating System Slides 1.pptx
Operating System Slides 1.pptxOperating System Slides 1.pptx
Operating System Slides 1.pptxDureshehwarArshad
 
Operating systems[1]
Operating systems[1]Operating systems[1]
Operating systems[1]chicaslsb2012
 
Ch1: Operating System- Introduction
Ch1: Operating System- IntroductionCh1: Operating System- Introduction
Ch1: Operating System- IntroductionAhmar Hashmi
 
2015 bsd can-luminade
2015 bsd can-luminade2015 bsd can-luminade
2015 bsd can-luminadeKen Moore
 
Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1Rachel Phillips
 
Operating system
Operating systemOperating system
Operating systemVONI
 

Semelhante a Single input device for cross-machine manipulation (20)

Concurrency computing information management
Concurrency computing   information managementConcurrency computing   information management
Concurrency computing information management
 
Ch 01-types-and-components-of-computers
Ch 01-types-and-components-of-computersCh 01-types-and-components-of-computers
Ch 01-types-and-components-of-computers
 
OperatingSystem01..(B.SC Part 2)
OperatingSystem01..(B.SC Part 2)OperatingSystem01..(B.SC Part 2)
OperatingSystem01..(B.SC Part 2)
 
Operating System & Types
Operating System & TypesOperating System & Types
Operating System & Types
 
Operating system and its further types
Operating system and its further typesOperating system and its further types
Operating system and its further types
 
INTRODUCTION TO COMPUTER .pptx
INTRODUCTION TO COMPUTER .pptxINTRODUCTION TO COMPUTER .pptx
INTRODUCTION TO COMPUTER .pptx
 
Single ppt
Single pptSingle ppt
Single ppt
 
Operating systems
Operating systemsOperating systems
Operating systems
 
operating system
operating system operating system
operating system
 
Galvin-operating System(Ch1)
Galvin-operating System(Ch1)Galvin-operating System(Ch1)
Galvin-operating System(Ch1)
 
Operating System Slides 1.pptx
Operating System Slides 1.pptxOperating System Slides 1.pptx
Operating System Slides 1.pptx
 
Operating systems[1]
Operating systems[1]Operating systems[1]
Operating systems[1]
 
Ch1
Ch1Ch1
Ch1
 
Ch1: Operating System- Introduction
Ch1: Operating System- IntroductionCh1: Operating System- Introduction
Ch1: Operating System- Introduction
 
operating systems
operating systemsoperating systems
operating systems
 
Operating System concepts
Operating System conceptsOperating System concepts
Operating System concepts
 
2015 bsd can-luminade
2015 bsd can-luminade2015 bsd can-luminade
2015 bsd can-luminade
 
Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1
 
Operating system
Operating systemOperating system
Operating system
 
Operating system
Operating systemOperating system
Operating system
 

Último

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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
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
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 

Último (20)

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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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.
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 

Single input device for cross-machine manipulation

  • 1. Single input device for cross-machine manipulation Cross-machine, cross-platform desktop manipulation with a single set of input devices
  • 2. When working on multiple local computers, switching control across a few machines can be really painful. You either have to pick one machine and to remotely control all the others from there, or pick up another mouse and keyboard for each machine. This presentation shows a solution to reduce control to a single set of devices and virtually no network connection between machines to be needed. Abstract
  • 3. Contents 1. Problems 6. Hardware 2. Motivation 7. Encapsulation 3. Idea 8. Mechanism 4. Graphical demo 9. Conclusions 5. Extend
  • 4. 1. Problems ● Working on more machines at the same time involves a pair of input devices for each one of them ● Switch hand between mice is counterintuitive ● File transfer between machines nearby proves to be quite tedious (especially cross- platform)
  • 5. 2. Motivation ● Improve productivity by keeping hands on the same mouse and keyboard ● Flawless and intuitive drag-and-drop file transfer and cross-machine copy-paste ● Minimize changes and additions needed for the system to work
  • 6. 2. Motivation ● Why is this different from "remote desktop control"? ○ No output overhead: ● Doesn't stream the whole output from the "remote" machine (including video) ○ Faster: ● Remote-Control usually works over Internet which is a few orders of magnitude slower ○ Accessibility: ● To improve speed, RC can run on LAN, but this involves more configs
  • 7. 3. Idea ● Usual input devices to work would be great, but would involve complex machines config. ● So, empower the mouse ○ Mouse = server ○ Machines = clients ● The mouse is connected to all the computers and reasons about who it is currently controlling
  • 9. Graphical demo Pointer initially active on M1 (Machine1)
  • 10. Graphical demo Transition between displays of the same machine is naturally handled by the OS
  • 11. We want to be able to jump to the other machine
  • 12. The right (configurable) edge triggers the jump
  • 13. The pointer becomes inactive on M1 and active on M2
  • 14. Now the mouse controls M2
  • 15. M2 has left screen edge configured to trigger a jump
  • 16. You've been waiting for something to happen to that folder on M1, right?
  • 17. Can do drag-and-drop file transfer cross-machine (even cross-platform)
  • 18. Drag it all the way into the edge of screen
  • 19. Activates the jump and file transfer too (more details later)
  • 20. File transfer operation (like the usual one) initiates
  • 21. Can jump around from a machine to the other...
  • 22. ... just like the jump between screens on the same OS
  • 23. 5. Extend ● The system can be extended to a virtually unlimited number of machines (For more than 4 neighbours to each machine, some other trigger could be used, instead of screen edges)
  • 24. 6. Hardware ● Although all the system's complexity is in the mouse, there is no innovation required ○ most "expensive" mice have internal memory ○ small microcontroller or microprocessor ○ duplex communication through wireless or Bluetooth ○ one separate communication channel for each machine ● (The keyboard works similarly, so the discussion will be limited to the mouse device)
  • 25. 7. Encapsulation ● Installation should be piece of cake: ○ Install driver and software ○ Establish connection to mouse ■ Either insert one of the wireless receivers ■ Either pair through Bluetooth ○ Configure machines layout (visually) ● The driver delegates everything, keeping the complexity as much as possible encapsulated inside the mouse
  • 26. 8. Mechanism ● Mouse behaves normally ● Screen edge is reached ○ Driver on the active machine (M-old) sends notification to mouse ● Mouse switches the output channel to the new active machine (M-new) ○ M-old becomes inactive by default, being ignored ○ Mouse movement and actions are received only by M-new until a new jump event is encountered
  • 27. 8. Mechanism Even file data is transferred: M1 -> Mouse -> M2
  • 28. 8. Mechanism (files) ● Pointer activates a screen edge on M1 while dragging a file ○ Software driver on M1 notifies the mouse about the jump and also requests to initiate file transfer ○ Mouse switches output channel to M2 and notifies driver on M2 about the file transfer ● M2 accepts the transfer ○ M1 starts streaming data to mouse ○ Mouse forwards data to M2 ○ On M2 additional file-system related changes are applied
  • 29.
  • 30. 9. Conclusions ● Usability gain comes with some additional cost ○ If the usual workflow involves more machines on the same desk, it should be worth it ● The system could be extended such as windows and processes could be dragged across different machines ○ Better parallelism results from this
  • 31. Custom made illustrations © Iulius Curt This presentation is meant to propose a solution to an unsolved problem at the moment (although many work-arounds had been implemented) Iulius Curt © february 2013 Single input device for cross-machine manipulation