Satellite Home Directories

There are three basic methods in use today for hosting home accounts on networks in such a way that users have a single home account that follows them from computer to computer, giving them the same environment no matter where they log in. None of these three strategies works in a way that reflects how most people in the lab I currently work in — nor many of the labs I’ve freelanced for — use their computers and access their data. So I’d like to propose a third strategy that does.

Let’s start with a rundown of the existing approaches.

Roaming Profiles
The approach Windows computers use is called Roaming Profiles. The way Roaming Profiles work is pretty simple. Users’ home account data is stored on a centralizd server. When the user logs in to a client system her data is downloaded from the server to the client machine. She will access her data locally for the duration of the session. When she logs out the data will be synced back up to the server. The advantage of this approach is that the user has local access to her data and isn’t beholden to the network while actually working. This makes data access generally faster and more reliable. The big disadvantage here is that if the user makes any big changes or creates any big files, a large data transfer will happen at log out, and then again at login to subsequent machines that aren’t yet synced to the server. This both slows down the login/logout process and places an often undue burden on the network.

Because of the sorts of environments I tend to work in — data-intensive, video and image oriented facilities that create a lot of data — my experience with Roaming Profiles has been fairly poor. For my uses they’ve required a lot of management and have been somewhat unreliable. But, for the purpose of maintaining a user environment across multiple networked systems, they work well enough if you understand and plan for their inherent limitations.

Network Home Accounts
The method used by *NIX systems, Mac OS X included, for time in memorial, is generally referred to these days as Network Home Accounts. In the Network Home Account model, as with Roaming Profiles, the user’s home account data is stored on a server. But when the user logs in using Network Home Accounts no data transfer occurs. Instead, the home account data is accessed directly from the server: new files are written directly to the server; settings files are read directly from the server; everything happens over the network and the network share that contains the user’s home account data is treated just like a local volume. The speed advantage over Roaming Profiles at login and logout is obvious; there’s simply no lag time as data gets transferred between the client and the server, because there simply is no data transfer. On the other hand, accessing your entire home account over the network can be slower than a local account even on the speediest of networks. And on slower networks, or networks with a great deal of traffic, you’ll definitely notice the slowdown. There are also potential problems due to the constant reliance on the network and server. If the network becomes congested or the share becomes unavailable even for a second you’re liable to feel the pain. If either goes down you’re dead in the water until they’ve returned to service.

As network home account models go, I like this one the best. I’ve used it a great deal in educational settings in which resources are almost completely shared and it’s fairly reliable and usable. But even this model can be frustrating and is less than ideal when compared to working from a local home account.

Portable Home Directories
The final model is called Portable Home Directories. Devised by Apple for laptop computers with occasional — but not constant — access to the network hosting home account data, Portable Home Directories attempts to combine the best of the Roaming Profile and Network Home models by providing finer-grained control over the sync process in what is otherwise a Roaming Profile approach. So, Portable Homes sync to specific data at specified times when they’re on the network. Fine-grained control over what is synced and when is intended to mitigate performance issues at login and logout.

My main problem with this approach is that, in my admittedly limited tests, it doesn’t seem to work very well. I also don’t like the level of management required. The other models, once set, require little if any tweaking whatsoever. But I could see spending a great deal of time and effort getting my Portable Home Directory settings just so.

The Problem
But my overarching beef with all these models is that they don’t really jive with the way most people in most of the environments I’ve encountered actually use their computers. This makes them use system resources less efficiently and yields a poorer user experience than if they did.

So how do most people work? Well, what I’ve tended to see in the media-based environments in which I’ve worked is that users are generally assigned a single computer. It’s this computer from which they work almost all the time. Indeed, this is how I work in my current job. I’m almost always working from the computer in my cubicle. Almost.

Every now and then, however, I need to work from a different machine, and there are often times when I’m doing this that I realize that it would be extremely handy to have my entire home account — all my environment settings, files and folders — available to me on this other machine. But I don’t. They’re over there, on my cubicle machine. If only I could use the home account on my main computer directly, as thought it were a Network Home Account.

