Great OSX Apps '04

At work, I manage an unwieldy number of Windows machines, a growing number of Linux machines, and an aging number of Sun machines. I also look after a handful of Macs running a mix of OS9 and Jaguar. At home I have a Windows machine and two Linux machines.

My main system these days is an iBook 700 that I bought in February. I bought it with the full intention of primarily running Debian on it. While I do use both Linux and Mac OS9 occasionally, I keep finding myself coming back to Mac OSX. It's not perfect, far from it in fact, but it is surprisingly good.

As I understand it, my iBook was the last model to ship with both Mac OS 9 and OSX. It shipped with 9.2.2 and 10.2 respectively. At the time of writing, Mac OS 10.3 (Panther) is less than a week away.

While reading through a complimentary Mac magazine, it struck me that most Macintosh publications focus on commercial applications, while very rarely shedding any light on the bevy of top-notch free and Open Source applications for the Mac.

Unless otherwise marked, all software is Open Source. (Usually GPL or BSD.) Titles marked with a single star (*) are free, but not open. Software marked with two stars (**) are not free, but have a free trial version.

Development

Eclipse

This is a full-featured Open Source Java IDE that was originally donated by IBM. The IDE runs on Linux, Solaris, QNX, Windows and Mac OSX. It offers excellent code refactoring, completion, syntax highlighting, powerful debugging tools and excellent CVS integration. It is also the cornerstone of IBM's WebSphere product, so there are many third-party open and closed source extensions that offer UML integration, support for other programming languages and more.

I used Eclipse under Windows and Linux to do my honours project, Cyberscape. I am now using it on OSX for the Mac port. A word of caution: This is a major application and does take a while to start up.

BlueJ

This is a neat Open Source Java IDE that was written by professors as a teaching tool. It seems to be visually driven. I haven't spent a lot of time with it, but it is an interesting project.

SubEthaEdit *

SubEthaEdit (formerly Hydra) is a top-notch file editor written by some CS students in Germany. While it is a good text editor on its own merits, it really shines when it is used in conjunction with Apple's Rendezvous and is used to edit a single file simultaneously with multiple users. This makes it a natural for Extreme Programming.

Taco HTML *

