Team 22 Project-Virtual Whiteboard Concept & Motivation • Whiteboard is convenient, but you can’t carry it around. • Writing/Drawing in software is useful, but hard to draw with mouse • Why not combine them? • A portable projected whiteboard. – Collaborative projected virtual whiteboard – Link together through internet – Share work with others around the world – Projected, can set up using any flat surface Competitive Analysis Conventional Whiteboard Wii Web Virtualboard Whiteboard Collaborative V-Board Portability ✖ ✔ ✔ ✔ User Friendliness ✔ ✖ ✔ ✔ Collaboration ✔ ✔ ✔ ✔ Writing Quality ✔ ✖ ✖ ✔ Scalability ✔ ✖ ✔ ✔ Ease of Setup ✖ ✖ ✔ ✔ Requirements • • • • • Trackable light source – LED device trackable by a smartphone camera Fixed boundary light source – LED devices at the four corners to indicate projected board boundary Smartphone – Perform image processing from captured video – Render LED sources Central server board – Process rendered output from smartphone into a display – Connect to the internet and communicate with other Virtual Whiteboards Projector – Project information from server board Each server board creates a local virtual whiteboard. Server boards connect together through internet. Technical Specifications • Hardware: – – – – • LED pen (act like a marker) CLIENT END • Red/Purple LED light • 9V battery, 9V battery cap • Resistors Android phone (for image capturing and some image processing) CLIENT END BeagleBoard-xM (for combining clients’ information) SERVER END Projector/screen (display output) Software: – Android SDK 2.3 (Phones/Clients) – Ubuntu/C (BeagleBoard-xM) – USB Driver, libusb • Protocols: – – – USB Wi-Fi VGA/DVI video output (from BeagleBoard to projector) Architecture LED Pen (light source) Light Phone (capturing & processing images) LED Pen (light source) Light Phone (capturing & processing images) Client End 1 Client End 2 …... Projector Server End USB/Wi-Fi …... BeagleBoard (Construct output) VGA/DVI Risk & mitigation plan Risk mitigation plan Communication between phone and board does not work No mitigation plan, this is the key component of our project. Wi-Fi communication between multiple boards does not work Seek alternate communication protocols through smartphones Significant lag between user input and board output Redistribute workload between the smartphone and the board. Smartphone may not be able to pick up LED information correctly Write a better algorithm to track the LED LED is not bright enough to be picked up Use a laser as the light source. Concurrency problem between multiple boards Introduce more locking, trade speed for correctness