550 likes | 655 Views
Rapid Prototyping of Computer Systems. Carnegie Mellon University IBM CMU Computing Services. Handy Andy Overview. Goals Rapidly develop an integrated set of applications and services that use the Wireless Andrew network
E N D
Rapid Prototyping ofComputer Systems Carnegie Mellon University IBM CMU Computing Services Handy Andy
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
Handy Andy • Overview I. Introduction II. Infrastructure & Tools III. Database IV. Location (Stalker) V. Portable Help Desk (PhD) VI. Audio-centric (Waldo) VII. Information Exchange (Idealink) Handy Andy
Infrastructour & Tules • Presenter • Bryan Meyer • Group Members • Yue Cathy Chang • Brian Frankel • Kevin Lin • Seth Matthews • Lisa Nelson Handy Andy
Proposed IBM Architecture Services User Proxies Device Proxies Devices Handy Andy
Final Architecture Database Infrastructure Login/Logout Waldo PhD Idealink Stalker Service Infrastructure User Proxy Device Proxy Device Proxy Device Proxy Speech Encode/Decode Device Itsy Jornada Other Devices Handy Andy
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
Device • Login/Logout Program • Send/Receive wrapper functions for services • Send (data, device#) • Recv (data) Handy Andy
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 Infrastructure Login/Logout UP DP Speech Encode/Decode Handy Andy
Database • Presenter • Bryan Meyer • Group Members • Ming Hsu • Frank Lai • Jeremy Shaffer Handy Andy
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
UserInfo Table Field Name Type Size User-Id char 30 Password char 30 Picture char 10 Phone Number char 50 What We Do • Database • Stored procedures sp_CreateUser sp_GetUserInfo sp_ChangeUserInfo • Tables • Permissions Handy Andy
Responsibilities • Accessing the Database • Use ASP web pages to access tables • C++ function calls to database Handy Andy
Stalker • Presenter • Michael Kolb • Group Members • Nate Drees • Ben Ernest-Jones • Sripal Mehta • Chirag Shah Handy Andy
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
Information Query Access Handy Andy
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 Handy Andy
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 Handy Andy
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
Portable Help Desk (PhD) • Presenter • Darrin Filer • Group Members • Michael Fortson • Chris Lin • Spencer Moy • Dan Yocum Handy Andy
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
The Portable Help Desk (PhD) • Remedy • User-configurable web pages • Real-time maps and information display • Customizable map formats • Information available in multiple formats Handy Andy
User Interface Design • Design Constraints • Web browser limitations • Bandwidth • Target audience Early Prototype Handy Andy
User Interface Design • UI Design Process • Brainstorm • Paper prototypes • Think-aloud user studies Early Prototype Handy Andy
User Interface Design • User Study Results • Group list confusion • Screen layout improvement • Quick-search Revised Prototype Handy Andy
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
System Requirements • PhD Client • Hardware: Jornadas, wirelesslaptops, desktop PCs • Software: Very thin—web browser • Bandwidth • Server-side • Hardware: Desktop PC • Software: Windows NT, Microsoft SQLServer 7.0, web server with ASP Handy Andy
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
Web Browser Device Proxy ASP Pages Other Services User Proxy Stored Procedures SQL Tables The Role of Proxies • Device Proxy • Functionality similar to role of web browser • Could be used in conjunction with User Proxy Database Handy Andy
Web Browser Device Proxy ASP Pages Other Services User Proxy Stored Procedures SQL Tables The Role of Proxies • User Proxy • Subset of database stored procedures • Forwards HTTP requests • Appends user-specific information Database Handy Andy
Web Browser Device Proxy ASP Pages Other Services User Proxy Stored Procedures SQL Tables The Role of Proxies • PhD Services • Accessed solely through stored procedures • Database tables are shared • Never accessed through direct queries Database Handy Andy
Waldo • Presenter • Sreekar Gadde • Group Members • Joshua Anhalt • Kevin Auyoung • Meredith Beveridge • Barry Schneider Handy Andy
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
Requirements • Get User Input • Record what the user said • Transfer this recording to aplace where we canprocess it • Translate the Input • Turn the audio input intotext • Determine what the user isasking for • Respond to the User’s Query • Get the information to answer the query • Relay this information to the user Handy Andy
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 Grammar Parser Handy Andy
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
Input to the System • Choice Motivated by User Studies • Visibility • Plantronics • Decent audio quality • Volume and quality are generallyconsistent over time Handy Andy
Action Processor • Plug-in Architecture • Each plug-in getssame input • Expandable • Very easy tounderstand Action Processor Error plug-in Contact plug-in Location plug-in Response Formatter Handy Andy
Plans for the Future • Fully Functional Audio Assistant • Appointments with campus-wide Andrew Calendar • Location based to-do list • Sound Bite News Handy Andy
Idealink • Presenter • Cori Swinehart • Group Members • Tridib Chakravarty • Kavin Du • Nathan Los • John Meier • Minh Tran Handy Andy
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
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 Handy Andy
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
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
Interface Features • Powerful Menu Commands • Session management • Geometric tools • Expandable plug-ins Handy Andy
Interface Features • Easy-to-Access Toolbar • Pen colors • Line thicknesses • Eraser Handy Andy
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
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
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
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