Q: A Tactile Approach To Digital Organization

38
Q: A Tactile Approach To Digital Organization COMP 410 December 2009

description

COMP 410 December 2009. Q: A Tactile Approach To Digital Organization. COMP 410 – What is it?. Semester-long project “Customer” poses a challenge Student-run Dr. Wong and 4 TAs Warmup project: BallNet. Resources – Sharepoint. TFS + Visual Studio. Resources – Development Servers. - PowerPoint PPT Presentation

Transcript of Q: A Tactile Approach To Digital Organization

Page 1: Q: A Tactile Approach To Digital Organization

Q: A Tactile ApproachTo Digital Organization

COMP 410December 2009

Page 2: Q: A Tactile Approach To Digital Organization

COMP 410 – What is it? Semester-long project “Customer” poses a challenge Student-run Dr. Wong and 4 TAs Warmup project: BallNet

Page 3: Q: A Tactile Approach To Digital Organization

Resources – Sharepoint

Page 4: Q: A Tactile Approach To Digital Organization

TFS + Visual Studio

Page 5: Q: A Tactile Approach To Digital Organization

Resources – Development Servers

Page 6: Q: A Tactile Approach To Digital Organization

Our Team

Nick BridleInput

Jaewoo JeonClient

Lee MarinelliServer, Input

Rick ManningServer, Client

Kevin MontroseServer, Plugin

Seth O’BrienClient

Jim Russell3D Interface

Ivan VanServer

Page 7: Q: A Tactile Approach To Digital Organization

Our Organization

Every two weeks we: Presented new prototype to customer Reassessed progress Set goals for next two weeks

Advantages: Regular schedule More upfront progress

Page 8: Q: A Tactile Approach To Digital Organization

The Challenge

Search is useful, but users need a way to structure information.

Page 9: Q: A Tactile Approach To Digital Organization

Our Solution

Workspaces Multi-user collaboration Categories, Tags, and Links

Gestures!

Page 10: Q: A Tactile Approach To Digital Organization

Demonstration

Page 11: Q: A Tactile Approach To Digital Organization

System Overview – Modules

Server

GestureInput

Plugin Client

Page 12: Q: A Tactile Approach To Digital Organization

The Server

Server

GestureInput

Plugin Client

Page 13: Q: A Tactile Approach To Digital Organization

Server – Architecture

Workspace

Workspace

Workspace

Workspace

Task Queue Task Queue Task Queue Task Queue

Server Worker Threads

HTTP Communications Layer

Page 14: Q: A Tactile Approach To Digital Organization

Server – HTTP Communication HTTP Requests

GET to get data POST to send data

JSON encoding used for structured queries:

Page 15: Q: A Tactile Approach To Digital Organization

Server – Concurrency

Many-reader, single-writer Number of threads proportional to

number of processor cores

Page 16: Q: A Tactile Approach To Digital Organization

Server – Workspace Instances Each instance manages:

Document content Document metadata Full-text indexing Version tracking Lock tracking

Page 17: Q: A Tactile Approach To Digital Organization

Resource Desc. Framework

Semantic Web Triples:

Subject Predicate Object

Easy to represent many different types of relationships

“Tagged with”

www.Q-is-the-best.com

“COMP 410”

Page 18: Q: A Tactile Approach To Digital Organization

The Plugin

Server

GestureInput

Plugin Client

Page 19: Q: A Tactile Approach To Digital Organization

Plugin – Overview

Extend the browser, rather than replace it

Familiar interface for keyboard and mouse

User “shares” items from the browser, optionally specifying title, category, and tags

Page 20: Q: A Tactile Approach To Digital Organization

Plugin – Design Firefox extension

Well-exercised platform

Lots of flexibility XUL for UI Javascript for logic

Page 21: Q: A Tactile Approach To Digital Organization

Plugin – The Guts

Wraps all requests into JSON objects Data transmitted as base-64 encoded

strings Tracks browsing history on a per-tab

basis Tracks user actions like reload,

back/forward Browsing histories are non-linear!

Page 22: Q: A Tactile Approach To Digital Organization

The Client

Server

GestureInput

Plugin Client

Page 23: Q: A Tactile Approach To Digital Organization

Client – Overview

Browser-hosted application Windows Presentation Foundation

Reference implementation Wide variety of clients could use same

server Platform independence!

Page 24: Q: A Tactile Approach To Digital Organization

Client – Design

Page 25: Q: A Tactile Approach To Digital Organization

Scalability

Download data only as needed Workspace structure Thumbnails Full documents

Page 26: Q: A Tactile Approach To Digital Organization

Demonstration

Page 27: Q: A Tactile Approach To Digital Organization

The Input

Server

GestureInput

Plugin Client

Page 28: Q: A Tactile Approach To Digital Organization

Input – Motivation

Interesting Substitute for traditional keyboard and

mouse Uses Wiimotes!

Intuitive Meshes well with 3D view

Flexible Doesn't restrict the user to one input

interface

Page 29: Q: A Tactile Approach To Digital Organization

Input – Inspiration

Page 30: Q: A Tactile Approach To Digital Organization

Input – Physical Setup

2 Wiimotes on tripods Gloves with IR LEDs on the fingers

Page 31: Q: A Tactile Approach To Digital Organization

Wiimote Stereovision

Like depth perception in humans Calibrate with cube

Human w/glove

s

MonitorWiimote Wiim

ote

Page 32: Q: A Tactile Approach To Digital Organization

Input – Demonstration

Page 33: Q: A Tactile Approach To Digital Organization

Gesture Recognition

Project points in 3D space to two 2D planes

Apply 2D recognizers

Page 34: Q: A Tactile Approach To Digital Organization

Custom Gestures

Pre-existing libraries used to analyze strokes

Page 35: Q: A Tactile Approach To Digital Organization

Super Annoying ProblemsInteresting Challenges Interfacing different platforms

Browser/client communication Client/input communication

Firefox Poor documentation No official API for extensions!

Hardware (Wiimotes)

Page 36: Q: A Tactile Approach To Digital Organization

Future Improvements

Security HTTPS SQL queries

More 3D layouts Improved gesture fidelity Improved gloves

Reflected IR approach

Page 37: Q: A Tactile Approach To Digital Organization

Acknowledgements

Page 38: Q: A Tactile Approach To Digital Organization

Questions