Another nice HTML source editor that offers live previews via WebCore (Safari's rendering engine.)

Internet

Mozilla

Mozilla is the Open Source version of Netscape. No, don't let that scare you off, Mozilla is actually absolutely fabulous. See, what happened was in 1998 Netscape decided that the best way to compete with Microsoft was to go Open Source. Their problem was that by the time it was finished, the first Browser War had been lost for several years, with Netscape being sold off to AOL/TimeWarner in the process. But don't let this fool you, Mozilla is no slouch. While MS has been rightfully resting on its laurels, Mozilla has assembled a world-class product. The Mozilla rendering engine is largely considered to be the best, most standards-compliant and progressive HTML engine in the world, their Mail client supports multiple POP3 and IMAP accounts, and the WYSIWYG HTML editor, Composer, produces the cleanest HTML that I've seen from such a tool. On top of this, true to Open Source nature, additions such as an IRC client, DOM inspector and JS debugger are now included. This is basically Netscape 7.1 without all of the AOL garbage. It's a top-notch web suite that is available on Windows, Mac, Linux, Solaris and just about every other platform out there. It's almost as widely ported as gcc, certainly more so than Java.

Camino

Camino is just the web. It uses Mozilla's rendering engine, so it renders things better than any other MacOS browser out there. Until Apple's own KHTML-based Safari burst on the scene, Camino was gaining a large user-base. It offers a much better web experience than IE, but is lighter than Mozilla. Also, Mozilla, being very cross-platform, tends to behave differently than other Mac apps. Like Safari, Camino fells like an Apple app. It's rather unfortunate for Camino that Safari exists. Since Safari's release, Camino development has slowed down significantly. However, may the best (open) browser win.

Fugu

One of the things I missed from Linux (okay, KDE) was it's ability to transfer files drag'n'drop-style over FTP, SMB, NFS, SSH (SFTP) and other protocols. While OSX understands SMB, NFS and FTP, SSH/SFTP was really what I needed. RBrowser exists, but not only is it a little pricey, their licensing is very strange, either tying the license to a specific IP address or machine. Fugu offers SFTP/SSH copying and Open Source as well as free.

VNCThing

VNC is a protocol that lets you use computers remotely over a network connection. Servers exist for Windows, Linux, Unix and Mac. Client software is available for the above as well as BeOS, Java and more. While it's not the most secure protocol in the world, it can be tunneled over SSH. It's availability on so many platforms makes it a very hand tool. You can use this to both share your Mac desktop on other machines, as well as for connecting to remote Linux and Windows machines.

LimeWire

Acquisition **

These are both peer-to-peer file sharing programs. Limewire is written in Java and is available on Windows and Linux as well, Acquisition is a native Cocoa app, so behaves the way it should. LimeWire is Open Source, while Acquisition is free to use and $15 to register.

Office

NeoOffice/J

Office suites on Mac OSX are a real sore point. It seems that many Mac folk use OSX as a way to avoid Microsoft as much as humanly possible. They do get to ditch Windows, but are more often than not once again stuck with Microsoft Office as their best office suite choice. Now, to be fair to Microsoft, Office X.v (the Mac version shipping at the time of writing) is actually quite good. However, it's still from Microsoft, it still keeps people locked into MS file formats, and despite many reports to the contrary, it's import filters are not 100% the same as the Windows version of the software.

Enter OpenOffice.org. (OOo) It is the GPL'd version of Sun's StarOffice product. It directly competes with Microsoft Office. For the first time in years, MS Office's stranglehold on the productivity market is being challenged. This time, the competition might actually have a chance. OpenOffice is free, open source, and available for Windows, Linux, Solaris, OS/2, and to a lesser degree, the Mac. For over a year now, a version has been available for the Mac. Based on 1.0, the Mac version requires X11 to be installed, and doesn't work or look like a real Mac app. It doesn't integrate with the finder, it's very slow, it doesn't use OSX's fonts. In short, it's a rather rushed port. And it is! Amazingly, there are barely any developers actively working on the Mac port. So, while many Mac users would rather avoid using Microsoft Office, most Mac developers don't seem to care. This lack of interest has lead to the creation of NeoOffice.

The people at NeoOffice.org are working on two parallel OOo ports. The first, NeoOffice, attempts to port OOo to Aqua. It seems to have stagnated, but the very promising NeoOffice/J is rapidly approaching 1.0!

NeoOffice/J replaces the dependency on X with a dependency on Java, which is treated as a native toolkit in OSX. NeoOffice/J may not look like an Aqua app yet, but it does integrate nicely with the Apple's excellent anti-aliased fonts and can use OSX's copy and paste. It takes a good 30 seconds to launch on my G3 iBook 700/640MB RAM but once it's up and running it is quite fast. I recently removed the OOo X11 port from my machine, as NeoOffice/J works more consistently for me.

NeoOffice/J is based on OOo 1.0 but it's still much better than nothing, not to mention much better than the X11 port. It's very easily installed with a DMG file and the standard Apple installer, once installed it behaves like any other OSX app, setting up the MIME types properly, etc. This means that you can use it to open OpenOffice or MS Office files from the Finder, the Mail.app and other OSX applications.

NeoOffice/J also hooks into Apple's native printing system, bypassing altogether OpenOffice's confusing printer setup. By using Apple's printing system, you can easily make PDF files of your documents.

I've installed 0.82 in the Mac lab here at work, as we didn't purchase MSO with the machines and students were trying to open PPT lectures. Anyway, I'd take NeoOffice/J over AppleWorks any day of the week. I even prefer it to MS Office on OSX. (Sorry, it may look Aqua-ish, but it's an odd duck too.)

Phader X *

PhaderX is a very cool text editor that was developed as a Cocoa playground. I'm actually using it right now to type this up. It saves files as RTF, and offers in-line spell checking and font tools. I use it as a very lightweight word processor. It's free, but hasn't been updated in over a year. It seems as though development has ceased, which is too bad. It's a really nice little editor.

RagTime Solo *

RagTime Solo is a publishing tool that can be used as a word processor. The commercial version is pricey, but they let individuals use it for free. It seems like a very complex, feature-rich app. I haven't used it much yet.

OmniGraffle *

