Top Banner
Single input device for cross-machine manipulation Cross-machine, cross-platform desktop manipulation with a single set of input devices
31
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Single input device for cross-machine manipulation

Single input device for cross-machine manipulation

Cross-machine, cross-platform desktop manipulation with a single set of input devices

Page 2: Single input device for cross-machine manipulation

Abstract

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.

Page 3: Single input device for cross-machine manipulation

Contents1. Problems

2. Motivation

3. Idea

4. Graphical demo

5. Extend

6. Hardware

7. Encapsulation

8. Mechanism

9. Conclusions

Page 4: Single input device for cross-machine manipulation

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)

Page 5: Single input device for cross-machine manipulation

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

Page 6: Single input device for cross-machine manipulation

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

Page 7: Single input device for cross-machine manipulation

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

Page 8: Single input device for cross-machine manipulation

4. Graphical demo

Page 9: Single input device for cross-machine manipulation

Pointer initially active on M1 (Machine1)

Graphical demo

Page 10: Single input device for cross-machine manipulation

Transition between displays of the same machine is naturally handled by the OS

Graphical demo

Page 11: Single input device for cross-machine manipulation

We want to be able to jump to the other machine

Page 12: Single input device for cross-machine manipulation

The right (configurable) edge triggers the jump

Page 13: Single input device for cross-machine manipulation

The pointer becomes inactive on M1 and active on M2

Page 14: Single input device for cross-machine manipulation

Now the mouse controls M2

Page 15: Single input device for cross-machine manipulation

M2 has left screen edge configured to trigger a jump

Page 16: Single input device for cross-machine manipulation

You've been waiting for something to happen to that folder on M1, right?

Page 17: Single input device for cross-machine manipulation

Can do drag-and-drop file transfer cross-machine(even cross-platform)

Page 18: Single input device for cross-machine manipulation

Drag it all the way into the edge of screen

Page 19: Single input device for cross-machine manipulation

Activates the jump and file transfer too(more details later)

Page 20: Single input device for cross-machine manipulation

File transfer operation (like the usual one) initiates

Page 21: Single input device for cross-machine manipulation

Can jump around from a machine to the other...

Page 22: Single input device for cross-machine manipulation

... just like the jump between screens on the same OS

Page 23: Single input device for cross-machine manipulation

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)

Page 24: Single input device for cross-machine manipulation

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)

Page 25: Single input device for cross-machine manipulation

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

Page 26: Single input device for cross-machine manipulation

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

Page 27: Single input device for cross-machine manipulation

8. Mechanism

Even file data is transferred: M1 -> Mouse -> M2

Page 28: Single input device for cross-machine manipulation

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

Page 29: Single input device for cross-machine manipulation
Page 30: Single input device for cross-machine manipulation

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

Page 31: Single input device for cross-machine manipulation

Single input device for cross-machine manipulation

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

Custom made illustrations © Iulius Curt