And this is the basic idea behind Satellite Home Accounts.

Satellite Home Directories
All the current models rely on the user’s data being stored on and accessed from a centralized server. But why? Why can’t the server be the user’s main computer? In the Satellite Home Account model, the user’s primary computer becomes the home account server for any user that sets her account as a Satellite Home Directory.

The way I envision it, it would actually be quite simple to set up. In the Accounts preference for the user would a be a tickbox to activate Satellite Home Directories. Once activated, the user’s system would begin broadcasting Satellite Home Directory information, just like Mac OS X broadcasts Network Home Account info. The user would then work locally as normal, but when logging into another system on the network — a system that’s listening for SHDs — the user would be presented with her home account over the network, shared directly from her primary system rather than from a centralized server. Simple.

Among the great benefits of this system are its simplicity and the fact that it requires no server. But the chief advantage comes from the fact that the Satellite Home Directory system works the way users tend to work. When you’re on your main computer, which you are 99% of the time, you get a fast, responsive, local home account. When you move temporarily to another system, your environment follows you. It’s a bit slower, sure. But hey, it’s only temporary. The network overhead is significantly reduced from the other methods, and the user experience is also enhanced. It’s win-win.

There’s certainly no technical reason an implementation like this would be impossible or even particularly difficult. Most of the technology already exists, either in Mac OS X client or Server. All we need is for someone to program it. And while I doubt there’s likely much interest on Apple’s part to build something like this, I really think it’d be damn sweet.

And a boy can dream, can’t he?

CalDAV On iPhone

One of the exciting new features in the iPhone 3 OS is the ability to access calendars via plain old, standard, vanilla CalDAV. This allows you to finally keep an updated version of all your calenders without syncing your phone to your computer. Just subscribe to your calendars on your iPhone, just like you do in iCal on your Mac, and you’ll always be up to date because you’ll always be accessing the centrally-located, server-side calendar. This is right and proper and as it should be. But CalDAV over iPhone does have some quirks and limitations.

Subscribing to a Single Calendar
The first thing that’s not readily obvious is how to connect to your CalDAV calendars. It is possible to subscribe to multiple Google calendars, for instance, but doing so is neither straightforward nor apparent. Still, once it’s done it’s done, and it’s mostly better than the alternative.

Subscribing to a single Google calendar — your main Google calendar, if you only have one — is really what the iPhone is interface is designed for. Where to do this is also not necessarily obvious:

  1. Open the Settings app.

  2. Press Mail, Contacts, Calendars.

  3. Press Add Account…

  4. Press Other.

  5. Under the Calendars heading, press Add CalDAV Account

  6. Enter your CalDAV server URL (for Google it’s just “google.com”), username, password and a short description, then hit the Next button.

  7. The iPhone will verify your information and then, if all goes well, your CalDAV calendar will appear in the Calendar app with the description you provided with the word CalDAV next to it in parentheses.

  8. Now wait. It can take a few minutes for the iPhone to suck down the CalDAV data. I’m not sure why. But it should appear after a few minutes or so.

Navigating to this calendar will cause the iPhone to read the calendar data right from the server. If you have write access you will also be able to add, delete and modify events right on your iPhone and have the changes propagate to the server.

Multiple Calendar Subscriptions
UPDATE: See the end of the article for a better way to sync multiple Google calendars over CalDAV.

In addition to connecting to your main Google calendar it is also quite possible to connect to other CalDAV calendars to which you might want to be subscribed, though the process is hardly as automatic as the one above. Connecting to a single CalDAV calendar is easy for both you and the iPhone because the URL is simple and easy to predict, so the phone just does it for you. If, however, you want to connect to a shared calendar, the URL that you’ll need to supply to the iPhone is long and complicated and, unfortunately, must be manually entered.

To do so, you’ll probably want to start by getting that URL into the iPhone’s clipboard. There are lots of ways to do this. You can get it right from the Google calendar site (if it’s a Google calendar) using Mobile Safari. You could also send it to yourself in an email. The way I handle this is that I actually keep a spreadsheet on Google Docs that contains all my shared CalDAV URLs, that way I always have copy/paste access to them from the iPhone or from a computer. But however you do it, just get that URL into your clipboard, because you don’t want to type it by hand. Trust me.

The process for adding additional calendars follows the above steps almost exactly. The one exception is that for the Server entry in step 6 you must pass the long URL you just got into your clipboard. Just paste it right there into the field. After switching fields, it will present the Server text as just “google.com” again, but it should have the full URL stored away in its memory. Continue with the process and you should see the new calendar in the Calendar application as before.

Advanced Options
If a problem occurs during subscription an Advanced Settings button will appear.

This button also becomes available after the calendar has been set up. There are three options to set here:

  1. Use SSL
    This allows you to configure your iPhone to connect via SSL, which is required by some servers. Google allows this option and may or may not require it. Generally it’s best to have this on if possible. Or at least more secure. If you’re having troubles, though, you can try toggling this setting.
  2. Port
    This allows you to set the SSL port, in case your server uses something other than the default of 443.
  3. Account URL
    This is the actual URL to your calendar. The one you pasted into the Server field. If something went wrong during that step you can check and fix it here.

In Practice
There are some advantages and disadvantages to this system. And while I really believe this is how any serious calendaring system should work — all your computers are clients that simply get the calendar data from the cloud — the implementation on the iPhone is not exactly mature.

For one, CalDAV calendars other than your main Google one are a major pain to add to the phone. Google provides an app for doing this on you desktop system, but for the iPhone it must all be done by hand. If you have many calendars it is a long and tedious process.

For two, receiving CalDAV data on your iPhone is, in my experience, very slow. Any changes made on the server will not be immediately seen by the iPhone. It can be several minutes after opening the Calendar app before you see the changes and there’s no indication that the sync is even taking place. This can be frustrating and misleading and requires you to always remember that there might be a change that’s coming that your iPhone just hasn’t seen yet.

Also, from time to time, though very rarely, calendars fail to load. I can’t blame this entirely on the iPhone, though. This happens to me even in the browser on my desktop system. It seems to be a problem with Google’s implementation and large numbers of calendars. Apparently Apple’s not the only one whose CalDAV implementation is immature.

Still, for me this system has worked pretty well thus far. I have a buttload of calendars to which I must stay subscribed, and which I must keep current. And I just don’t sync with my computer that often — plus, calendar changes are made at work — so that system was equally dodgy. My calendars don’t change that often either, so waiting for data to sync is less of an issue for me, though when there are major changes, getting everything re-synced really blows.

Overall, now that it’s in place, I’m very happy with CalDAV on my iPhone, though there is certainly room for improvement. I suspect it will only get better with time.

UPDATE: It looks like it did just get better. I’ve just discovered a better way to subscribe to multiple Google Calendars that I’m pretty sure wasn’t there when I set all this up a few months ago. It’s much easier and doesn’t require signing in to each calendar. Just subscribe to your main calendar as described in the above outlined steps, and then, on your iPhone, go to this page:
https://www.google.com/calendar/iphoneselect

Here you can select the calendars that will sync over your main Google account.

This is for Google accounts only. If you just have regular old CalDAV accounts that you want to sync with, manual entry will still be required.

UPDATE 2: This method seems to speed calendar syncing as well. I think the old method required the iPhone to log into each individual calendar, whereas this new method logs in once and syncs all the calendars with the one account. Much less work for the iPhone than before. Nice!

Why We Tell You To Reboot

This is how still images in Final Cut Pro 7 looked to me after installing and updating to the latest version (7.0.1):

Final Cut 7 Garbled Image Display

Final Cut 7 Garbled Image Display

This is my dog:

Garbled Dog

Garbled Dog

She is not normally purple and green and swirly colored.

