First of all, a big THANK YOU to all of the techies here who have taken the time to accurately explain the complexities of what we've already done and why putting the database on a network drive for multi-user access would be a disaster trying to happen.
Now, to clarify the concerns about the database being tied to local hardware. If you have a database on ComputerA and back it up, you can take that backup to ComputerB and restore, with NO ILL EFFECTS. If you've already logged into your account on ComputerB before doing this, everything works immediately. If ComputerB is a brand new installation that has never talked to our server, the very first thing ComputerB will require you to do is login to our server. That way, it can automatically fixup the few details that reference ComputerA in the database to now reference ComputerB - something that's done implicitly if ComputerB has already connected to our server. Once that's done, you're off and running.
As for the technical details behind this, remember that we have to be able to let users create content on multiple computers INDEPENDENTLY and OFFLINE. And we have to do this in a way that GUARANTEES that all content created on ComputerA can NEVER have an id that conflicts with content created on ComputerB. This requires that we uniquely identify each computer and coordinate that identity with our server to guarantee uniqueness. Once that's done, all new ids generated on a given computer are safely ensured to satisfy those requirements.
We key on a variety of variables to uniquely identify a given computer. If those variables change, the computer will need to contact our server to get a new "identity" value before new content can be created. Obviously, this occurs when you switch computers. However, this behavior will also occur if you're using the same machine and simply replace the network card, for example. Once the new identity is coordinated with the server, a few quick fixups are made and then you're running smoothly again, but nothing can be changed until a new "machine identity" is coordinated with the server.
There is absolutely nothing here motivated by DRM or control over how you access stuff, and it's personally very frustrating when that's the reaction many consumers have had to this architecture. In reality, it's all dictated by the desire to let users have MAXIMUM FLEXIBILITY in how and when they access their content, but we have to also guarantee that all that flexibility NEVER yields a conflict that will CORRUPT their data. It's a very difficult task that we could have simply solved by requiring users to always be online. But that wasn't our objective, and I'm very confident that allowing users to work offline is a huge benefit offered by Realm Works. The problem is that the flexibility has a trivial (IMO) cost, which is that we have to lock the client databases to specific machines in order to ensure everything works correctly.
I hope this all makes sense and helps alleviate the concerns over DRM and control.
