Archive for the 'Mac' Category

Building Apple Help with OmniOutliner

William Van Hecke, Omni Group’s User Experience Lead has released Helpify, a Python script that turns specially-formatted OmniOutliner files into Apple Help books.

Helpify iconHelpify provides a very simple means of generating HTML that is properly formatted for use as Apple Help, including navigation links, abstracts and the HTML comments used as segment commands by Apple Help. Though it’s not a full-blown help authoring tool, Helpify is used to create the help books for all current Omni Group products.

If your project is not too complex and you have a copy of OmniOutliner lying around, you might want to give Helpify a try. Big thanks to William and Omni for releasing this very useful tool!

VMware Fusion 2.0 and CVSNT

VMware recently released Fusion 2.0, its Mac virtualization product with an extremely annoying incompatibility–it won’t work properly with Windows guest systems running CVSNT, the CVS client installed with TortoiseCVS.

As the release notes say:

CVSNT and VMware Tools are incompatible.
There is a known incompatibility between CVSNT (…) and VMware Tools. You should uninstall CVSNT if you want to install VMware Tools to use Unity view, and to use cut-copy-paste or drag-and-drop between your virtual machine and your Mac.

While you can work around the clipboard issue by exchanging text between host and guest via a public pasteboard file stored in a shared folder, it’s aggravating that this sort of kludge should be necessary and especially astounding considering that “Unity Improvements” are among the selling points for the new version.

According to an employee comment in a recent thread, it’s the CVSNT Server control panel that VMware Tools don’t get along with, and a fix is in the works for the next release.Removing the CVSNT Server

So if you’re not running a CVS server on your virtual machine, you can solve the problem by removing the CVSNT Server control panel via Add or Remove Programs (select CVSNT, click the Change button, select the Modify option and disable the CVSNT Server components).

Restart the guest system and re-install VMware Tools in the virtual machine. After another reboot, Unity view should work properly, and you can still connect to remote CVS servers using the client components of CVSNT.

It’s a shame VMware didn’t manage to include this solution in the release notes…

iChm Adds Index Search

Keeping up the franctic pace of nearly weekly releases, Robin Lu has once again updated iChm to include another user-requested feature. Version 1.3 now allows you to search the index — this great little app just keeps getting better!

iChm Adds Index Support

Shortly after the well-received release of iChm 1.1.1, Robin Lu has responded to popular demand and updated his CHM Reader for Mac OS X with support for indexes.

iChm index popupThe sidebar now includes a small popup menu (shown at left) which toggles the sidebar to display either the table of contents or the index.

Congratulations to Robin for listening to users and reacting so quickly!

With the new index feature, Sparkle-based application updates and the tag-powered bookmarking system mentioned earlier, iChm is certainly the best CHM viewer available for Mac.

iChm - Cocoa CHM Reader for Mac OS X

iChm iconRobin Lu has released iChm, a Cocoa-based CHM Reader for Mac OS X with Webkit rendering, a slick tabbed interface and a bookmark system that not only allows you to store links to favorite topics in the current file, but also keeps track of your bookmarks across multiple files like in a regular Web browser.

When you bookmark a topic, you can assign tags which allow you to quickly access topics in any CHM file based on the keywords you have specified.

While the concept of tagging is hardly new, the feature is unique to CHM viewers on the Mac, and can be especially useful for help developers looking for a simple means of flagging open issues in topics—just add a FIXME tag to keep track of those pesky output bugs while you tweak your WebWorks stationery.

Unfortunately, iChm shares a shortcoming with many other Mac CHM viewers: the current version (1.1.1) offers no support for the index, which is an essential component of any well-built help system. With a little luck and a bit of persuasion, perhaps Robin can be convinced to add this feature in a later version.

It wouldn’t take much to make this the best CHM viewer available on the Mac—so many of the others were apparently released as one-hit wonders and have not been actively maintained in years.


2008-08-27 Update: Version 1.2 now includes index support.

2008-09-04 Update: Version 1.3 now allows you to search the index.

Cornerstone: New Mac Subversion Client

cornerstone-app.pngZürich-based indy developer Zennaware has released Cornerstone, the latest attempt to make the Subversion experience more Mac-like. As Zennaware says,

We wanted to make an application which would make version control usable and, most-of-all, approachable to Mac users.

As John Gruber pointed out, they were brave enough to commercially release v1.0 without the requisite hype or beta Versions. And unlike many of the other Mac Subversion options, Cornerstone includes not only client functionality, but also the administrative tools, so you can perform various operations on the repository itself, not just your local working copy.

Oddly enough, many clients seem to only support a subset of even the client commands, so with many of the GUI frontends, you need to fall back to the command line to switch or relocate your working copy to a different repository, move files, etc.. Curious to see how complete Cornerstone is in this respect…

Now the question is, who will be first out of the blocks to support the new features in Subversion 1.5sparse checkouts, anyone?

Versions Emerge(s) From the Vapors

Nearly a year after the initial hype, Mac Subversion client Versions has finally seen the light of day with the release of a beta that at first glance offers little that other clients don’t.

The opening line of the beta announcement sheepishly concedes the app’s impending vaporware contender status:

