GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

14
GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen

Transcript of GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

Page 1: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

GroupStorm SketchClient

Building a “Push” style extension to PostBrainstorm

Hans Andersen

Page 2: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

PostBrainstorm has a bottleneck:

• Only one person can manipulate PostBrainstorm’s data at a time

• Other people can add ideas verbally, but they cannot add new content

• Users must take turns at the mural

Page 3: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

Push vs. Pull

• PostBrainstorm uses a “pull” system to add external content - a user operating the board requests that content be added

• In a “push” system, devices external to the existing system deliver content to the board

• “Content” can be text, pictures, a URL… Anything that would be useful to display

Page 4: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

Advantages of Push

• Multiple people, with multiple devices, can add content concurrently

• PostBrainstorm doesn’t need to know about the devices sending it data, so long as they conform to a standard interface

• New devices can be added or removed seamlessly

Page 5: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

Example: the SketchClient

• Idea: group of people, each with their own pad of sticky notes, scribbling furiously

• Intuitive interface: tablet, pen, paper, and two buttons. “Disappearing computer”

• Actions: sketch, send, and clear

• Sketches appear nearly instantly on PostBrainstorm for later manipulation

Page 6: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

Design Constraints

• Must work without modifying PostBrainstorm

• Must interact with Wacom tablet -> no Java

• Must be fast enough to be usable for brainstorming

Page 7: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

the PostPicture event

• PostBrainstorm already has an interface for pushing pictures to the board

• Two step process: First, copy the picture over to iw-file; then, send a PostPicture event (id 6340) to the Eheap

• PostPicture has one custom field, “name”, which contains the picture’s file path

• The picture appears on the board

Page 8: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

The Generic Process

• Generate an image in your application

• Run “convert” to make a jpeg

• Make it accessible to PostBrainstorm

• Run “postpicture” Java app

Page 9: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

Problem: sending the image

• PostPicture event requires a Windows file name (\\iw-file\data\temp\mypic.jpg)

• Getting the picture to the right place can be tricky on a non-Windows machine

• Possibilities: WebDAV? scp?

Page 10: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

Problem: The process is slow

• Upon sending the event, it can take a minute or more for the picture to appear

• Diagnosis? EHeap is slow (Tspaces?)

• Solution: EHeap2 is fast. Presumably, once PostBrainstorm is modified to use EHeap 2, it will be fast.

Page 11: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

SketchClient in action

Page 12: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

A note about performance...

• Transmit process takes 4-5 seconds in this demo

• However, the process of (EHeap2 registers event, MiniMural fetches event, downloads picture, scales picture, displays picture) takes <1 second!

• With a faster SketchClient, the transmit process could be as fast as 1-2 seconds

Page 13: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

Future Possibilities

• Couple PostPicture with the Data Heap, so that just about any bitmap image can be sent & translated in a cross-platform manner

• More than just graphics - PostText, PostURL, PostSVG, etc.

• Other devices - a keyboard-based TextClient, or a scanner with 1-touch scan-and-post capabilities

Page 14: GroupStorm SketchClient Building a “Push” style extension to PostBrainstorm Hans Andersen.

More future possibilities

• Extend PostXYZ to allow finer control over posting (Control initial placement, scaling)

• Enable multiple PostBrainstorm systems to copy and share information