110 likes | 311 Views
Component Description Pebbles PDA Software Human Computer Interaction Institute Carnegie Mellon University Prepared by: Brad Myers, bam@cs.cmu.edu March 26, 1999. 1 - Overview. Pebbles provides an architecture and set of applications to integrate PDAs with each other and with PCs
E N D
Component Description Pebbles PDA Software Human Computer Interaction InstituteCarnegie Mellon University Prepared by: Brad Myers, bam@cs.cmu.edu March 26, 1999
1 - Overview • Pebbles provides an architecture and set of applications to integrate PDAs with each other and with PCs • Use PDAs and PCs simultaneously • Use PDAs to control the PC • Examples: • PDA as slide show controller -- see the notes of your presentation on the PDA, while the PC is showing the slide • PDA as private drill-down display -- when viewing a shared map, each person can display on their own PDA the details of different aspects.
2 - Architecture Overview • Multiple PDAs of different types connect to a central controller (“PebblesPC”) which distributes commands to different .dll files for different applications. On the PC Brad’sPalmPilot SlideShowCmd Rob’sPalmPilot PebblesPC RemoteCmd Ben’sWindows CE Drill-DownDetails Viewer Associated .dll files Various apps
3 - Component Description • PDA programs • Use standard PDA development tools • E.g., Metrowerks Codewarrior for PalmPilot, Visual C++ for Windows CE • Toolkit to support communication with PC • Large collection of applications already available • PebblesPC • Acts as a controller to connect PDA program to appropriate PC-side program • PC-side programs • Implemented as PC .dll files which are dynamically loaded • Toolkit to support communication with PDA
4 - External Interfaces • Can control Mouse and Keyboard to pretend to be “regular” input devices • Keyboard events, scroll events, mouse events • Can communicate using custom Windows event stream for custom applications • Existing OLE interface to PowerPoint • Other interfaces to be implemented as required by the program.
5 - Existing Software “Bridges” • Interoperation with Other Systems • Emulates keyboard, mouse and scrollers to work with any application • Uses OLE to interface to PowerPoint • Uses custom MS Windows events to connect to custom drawing editor • Functionality • Can work with existing applications without change • Extra capabilities when custom-designed bridge or application • Protocols (current) • Using Microsoft Windows event stream • Using OLE for Microsoft Office
6 - Information Flow • Sending and Receiving Data • PC PDA connection currently using serial cables • Will support wireless RF (BlueTooth or HomeRF protocols) when available • PC PDA protocol is currently very simple: • Header byte, count of bytes, byte stream • Will be enhanced to support wireless communication • Inputs • Eventually, will be able to dynamically specify displays and controls for the PDA from an application • Protocol to be determined • Currently, all displays are hand-built using programming environment
6 - Information Flow, cont. • Outputs • Messages as Windows key and mouse events or custom messages • Other protocols to be determined
7 - Plug-n-play • Interacting with Other CPOF Components • Already integrated with CMU’s handwriting recognizer • Write using stylus on PDA, use the PC-based recognizer to interpret the strokes • Planned integration with Sage/Visage for drill-down details • Similarities to Other CPOF components • OGI has PDA-based system, but they do not seem to be exploring how to use the PDA at the same time as the PC • Complementing other CPOF Components • Some existing tools will work today with any PC-based application • Other specific integrations to be determined
8 - Operating Environments and COTS Component Name Required Hardware Operating System Required COTS Language PalmPilot side (user) Palm 2, 3 or 5 PalmOS C none PalmPilot side (developer) Palm 2, 3 or 5 and a PC PalmOS and Win32 Metrowerks forPalmPilot C Windows CE side (user) Win CE devicee.g., Casio E-10 Windows CE C++ none Windows CE side (developer) Win CE deviceand a PC Windows CEand Win32 Visual C++ for WindowsCE C++ PC Application Developer Visual C++ for Windows PC Win32 C++
9 - Hardware Platform Requirement • PalmPilot • Palm Personal or Professional or Palm III or Palm V • Serial cable (currently), RF eventually • Windows CE device • Currently only palm-sized CE devices (Casio E-10) • Eventually others • PC • Any, Windows 95, Windows NT, Windows 98 • Currently, multiple serial ports • We use Quatech QSP-100 PCMCIA card to get 4 ports on a laptop • Eventually, RF