Danai Koutra – CMU/Technicolor Researcher, Carnegie Mellon University at MLconf ATL
13 May, 2000Handy Andy Rapid Prototyping of Computer Systems Carnegie Mellon University IBM CMU...
-
Upload
hillary-holmes -
Category
Documents
-
view
215 -
download
2
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