Release My Rebirth Competition concept: Whitespace


whynodd

Member
Joined
Sep 20, 2008
Messages
262
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:

whynodd

Member
Joined
Sep 20, 2008
Messages
262
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...
 

whynodd

Member
Joined
Sep 20, 2008
Messages
262
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:

gardrek

Still Fresh
Joined
Jul 18, 2011
Messages
12
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.
 

whynodd

Member
Joined
Sep 20, 2008
Messages
262
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.
 

whynodd

Member
Joined
Sep 20, 2008
Messages
262
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.
 

whynodd

Member
Joined
Sep 20, 2008
Messages
262
Thread blocking issue (slow drawing, stuttering) solved. Now: Extensive testing. Next: Fun part (the actual application).
 

whynodd

Member
Joined
Sep 20, 2008
Messages
262

Binky

Death's Steed
Staff member
Joined
May 28, 2003
Messages
6,997
Location
16A (TO)
Just think how badly this would work on a capacitive touchscreen!
 

whynodd

Member
Joined
Sep 20, 2008
Messages
262
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:

Mr_Loon

Can't Remember
Joined
Aug 30, 2010
Messages
2,330
@ 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.
 
Top