February 2009: Shout with pictures.
March 2009: Now with motivation.

Original Shout with pictures. Now with motivation. Editable
version 1 & 2 of 2

Ever want to say something BIG to everyone in the room? That is Projbot's purpose. It is a small web app hooked up to a projector. Think of it like a useful chat bot for real life.

What can it do? Three Four things, really. It can throw out really big pictures, really big text, and really big graphs, and really big motivational posters.



bft Loud noises!

Loud noises!

BFT BFT mode produces big friendly text. It is heavy heavily based on the offline BFT app I made for myself and cafe-going friends, for when things were too loud for conversation and wifi too flaky for using a chat room. Type anything in and you'll get big text by default.

Kyle (2009-02-22-00-00-00)

Saying bft each time is a pain. Big text should be default.



i crazy cat lady site:icanhascheezburger.com

Image mode takes either a URL or random text. URLs are downloaded and displayed. Random text is forwarded to Google Image Search, and the top hit is downloaded for display. All your favorite google tricks still work, like limiting the searches to specific domains. Specify Image mode with a lower case i.



img http://www.geos.ed.ac.uk/sages/image_gallery/general/earth-space.jpg

IMG mode takes a URL to a picture, downloads and rescales it.

Kyle (2009-02-22-01-00-00)

There is no reason img and gi can not be merged.



gi snowflake

GI mode is a more convenient version of IMG. In a nutshell, Google-Image-I'm-Feeling-Lucky. You can use all your favorite google tricks, like site:icanhascheezburger.com to guarantee lol-tastic pictures.


plot / problems vs money

Finally, PLOT mode. It lets Plot mode allows you to draw simple Indexed style charts. Since these graphs are meant to be thrown up on a wall, they use a very chunky style. Sadly, I could not make any of my usual plotting packages draw big chunky diagrams. Thus it uses a very crude hand rolled plotting system. Tricking Gnuplot into drawing a similar style would be preferable. You can draw more complicated shapes with plot, though it only understands forward/backward slashes (rising/falling), underscores (low), and dash (high)


mot trees | So green.

Motivational posters can be generated through mot. This has several modes of use. The simplest is shown in the example. Just mot followed by an i search term, followed by a subheading. The search term is also used for the heading. Alternatively, you can use mot search | heading | subheading or specify an image URL instead of search terms.

There three components to the system. First in the pipeline is the user interface. As it stands, this is a simple HTML page, where we can type commands which are sent as CGI calls to the second component, the server. The server parses user input and generates an image. Finally, the image is set to the client, a computer running a full-screen browser and connected to a projector. Security on the system is a bit lax. Any browser download the client and connect to the server. Any person can load the interface and send commands. We are running the whole thing behind a NAT, which is good enough.

As it stands now, all three components are done, for very crude values of done. The code is a mess, most of it was written in one day. More updates and features to come.

Start it up by launching server.py. You may need to customize parts of projbot.py, for example the resolution of your projector and the path to a font.