final-presentation - Carnegie Mellon School of Computer Science

Download Report

Transcript final-presentation - Carnegie Mellon School of Computer Science

Rapid Prototyping of
Computer Systems
Carnegie Mellon University
IBM
CMU Computing Services
Handy Andy
1
3 May, 2000
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
Handy Andy
2
3 May, 2000
Handy Andy
• Overview
I.
II.
III.
IV.
V.
VI.
VII.
Handy Andy
Introduction
Infrastructure & Tools
Database
Location (Stalker)
Portable Help Desk (PhD)
Audio-centric (Waldo)
Information Exchange (Idealink)
3
3 May, 2000
Infrastructour & Tules
• Presenter
– Bryan Meyer
• Group Members
–
–
–
–
–
Handy Andy
Yue Cathy Chang
Brian Frankel
Kevin Lin
Seth Matthews
Lisa Nelson
4
3 May, 2000
Proposed IBM Architecture
Services
User Proxies
Device
Proxies
Devices
Handy Andy
5
3 May, 2000
Final Architecture
Database
Service
Infrastructure
Login/Logout
Waldo
Infrastructure
PhD
Idealink
Stalker
User Proxy
Device Proxy
Device Proxy
Device Proxy
Jornada
Other Devices
Speech
Encode/Decode
Device
Itsy
Handy Andy
6
3 May, 2000
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
Handy Andy
7
3 May, 2000
Device
• Login/Logout Program
• Send/Receive wrapper functions for services
– Send (data, device#)
– Recv (data)
Handy Andy
8
3 May, 2000
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
Handy Andy
9
Infrastructure
Login/Logout
UP
DP
Speech
Encode/Decode
3 May, 2000
Database
• Presenter
– Bryan Meyer
• Group Members
– Ming Hsu
– Frank Lai
– Jeremy Shaffer
Handy Andy
10
3 May, 2000
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
Handy Andy
11
3 May, 2000
What We Do
• Database
UserInfo Table
– Stored procedures
sp_CreateUser
sp_GetUserInfo
sp_ChangeUserInfo
– Tables
– Permissions
Handy Andy
12
Field Name
Type
Size
User-Id
char
30
Password
char
30
Picture
char
10
Phone
Number
char
50
3 May, 2000
Responsibilities
• Accessing the Database
– Use ASP web pages to access tables
– C++ function calls to database
Handy Andy
13
3 May, 2000
Stalker
• Presenter
– Michael Kolb
• Group Members
–
–
–
–
Handy Andy
Nate Drees
Ben Ernest-Jones
Sripal Mehta
Chirag Shah
14
3 May, 2000
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
Handy Andy
15
3 May, 2000
Information Query Access
Handy Andy
16
3 May, 2000
Statistics
• Entire Network
–
–
–
–
–
Handy Andy
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
17
3 May, 2000
Statistics Continued
• Demonstration
–
–
–
–
–
Handy Andy
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
18
3 May, 2000
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
Handy Andy
19
3 May, 2000
Portable Help Desk (PhD)
• Presenter
– Darrin Filer
• Group Members
–
–
–
–
Handy Andy
Michael Fortson
Chris Lin
Spencer Moy
Dan Yocum
20
3 May, 2000
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
Handy Andy
21
3 May, 2000
The Portable Help Desk (PhD)
• Remedy
–
–
–
–
Handy Andy
User-configurable web pages
Real-time maps and information display
Customizable map formats
Information available in multiple formats
22
3 May, 2000
User Interface Design
• Design Constraints
– Web browser limitations
– Bandwidth
– Target audience
Early Prototype
Handy Andy
23
3 May, 2000
User Interface Design
• UI Design Process
– Brainstorm
– Paper prototypes
– Think-aloud user studies
Early Prototype
Handy Andy
24
3 May, 2000
User Interface Design
• User Study Results
– Group list confusion
– Screen layout improvement
– Quick-search
Revised Prototype
Handy Andy
25
3 May, 2000
PhD Features and Interaction
User’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
Handy Andy
26
3 May, 2000
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
Handy Andy
27
3 May, 2000
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
Handy Andy
28
3 May, 2000
The Role of Proxies
Web Browser
• Device Proxy
– Functionality similar to role of web
browser
– Could be used in conjunction with
User Proxy
Other Services
Device Proxy
ASP Pages
User Proxy
Stored Procedures
Database
Handy Andy
29
SQL Tables
3 May, 2000
The Role of Proxies
Web Browser
• User Proxy
– Subset of database stored
procedures
– Forwards HTTP requests
– Appends user-specific information
Other Services
Device Proxy
ASP Pages
User Proxy
Stored Procedures
Database
Handy Andy
30
SQL Tables
3 May, 2000
The Role of Proxies
Web Browser
• PhD Services
– Accessed solely through stored
procedures
– Database tables are shared
– Never accessed through direct
queries
Device Proxy
ASP Pages
Other Services
User Proxy
Stored Procedures
Database
Handy Andy
31
SQL Tables
3 May, 2000
Waldo
• Presenter
– Sreekar Gadde
• Group Members
–
–
–
–
Handy Andy
Joshua Anhalt
Kevin Auyoung
Meredith Beveridge
Barry Schneider
32
3 May, 2000
Waldo Overview
• Goal: Voice interface for Handheld Andrew
– User speaks to the system naturally
– System responds verbally
– Provide user-requested services
Bob is currently
on the Fourth
Floor of Wean
Where is
Bob?
Handy Andy
33
3 May, 2000
Requirements
• Get User Input
– Record what the user said
– Transfer this recording to a
place where we can
process 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
Handy Andy
34
3 May, 2000
Architecture
• Input to System
User’s
Speech
– <Where is Joshua>
• Speech to Text
– Sphinx
– “Where is Joshua”
Audio Digitizer
• Grammar Parser
– Phoenix
– ActionFrame: [Location]
(WHERE IS)
– ObjectFrame: [Person]
([FIRSTNAME]
(JOSHUA))
Handy Andy
35
Speech to Text
Grammar
Parser
3 May, 2000
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>
Handy Andy
36
3 May, 2000
Input to the System
• Choice Motivated by User Studies
– Visibility
• Plantronics
– Decent audio quality
– Volume and quality are generally
consistent over time
Handy Andy
37
3 May, 2000
Action Processor
• Plug-in Architecture
– Each plug-in gets
same input
– Expandable
– Very easy to
understand
Action Processor
Error
plug-in
Contact
plug-in
Location
plug-in
Response Formatter
Handy Andy
38
3 May, 2000
Plans for the Future
• Fully Functional Audio Assistant
– Appointments with campus-wide Andrew Calendar
– Location based to-do list
– Sound Bite News
Handy Andy
39
3 May, 2000
Idealink
• Presenter
– Cori Swinehart
• Group Members
–
–
–
–
–
Handy Andy
Tridib Chakravarty
Kavin Du
Nathan Los
John Meier
Minh Tran
40
3 May, 2000
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
Handy Andy
41
3 May, 2000
Conceptual Design Phase
• Researched Physical Whiteboards
–
–
–
–
Handy Andy
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
42
3 May, 2000
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
Handy Andy
43
3 May, 2000
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
Handy Andy
44
3 May, 2000
Interface Features
• Powerful Menu Commands
– Session management
– Geometric tools
– Expandable plug-ins
Handy Andy
45
3 May, 2000
Interface Features
• Easy-to-Access Toolbar
– Pen colors
– Line thicknesses
– Eraser
Handy Andy
46
3 May, 2000
Interface Features
• Large Drawing Region
– Multiple people can draw simultaneously
– Users can join a session while in progress
– All users’ drawings are automatically synchronized
Handy Andy
47
3 May, 2000
Architecture Overview
Service broadcasts
received coordinates
to all clients
Clients draw
received
coordinates
on screen; all
clients are
synchronized
Client sends a
user’s drawing
to the service
as a series of
coordinates
Handy Andy
48
3 May, 2000
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
Handy Andy
49
3 May, 2000
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
Handy Andy
50
3 May, 2000
Credits
• Actors
Daphne
Bert
Professor Stuart
Narrator
Bryan
Yue Cathy Chang
Minh Tran
Frank Lai
Michael Kolb
Bryan Meyer
• Behind the Scenes
John Meier
Kavin Du
Chirag Shah
Jeremy Shaffer
Handy Andy
51
3 May, 2000
Credits
• Demonstration Masters
Joshua Anhalt
Brian Frankel
Nathan Los
• Script and Presentation
Meredith Beveridge
Michael Kolb
Lisa Nelson
Corinne Swinehart
Dan Yocum
Handy Andy
52
3 May, 2000
Credits
Handy Andy
Waldo
Joshua Anhalt
Kevin AuYoung
Meredith Beveridge
Sreekar Gadde
Barry Schneider
PhD
Darrin Filer
Michael Fortson
Chris Lin
Spencer Moy
Dan Yocum
Stalker
Nate Drees
Ben Ernest-Jones
Michael Kolb
Sripal Mehta
Chirag Shah
Infrastructure
Yue Cathy Chang
Brian Frankel
Kevin Lin
Seth Matthews
Bryan Meyer
Lisa Nelson
Database
Frank Lai
Ming Hsu
Jeremy Shaffer
Idealink
Tridib Chakravarty
Kavin Du
Nathan Los
John Meier
Cori Swinehart
Minh Tran
53
3 May, 2000
Special Thanks
• Professors and TAs
Daniel Siewiorek
Asim Smailagic
Jane Siegel
John Dorsey
Francine Gemperle
Stavros Polyviou
Handy Andy
54
3 May, 2000
Special Thanks
• Support and Assistance
IBM
Computing Services and Handheld Andrew
Kevin Miller
Alex Rudnicky
Kevin Lenzo
Jason Small
Handy Andy
55
3 May, 2000