After an hour or so mucking about, reinstalling the application, trashing prefs and otherwise performing the usual maneuvers, I decided to take my own medicine and reboot. Why I don’t just always do this first — like I tell everyone else to do — is beyond me. But sure enough, it worked.

Normal Dog

Normal Dog

Ah! That’s better! Crazy mutt!

A Time Machine Gotcha

Though Time Machine uses hard links to reference files from any point in time without using additional space, changing anything about a file will, obviously, trigger a new copy of said changed file to be backed up to your Time Machine disk. What’s perhaps less obvious is that even simply changing the path to the file will trigger a new copy to be made.

This WIll Take a While

This Will Take a While

To wit: I have a very large folder — about 100GB — full of material that I intend to archive. That folder used to be called “BurnMe.” But I recently changed my archiving approach such that the “BurnMe” moniker seemed inappropriate. So I renamed “BurnMe” to “ArchiveMe.” My hope was that Time Machine would see that, yes, the folder had changed, but that its contents pointed to already existing files on disk, and that those files hadn’t changed and could thus be referenced with a hard link.

Unfortunately, Time Machine isn’t that smart. What it actually did was erase some older backups to make room, and then it indeed recopied the entire 100GB folder with the new name. Apparently, changing even the name of a file’s enclosing folder counts as a change to the file and will trigger a new backup copy to be created.

Deleting a Backup

Deleting a Backup

My solution to this problem, unfortunately, will be to manage my Time Machine data a bit. It is possible to delete previous Time Machine backups by entering into the interface and right-clicking the file or folder you want to delete, then choosing to “Delete All Backups” of the selected file or folder. From now on I will need to be mindful of name changes to large folders, and be sure and delete the previous backups before (or perhaps after, depending on available space) I do so.

In any case, this is not a huge problem, but it is a minor inconvenience in a process that is meant to be almost entirely hands-off.

Enclosing Mail Folders

A quickie: It’s fairly common knowledge that, in the Finder, command-clicking the icon in the titlebar of the folder you’re in will reveal the folder hierarchy that said folder lives in. This is a handy way to find your current location and “drill up” in the folder hierarchy, if you will.

I’ve always longed for similar functionality in Mail.app, but the best we’d had was titlebar text that displayed the email name and its enclosing folder. Until now.

In Snow Leopard Mail.app finally gets the same command-click behavior we have in the Finder (control-click also seems to work). Open a message in a new window, and command-click the icon of the message in the titlebar.

Mail Titlebar

Doing so reveals the location of the message and allows you to navigate there.

Mail Hierarchy

Mail Hierarchy

Excellent!

My 2009 17″ MacBook Pro

I recently switched from an 8-core Mac Pro desktop system to a new 17″ MacBook Pro and I’m loving it.

The Switch

The Switch

Video Toe-To-Toe Against the Mac Pro
My first concern making this switch was, would the MacBook Pro offer enough power to get my toughest work done. The answer so far has been yes.

Though I’ve been doing less video work — one of the changes that led me to this switch — I actually did get a fairly involved video project to work on for a friend. The project involved a good deal of compositing in Final Cut Pro, so it was a fairly resource-intensive affair. The MacBook Pro handled it with aplomb. I never once felt like I was working on an underpowered system. Final Cut performed just as well — which is to say sluggishly — as it did on my 8-core. Sure, rendering took a bit longer, but not as much as I’d expected, and not in any way that was a ever problem.

The 17″ MacBook Pro’s amazing screen really helped a lot too. What was even better, though, was hooking the MacBook Pro up to my secondary Cinema Display and working with dual-monitors. In this way, the MacBook Pro was actually a step up.

So, in a face off with my 8-core tower doing my toughest work, the new system passed with flying colors.

Size Matters
Another concern I had was whether or not I would really like the 17″ model. I’ve always felt that the 15″ was the ideal balance between usability and portability, but I opted for the 17″ because I wouldn’t be taking it out much and would be using it more as desktop replacement.

The Right Size

The Right Size

I’m rather surprised at how happy I am with the size. It certainly doesn’t feel significantly heavier or bulkier than my old 15″ PowerBook. A little, but not much. And it’s fantastic around the house. Perfectly portable for moving between rooms.

