Release My Rebirth Competition concept: Whitespace


As the Pandora has a good keyboard, why not implement the ability to type on the canvas as well as draw?
Already planned, but drawing remains the key feature.

http://www.yourworldoftext.com/


like that but for the pandora? that would be awesome
I'm doing exactly this, but with drawing.


Progress: I was able to draw some black lines on one tile on the client and watch how the server instantly draws the same tile in its own window. Communication stuff is really rough right now but it works.


Question: Is it better to leave a socket open once a connection is established (and let timeouts handle suddenly disconnected clients) or should I close a socket after every block of data?


Nevermind, I keep them open now.
 
Last edited by a moderator:
Progress:


I had approximately 50 Client windows open and running at once (maybe more, didn't count), all of them bomb 1 running server with 512px*512px-tiles and requests for them (back and forth), 20 times per second. I could draw a black line with the mouse on any window of those clients and nearly instantly, it showed up in the other clients. Incoming tiles are automatically merged, darker color wins. I think this is easier than a fancy synchronization method.


No memory leaks, no crashes (the mutexes and sockets seem to work now, was a hard fight) and my computer survived it.


THEN I saw that the server was still compiled as debug ;) .


Important features that still are missing: The whole client interface (paint tools, startup dialog, dialog to enter server-location...), moar tiles and not just one, user accounts...
 
Wouldn't an eraser just be drawing with white?
You are right. Makes things easier. How about that:


There are 4 configurable pens (ABXY-Buttons or icon on GUI). To switch between them, just push one of the buttons. Each of the pens is configurable in size, grayscale value and thats all. By default, one of the buttons could be a big white pen (eraser). I have not decided everything of the user interface yet. Still working out the details of synchronisation between clients and server. Tile merging, discarding, updating, sequence numbers...
 
Last edited by a moderator:
Wouldn't an eraser just be drawing with white?
You are right. Makes things easier. How about that:


There are 4 configurable pens (ABXY-Buttons or icon on GUI). To switch between them, just push one of the buttons. Each of the pens is configurable in size, grayscale value and thats all. By default, one of the buttons could be a big white pen (eraser). I have not decided everything of the user interface yet. Still working out the details of synchronisation between clients and server. Tile merging, discarding, updating, sequence numbers...
This sounds pretty awesome. Keep up the good work. :)


One difference between the pens and erasers could be anti-aliasing. If you add anti-aliasing to the pens, that makes sense, but maybe not for the eraser.
 
Wouldn't an eraser just be drawing with white?
You are right. Makes things easier. How about that:


There are 4 configurable pens (ABXY-Buttons or icon on GUI). To switch between them, just push one of the buttons. Each of the pens is configurable in size, grayscale value and thats all. By default, one of the buttons could be a big white pen (eraser). I have not decided everything of the user interface yet. Still working out the details of synchronisation between clients and server. Tile merging, discarding, updating, sequence numbers...
This sounds pretty awesome. Keep up the good work. :)


One difference between the pens and erasers could be anti-aliasing. If you add anti-aliasing to the pens, that makes sense, but maybe not for the eraser.
I already have in mind to implement some pen tips (smooth, hard, round, square) to add variety and to satisfy the artists here, but not for first release. Antialias, pen tips, brushes are not easy to implement when it should be really useful. Maybe too many functions destroy my idea of cleaniness.


There is still MyPaint for Pandora, it has wonderful brushes and many options for them. I hope the next firmware update fixes the overall slow touchscreen on the pandora. Atm, MyPaint works, but is not that usable because of slow touchscreen.
 
Progress: I am still working with only one tile that is shared/synchronized between multiple clients and the server. There is no infinite surface yet. Its possible to draw simultaneously on all clients on that one tile.


The synchronization of tiles now works like svn, maybe a bit different: There are no conflicts because images can be merged safely (e.g. by multiplying them). Server keeps track of sequence numbers of those tiles so everything is in the right order.


I tested the client on pandora (connected wirelessly with my desktop who runs the server). It worked _ok_ but drawing stutters. See below.


Some thread, mutex or socket issues are blocking my clients for half a second sometimes (half a second is the time they ask the server if he has a newer "version" of a tile). Means: When this block occurs, nothing can be drawn as long as its blocked. Not good. Drawing is not fluid. I have to keep the time that something is locked as small as possible.


As these network transfer-things are the heart of my project, I want to make sure that it is free of errors before I start developing the actual user interface for the client.
 
Thread blocking issue (slow drawing, stuttering) solved. Now: Extensive testing. Next: Fun part (the actual application).
 
Just think how badly this would work on a capacitive touchscreen!
 
Just think how badly this would work on a capacitive touchscreen!
You are completely right. Fingerpainting is for kids.


Edit: This is what I don't understand. Those fancy tablets here and there look like a writing pad / clipboard but its not possible to just WRITE on them (except they have a resistive or better, an inductive screen). Biggest design fail today. Handwriting on Ipad? lol... Yeah, with your HAND...


I used to have a real convertible TabletPC with a built in wacom. Was really really great.
 
Last edited by a moderator:
@ whynodd : shame you didn't make the deadline, are you still working on whitespace? Hope so, as it struck me as having the distinct possibility of being a great deal of fun & was a highly original concept as well.
 
Back
Top