Two Things
You know, there are only two things I can't get my computer to do in a seamless fashion. Like most people (or only like most of the people I know), I have two computers in my home. I also have a PDA as does my wife. The feature I would like to eventually see my computer do for me is synchronization of information between the two computers.
The Problem
I have an extensive music collection that has grown to behemoth proportions over the last decade. Long ago, I made the decision that I would not try to keep my music organized manually. That proved to be a long and arduous process that was usually undone as soon as I opened the music in a media player that automatically retrieves information for the music from the web. So I surrendered the reins to Windows Media Player. Since that time, I haven't looked at the actual directory structure and file names of my music library. Everything I do with my music is done through the WMP interface: burning CD's, copying music to my MP3 player, listening, etc.. I used to have my computer setup with multiple users and separated settings until my wife explained to me that her settings weren't as nice as mine since she didn't know how to tweak them. Additionally, I kept my music library organized, filling in the gaps where the automatic information retriever could not. This meant that she could more easily find her music in my library than her own.
For my wife's graduation, I bought her a PDA. She liked the idea of sharing our contacts and calendar. She didn't want to have anything else synchronized so I set her PDA up to sync with my outlook and grab my contacts and calendar. Everything was great.
Recently, I bought myself a new computer.
The Current Solution
With this new variable in the equation, the problem arises again on how to make sure my wife and I are using the same music library, contact list, calendar, and also have access to each other's documents. Here are my current solutions.
With the two computers networked together in our home, it was easy to setup offline files so that her documents would be accessible from my computer, even if hers is turned off. However, it can be problematic from time to time; not to mention that it can slow down network performance while files are being synchronized.
The easiest way to synchronize Outlook data (that I've found) is to synchronize through Yahoo!'s Intellisync. I synchronize my calendar and contacts to Yahoo! and my wife does the same.
I don't have an easy solution to the music sharing problem. This is actually the aspect of my frustration that spurred me on to write this article.
I realize that the easiest solution to the document situation is to setup a server that acts as a domain controller. Actually this is what I will eventually do, once I have a place that I can put all the networking hardware with it in some closet. On the same note, I realize that I should shell out the money to purchase Exchange (built for dozens of users) so that the two users in my home can share their Outlook data. However, even with a fancy server running all kinds of media services, there is still no easy way to ensure that media library information perpetuates to all users in the domain.
The Ultimate Solution
It is at this point that I wish to comment on the inability of the programming community at large (especially Microsoft) to cope with these changes in "normal" households. The current trends for entertainment and computing indicate that in the near future, a greater majority of "normal" households will have some type of media centered computer connected to their TV and sound systems. This type of computer is normally a single user environment with enhanced computing ability (RAID, TV-tuner cards, high end graphics, etc.).
This computer presents the perfect environment in which all of the shared information could be stored. The media centered computer could act as the home/domain server. It would contain every user's Outlook data, a master media library (supporting synchronization to other pc's for faster performance and mobility), and each user's documents. This server could also include such services as web, ftp, Remote Desktop, PDA synchronization, etc.
That's great, how do we do that? Well, frankly, I'm surprised it hasn't been done already. What am I talking about? Well, the synchronization of Outlook data is quite easy between my PC and PDA. Why then, can't ActiveSync recognize another PC and synchronize the data with it? I mean, I'd only need ActiveSync on both computers and one acting as the host. The connection, once established, would be maintained and any information that changes on one would automatically be synchronized to the other through the network. No third party software needed, no user intervention. Synchronization between the calendar on my PDA through my PC to my wife's PC and subsequently to her PDA would be automatic and seamless. How hard would that be?
As for the music synchronization, that would be too hard either. Windows Media Player already recognizes portable devices connected to the computer and can (after it's setup) automatically synchronize all or part of the media library to the device. Well, I have this device that connects through the network to my computer that I would like to treat as a portable device and synchronize my media library to: it's called my wife's computer. I mean, if some little USB stick can contain the necessary guts for Media Player to synchronize to, why can't a full blown PC be the recipient of such goodness?