Having the extra screen real estate is also wonderful, though the 1920×1200 resolution can get a bit tiresome on my aging eyes. This is more than made up for in brightness, however, which can be blinding (I had to turn it down for the photos). I’m also very happy I got the anti-glare screen. The treatment doesn’t reduce the depth of the blacks nearly as much as I thought it would.

Overall the monitor is amazing, and I’m very happy with the size of the machine as a whole.

On Its Own Merits
In addition to being able to hold its own against my desktop system, and against my prior laptop experiences, there’s a lot to love about the MacBook Pro in and of itself.

For one, I’m loving the new trackpad. There are things about this trackpad that I actually prefer over mousing, in particular, two-finger scrolling and the many other gestures that multi-touch offers. I sometimes miss those features now when I’m stuck using a standard mouse at work. This is one reason I’m so excited to try the Magic Mouse.

The battery life is quite good as reported. Like most folks I’ve read, I get about four straight hours of solid use, which is usually plenty. Any more than that and I should probably go sit at my desk anyway.

Battery Indicator

Battery Indicator

Now that I’ve set up my 802.11n wireless network, I’m quite happy with the general network speed of the machine. It’s a huge improvement over 802.11g.

The uni-body construction really feels solid. In some ways it feels more solid than my tower, and certainly lacks the creakiness of the old PowerBook.

It also stays remarkably cool. My legs are loving it.

The keyboard is also great, as good as my tower’s.

Excellent Keyboard

Excellent Keyboard

Odds And Ends
I bought my MacBook Pro with the DVI-to-Display Port adaptor offered by Apple. When you order this with your computer on Apple’s site it comes in the sealed computer box as though it were an included item, not in a separate box of its own.

I actually rather like the Mini Display port. It’s small and space-efficient, and much easier to handle and plug in than a DVI plug, believe it or not. And for the record, it’s powering an ancient 23″ plastic, easel-style Cinema Display hooked up to a ADC-to-DVI converter. Fun! And it works like a charm.

The monitors on these new-gen MacBooks no longer leave imprints on the screen. I can’t tell you (or maybe I can) how annoying it was to have to have a screen protector at all times with my old PowerBook. So lame! A rubber grommet around the edge of the screen and problem solved!

The system came with a full install disc of Snow Leopard. Now I have three!

There Will Be Beefs
As close as this one comes, no system is perfect. There are always beefs.

I’ve mentioned the occasional difficulty with the monitor resolution, but my biggest beef is probably the fact that the keyboard is so far from the front edge of the computer. This, coupled with my second-biggest complaint, the fact that the unibody edges are so sharp, makes for some less-then-perfect text input. That sharp edge tends to cut at my wrists when I’m typing. Yes, it’s a very minor quibble. And it’s really the only one that’s bothered me enough to write down.

Sharp!

Ouch!

Beyond that, I’ve had some system freezes on the new machine, but they seem to have mostly dissipated since installing the Performance Update from earlier this month.

And I guess I’d like to see more gesture programmability someday. But now I’m just grasping at straws.

Final Analysis
In case you can’t tell. I’m quite enamored of my new 17″ MacBook Pro. It’s pretty much everything I want a computer to be: space-efficient yet powerful, comfortable and reliable. It’s hard to imagine a better computer for someone like me.

The thing I like best about it, though, is that I can have everything — all my main rig data and all my laptop data — right there on a single system that is both portable and powerful. I can take it around with me everywhere I go and there it is. But plug it into the desktop monitor and hook up a couple firewire drives and I have a very functional, dual-monitor desktop rig that’s just as comfortable and appropriate for video work as my desktop system ever was. It’s like having all the power of a tower anywhere in the house.

Happy Computer User

Everything You Want

The versatility of this system is what makes special, and I’ve been nothing but impressed. If you’re ever thinking of making a similar switch, and your processing needs can handle it, I highly recommend the 17″ MacBook Pro. It’s everything you want in both a laptop and a desktop system.

And it’s made me a much happier computer user.

Brilliant

I have no time to write right now, but I just had to acknowledge a couple of the new Apple products quietly released yesterday.

First off, for the server nerds in the house, Apple now officially sanctions using Minis as workgroup servers.

Bargain Server

Bargain Server

We’ve all been doing this for a while now, of course, so it’s nice to see Apple finally offering a bundle. Small, cool, headless and powerful enough for most tasks, the Mini is, for many purposes, an excellent server platform. And, with the client license restrictions removed, Mac OS X Server is a flat $499, making the bundle clock in at just under a grand, so they’re cheap too.

And, of course, this Magic Mouse is simply brilliant.

Magic

Magic

It brings together everything I love about my trackpad and my mouse in one device and solves a bunch of input device problems (like left- or right-handedness, and gunked-up moving parts), all in one fell swoop. I can’t wait to get my sweaty mitts on one.

I have to say, I find these surprise product announcements much more thrilling than the usual over-hyped events. I hope to see more of them in the future. This is exciting stuff.

Create a Dual-Format Drive for Mac and Windows

It’s just come to my attention that it’s now fairly trivial to split a drive into two differently formatted partitions, one of which could be used for the Mac while the other could be used for Windows. This is not necessarily new, but there are a number of things that make it of particular interest to me. Before I detail the process of creating this dual-platform drive, I want to talk a bit about some of the reasons you might want to do this and some of the challenges I’ve faced over the years with regards to the issue of cross-platform drives.

Some History
In the very cross-platform lab where I used to work we were continually on the hunt for the best filesystem solution for users of multiple platforms when they were using external firewire or USB drives. That is, some folks wanted their drives to be accessible from both the Mac OS and Windows. On the surface this can seem like an easy problem to solve — Fat32 (or “MS-DOS” as it’s called in Disk Utility) is readable and writable on both platforms. But it’s not so cut and dry.

The biggest problem for me was video. See, I taught — and continue to teach — a video class in that very same department. We use Final Cut Pro as our editing software, for a variety of reasons, not the least of which is the fact that I prefer to work on the Mac. I require my students to have a firewire drive appropriate to showing in-progress video work in class. But Fat32 has a 4GB file size limit, and video captures can often exceed that limit. What happens when this limit is exceeded is interesting from a systems standpoint, but devastating from a user standpoint.

Video and Fat32
When capturing video in Final Cut Pro to a Fat32 volume, what happens is that the video file gets segmented. That is, the capture file gets written in 4GB chunks. Initially, Final Cut will see these chunks and understand what they are. But after saving the project and quitting the app Final Cut will no longer be able to locate the captured media because it’s in multiple files with different names. The path to the media that FCP relies on is now, essentially, broken. This actually happened to a student of mine some time ago, and we were able to use the cat command to reconstruct the single movie file onto an HFS+ volume and then point FCP at the reconstructed file. Boy was that fun.

NTFS
We’ve often looked to the ever-popular NTFS file system as a possible future solution. It does not have such small file size limits, and it’s readable on Mac and Windows. But the Mac has never been able to write to NTFS. So, in the past, our solution in the lab — our recommendation for users who really needed a dual-format drive with read/write capabilities on Mac and Windows — was to use the HFS+ filesystem on the drive and use MacDrive on Windows to read and write to that drive. Inelegant? Yes. But it mostly worked.

Mac and Windows Partitions
Another potentially attractive alternative to a single, dual-platform volume was the idea of splitting the drive into two partitions and dedicating each partition to a platform/filesystem. This way, even if all your Mac and Windows data wasn’t all mushed together in one volume, you could at least keep it all on one device. This solution would likely work for the vast majority of users. Unfortunately, there was never a particularly straightforward way of doing this. Sure, it was doable. But it wasn’t easy, and it wasn’t something you could tell new students to do. In fact, it was likely to require admin access and command-line heroics, and so just wasn’t a viable solution to anyone but the most die-hard user. Until now.

