Realtime Collaboration, Now For Every Mobile Developer
Since the release of the Realm Mobile Platform, we’ve seen how much more powerful an app becomes when developers add truly collaborative features, with multiple users sharing data with one another in realtime. The key element needed for this is client-defined access control, a feature that had been limited to paying Enterprise Edition customers. Today, we’re bringing access control to all editions of the Realm Mobile Platform, so that every mobile developer can bring realtime, multiuser collaboration to their apps – even with the free Developer Edition of the platform.
To make this all work, we’re launching new functionality in our Cocoa and Android client SDKs to expose the access control permissions on a Realm managed by Realm Object Server, so that your users can take control over who has access to their data.
It’s simple: a user who owns a Realm can share it with other users by creating a
PermissionChange object, and specifying a user and a new permission for him (such as
mayWrite). After the
PermissionChange object is created, that object gets saved to a special management Realm, and synced to your Realm Object Server, which will then apply the requested changes to the specified user.
By using a dedicated synchronized Realm along with the
PermissionChange object to communicate with Realm Object Server, this naturally takes advantage of Realm Mobile Platform’s objects-as-APIs approach. The
PermissionChange will be synchronized automatically and Realm Object Server will react to the change and update the object with the status. Objects become the new API, making requests offline-first and immune to networking failures, and all you need to do is add some client-side code to make it work.
For more information regarding how to use the new APIs, check out the Realm Object Server documentation and relevant sections in the Cocoa and Android documentation. Then download the free Dev Edition, build something cool, and tell us about it – we’re eager to see what you can create.