Skip to content
This repository has been archived by the owner on Oct 24, 2021. It is now read-only.

Meteor apps in offline mode #16

Closed
wants to merge 2 commits into from
Closed

Meteor apps in offline mode #16

wants to merge 2 commits into from

Conversation

brajt
Copy link
Contributor

@brajt brajt commented Oct 8, 2015

It would be great to have some official guidelines on how to prepare Meteor apps to work with data in offline mode and push the changes to main database after the Internet connection is established. It's an important use case especially for apps frequently used in phones.

  

It would be great to have some official guidelines on how to make Meteor apps to work offline and synchronize back with main database after the Internet connection is established. It's an important use case especially for apps frequently used in phones.
@apollo-cla
Copy link

@brajt: Thank you for submitting a pull request! Before we can merge it, you'll need to sign the Meteor Contributor Agreement here: https://contribute.meteor.com/

@stubailo
Copy link
Contributor

stubailo commented Oct 8, 2015

This is actually a bit of a pain point with Meteor right now - it's not quite designed to work seamlessly across long reconnects. A fair number of people have been asking for better answers about this topic though in my memory.

I imagine the closest solution right now would be something like GroundDB? https://atmospherejs.com/ground/db

Maybe we can get the authors on here to see what they think - @raix @urossmolnik, do you think GroundDB meets this requirement well? Is it something we should include in the guide? Are you guys using it in production?

@brajt
Copy link
Contributor Author

brajt commented Oct 8, 2015

In my case it's rather "I plan to" than "I do". It's a crucial functionality for the app I'm writing, but development of it is not at the stage when I'd worry about this matter yet. I was just inspired by the recent discussion on forums and thought it would be great to have this topic touched by the Meteor Guide. However, if you decide it's not important enough, it's fine for me.

@stubailo
Copy link
Contributor

stubailo commented Oct 8, 2015

Can you elaborate more on what functionality you want in your app exactly? The best thing we can do to get some information in the guide is to get a lot of really specific data so that we aren't writing about something people don't actually need.

@tmeasday
Copy link
Contributor

tmeasday commented Oct 8, 2015

I suspect the answer is rather than "we don't think it's important", rather "we don't have anything definitive to say". I'm not sure we want guides that are less than definitive on a topic @stubailo?

@stubailo
Copy link
Contributor

stubailo commented Oct 8, 2015

I feel like if there is a very important topic where we don't have anything to say, we should figure out what to say, no? Or do you mean that there won't be a one-size-fits-all solution for offline data?

@tmeasday
Copy link
Contributor

tmeasday commented Oct 8, 2015

What I mean is that a 'guide' that's just a collection of ideas and "try this package, it does some of what you need" isn't that helpful. I think that kind of experimentation is best left to community efforts like the Meteorpedia.

Not to say we shouldn't have a open PR/issue/md file that's like "we need a better story for offline mode, we need to fill in these blanks somehow, hint hint community" -- I just don't think we'd publish it yet.

@stubailo
Copy link
Contributor

stubailo commented Oct 8, 2015

I think you're right. Let's keep this open a while and see if anything comes out of it.

@brajt
Copy link
Contributor Author

brajt commented Oct 8, 2015

In my case it's a simple "be able to read and edit text documents (creative writing) in offline mode without the need to export them outside of the application". So as it's not a complicated case, I'm pretty sure one of already existing solutions like GroundDB will do a good job here.

I agree that if there's no official thought on the topic yet, there's no point to write about it in the guide. Then, just +1 from me for a better story in Meteor for offline mode. :)

@raix
Copy link

raix commented Oct 8, 2015

I'm rewriting Ground:db at the moment, we are using it in prod. Its not just about offline support, its also a way to scale. Eg. Resuming a session instead of sending all the data to each time - something to come.

@stubailo
Copy link
Contributor

OK let me know when there are developments!

@stubailo stubailo removed the content label Oct 27, 2015
@fabiodr
Copy link

fabiodr commented Nov 5, 2015

I saw some demos sampling offline implementation.

While i haven't seen really good production cases/material about the subject, maybe a basic guidance can be done with the resources today available.

A warning that a more advanced usage like 'sync conflict resolution' is yet maturing in the community should be explicit too.

Good news @raix sounds relieving you are looking at this feature improvement.

@raix
Copy link

raix commented Nov 6, 2015

@fabiodr yeah, I'm planning some time for it in december if time and @jperl allows it
@stubailo can we sync up some time and talk about "resumable" subscriptions? - I know the code was semi in there but was removed by @glasser in a cleanup - It would be valuable to have a way of resuming subscriptions and only sending the actual updates, but kinda hard to do atm without rewriting / hacking core.

@stubailo
Copy link
Contributor

I think we might not include this in the initial version of the guide. Meteor is currently really not designed for this use case - "some demos" is not really a good base to make a recommendation from.

Is there evidence of someone using this stuff in production successfully?

@fabiodr
Copy link

fabiodr commented Dec 21, 2015

https://github.com/subvisual/tripl.it
http://triplit.groupbuddies.com/
https://subvisual.co/blog/posts/45-offline-web-apps-with-meteor

Hey, just realized this one is a production mobile app published in Google and Apple Store :)

They even stated in the repo description that choose Meteor because it has easy offline implementation (using groud:db), if i got it right.

"This version of tripl.it uses meteor. The reason for that is the out of the box offline database, synchronization and conflict resolution."

@brajt
Copy link
Contributor Author

brajt commented Dec 26, 2015

I'm fine with this topic not being included in the initial version of the Guide, but hope it will hit it later. :)

@mitar
Copy link
Contributor

mitar commented Feb 11, 2016

What is the progress on this? It seems the pull request got stalled?

@stubailo
Copy link
Contributor

@mitar the consensus with @tmeasday and I is that the options for offline data are currently not good enough to suggest something reasonable. Going to close this PR because it's just a one-line addition to an outline, if someone has a more concrete suggestion we can talk about that.

@stubailo stubailo closed this Feb 11, 2016
@stubailo
Copy link
Contributor

Filed an issue: #233

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants