13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU...

Post on 29-Dec-2015

215 views 2 download

Transcript of 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU...

3 May, 2000Handy Andy 1

Rapid Prototyping ofComputer Systems

Carnegie Mellon University

IBM

CMU Computing Services

3 May, 2000Handy Andy 2

Handy Andy Overview

• Goals– Rapidly develop an integrated set of applications

and services that use the Wireless Andrew network– Design software that allows people to find and

share the information they need as quickly as possible

• Solution– Handy Andy: A suite of software designed with the

wireless user in mind

3 May, 2000Handy Andy 3

Handy Andy

• OverviewI. Introduction

II. Infrastructure & Tools

III. Database

IV. Location (Stalker)

V. Portable Help Desk (PhD)

VI. Audio-centric (Waldo)

VII. Information Exchange (Idealink)

3 May, 2000Handy Andy 4

Infrastructour & Tules

• Presenter– Bryan Meyer

• Group Members– Yue Cathy Chang– Brian Frankel– Kevin Lin– Seth Matthews– Lisa Nelson

3 May, 2000Handy Andy 5

Proposed IBM Architecture

Services

User Proxies

Device Proxies

Devices

3 May, 2000Handy Andy 6

Final Architecture

InfrastructureLogin/Logout

Waldo PhD Idealink Stalker

User Proxy

Device Proxy

Itsy Jornada Other Devices

SpeechEncode/Decode

Database

Service

Infrastructure

Device

Device Proxy Device Proxy

3 May, 2000Handy Andy 7

What Did We Implement?

• Device– Login/Logout program– Send/Receive wrapper functions for services

• Network– Buffer plug-in– Authentication service

• Service Layer– Plug-in to communicate with services

3 May, 2000Handy Andy 8

Device

• Login/Logout Program• Send/Receive wrapper functions for services

