Component Description Pebbles PDA Software Human Computer Interaction Institute Carnegie Mellon University Prepared by: Brad Myers, bam@cs.cmu.edu March 26, 1999 1 1 - Overview Pebbles provides an architecture and set of applications to integrate PDAs with each other and with PCs Examples: 2 Use PDAs and PCs simultaneously Use PDAs to control the PC 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. Brad’s PalmPilot Rob’s PalmPilot Ben’s Windows CE Various apps 3 On the PC SlideShow Cmd PebblesPC RemoteCmd Drill-Down Details Viewer Associated .dll files 3 - Component Description PDA programs Use standard PDA development tools • E.g., Metrowerks Codewarrior for PalmPilot, Visual C++ for Windows CE PebblesPC Acts as a controller to connect PDA program to appropriate PC-side program PC-side programs 4 Toolkit to support communication with PC Large collection of applications already available 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 5 - Existing Software “Bridges” Interoperation with Other Systems Functionality Can work with existing applications without change Extra capabilities when custom-designed bridge or application Protocols (current) 6 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 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 7 6 - Information Flow, cont. Outputs 8 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 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 9 Planned integration with Sage/Visage for drill-down details Some existing tools will work today with any PC-based application Other specific integrations to be determined 8 - Operating Environments and COTS Component Name 10 Required Hardware Operating System Language Required COTS 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 C Metrowerks for PalmPilot Windows CE side Win CE device (user) e.g., Casio E-10 Windows CE C++ none Windows CE side (developer) Win CE device and a PC Windows CE and Win32 C++ Visual C++ for WindowsCE PC Application Developer PC Win32 C++ Visual C++ for Windows 9 - Hardware Platform Requirement PalmPilot Windows CE device Palm Personal or Professional or Palm III or Palm V Serial cable (currently), RF eventually 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 11 Eventually, RF