gbCloud

gbCloud is a freeware utility for creating tag clouds, also known as word clouds. A tag cloud is usually generated from a document by extracting the individual words within the document and displaying them in a way to emphasize the most frequently used terms in the document. A typical tag cloud uses word size and color to indicate the frequency of a word in it's source document.

gbCloud generates tag clouds and provides various placement options (such as random, linear, or shape-constrained placement), to create a visually attractive display - while allowing the user to modify size, fonts, colors and other aspects of the tag cloud design. Hyperlinks are supported.

Download (v1.0, 709K)

gbCloud uses a single main screen, toolbar, dropdown menus and context menus to allow the user to define/modify the tag cloud output. Here are a few examples of the types of tag clouds which may be generated.

Key Features

gbCloud provides a variety of features that allow manipulation of the tag cloud design.


Using gbCloud

Using gbCloud couldn't be simpler.
  1. Add text to the words textbox (from clipboard or text file)
  2. Press the "Create Cloud" button

That's it. All other features of gbCloud allow you to modify/tweak the way the tag cloud looks - word positioning, word removal, fonts (font/size/style), colors, placement masks, background images, and word placement patterns.


Words

gbCloud defines a word as a string consisting of characters from an allowed character list. A default allowed character list is provided, but may be changed by the user. Several settings may be used to restrict which words are shown. Words are always displayed as lowercase.

A file (exclude.txt) is used to contain words which may optionally be ignored (not displayed). The file might contain common words, such as "the", "and", or "for". Or the exclusion list might include profanity or other words the user chooses to prevent from being displayed.

Three other criteria may be used for restricting the display of words:

Word Margin
The gap between words (horizontally and vertically) may be specified. By default, the horizontal border is 5 pixels and the vertical border is 0 pixels.

Rotation
By default, words are oriented horizontally in a cloud. However,the Allow Rotation option directs gbCloud to randomly rotate words (+/-90 degrees). When rotation is allowed, approximately 1/3 of all words will be rotated. Rotated words are rotated approximately evenly between +90 and -90 degrees.

Word TextBox
gbCloud uses the words found in the words textbox, located at the top of the application window. The words textbox can be filled by typing in the words, by pasting in content, loading the content of an existing text file, loading default text built into gbCloud, restoring previously saved content of the words textbox or by dragging/dropping a file or shortcut onto gbCloud.

See the section below on the context menu for the words textbox for more information.

Word Navigation
When the mouse is moved over a word, the word will be underlined. It will stay underlined until the mouse is moved over another word, until the Patterns toolbar button is pressed, or until another action is taken to change the word content/positioning.

Also, when the mouse is moved over a word, the word and it's frequency is displayed in the the statusbar.

Context Menu
Right-click on a word to get the following context menu.

The context menu options affect only the selected word

In addition to moving a word with the arrow keys, you can left-mouse drag a word to a new position.

You can also use the Ctrl-Arrow keys to move word positions just one pixel at a time. This works only on the currently underlined word. If no word is currently underlined, just run the mouse over the desired word to underline it.

When using the Add Similar Word command, the new word takes on the color/freq/fontsize of the selected word. Use the Ctrl-Arrow keys to move the new word to the desired location.

Hyperlinks
As noted above, you can right-mouse click on a word to get a context menu that provide four hyperlink menu options - set/open/clear/clear all.

A hyperlink can also be opened by double-clicking on a word.

If the hyperlink target is empty, the gbCloud will use the word itself as the hyperlink text.

CAUTION: If you make a change to the word list, then use a gbCloud command that recreates the cloud using the new list, all hyperlinks will be lost (randomly reassigned).


Locking a Design

gbCloud offers a number of options which automatically set information about a word in the cloud - which words to show, word position and other properties (size/color/rotation). Some of the gbCloud commands also allow manually setting some of those properties.

But if the user issues one of the commands which automatically set word information, the manual changes may be lost. As protection against accidentally making such changes, the toolbar Lock button is provided. It prevents all automatic commands from affecting the cloud display.

It does not prevent the user from issuing such commands. Rather, it simply locks the word properties. When Lock is on, if a user issues commands or changes settings which would otherwise automatically change word properties, the effects of those commands/changes will not be seen until the user turns Lock off and updates the cloud by issuing any of the commands which automatically update the cloud design.

When Lock is on, and if a user issues one of the automatic commands, gbCloud will beep twice (and not update the screen).

Lock does not apply to any manual changes made to a word's properties, such as by using the commands in the word context menu.


Colors

Word colors are assigned according to one of four color themes:

With the Gradient color theme, the user selects two colors. Words are then assigned colors between the two selections according to the frequency of the word.

With the Random color theme, words are simply assigned a random color from all possible colors.

The Full Spectrum color theme works exactly like the Gradient color theme, except that the two colors are set to Violet and Red, corresponding to the two colors seen at the edges of a rainbow.

The Custom List color theme assigns colors to words from a list of ten colors. Default colors are assigned, but may be overridden by the user using this simple color list selection dialog.


The user just clicks on one of the colors to open a color selection dialog. The colors are 1-5 in the first row, and 6-10 in the second row. Words with the highest frequency get color 1. Words with the lowest frequency get color 10.


