HomeGroup: A practical guide to domestic bliss with Windows 7

Microsoft has been trying to give Windows home users a convenient, peer-to- …

I got married last summer. One of the great things about being married is that because so many people have done it, you never have to look far for good advice on building a successful marriage. One thing you hear a lot from family and friends is on the subject of sharing, and how bringing your lives together in happiness and harmony is vital, as is retaining your own individuality and vitality.

This, naturally, got me thinking about file and printer sharing... and to this:

... but... it's there!! I swear! Arrrgh! *twitch*

Look familiar?

Perhaps you've had the misfortune of seeing this error message, even though you know full well that Mr. Lappy is connected to the local network. Windows file sharing problems have been an ongoing topic in the Ars OpenForum as long as they've been around. Configuring file and printer sharing, working with multiple users, or even something as basic as getting two machines to find and connect to each other, has long been an exercise in frustration. The problem became even more obvious with Windows Vista: You could look at the clever new "network map" and reliably see your Xbox 360, your wireless router, your Windows logo-compatible network printers and so on, but your actual computers may or may not show up, and clicking on their icon to connect to them may or may not actually work. And that's just file sharing! If you want to use a printer attached to another computer, there are several steps involved, including trips through numerous dialog boxes, driver installation, and altogether too much hassle. You've got to work at it (and maybe be a bit lucky) to get everything running smoothly.

(In other words, it's just like marriage, right?)

I'm sure it's just a coincidence, but Windows 7 shipped around the same time I got married, and it includes a fascinating new technology called HomeGroup. Its goal is really simple: get all your home computers sharing documents, media, and printers with each other, in a way that is both secure and straightforward. But Microsoft also has a deeper aim here: they're trying to finally kill off the decrepit NetBIOS technology that's at the heart of most Windows sharing problems.

So let's have a look at HomeGroup and the technologies involved that make it work. And just to keep things interesting, we'll compare HomeGroup with what Mac OS X offers.

History

HomeGroup in Windows 7 is the fruition of an idea that'd been around at Microsoft at least as far back as 2002. During the Longhorn development cycle, the Windows development team designed a home-focused network technology called "Castles." The name, which was derived from the late-Middles Ages English saying, "A man's house is his castle," contrasts nicely with the "Domain" model that forms the basis of most business networks. The underlying technology between them was largely the same, but unlike a Windows Domain, a Castle environment would not require a dedicated Windows Server installation with a domain controller, and user accounts would be synchronized between machines.

The ambitions of Castle's designers were as lofty as the rest of the Longhorn team: Windows Update patch distribution and automatic replication of application installs to every computer were both "we'll do it in version 2" features. With the Longhorn development reset in late 2004, the Castle technology and all these ideas disappeared. I think this is for the best. The assumption at the time is that a house might have 2-3 computers that all family members would share. This approach probably sounded good on paper in 2002 and 2003 as the technology was being developed, but nowadays, people living in a house together have "their" computer that only they use. They have some files that they may want to share with everyone else, and other files they don't. The Castle approach would've caused more problems than it solved.

By the time 2005 was underway, Microsoft had already been working on tackling the issue of discovering devices and sharing media over the local network. You name it: wireless access points, network-connected printers, set-top boxes, game consoles—Microsoft had a solution ready to go. Windows Connect Now allowed a computer running XP Service Pack 2 or later to locate and configure a wireless access point; the proprietary Universal Plug and Play protocol (and more recently, Device Profile for Web Services) allows any other type of device to be found and communicated with. The Peer Name Resolution Protocol provides a way for machines on a network to find each other by name without requiring a DNS server or relying on older NetBIOS technology. All of this technology was established by the time Windows Vista came out, and it gave Microsoft all the pieces it needed to make building a local peer-to-peer network really straightforward.

The end result is actually a lot better than Castle's designers could've imagined. Instead of shoehorning the Windows Domain model into a home environment as was originally envisioned, HomeGroup is a fairly simple protocol that is built atop a stack of other technologies that are already in use for connecting devices together. We'll get into the details of that technology later, but first, let's look at the user interface.

The HomeGroup User Interface

With a few exceptions, all setup and configuration of HomeGroup is done inside Windows Explorer. The revised left-hand pane in Explorer is split into five sections; HomeGroup is one of them. It's straightforward enough that you don't have to do anything other than say which of your four Libraries you want to share, and whether you want to also share your printers.

You are then shown a password which other computers will need to join the HomeGroup.

It doesn't really matter which computer starts the process. As long as any computer in the HomeGroup is turned on, it is possible for other computers to join. Computers can leave and re-join any time. No reboot is needed.