I've long extolled the virtues of network-based home accounts, at least in some situations. And, of course, I've written copiously on how to implement such a thing in a lab setting. What I've never really done in any meaningful way, or for any length of time, is to use network home accounts myself. Until now. There are certainly situations in which local home accounts are preferable. Generally speaking, they tend to be the way to go if you can swing it. They're usually a bit more responsive, and of course they don't rely on a functioning network, proper network settings, authentication servers and home account servers to work. They are the de facto, the default, and they're what most people are used to. And if your users ever only use their one computer, local home accounts are likely to be all you'll ever need.
But in environments that involve numerous shared (network) resources, or in which people are moving from computer to computer on a regular basis and need some semblance of consistency among machines, a centrally-located, accessible-from-everywhere home account can be a real blessing. In order to sell this system at my new job (on the Mac side — Linux was already using network homes), I needed to prove its reliability, so I threw myself on the grenade, as it were: I started using a networked home account. And you know what? I really like it.
There are, as alluded, certain inconveniences with such a scheme. For one, login tends to be a bit slower as the system needs additional time to locate and coordinate with the necessary network resources. Also, there is no Trash folder for a network home, and deleting files is immediate on a Mac when done over the network. So every time I try to throw something away I get this alert:
And the file is deleted for good. This is probably the worst part of the networked home. No Trash. But the advantages are so great that I plan to stick with my networked home, despite the minor annoyances.
At some point not too long ago I decided that the reliability test had been a success, and that I could finally revert back to my local home account. So I synced everything back to the local drive, and changed my home account location on the server (I use server-based authentication either way), and logged in. I worked locally for a while, and then I needed to do something on a Linux machine. I logged into that machine — which uses networked home accounts — and got my old, outdated, network home. And that's when I realized: you can't have it both ways. You either need to go local-only, in which case you need to really only use one machine, or you need to go networked. Otherwise your data's all out of sync. And that's way worse than any network dependencies or minor performance hits. So I immediately switched back to my networked home. And I plan to stay there.
And speaking of having it both ways, I suppose it is possible. At my old job I had a local account on my office computer and a networked account everywhere else. This was okay, but created all sorts of problems — particularly permissions problems — any time I wanted to share data with, uh, myself. Long story short, it was a real pain in the ass. Doable, but kinda sucky. Avoid if possible.
I have to say, since committing to my network home account, I've been pretty darned happy with it. Most times I'm completely unaware that I'm even on the network. And it's great to have the same environment across every machine in the lab. It's also great to finally be able to say definitively that this approach is not only valid, but actually pretty great in instances in which it's appropriate.