Images

The background of a cloud may be chosen as a specific color, or an image may be chosen for the background. When a background image is shown, it may also be shown as grayscale. These images show the options:

Images may be *.bmp, *.jpg, *.gif, and *.png.

A background image does not have to match the size of the gbCloud cloud area. The image will be sized to fit the cloud area. However, to minimize distortion of the image, the cloud area and background image should have the same aspect ratio.


Fonts

All words in the cloud use the same font type, but words with higher frequency are assigned larger font sizes - from a range of font sizes selected by the user. By default, the font size range is 8pt to 48pt.

Font size and word color are both assigned according to a word's frequency.

The user selects a font from this custom Font Selection dialog. Bold/italic styles are set via the toolbar.



Word Patterns

There are three ways in which words may be positioned in the cloud area:

These images demonstrate the three options - random, mask-constrained, linear:

When using horizontal (linear) placement, several options are available. By default, words are randomly selected, then placed left-to-right, wrapping to a new line as words reach the width of the cloud area.

For horizontal placement, word order may be chosen from three options:

These images demonstrate the three options - random, longest, frequency:

By default, words in a line are aligned along a common center. The user can also select to have words aligned with a common baseline.


Masks

One of the more interesting features of gbCloud is that you can constrain the placement of words into specific areas of a cloud, such as in these examples:

In particular, an "exclusion" color can be defined for each cloud design and gbCloud will not place words within areas of that color. In the two examples above, the exclusion color is white so words are placed in non-white areas.

The area of exclusion is not a color on the displayed background image, but instead is a color on a mask which is selected for the cloud design. The exclusion colors is applied to the cloud design mask, not to the selected background image. gbCloud does allow the mask to be displayed as the background image, but it is not a requirement, as this next example shows. Here, both images are constrained to the tree mask, but one uses the mask for a background images while the other does not.

The gbCloud distribution includes a small set of symbol masks, a few of which are shown here:

Note that masks do not have to be black on white. The only constraint on colors is that words in the cloud will not be drawn over the color that is set as the "Mask Exclusion" color. Also, the exclusion area consist of several different, non-contiguous, areas of the mask.

The size of the map does not have to match the size of the gbCloud cloud area. Whatever mask image size you provide will be mapped to fit the cloud area. However, to minimize distortion of the mask effect, the cloud area and mask image should have the same aspect ratio.

Mask images must be *.bmp files and must be kept in a subfolder "masks" found in the folder where the gbCloud EXE is placed. Available masks can be viewed in the menu under the Patterns toolbar button. Compression-based image files such are *.jpg are not suitable for masks because they may contain interpolated colors within areas that (to the eye) appear to be a solid color.


Toolbar

Almost all of the commands and settings available in gbCloud are accessed through the toolbar and the dropdown menu associated with several of the toolbar buttons.

New
Clears the current tag cloud design. First requests user permission. Does not monitor changes.

Open
Opens a dialog from which to select a gbCloud design file (*.gbc) to open. It is the user's responsibility to save the current design if desired.

Save
Saves the current design without prompting for user approval.

The following dropdown menu is available:

Create Cloud
Press this button to generate a new tag cloud using current settings. For random and mask placement modes, words will be assigned a new position. For horizontal modes, words are always placed in the same order.

Patterns
Press this button redraw the current cloud design. Normally, the cloud design automatically refreshes, so this button should not be necessary.

The following dropdown menu is available:

In this mode, gbCloud will only display words which will fit in the visible area of the cloud.

Words
Press this button to add word frequency to the display. Frequency is displayed as a subscripted numerical value at the end of each word.

The following dropdown menu is available:

Font
Press this button to select the font to be used in the tag cloud.

The following dropdown menu is available:

Image
Press this button to toggle the display of the background image.

The following dropdown menu is available:

Colors
Press this button to set the background/foreground colors to their default values.

The following dropdown menu is available:

Settings
Press this button to toggle display of the words textbox.

The following dropdown menu is available:

Help
Opens the user's default browser at the gbCloud online Help page.

The following dropdown menu is available:


Context Menu

A context menu, available by right clicking the words textbox, provides options for loading/manipulating content of the source text.


Keyboard ShortCuts

The following key combinations are available to the user to access gbCloud features:


Word Placement Algorithm

When random or mask-constrained word placement is used, gbCloud uses a brute force technique to place words. It randomly generates coordinates for a word until a position if found that does not overlaps an already-placed word boundary. In the case of mask-constrained placement, the word boundary is also checked to confirm that it does not fall within the exclusion area as defined by the mask.

This random-place-and-check-for-valid-position is repeated up to 100,000 times per word. Any word which cannot be fit within that number of trials is left out of the cloud and reported to the user as a "no-placement" word.

Additionally, a limit on the time it takes to place all words is observed. A default time limit of 7 seconds to place all words is applied.


Other Comments

This sections contains miscellaneous additional information about using gbCloud.

Beep
There are several occasions when gbCloud will issue a beep:

INI File
When gbCloud is closed, the state of the current session is saved and will be restored when gbCloud is restarted. Information about the current design is saved to a temporary file, session.gbc. gbCloud application settings are saved in an INI file.

Comments and suggestions are welcome!