Show Changes Show Changes
Edit Edit
Print Print
Recent Changes Recent Changes
Subscriptions Subscriptions
Lost and Found Lost and Found
Find References Find References
Rename Rename
Administration Page Administration Page
Search

History

9/28/2004 12:42:39 PM
List all versions List all versions

RSS feed for the FlexWiki namespace

Fw Mirror
.
Summary

Concept

I was thinking tonight about how cool it is that I can set up folder synchronization between my Pocket PC and my desktop. I just change files in one place, and they magically make their way over to the other place. This gave me what I think is a great idea for FlexWiki.

Right now, we have FwSync, which is a command line tool for moving files back and forth between your disk and the web. It's written in such a way that all the important bits can be called from a non-console application. So what if someone took those bits and made an application that ran in the system tray (you know, that little area down by the clock with all the icons in it) that automatically synchronized a directory on your hard drive with a FlexWiki web? So every 5 minutes or whatever, it would check the local directory, check the web, and move files one way or the other as needed. And of course you could right-click and force it to "Update Now" whenever you wanted to.

I picture the little tray icon turning colors, animating, and popping up ballons to indicate when it's doing something. If there's a conflict, it can ask you to resolve it before letting anything else happen, or it can simply ignore that file until you fix the problem.

-- CraigAndera

Status

Purely conceptual. I already have waaaaay too much FlexWiki stuff on my plate to take this on right now. I'm hoping someone else will pick it up and run with it, although I certainly will do it if no one else does, as this makes an excellent complement to FlexWikiPad It'll just have to wait a while.

Comments, Suggestions, and Feedback

I'm concerned about the idea that it automatically sends the files up to the FlexWiki server. Unless you're seeing this as an interface for taking the output of another automated process and putting it up there. But if you have such a thing, why not just have that automated process call FWSync with the appropriate options?

On the download side, other than the icon in the status bar, does this provide anything more than just running as scheduled task that calls, say, a batch file like:

 cd /d c:\mywiki
 fwsync /defcred update

What about conflicts? How do those get reported?

I think this is interesting functionality, but since we have FWSync, I'm not sure what we gain from another tool that we couldn't achieve by scripting FWSync.

-- TommyWilliams

First of all, this would use about 90% of the same code as FwSync, which is already factored to allow for this possiblity (thank you, TDD). And you're right - there wouldn't be much here you couldn't get with FwSync running on an automated schedule. Here are the two main points I see in its favor:

  1. Immediacy. This would upload when it detected local file changes immediately, and periodically download. So it would keep the web in closer sync with the local copy than you'd get with an automated process, unless you ran it very frequently.
  2. User experience. Maybe I'm wrong, but I think a lot of users would be a lot happier with a little tray icon that acted a lot more "Windowsy" than some arcane command line tool.

There's no question that FwSync is more "important", in the sense that it enables more scenarios than FwMirror would. But FwMirror would be handy and cool, and to me that makes it worth doing at some point.

Do you see any actual downsides to the tool? In other words, if we had both already done, would you recommend that people not use FwMirror? -- CraigAndera

The one downside of the tool might be its immediacy: I like working with FWSync not only because I can more easily use my preferred text editor rather than the browser (and I don't have to select all, copy to the editor, then copy from the editor and paste back in the browser) but because I can edit and save changes frequently without getting those updates back on the wiki. The primary scenario here is taking notes to post to the wiki site. I don't want to lose anything, so I save frequently, but I don't want to have all those show up as updates on the wiki site.

There's a balance here, of course: by doing the edits offline and not having them go up to the wiki often enough, you lose the benefits of the built-in versioning.

That's really the only downside I see. I agree that many users would prefer the GUI nature of an icon in the notification area rather than the complexity of setting up their own scheduled task. And since it would be a continuously running process, you could watch for changes to the filesystem and upload "on demand."

I still wonder what the experience is going to be like for conflicts -- do you imagine something like ActiveSync with a window that lets you choose to resolve conflicts and gives you choices about which version to keep and which to replace? Or to let you cancel the sync altogether? In this case, I think it would be essential to drop into FlexWikiPad -- maybe FwMirror is really just a component of FlexWikiPad.

-- TommyWilliams

Good points. I guess it comes down to how people are going to use offline editing. If it's just to slap a few changes into a file every few days, then on-demand upload would be fine. If it's heavy editing with frequent saves, then something else is called for. Of course, configuration switches could set it up so that FwMirror never syncs without being told to, and it's just a GUI wrapper for FwSync.

The sync story for FlexWikiPad is less clear. Because we have FwSync, it's not strictly necessary. And it should always be optional, as I believe that FlexWikiPad will be super useful even if you never move the files off of your hard drive. But I guess I've sort of vaguely pictured the topics turning colors in the list view to indicate their synchronization status. I'm not sure if or how that changes if something like FwMirror ever gets written. Or which one should be written first.

For conflicts, I don't really know yet. My vision for FwSync is to do launch an external merge tool, that the user can specify. For something like FwMirror, or whatever winds up in FlexWikiPad, I can see it maybe being quite a bit more simplistic: keep this one, or keep that one? Much like, as you say, ActiveSync. Or we could even try to auto-merge, but that is unlikely to be successful. I just don't know right now: I need to get a fair way farther on FlexWikiPad before I can tackle those issues. Although I'd say that adding the resolve command to FwSync is next on the list once FlexWikiPad is reasonably useful. -- CraigAndera

Not logged in. Log in

Welcome to the home of FlexWiki, an experimental collaboration tool, based on WikiWiki.

This is FlexWiki, an open source wiki engine.

This site supports the new NoFollow anti-spam initiative.
Change Style

Recent Topics