Tuesday, April 18, 2006

Offline Files - broken technology

I'm going to start with a copy and paste from the blog of a Microsoft guy called Jonathan Hardwick (http://blogs.msdn.com/jonathanh/archive/2004/10/06/239025.aspx). I'm doing this because I e-mailed the text below in response to one of his blogs. Now when I go on a Google relating to Offline Files problems, I spot this and get excited because I think someone else is seeing the same thing - then I realise it's just me. However, he closed this page to comments before I got a chance to go back and reply to his posting to my e-mail.

Q: For ages we've been battling with the fact that when a laptop user goes to a remote site, they work quite happily with their My Documents directory cached offline. However, because they are offline, the whole server is flagged as offline. They can go online and access the server, but then the My Documents files start getting dragged across the line - not good if you were on a 9.6k GSM mobile connection from the other side of the planet! I finally found this documented in Q320819. My reading is that before April 2002, it didn't work the way it's now designed. We've basically got to start looking for alternatives but I was wondering if you had any idea or can find someone who knows why.

A: Yes, the offline files algorithm maintains connection state on a per-server basis instead of a per-share basis. This is to prevent hidden dependencies between files on the same server manifesting themselves as inconsistencies between different shares. Having said that, there are two possible solutions I would try:
Turn off all automatic synchronization, and force users to synchronize manually. Of course, this may be unacceptable for user-experience reasons, i.e. they forget to ever synchronize and then bitch because "the server lost my files" :-)
Use the new slow-link behavior in XP SP2, or alternatively the QFE for XP SP1, WinSE bug 37222. The earlier behavior from KB263097 was that after going offline it would auto-reconnect if the link speed was above 64 KB, set by HKCU\Software\Microsoft\Windows\ CurrentVersion\NetCache\SlowLinkSpeed. However, this only affected reconnections rather than the initial connection, so users had to use "csccmd /disconnect" to force files offline on slow links, and it used reported NIC speed, instead of actual end-to-end speed. Not good. With the new behavior, you can set slow-link policy as before, create HKLM\Software\Microsoft\Windows\ CurrentVersion\NetCache\GoOfflineOnSlowLink and set it to 1, and reboot. Now, whenever the user logs in, if the connection speed to that server is below their slow link speed setting, they'll remain offline as far as their offline files are concerned.


Now the problem we find is you head offsite to a remote office. You get up online and windows says "OK, slow link, lets go offline". My Documents - nice-n-fast. So you merrily sit and update a few large files, let's say a nice 30Mb power point file.

Then you want to go to your main fileserver back in head office and grab some files to stick on your local drive (maybe to work on them, or perhaps just to refer to them). So you browse off to the share on the server and you see nothing. Windows says "hey bud, I told you - slow link - you're offline and that's the way it is".

So we can get back online - just force a sync off the offline files. Once it successfully completes, we are back online to the server and we can copy the files. However, there's just the small matter of getting that 30Mb power point file back to the copy of your My Documents folder on the server. And there lies the problem. Until you get that successful offline sync complete, you are high and dry (or offline and disconnected).

Now put yourself in the position of the sales guy, half way around the world, working on a GSM 9.6k connection. He's been away a few days, working on a presentation and a quotation, all in his My Documents folder. Just before the big meeting he realises he needs a file from the server. Just a tiny little file (it's all he can realistically manage on a GSM phone without bankruptcy). Well, "we are Windows and Windows say - NO".

Heard a rumour this will be fixed in Vista, but that's still close to a year away before we even have the option to use it. Realistically we'll want another 6 months on that to let the early adopters cry over the spilt milk. Oh - and everyone will need a new computer. Yup, that'll go down a treat.

There are a few third party apps around. We used SecondCopy for a while back in pre-offline files (NT4) days. It was OK, but difficult to administer centrally and to monitor. I'm currently trying out Peersoftware's Sync-n-Save application. It's better than second copy, but currently crashing a bit (after a hibernation of the laptop) and it's still difficult to configure centrally. Neither application has the capability to pop-up and say "OK, you are away from base, but I can still see your server - do you want me to run, or suspend and automatically resume when you get back to base".

It's usually around this time I pick on the Office Assistants - nice slick bit of programming. I can imagine the team that created them are a pretty clever bunch of people. THEY SHOULD HAVE BEEN PROGRAMMING STUFF THAT MATTERED!

Hmm - I should have an Office Assistants / Waste of Space blog entry, then all I need do is link to it :-)

No comments: