New Projects - Fresh from the Labs
Every now and then an incredibly simple idea can totally change the way you take something mundane for granted, and Whyteboard is such a project. To quote the Web site: “Whyteboard is a free painting application for Linux, Windows and Mac. It is suited toward creating visual presentations and for overlaying PDF images with annotations.” Also according to the Web site, Whyteboard's features include the following:
Draw on a canvas using common tools: pen, rectangle, circle and text.
Annotate over PDF files.
Drawn shapes can be resized, moved, rotated and re-colored.
Tabbed drawing: each tab represents a whiteboard “sheet”. Each sheet has unlimited undo/redo operations.
Drawing history can be replayed on a per-sheet basis.
Each sheet has a thumbnail of the canvas that updates as you draw.
Closed sheets can be re-opened, restoring their data.
Notes, similar to Post-It Notes—a tree in a side panel gives an overview of all notes.
Resize the canvas easily by dragging it around.
Embed an audio/video player onto the canvas.
Translated into many languages (French, German, Spanish, Italian, Galician, Russian, Dutch and more).
As far as binaries go, RPM and Debian packages are available straight from the Web site, as well as Windows binaries for those lesser mortals (all angry letters to the address below). The usual source tarball also is available, and that's what I'll be running with here, but don't worry, it doesn't even need compiling to run.
As for library requirements, the documentation says you need the following:
Python: 2.5, 2.6, 2.7 (untested on other major versions; should work on 2.4). Whyteboard does not work with Python 3 (www.python.org/download).
wxPython: the latest version is always recommended (currently 22.214.171.124). Use the Unicode build. wxPython 126.96.36.199 needed at minimum (www.wxpython.org/download.php).
Grab the latest tarball, extract it, and open a terminal in the new folder. Assuming you have the needed libraries installed, you can run the program simply by entering:
$ python whyteboard.py
Upon entering the program, you'll notice the GUI is strongly reminiscent of the classic Microsoft Paint, so I'm sure most of the computing public will feel instantly familiar with the interface.
Before starting, you need to import a PDF file. From the menu, choose File→Import File→PDF, choose a PDF, and you're away. A word of warning, however; a large PDF (several hundred pages for instance) takes a long time to load and uses a lot of processing power, so I recommend sticking to something that's only a few pages.
For fun, to get started, choose a color from the left and start scribbling and doodling over the page. Now that that's out of the way, let's look at some of the interesting options.
Straight from the World of Paint is the Erase tool, and on PDFs, it's a revelation. Going over a technical document and being able to add notes and clear away sections around crucial text is extremely logical and quite indispensable once you're used to it. You'll wonder how you ever did without it.
Although I'm not sure whether you can rescale a page at this point in time (you can rescale the content though, as you'll see later), the resize tool is interesting in that you actually can add more whitespace to the side or bottom of a page, or crop off sections. Do this either by clicking and dragging your mouse in the gray sections outside the page or by using the Resize Canvas tool under the Sheets menu.
Using the Shape and Resize button, not only can you rescale a page's content within the actual page, while the page stands still (pretty cool in itself), but you also can rescale the content as mentioned, as well as rotate it or even just relocate it.
The most unusual feature is embedding a multimedia player within parts of the page. For instance, I could be looking at a long and technical document, such as Jung's “Structure and Dynamics of the Psyche”, for example, and include something related like a John Betts' Jungian podcast next to key points, or even a video lecture.
The most entertaining feature is the History Viewer. This shows you not only the modifications you've made, but also actually smoothly re-animates each brush stroke you've made, as you were making it. This makes for an amusing movie of your thought processes, and it really helps show whatever you were doing to get to where you are now.
Whyteboard is a beautifully simple program that anyone will be able to pick up. It re-applies existing technologies in new and innovative ways, and once you've become used to it, you won't be able to do without it. Although it's a little buggy for now, as development continues, I can see this becoming one of those daily tools used by the masses.
John Knight is the New Projects columnist for Linux Journal.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
|Secure Server Deployments in Hostile Territory, Part II||Jul 29, 2015|
|Hacking a Safe with Bash||Jul 28, 2015|
|KDE Reveals Plasma Mobile||Jul 28, 2015|
|Huge Package Overhaul for Debian and Ubuntu||Jul 23, 2015|
|diff -u: What's New in Kernel Development||Jul 22, 2015|
|Shashlik - a Tasty New Android Simulator||Jul 21, 2015|
- Secure Server Deployments in Hostile Territory, Part II
- Hacking a Safe with Bash
- KDE Reveals Plasma Mobile
- Huge Package Overhaul for Debian and Ubuntu
- Home Automation with Raspberry Pi
- The Controversy Behind Canonical's Intellectual Property Policy
- Shashlik - a Tasty New Android Simulator
- Embed Linux in Monitoring and Control Systems
- diff -u: What's New in Kernel Development
- General Relativity in Python