I was very interested when I first heard of the Live Mesh product that Microsoft are building, as it looks like it might solve some of the problems I have working on three separate computers (see my previous post on Live Mesh here). It's very rare indeed that I would say this, but on this occasion, Joel Spolsky just doesn't get it.
I signed up at the Live Mesh site to be part of the beta test, and my invitation came through last week, so I installed Live Mesh on each of the three computers, which went smoothly.
Remote Desktop
The first thing I tried was to connect using the remote desktop feature, which worked well although it got the aspect ratio of my laptop screen wrong, and the speed wasn't that great. I eventually crashed FireFox though.
I tried again while I was at work to connect back to one of my home PCs, but it told me that the PC was in use (presumably my wife or children), so I am not sure what the rules for it letting you access are.
One slight downside to the remote desktop is that it does require you to install an ActiveX control, meaning that if you were to be on someone else's PC and wanted to connect back to your home desktop, you would need to install the ActiveX control on their PC.
Folder Sharing
The other key feature I wanted to try out was folder sharing. It is trivially easy to set a shared folder up - simply right-click it and choose "Add folder to your Live Mesh" from the context menu. However, I immediately ran into some limitations. I couldn't share my pictures or my music because currently you must share all folders into your space in the cloud, of which you are limited 5GB. Microsoft have hinted that future versions will allow you to share just between computers without requiring online storage too.
So I decided my test would be to share a folder of source code on a project I am working on. This would allow me to browse and potentially work on the code from other PCs. The project I chose had quite a large source code folder, which ran to just over 1GB. It uploaded to the cloud remarkably quickly, but very soon I was thinking of additional features Live Mesh needs if it is to be really useful.
- I want to exclude certain file types and sub-folders within a synchronized folder. For example, the contents of bin and obj folders are not needed, and one of my subfolders contained a lot of unnecessary data files that I didn't want uploaded.
- When I did a build, so many files in the synchronized folder were changing that the Live Mesh application was using a lot of CPU (my work PC is very underpowered). I could do with a simple way of temporarily turning off sync and turning it back on when I am finished making major changes. This would be a must if I used Live Mesh to share folders for Digital Audio Workstation projects. I would not want it trying to synchronize while I was recording. Update: I have just noticed that the Live Mesh client has a "work offline" option which would probably suffice for most scenarios.
- On my home PCs, I would like to be able to browse the code in this project, but I don't really want to be modifying it (for one thing it is a VS2005 project and my home PC only has VS2008 installed - it would be a disaster if I inadvertently upgraded it!). It would be great if I could set up a folder as a read-only synchronized copy. This might also be useful for music or photo sharing in some instances.
Concerns
As I mentioned in my earlier post, one of my concerns is how much of my monthly broadband allowance Live Mesh will eat up. The ability to synchronize between locally networked devices without going via the Internet would help a lot.
I am also beginning to wonder whether Windows Live OneCare's backup has the intelligence not to back up the same files twice from two PCs in my OneCare circle. Because if I started sharing photos and music, I wouldn't want to start doubling my backup disk space requirements (my USB backup hard disk is getting quite full).
Conclusion
Live Mesh has a lot of promise. If MS can address some of these limitations I have mentioned then I can see the Live Mesh client being a must install on all the PCs I work use.
The fact that it is all or nothing when synchronizing a folder is a little awkward. It means that I would have to either share loads of smaller folders, or radically reorganize my folder structures on my PC so that all things I want to share (e.g. source code projects, documents etc) go in one folder, and the things I don't want to share go in another.
I'm really looking forward though to seeing what features Microsoft will add to Live Mesh, and I've signed up already to try out the SDK when it becomes available.