Red Planet Software – this is an endorsement, not an advertisement. Go there for

software downloads or tech support.

Once upon a time, in the dark ages of 1994, a man called Mars started a software company. (Back then, people still thought software companies were a good idea.) Said company, consisting at that time solely of the man himself, was given an appropriately descriptive name: Red Planet Software.

Time passed and the man wrote software. Some things were written on contract and published by someone else; other things were written for fun and given away under the Red Planet label. These were generally small, gleeful hacks, explorations of crannies in the MacOS that would have been left untouched by wiser, more experienced developers.

Eventually the man became ambitious. A longtime fan of the BASIC language, he saw the success of Microsoft's "Visual Basic" and dreamed of writing a similar program for MacOS. The design burst forth in flurries of code, setting him on a path whose length would have likely daunted him had he known it when first he began.

Years passed; empires rose and fell. "Object Basic" grew into a substantial project involving two, three, a dozen engineers, writers, and testers. In spite of great striving and boundless ambition, the software gods did not smile on the venture; the VC would have nothing to do with it, and eventually neither would MasterCard.

red planet softwareThe time had come; Red Planet folded up shop and the Martian moved on. The source code, in fine old hacker style, was thrown up on an FTP site for anyone who cared to carry it on. After three years of life, all that was left was this web site.

Red Planet is, once again, an outlet for Mars' spare-time programming projects:

Starfish – desktop wallpaper generator
Thujone – tool for scaling & uploading digital camera photos
Code & plugins for REALbasic developers

What Starfish is?

Starfish generates unique wallpaper patterns for a lively, colourful, and eye-catchingly unique desktop. It can be configured to automatically create new images at set time intervals, or you can manually request a new desktop anytime. Starfish creates its images from scratch, mixing layered wave functions with colour gradients and alpha-channel blending. You don't need a library of existing images, and you'll never see the same pattern twice.

System requirements

The Mac version of Starfish is compatible with system versions 8.5 through 9.1, but does not currently work with MacOS X. The program runs, but when the time comes to set the desktop, nothing actually happens. It turns out that Apple broke the system call "SetTheme" which Starfish needs. I'm looking into an alternate method for OS X, but have not yet made it work.

Starfish 1.1 is also compatible with the X Window System. I have tested it on Linux for x86 machines, but have heard reports of success on other variants of Unix as well. Version 2.0 has not yet been ported to Unix due to my current lack of any Unix development machine.

red planet SW

Development status

Starfish 2 is underway. I'm currently working on the third alpha version. This round focuses on speed improvements. Images now finish in an eighth to a third of the time required by previous versions.

As a side-effect of the speed improvements, I've been reworking parts of the image generation algorithm. The "complexity" slider now has much greater control over the images produced. It also allows you to control the amount of time it takes to generate new desktops – simpler patterns come together more quickly.

red planet softwareStarfish is an open source project, released under the GNU GPL. Source code packages for both MacOS and Unix are available in the software archives.

Eckysoft have released a program called Starfish Pro based on the Starfish image generation engine. It's an image factory, offering more control over generated images and colour palettes, and is a useful tool if you want to create Starfish-style images for something other than your desktop pattern. (Eckysoft and Starfish Pro are not affiliated with Red Planet Software – this is an endorsement, not an advertisement. Go there for software downloads or tech support.)

What Thujone is all about?

RED PLANET SWThujone simplifies the process of moving digital photographs from camera to web site. Once you've chosen a picture, you can rotate it, select up to four different resolutions, supply names for each version, and upload the results to an FTP server. The process takes a matter of seconds.

Screen capture of Thujone's main window

Start by opening a picture. Use the "Choose Picture" button or menu item. The picture should show up in the preview box. If the picture comes out sideways or upside down, the rotation buttons will let you turn it right side up.

Next, decide whether you want to upload a thumbnail, an icon, a scaled-down Web-display-sized version, the full sized image, or some combination of these. Click the appropriate checkboxes under the "Versions" group.

red planet swThujone makes up a different name for each version, based on the name of the picture you selected. These are the names it will use when it uploads the pictures to the server. If you want different names, you can type them in the appropriate edit fields. If you don't care what the name is, but you want something that probably won't conflict with the name of any other picture on the server, click "Timestamp Name". This makes up a name based on the picture's modification date.

Finally, enter the name of the FTP server, your account name and password, and the location of the directory where you want the pictures to be uploaded. Click "Upload" and Thujone will copy each of the picture versions you selected to the server.



Thujone comes set to use the thumbnail and display sizes I find most convenient. If these aren't the sizes you want to use on your web site, Thujone has a Preferences dialog which lets you change them.

Screen capture of Thujone's preferences window

red planet swAs the text in the dialog box explains, the pixel sizes control the picture's larger dimension. If the picture is in landscape mode (wider than it is tall), the picture will be scaled so that its width equals the size you specify. If the picture is in portrait mode (taller than it is wide), the given size will control the picture's height. The smaller dimension will be scaled to match, so the picture always retains its original proportions.

You can also change the suffix used to distinguish the different versions. I like to use the original file name for the display version, then add "-thumb" to the thumbnail, "-full" to the original, un-scaled version, and so on. If you use a different convention, you can change the suffixes here.