Versions one year anniversary – celebrating with an actual app!

While the interface is certainly slick, it remains to be seen whether a Mac-like look and feel and a bit of Beanstalk integration are enough to win over those who’ve made do with the various alternatives thus far.

Despite the variety of cross-platform and Mac-specific Subversion clients available, with the exception of the somewhat orphaned SCPlugin, each oddly seems to assume developers need yet another app running alongside their work just to interact with a version control system, instead of just blending into the woodwork like the venerable TortoiseSVN.

Sometimes beauty in UI design is less about lickability than invisibility…

Using Mac VPN Clients with Virtual Machines

If you use Parallels or VMware Fusion and a Mac VPN client such as VPN Tracker, you can share your VPN connection between the host Mac and the guest PC by setting the network adaptor to share the host’s Internet connection via NAT.

This connection method also has other advantages, as the VMware Fusion Release Notes explain:

“VMware Fusion’s default network connection type for new virtual machines is NAT, which will prevent the spread of viruses over the network into the virtual machine, and will only expose the virtual machine to external viruses through browser security flaws when you browse the Internet.”

The idea of sharing VPN connections with Windows applications via Parallels is touted as a VPN Tracker feature and explained in detail in a how-to PDF, but it works equally well with VMware Fusion.

The key is setting the network adaptor to shared networking (NAT) as opposed to the bridged or host-only options shown in the VMware settings screenshot below.

screenshot

With this approach, network traffic from your virtual machine is routed through the existing VPN connection on the host Mac, so there’s no need to install a separate VPN client application on the guest PC.

Sharing DITA-OT in OS X & Boot Camp

If you’re using the DITA Open Toolkit on Mac OS X, you can’t generate compiled HTML Help (CHM) files directly, since Microsoft only offers the HTML Help Workshop for Windows.

But if you also run Windows on your Mac via Boot Camp, you can set up a single installation of the Open Toolkit on your Windows partition and use it to generate output from either operating system environment.

Essentially, you boot into Windows (via VMware, Parallels, or directly) and set up the toolkit there as usual.

Once you have the toolkit running under Windows, create a copy of the Ant build file for your project, adjust the paths for access from Mac OS X and save it under a new name in the DITA-OT directory on your Windows partition. (You’ll call this file later from the Terminal to build your project output on the Mac.)

Back on Mac OS, set up the environment variables required by the toolkit.

You can do this by editing the .bash_profile file in your home directory, or if you don’t like editing hidden UNIX files by hand, you can use freeware such as RCEnvironment or SSHKeychain, which provide a simple dialog that allows you to define environment variables like in Windows.

(In the background, both tools simply write to the ~/.MacOSX/environment.plist file. SSHKeychain also serves as a nice Mac equivalent to PuTTY, but that’s another story…)

The key here is to use the absolute path to the toolkit installation on the Boot Camp partition. For example, if your Windows partition is named BOOTCAMP and the toolkit lives there at C:\DITA-OT1.4.1, you might set the DITA_HOME variable like this:

DITA_HOME=/Volumes/BOOTCAMP/DITA-OT1.4.1  

You can then define the other variables relative to the toolkit directory with entries like this:

ANT_HOME=$DITA_DIR/tools/ant

Note: If you use either of the aforementioned tools to edit ~/.MacOSX/environment.plist, you’ll need to use the full paths for the remaining variables, as $VARIABLE values are not expanded when this file is read.

Once the variables are all set, you’ll need to log in to OS X again to activate them.

Then with a command like this, you can build output from the Terminal using the Mac version of the build file you edited above:

ant -f your-mac-build-file.xml html 

To build CHM output, switch to Boot Camp, run startcmd.bat in the DITA-OT directory, and enter something like this on the command line:

ant -f your-windows-build-file.xml chm

If both your build files are set to share an output folder on your Mac, your files will land in the same place, no matter which operating system you build them on.

CHM Viewers for Mac OS

A quick search for Mac CHM viewers yields a handful of open source & shareware apps which provide Mac users access to Windows help files in the Compiled HTML Help (CHM) format.

A few older shareware apps such as Chimp and CHM Viewer are only available in PowerPC versions and apparently no longer actively developed.

The remaining candidates are all free, open source software and available as universal binaries for PPC & Intel Macs. Each does pretty much the same thing–more or less successfully–though none of them quite manage to support all of the features CHMs provide in their native Windows environment.

Here’s a short list of a few pros (+) & cons (-) that appear at first glance:

  • Chmox
    + Beautiful HTML page rendering via Apple’s WebKit browser engine
    - Chokes on some large & complex pages
    - No search, index or favorites support

  • xCHM
    + Functional search, index & favorites (bookmarks)
    - Only basic HTML rendering, poor table/CSS support

  • Chamonix
    + Supposedly supports ToC, Indexing, Search and Favorites,
    - Unreliable–index shown in test file is incomplete, odd CSS background rendering quirks
    (should we read “Chamonix” as “shame on it”?)

For a more detailed–though somewhat outdated–comparison of xCHM & the now-defunct CHM Viewer, see this Mac OS X Hints article.