The offline-data package is designed to provide a consistent view of data across browser windows even while offline. The cost is incompatibility with the Meteor.Collection API; for example, updates made to a collection don't appear immediately as they do with the local data in a Meteor.Collection but instead only appear after the conclusion of a database transaction (which will be in a future tick of the event loop).
However we may not care about strong consistency sometimes:
For an application which is only offline intermittently, the data will be synced with the final server version anyway.
It's probably rare that there will be conflict, especially if local updates are made in response to user actions (a user won't be triggering events in two different browser windows at the same time).
It may not be an application that will commonly have multiple windows open (though a user may open more than window by accident).
A compatibility mode that relaxed the consistency requirements could provide an offline collection that could be plugged into code written for a standard Meteor.Collection.
The offline-data package is designed to provide a consistent view of data across browser windows even while offline. The cost is incompatibility with the Meteor.Collection API; for example, updates made to a collection don't appear immediately as they do with the local data in a Meteor.Collection but instead only appear after the conclusion of a database transaction (which will be in a future tick of the event loop).
However we may not care about strong consistency sometimes:
A compatibility mode that relaxed the consistency requirements could provide an offline collection that could be plugged into code written for a standard Meteor.Collection.