{ End Bracket }

Customize Windows Home Server

Chris Gray

For the past few years, I've been working on Windows® Home Server, an application that backs up all of your home computers via a simple user interface. The idea behind Windows Home Server is that every member of the household stores their pictures, videos, and music in one safe location, making it easy to find the files. The server is really useful straight out of the box, of course, but developing custom applications that will make my home more fun and friendly is what has me most excited.

I am convinced that one day most of us will have a computer stashed somewhere out of the way that makes our home a little more useful and intuitive. Inexpensive devices and appliances will take advantage of the networking, processing, and storage capacities of this server to communicate with other appliances to make our homes a little more comfortable.

Over the past few months some friends of mine and I have been experimenting with these possibilities by taking advantage of Windows Home Server and our programming skills. We've had the most fun with three areas: media, Internet connectivity, and power consumption.

We've been centralizing our television and music onto Windows Home Server and viewing the content with an assortment of inexpensive network-capable media devices. Happily, we've found all sorts of cool devices that support UPNP, SMB, or HTTP, or can be used on the server just by installing some software, and we've written some custom software for our media centers that automatically copies recorded television to our servers at night.

Once on the server, we've written code that uses the server's spare CPU cycles to transcode the content into formats suitable for streaming to video and audio devices that look like stereo components. By centralizing in this way, we can choose network-capable devices that fit our needs without having to rewire our houses for stereo or televisions—we just use a normal wireless router that easily goes through walls.

Having all types of media on one computer and accessing it through the Internet has been a source of endless creativity. Building this solution wasn't too difficult—we just used the domain name that comes with the server to make finding the server easier and we built a Web site that has the ability to search for a particular piece of content.

This project got me thinking about using Web services to talk to an Internet-capable cell phone. I haven't created anything with it yet, but I bet I can have some fun linking the servers storage and processing power to a phone.

Another idea I've recently been dabbling with is reducing the total power consumption of my home by integrating lights and power outlets with the Windows Home Server. This idea isn't new (home automation has been around for years), but this is the first that I have grappled with it. The general idea is that your computer can control the power switch and shut off your TV, lights, thermostat, or other equipment when you're not home.

Several companies make really great light switches, power outlets, and dimmers that are computer-controlled. However, one of the major blocks to home automation has been the total price­—these computer-controlled switches cost more than standard switches and usually require a special-purpose computer. If you've already got a Windows Home Server, though, all you need to do is install the included Windows-based application.

Looking ahead, I can imagine hooking up the Windows Home Server, adding a few light switches, and controlling everything from the server—and even controlling it remotely. I could then chart the total power usage of the entire house over a set period of time in order to evaluate my family's power usage.

Harnessing the power of the Web, I would also like to link to a real-time weather application so that if it was going to rain, for example, then the lawn sprinklers wouldn't turn on. Likewise, the system could download daily sunset and sunrise times so that the outside lights would go on at sunset and shut off at daybreak. Furthermore, if your Exchange calendar showed that you were on vacation, the furnace would stay at a low maintenance temperature.

From a developer perspective, experimenting with Windows Home Server has offered some exciting challenges and it's great to see the immediate results. I've enjoyed creating new applications that link my appliances in ways that make them more useful and accessible to me even when I'm away from home. For more possibilities, see msdn.microsoft.com/library/bb425866.

Chis Gray is a Development Lead for Windows Home Server at Microsoft. In his spare time he enjoys hiking and making furniture with his wife, Melinda.