A capable vector-drawing tool. The free version limits the number of objects you can use, but it is still very useful. It's sort of like Visio, Kivio or Dia.

Utilities

DesktopManager (Open Source pager.)

A pager for the Mac! Finally! Okay, so there were others, but this one is MUCH better. A pager lets you flip between multiple virtual desktops. This is a feature that is built into just about every graphical Unix/Linux environment out there. It's so useful that I miss it whenever working on a Windows or Mac machine. (Utilities exist on Windows too.)

DesktopManager just sits in the top menu bar of OSX. You can easily flip between desktops using the mouse or keyboard shortcuts. As soon as an option for putting an app on all desktops exists it will be perfect, in the mean time, it's still the best option out there.

iTerm

iTerm is a great Console replacement. I'm glad that OSX actually provides a terminal app, but it falls far short of what I am used to in Linux. iTerm has all the niceties that I have come to expect. Chief among these are tabs. If you need more than a couple of terminal windows open then tabs are the way to go. iTerm is an Open Source project.

Fink

Fink is a massive Open Source project. From their website, "he Fink project wants to bring the full world of Unix Open Source software to Darwin and Mac OS X. We modify Unix software so that it compiles and runs on Mac OS X ("port" it) and make it available for download as a coherent distribution. Fink uses Debian tools like dpkg and apt-get to provide powerful binary package management. You can choose whether you want to download precompiled binary packages or build everything from source."

So far, Fink has brought many key applications to the OSX fold. These include, but are certainly not limitted to, Gnome, KDE, Gimp, Gnumeric and countless others.

RPMinator

RPMinator, as it's name suggests, lets you easily view RPM files in OSX. As I mentioned, I use/dual-boot Linux. RPMs are a fact of life for me, it's very handy to be able to pull out files I need from Linux packages. It's free, it's Open Source, it's very useful.

CarbonCopyCloner *

This program is an excellent and free utility for backing up and cloning Mac OSX hard drives. It's trivially easy to use, even better than Norton Ghost. It lets you backup live systems. I use this program to back up my hard drive and also used it with the Mac's Firewire target mode to clone systems. It's a fabulous piece of software.

Media

Audacity

Audacity is a surprisingly capable multi-track eridor/recorder. It started life as a Linux app and uses wxWindows as the toolkit. Because of this, the port to both Windows and MacOSX was trivial. It looks and feels like a perfectly native app. I use it all the time on both Windows and Mac. Sadly, I can never seem to get it working properly in Linux. Go figure. Anyway, if you need a nice little audio recorder/editor with simple effects, Audacity is the ticket! Think of it as SoundForge Lite. The price is right! (It also supports VST plugins, but I've never needed anything beyond what it comes with.) It can import and export Aiff, Wav and MP3 files. Probably many other file types too, but that's all I've ever needed.

Gimp.app

A clever person has taken both Gimp 1.2 and Gimp 2.0 and has turned them into self-contained packages with a nice wrapper. This port uses X11, which is too bad, I guess, but The Gimp looks and behaves as natively as it can. Anyway, it's an awesome bitmap editor. Personally, I prefer it to Photoshop. It may not be a serious contender for some folks, but it's more powerful than I've ever needed. There's more info at gimp.org

YuBurner

If you've ever needed something a bit more sophisticated than Apple's built-in burning but don't want to shell out the dough for Toast, YuBurner may be for you. it's simple, it's small, it works.

VLC

MPlayerOSX 2

VLC and MPlayer are media players originally written for Linux. Both have been ported (natively) to OSX. Think of them as advanced QuickTime players able to handle almost any codec you throw at them. Both are slightly better at handling various video/audio files. I use them both quite a bit. If I had to pick one it would probably be VLC, but both are great, Open Source and Free.

Games

GLTron

GLTron is an OpenGL-accelerated version of the Light Cycle game from Tron. Very fun.

Frozen Bubble

A fun tetris-like puzzle game with great graphics.

Mac Solitaire *

It's not Open Source, but it is free! Solitaire for the Mac.

EV Nova **

EV Nova is one of the most addictive games that I have played in a long time. It's not Free or Open, but the demo is quite long. It's a very open-ended space trading game. I liked it enough to register. That's saying a lot for me, I usually cap out at $15CDN for a game.