How is this different than NowJS (http://nowjs.com/)? I don't mean to imply that two similar modules cannot exist; I am just curious if there is some fundamental difference between the two or if Racer is just a project that isn't as far along.
NowJS is a framework for building realtime web apps (that doesn't do model synchronisation).
Racer is real-time model synchronisation.
Fundamentally they are completely different. They happen to use similar technology stacks and both contain the word 'realtime' but they are completely different projects. They actually might work quite well as compliments to each other.
I came across this project yesterday. It's obviously very early days for this particular project but I submitted it to HN because I thought client/server data synchronisation might be an interesting topic for discussion.
It absolutely is, but "in active development" is to me another word for useless. SproutCore has been in production as MobileMe for three years and it still has difficult bugs. Let's see some source code, or implementation details - something worth talking about. All the page has right now are pretty words and broken demos.
And FWIW an implementation in nodejs isn't useful to most people. It's a cool proof of concept, but since nodejs isn't an everyday environment for web development, popularity will come by way of a clone in ruby or python.
The way I've handled that in the past to have a bit map for every attribute so the object owner can indicate which properties have changed, in some cases one side or the other is the owner of that attribute so it is accepted by default, sequence numbers can resolve other conflicts, and then custom merge logic can resolve others. Works perfectly.