Without too much mucking around, it’s now possible to create a dual-format external drive that contains a mac-formatted partition and a Windows-formatted one.

MacFUSE and NTFS for Mac OS X
The first step is the only really tricky part, and it’s not even that tricky. If you have need for a dual-format drive, this should be pretty easy for you. You’re going to need to install the MacFUSE and NTFS packages. In a nutshell, MacFUSE is an experimental set of tools for doing unsupported things with filesystems like SSH, FTP and, of course, NTFS on your Mac. And, experimental though it may be, I’ve been using it for quite a while and have not had any problems to speak of. Installing MacFUSE and the NTFS drivers will allow you to mount NTFS volumes with read-write access.

MacFUSE

MacFUSE

So, if NTFS can be mounted read-write on the Mac with MacFUSE, and it’s obviously read-write on Windows, and it doesn’t suffer from the file size limitations of Fat32, why not just use NTFS as your über-filesystem and format the whole drive with it? That’s a great question, and I’m glad I asked it!

The thing about getting NTFS read-write access on a Mac with MaFUSE is that it’s very much a hack. Yes, it works, but it has its problems. First and foremost among them is the fact that Final Cut Pro is really not a fan. In fact, FCP might just be the best barometer of a good cross-platform solution as it seems to be so picky about filesystems. So far, the only filesystem I’ve seen work consistently well with Final Cut is HFS+. No surprise there. And on NTFS it gets downright crazy. Files sometimes won’t open. Sometimes they won’t save. It’s a scary mess, and I wouldn’t trust my FCP data on NTFS for any amount of money.

But, what the MacFUSE NTFS package does get you is a relatively easy way to format your drive with separate Mac and Windows partitions, and this, at least in my tests seems to work just fine.

NTFS-3G for Mac OS X

NTFS-3G for Mac OS X

The easiest way to get everything you need is to go to the NTFS-3G for Mac OS X website and download the latest package. This package will install the most recent non-beta version of MacFUSE as well as the latest NTFS libraries, and contains everything you need. Once you’ve installed this bundle, you’ll need to reboot your system.

Creating the Dual-Partition Drive
After the reboot you’ll see a new filesystem option when you go to format drives in Disk Utility.

A New Option

A New Option

Moreover, that option will be available to individual partitions of drives that are otherwise formatted. And that’s what’s new (to me) and what allows the magic to happen. Here’s how you do it.

  1. First, if you have any data on the drive that you need to preserve, back it up. This process WILL ERASE YOUR HARD DRIVE.
  2. Next, select the drive you want to dual-format and choose the Partition tab.
  3. Select a Volume Scheme. I’m just doing the simplest, two-partition scheme, with one Mac and one Windows partition, but you can certainly get more Byzantine with it if you’d like.
    Volume Scheme

    Volume Scheme

  4. Set the Format for the partition you want to use on the Mac to “Mac OS Extended (Journaled),” give it a name and a size.

    Mac Partition

    Mac Partition

  5. Set the Format for the partition you want to use on Windows to “Windows NT Filesystem (NTFS-3G),” give it a name and size.

    Windows Partition

    Windows Partition

  6. Under the Options… set the partition scheme to “Master Boot Record.” This is needed for Windows to see your drive.

    Partition Scheme

    Partition Scheme

  7. Finally, hit the Apply button. You’ll be warned that everything is about to be deleted. Click through, and after a few seconds you will have completed the formatting process and your dual-format drive will be ready for use on Mac and Windows.

Caveats
As I said, so far this has been working really well for my class. You may still want to file it under “experimental” for the time being, at least until you’re sure it’s working safely. But I’m confident enough in this method to recommend it to my video students who also need some external Windows drive love.

It’s also important to keep in mind here that I am not endorsing using the NTFS partition for Mac data of any kind. Doing so is surely unsupported by Apple, and by all reports is fraught with problems.

The other thing to keep in mind is that, unlike with a GUID partition table, you will not be able to resize or split partitions without completely erasing the drive.

