Component Description Pebbles PDA Software

advertisement
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
Download