WallBot: The Post-Modern Prometheus

Wallbotted FrankensteinTalented people. God I hate them. How dare they sit around making our meagre accomplishments look meagre? Well, they dare. They dare.

Case in point: Graffiti Wall for Facebook. It provides you with a skeleton tool set - a colour picker, a brush size selector, an opacity selector, and 152592 pixels on which to use them...Not much you can do with that, right?

Well, let me tell you, people... are... freaks. Yeah thanks guys. Way to take the fun out of it.

So what can one do if one is filled with artistic desire, yet has the drawing skills of Ken Done? Is the answer to take a drawing class at the local TAFE, read up on techniques, watch instructional YouTube videos, and practice 1 hour everyday?

Pfft! This is the freakin' internet - we don't have time or the inclination to become good at something - we want impressive and superficial results, and we want them now!

Enter WallBot

The Oxford English dictionary defines progress as "getting machines that allow us to be lazier and lazier, until we have nothing else to do but use Facebook". And WallBot is here to support that vision.

WallBot takes the hassle and fun out of drawing - It will do your drawing for you! Feed WallBot an image, and it will painstakingly draw the image on to your Graffiti Wall application, one pixel at a time! How it does this is a mystery, but basically follows these steps:

  1. Reads a pixel from the image.
  2. Clicks on the Graffiti Wall colour picker.
  3. Presses the "delete" and "backspace" key a bunch of times, to remove the old selected colour from the text box.
  4. Types the new colour in to the text box.
  5. Moves the cursor to the drawing area.
  6. Clicks and draws a dot.
  7. Goes back to step one, and repeats until finished.


Commanding WallBot

Of course, WallBot needs instructions from a human to work, and like all robots there is potential for WallBot to go a bit crazy - so it's important you follow these steps (in any order) before you press "start":

Step 1 - Select Graf Window1. Select the Graffiti Wall window. This is the trickiest, and most important step - you see, WallBot does not know where it is drawing. If you point WallBot to draw on something that is not the Graffiti Wall application it will click, type, and delete - in a crazy-robot manner. I accidently pointed WallBot at my email client and it proceeded to send hundreds of my inbox items to the trash.

To properly select the window you must first click the "Select Graffiti Window" button. This will disable the WallBot application until your next mouse click. Wherever you click next will be the destination for WallBot - so click wisely.

The correct place to click is somewhere in the Graffiti Wall application - such as in the drawing area (if you don't mind an extra dot) or in a blank space next to the colour picker. Anywhere 'round there.

Step 2 - Select your image2. Select your image. Arguably the easiest step. But remember - selecting a file is easy... choosing a suitable file is not so. Due to Flash issues, WallBot can only click, type and draw slightly faster than you could! If you pick an image that will fill the whole screen, you're going to be waiting a long, long time. I suggest starting with a tiny image - such as a 32x32 pixel icon or something - that's already 1024 pixels it's gotta draw.

Step 3 - choose some options3. Choose your options. Optional. Here you can set a few different things. First up, the "transparent colour". If you have an image that has a flat background colour (which I suggest you do), select it as the transparent colour. WallBot will skip any pixels of this colour, and save you heaps of time.

Next up, the "render type" - test out linear and random. You'll figure them out. The third option, however, blot rendering, is the coolest - but is only useful for images with a lot of "flat" colours. Try it on the mario.bmp image in the zip file.

The pixel spacing option determines how far apart each dot is - change this depending on the brush size you have selected.

Finally, click delay. As mentioned before, Flash isn't the fastest of things. If you have WallBot run too fast, then you will see mistakes: pixels disappear, and incorrect colours are selected.

Step 4 - offset the image4. Select Offset. Use the sliders to change the horizontal and vertical starting position of the image. The lil' image will change size depending on the pixel spacing you have chosen.

It's just an approximation, mind you.

5. Go!
Press start and stand back! WallBot will spring in to action - taking control of your mouse like a virus with a mission. This phase can take a while, depending on the size of the image. Go have a coffee or something.

If you need to interrupt WallBot, try right-clicking a few times - moving off the Graffiti Wall application will stop WallBot, and right-clicking is the easiest way to do it without wrecking your picture. You can always restart it by typing any pixel number into the "progress" text box and hitting start.

Tips 'n Tricks

Don't forget to set your brush size and opacity before you start WallBot. Experiment to get the best results.

For any decent results with photos, you're going to need to do some pre-processing work in photoshop, or paint or something - erase the backgrounds to a flat colour so you can set it as "transparent", and shrink the image down to very small. You'll be surprised how cool even lil' images look once plotted.

The "blot" rendering function is the coolest, but for it to work properly you gotta decrease the number of colours in an image. It looks for groups of 4 or 9 pixel squares of the same colour and draws them with a bit of a "stroke".


You want to run it?! Hey? Bad news. You probably can't. It requires the microsoft .Net Framework version 2 which is a 22Mb download. Perhaps you've already got it though... the best way to tell is to download and run WallBot. If it runs, then you do!

Also, as it uses low-level mouse hooks and the .net interop stuff, I doubt you'll get this running on Linux with Mono.

...So get drawing

Now that WallBot has leveled the playing field, you can go forth and dot-matrix-draw with your friends. If you've got some good ideas for features, then download the (reasonably commented) source code and add them.

And if you've done any cool graffito with it, then post it!