Erases Everything

Erases Everything

Conclusion
Lastly, I realize that this process is hardly new, nor am I the first to discover it. It was pointed out to me by one of my video students, and I have a feeling the new admins at my old job have been using it for some time. But it’s new to me. This is the first I’ve heard of this and it’s exciting to me from an academic standpoint, in the context of my old job, in the context of my class, as a new option I can offer to whomever might need it, and as a symbol of progress — however small or kludgy — towards cross-platform filesystem solutions. This is just another of the very cool advances made possible by the existence of the MacFUSE (and the original Linux FUSE) effort. It’s very cool to see this sort of thing coming to fruition at last!

Another intriguing extension of the MacFUSE project — and one that I’ve used a bit myself — is MacFusion, which allows for mounting of data over network protocols such as FTP and SSH. I’m sure there are tons of others. I highly recommend folks — particularly SysAdmins — check out and familiarize themselves with MacFUSE in general, as well. As much as has been done since the last time I looked at it, there is still a ton of future potential in the project, and I see it increasingly becoming a part of the admin’s toolbox.

Native App Superiority

I was recently reading an article on the Tao of Mac that said, among other things:

I’ve long preferred to use iPhone Twitter and Facebook clients over desktop ones…

It’s true, there are a handful of iPhone applications that are actually better than the original apps they replace — Facebook, for sure, and my recent fave, the Zipcar app among them. Of course the original ones — the “Desktop ones” referred to in the article — are actually web applications.

Native vs Web Apps

Native vs Web Apps

The fact is that, despite the push towards — and what many believe is the inevitability of — the web as the primary source of applications, native apps are still vastly superior in almost every instance. This is why Apple had to finally give developers —  and consumers, of course — the App Store. Web apps just weren’t cutting it on the iPhone. And while they do somewhat better inside a full-sized browser on a full-powered computer, I still think web apps have a long way to go — a very long way — before they’ll ever rival the experience of native apps. Platforms like the iPhone and continued interest in things like Site Specific Browsers offer very convincing evidence that native apps will continue to thrive for a long time to come. To be honest, I have my doubts that web apps will ever completely replace native ones.

I should also point out the probably obvious fact that there are certain apps that will always be best on a mobile platform because they just happen to be particularly well-suited to mobility. The Zipcar iPhone app is a perfect example. It’s an app for finding, renting and controlling cars, for Chrissake. Where better to have an app about travel than on a mobile device? In fact, having the Zipcar app on an iPhone gives it certain powers the web app will likely never be able to match. But I’d venture to say that there are very few, if any, application experiences that are better in a web browser than they would be in a dedicated, native app.

No doubt about it, web apps are supremely useful, especially for certain tasks. But that’s like saying the web is useful. The ironic fact that many of us prefer surfing Facebook on our iPhones to using the original web app version on a full-sized computer should give you an idea of just how hard it will be and how long it will take to supplant native apps with web apps.

Snow Leopard Scanner Application

It’s been widely reported that the Image Capture app in Snow Leopard can now see and scan from many common scanners. This is a huge boon to those of us who are sick and tired of crappy scanner drivers and software. Image Capture is quite a capable scanner app, and fairly Mac-like.

Scanner Joy!

Scanner Joy!

But there’s another, more direct way to access your scanner without opening Image Capture.

You Got Scanners in My Printers

You Got Scanners in My Printers

Just like with printers, adding a scanner (either via Image Capture or directly in your Print & Fax preference pane) will create a scanner application in ~/Library/Printers. This can be dragged directly to your Dock for quick, easy scanner access.

I Think We Should Call it Print, Fax & Scan

I Think We Should Call it Print, Fax & Scan

Or, if you open the scanner directly from the Print & Fax prefs, it will appear in the Dock where you can simply right-click it and choose to “Keep in Dock” from the options.

My Scanner in My Dock

My Scanner in My Dock

All-in-all native scanning is an extremely handy feature and seems to work well in my tests. Keeping my scanner in my Dock just makes it that much easier to use.