– Send (data, device#)– Recv (data)

3 May, 2000Handy Andy 9

Network

• Buffer Plug-in– Device proxy plug-in– Buffers information sent

from service to device– Useful if temporarily

disconnected

• Authentication Service– Connects to database– Authenticated user gets

access to all services

InfrastructureLogin/Logout

UP

DP

SpeechEncode/Decode

3 May, 2000Handy Andy 10

Database

• Presenter– Bryan Meyer

• Group Members– Ming Hsu– Frank Lai– Jeremy Shaffer

3 May, 2000Handy Andy 11

Database Overview

• Responsibilities– Setup, configure, and maintain database and web

server– Help other groups link to the content they need

• Resources Used– Microsoft SQL Server 7.0– Active Server Pages (ASP)– Borland C++ stored procedure calls via ODBC

3 May, 2000Handy Andy 12

What We Do

• Database– Stored procedures

sp_CreateUser

sp_GetUserInfo

sp_ChangeUserInfo

– Tables– Permissions

UserInfo Table

Field Name Type Size

User-Id char 30

Password char 30

Picture char 10

PhoneNumber

char 50

3 May, 2000Handy Andy 13

Responsibilities

• Accessing the Database– Use ASP web pages to access tables– C++ function calls to database

3 May, 2000Handy Andy 14

Stalker

• Presenter– Michael Kolb

• Group Members– Nate Drees– Ben Ernest-Jones– Sripal Mehta– Chirag Shah

3 May, 2000Handy Andy 15

Stalker Overview

• Goal: Create a service to provide basic location information to the campus– Use Simple Network Management Protocol (SNMP)

to query wireless network access points– Provide hardware address and corresponding

access point information to database for location resolution

3 May, 2000Handy Andy 16

Information Query Access

3 May, 2000Handy Andy 17

Statistics

• Entire Network– Total number of access points: 280– Total query time (real-time): 13 min. 25 sec.– Total query CPU time: 43 sec.– Time for each query: 2.875 sec.– Memory usage: 6,892 KB

3 May, 2000Handy Andy 18

Statistics Continued

• Demonstration– Total number of access points: 37– Total query time (real-time): 55 sec.– Total query CPU time: 3 sec.– Time for each query: 1.486 sec.– Memory usage: 7,104 KB

3 May, 2000Handy Andy 19

Plans for the Future

• Make it Multi-threaded– Currently, to poll all access points, it takes 13

minutes 25 seconds

• Use Signal Strength Information– We could get greater precision because we would

have information from multiple access points– CMU would almost have a miniature, local Global

Positioning System

• Greater Need for Security– Our service, while potentially very helpful, could

also be dangerous

3 May, 2000Handy Andy 20

Portable Help Desk (PhD)

• Presenter– Darrin Filer

• Group Members– Michael Fortson– Chris Lin– Spencer Moy– Dan Yocum

3 May, 2000Handy Andy 21

The Portable Help Desk (PhD)

• Functionality– Similar to conventional help desk– Maps– Directories (rooms and people)– Information

• Motivation– Utilize wireless, handheld devices to remedy

shortcomings of conventional help desks– Out of date information– Fixed format– Stationary

3 May, 2000Handy Andy 22

The Portable Help Desk (PhD)

• Remedy– User-configurable web pages– Real-time maps and information display– Customizable map formats– Information available in multiple formats

3 May, 2000Handy Andy 23

User Interface Design

• Design Constraints– Web browser limitations– Bandwidth– Target audience

Early Prototype

3 May, 2000Handy Andy 24

User Interface Design

• UI Design Process– Brainstorm– Paper prototypes– Think-aloud user studies

Early Prototype

3 May, 2000Handy Andy 25

User Interface Design

• User Study Results– Group list confusion– Screen layout improvement– Quick-search

Revised Prototype

3 May, 2000Handy Andy 26

PhD Features and InteractionUser’s List:• Items can be added,moved, and removed• Only “checked” items appear on the map

Description:• Information on the currently selected item • Dynamic information automatically updated

Map:• Dynamic information automatically updated

Map Controls: Zoom & Pan

3 May, 2000Handy Andy 27

System Requirements

• PhD Client– Hardware: Jornadas, wireless

laptops, desktop PCs– Software: Very thin—web browser

• Bandwidth• Server-side

– Hardware: Desktop PC– Software: Windows NT, Microsoft SQL

Server 7.0, web server with ASP

3 May, 2000Handy Andy 28

The PhD Server

• Active Server Pages (ASP)– Permits thin client strategy– Supports multiple clients– Upgrades and new versions

• SQL Database– Shared among multiple services, proxies, and

applications

• Stored Procedures– Sole method of database interaction– Programmatic access from ASP pages

3 May, 2000Handy Andy 29

The Role of Proxies

• Device Proxy– Functionality similar to role of web

browser– Could be used in conjunction with

User Proxy

Database

Web Browser

Device Proxy

User Proxy

Stored Procedures

SQL Tables

Other Services

ASP Pages

3 May, 2000Handy Andy 30

The Role of Proxies

• User Proxy– Subset of database stored

procedures– Forwards HTTP requests– Appends user-specific information

Database

Web Browser

Device Proxy

User Proxy

Stored Procedures

SQL Tables

Other Services

ASP Pages

3 May, 2000Handy Andy 31

The Role of Proxies

• PhD Services– Accessed solely through stored

procedures– Database tables are shared– Never accessed through direct

queries

Database

Web Browser

Device Proxy

User Proxy

Stored Procedures

SQL Tables

Other Services

ASP Pages

3 May, 2000Handy Andy 32

Waldo

• Presenter– Sreekar Gadde

• Group Members– Joshua Anhalt– Kevin Auyoung– Meredith Beveridge– Barry Schneider

3 May, 2000Handy Andy 33

Waldo Overview

• Goal: Voice interface for Handheld Andrew– User speaks to the system naturally– System responds verbally– Provide user-requested services

Where is Bob?

Bob is currently on the Fourth Floor of Wean

3 May, 2000Handy Andy 34

Requirements

• Get User Input– Record what the user said– Transfer this recording to a

place where we canprocess it

• Translate the Input– Turn the audio input into

text– Determine what the user is

asking for

• Respond to the User’s Query– Get the information to answer the query– Relay this information to the user

3 May, 2000Handy Andy 35

Architecture

• Input to System– <Where is Joshua>

• Speech to Text– Sphinx– “Where is Joshua”

• Grammar Parser– Phoenix– ActionFrame: [Location]

(WHERE IS)– ObjectFrame: [Person]

([FIRSTNAME] (JOSHUA))

User’s Speech

Audio Digitizer

Speech to Text

GrammarParser

3 May, 2000Handy Andy 36

Architecture

• Action Processor– [Location] (Hamburg Hall 2224)

• Response Formatter– “Joshua Anhalt is located in Hamburg Hall 2224”

• Text to Speech– Festival– <Joshua Anhalt is located in Hamburg Hall 2224>

3 May, 2000Handy Andy 37

Input to the System

• Choice Motivated by User Studies– Visibility

• Plantronics– Decent audio quality– Volume and quality are generally

consistent over time

3 May, 2000Handy Andy 38

Action Processor

• Plug-in Architecture– Each plug-in gets

same input– Expandable– Very easy to

understand

Action Processor

Errorplug-in

Contactplug-in

Locationplug-in

Response Formatter

3 May, 2000Handy Andy 39

Plans for the Future

• Fully Functional Audio Assistant– Appointments with campus-wide Andrew Calendar– Location based to-do list– Sound Bite News

3 May, 2000Handy Andy 40

Idealink

• Presenter– Cori Swinehart

• Group Members– Tridib Chakravarty– Kavin Du– Nathan Los– John Meier– Minh Tran

3 May, 2000Handy Andy 41

Idealink Overview

• Idealink Is– A digital shared whiteboard– A tool for communicating graphical ideas

• The Target Audience Includes– CMU students and faculty– Handheld Andrew users

3 May, 2000Handy Andy 42

Conceptual Design Phase

• Researched Physical Whiteboards– Several people can draw simultaneously– Encourage flow of creative ideas– Easy to display both text and images– People build off of each other’s work

3 May, 2000Handy Andy 43

Limitations and Solutions

• Limitations of Physical Whiteboards– Drawing area is too small– Ideas lost when board is erased– All users must be in the same location

• Digital Solutions– Infinite space and storage– Remote collaboration is possible

3 May, 2000Handy Andy 44

Detailed Design Phase

• Design Constraints– Relatively small screen size– Synchronization is critical

• User Interface Design Process– Guiding principle: minimal intrusion– Analyzed videos of brainstorming sessions– Interviewed potential users

3 May, 2000Handy Andy 45

Interface Features

• Powerful Menu Commands– Session management

– Geometric tools

– Expandable plug-ins

3 May, 2000Handy Andy 46

Interface Features

• Easy-to-Access Toolbar– Pen colors

– Line thicknesses

– Eraser

3 May, 2000Handy Andy 47

Interface Features

• Large Drawing Region– Multiple people can draw simultaneously

– Users can join a session while in progress

– All users’ drawings are automatically synchronized

3 May, 2000Handy Andy 48

Architecture Overview

Service broadcasts received coordinates to all clients

Client sends a user’s drawing to the service as a series of coordinates

Clients draw received

coordinates on screen; all

clients are synchronized

3 May, 2000Handy Andy 49

System Requirements

• Wireless Client– Handheld PC running Windows CE– WaveLAN card and network connectivity

• Service– Desktop PC running Windows 9x/NT– Network connection with devices

3 May, 2000Handy Andy 50

Plans for the Future

• Session Archival Features– Service would automatically save session– Thought process would be preserved

• Additional Drawing Capabilities• More Communication Among Users

– Text-based chat– Post-It Note modifications

3 May, 2000Handy Andy 51

Credits

• ActorsDaphne Yue Cathy ChangBert Minh TranProfessor Stuart Frank LaiNarrator Michael KolbBryan Bryan Meyer

• Behind the ScenesJohn MeierKavin DuChirag ShahJeremy Shaffer

3 May, 2000Handy Andy 52

Credits

• Demonstration MastersJoshua AnhaltBrian FrankelNathan Los

• Script and PresentationMeredith BeveridgeMichael KolbLisa NelsonCorinne SwinehartDan Yocum

3 May, 2000Handy Andy 53

Credits

Database

Frank Lai

Ming HsuJeremy Shaffer

Stalker

Nate Drees

Ben Ernest-Jones

Michael Kolb

Sripal Mehta

Chirag Shah

Waldo

Joshua Anhalt

Kevin AuYoung

Meredith Beveridge

Sreekar Gadde

Barry Schneider

PhD

Darrin Filer

Michael Fortson

Chris Lin

Spencer Moy

Dan Yocum

Idealink

Tridib Chakravarty

Kavin Du

Nathan Los

John Meier

Cori Swinehart

Minh Tran

Infrastructure

Yue Cathy Chang

Brian Frankel

Kevin Lin

Seth Matthews

Bryan Meyer

Lisa Nelson

3 May, 2000Handy Andy 54

Special Thanks

• Professors and TAsDaniel SiewiorekAsim SmailagicJane SiegelJohn DorseyFrancine GemperleStavros Polyviou

3 May, 2000Handy Andy 55

Special Thanks

• Support and AssistanceIBMComputing Services and Handheld AndrewKevin MillerAlex RudnickyKevin LenzoJason Small