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

55
3 May, 2000 Handy Andy 1 Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services

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

Page 1: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 1

Rapid Prototyping ofComputer Systems

Carnegie Mellon University

IBM

CMU Computing Services

Page 2: 13 May, 2000Handy Andy Rapid Prototyping of Computer 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

Page 3: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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)

Page 4: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 4

Infrastructour & Tules

• Presenter– Bryan Meyer

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

Page 5: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 5

Proposed IBM Architecture

Services

User Proxies

Device Proxies

Devices

Page 6: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 7: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 8: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 8

Device

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

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

Page 9: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 10: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 10

Database

• Presenter– Bryan Meyer

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

Page 11: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 12: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

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

3 May, 2000Handy Andy 13

Responsibilities

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

Page 14: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 14

Stalker

• Presenter– Michael Kolb

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

Page 15: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 16: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 16

Information Query Access

Page 17: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 18: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 19: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 20: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 20

Portable Help Desk (PhD)

• Presenter– Darrin Filer

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

Page 21: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 22: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 23: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 23

User Interface Design

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

Early Prototype

Page 24: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 24

User Interface Design

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

Early Prototype

Page 25: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 25

User Interface Design

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

Revised Prototype

Page 26: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 27: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 28: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 29: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 30: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 31: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 32: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 32

Waldo

• Presenter– Sreekar Gadde

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

Page 33: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 34: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 35: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 36: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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>

Page 37: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 38: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 39: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 40: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 40

Idealink

• Presenter– Cori Swinehart

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

Page 41: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 42: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 43: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 44: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 45: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 45

Interface Features

• Powerful Menu Commands– Session management

– Geometric tools

– Expandable plug-ins

Page 46: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 46

Interface Features

• Easy-to-Access Toolbar– Pen colors

– Line thicknesses

– Eraser

Page 47: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 48: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 49: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 50: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 51: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 52: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 52

Credits

• Demonstration MastersJoshua AnhaltBrian FrankelNathan Los

• Script and PresentationMeredith BeveridgeMichael KolbLisa NelsonCorinne SwinehartDan Yocum

Page 53: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

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

Page 54: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 54

Special Thanks

• Professors and TAsDaniel SiewiorekAsim SmailagicJane SiegelJohn DorseyFrancine GemperleStavros Polyviou

Page 55: 13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU Computing Services.

3 May, 2000Handy Andy 55

Special Thanks

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