views:

171

answers:

4

A teacher is writing on a blackboard and we want to pass all the information on the blackboard over a low-bandwidth network in real-time. How do we do it?

In one interview, I faced this question.

+1  A: 

The simplest way, that requires no fancy tech or software and can be done with virtually no effort, is just to have one of the students transcribe the contents of the blackboard verbatim to their laptop. The text editor could be something as simple as a networked terminal that posts the information to the remote computer as it is typed.

This is relevant:

http://thedailywtf.com/Articles/The_Complicator_0x27_s_Gloves.aspx

Ant
+1  A: 

I think it depends of the type of blackboard he's using. There are some new blackboards that allow you to save its contents and print then.

Personally I think that on way to do it, if you have that sort of blackboard, is to transmit a pair of x,y coordinates of the points drawn on the screen. The colour information may not be necessary if he/she is using only one color.

But I think @Mehrdad Afshari solution is the most general and affordable!

Andres
A: 

Use a digital camera?

To be serious, there could also be some fancy real time OCR engine running if information has to be extracted in a finer, more granular and textual way.

herzmeister der welten
+3  A: 

I have a feeling the question was worded such that no other computers could be used. If I had to guess, the interviewer wanted the interviewee to realize that sending a snapshot of the entire board 20 times a second would be too bandwidth intensive. Instead, maybe they could realize that a piece of chalk can only write on one section of a board at a time, and is relatively write only - you write a bunch of stuff before erasing. So with our low bandwidth, we might want to just send the current position of the chalk several times a second, and on our receiving end, we just keep drawing pixels wherever the chalk is. that way we are just sending 20 x,y pairs a second rather than 20 entire bitmaps.

Peter Recore