BoostIO / BoostNote-Legacy

This repository is outdated and new Boost Note app is available! We've launched a new Boost Note app which supports real-time collaborative writing. https://github.com/BoostIO/BoostNote-App
Other
17.06k stars 1.46k forks source link

Google drive Integration #126

Open Rokt33r opened 8 years ago

Rokt33r commented 8 years ago

Google drive integration

Specs

This is because Google drive desktop sucks(same to mobile app). Its refresh detection is too slow often. Also, it doesn't work linux as well.

FIY: other planned targets

twhiting commented 8 years ago

Looks good 👍 I'm personally using boost with Google Drive & OneDrive so these features would def help me.

Rokt33r commented 8 years ago

@twhiting Thanks for reviewing. Btw, I want you to join our slack. If it's okay, please send me a e-mail and I'll send an invitation. fluke8259@gmail.com

tejado commented 8 years ago

Hi, how are you planning to do this integration? I guess you will do this over some clean interface so the storage can be easily changed (from code point of view)? I like to contribute to add further remote/cloud storage interfaces. tjado

Rokt33r commented 8 years ago

@tejado I'm still wondering am I doing right. Quiver's solution is quite simple and easy. https://github.com/HappenApps/Quiver/wiki/Cloud-Syncing But, my solution is quite hard way. Also, there might be a few people who want my solution.

What do you think? which one is better? @twhiting I need your feedback also!

tejado commented 8 years ago

Yeah, the solution of Quiver is really simple. But direct integration would be much better in my opinion. The first remote-storage integration would be tough as it has to solve all the caching/correct sync stuff. I would start simple and abstracting the current data api, so replacing it with a different one can be done without (much) code modifications (sorry if this is already the case, didn't look deep into the code). Automatic detection & reload of file modifications (like Quiver) should be then the next step as this is always necessary, or? Then an additional data api can be developed (e.g. google drive... I would start with something different).

Rokt33r commented 8 years ago

I already made the abstract api and its test. https://github.com/BoostIO/Boostnote/tree/master/browser/main/lib/dataApi

Could you glance over it? I'm actually not sure this api is the best.

Another option is making an adapter of couch DB for Google Drive.

twhiting commented 8 years ago

@Rokt33r I'm in favor of an integration as well. It would help you scale in the future as well (if a mobile app was developed, access all your boostnotes from a cloud api).

Maybe implement a short term solution like quiver now and then work towards a full integration as needed in the future?

tejado commented 8 years ago

I will try to look on this in the next days!

@twhiting Yeah, this is what I wanted to say with my last post! :)

Rokt33r commented 8 years ago

@tejado @twhiting Thanks for your feedbacks. I was afraid if quiver's way would be enough. But, as you said, we should do it eventually.

Also, about https://github.com/BoostIO/Boostnote/issues/153, I think it is good to stick with current way(each note is saved as a file).

akush commented 8 years ago

Currently using Boost with Google drive and OneDrive with workaround. I would love to see native sync support.

screen shot 2016-10-26 at 12 54 31 pm
obedm503 commented 7 years ago

just adding a folder inside the Google Drive synced folder worked, but making it official would be nice

kirtan403 commented 7 years ago

Maybe time to bring this feature up?

I see third party integrations coming soon in the app. It's been already 9 months since the issue is created.

image

Btw, It's been an hour since downloaded the app. And loving it so far 😄

farebord commented 7 years ago

I second that, @kirtan403

duyfken commented 7 years ago

So the iOS and Android apps have dropped #831 but they're not as useful when you can't sync your notes... so any ETA on the mentioned 3rd party cloud integration (and hopefully included encryption #827) for Boostnote at this stage to make these new mobile apps more usable?

itzsaga commented 7 years ago

Might be worth looking at integrating https://github.com/remotestorage/remotestorage.js to achieve the goal. Looks like a lot of the heavy lifting is done already with that.

patrick-elmquist commented 7 years ago

Really like Boostnote but not being able to sync data between Windows and Ubuntu is deal breaker.

kirtan403 commented 7 years ago

I have tried with new google drive sync software and it works great with selected folders. But the problem is it doesn't refresh automatically. You need to refresh in order to load changes done from other pc.

joeypedicini92 commented 7 years ago

@kirtan403 I'm doing the same thing, would be nice if it could somehow auto refresh or at least put a notification somewhere saying the note has changed on the filesystem, would you like to refresh?

patrick-elmquist commented 7 years ago

@kirtan403 yeah but that only works with Windows and Mac right? AFAIK there's no native Google Drive client for Linux (?)

itzsaga commented 7 years ago

@patrick-iv you could use google-drive-ocamlfuse. It's actively developed.

kirtan403 commented 7 years ago

@joeypedicini92 I totally agree. Something like auto refresh would be really nice.

@patrick-iv I'm not sure there is a native google drive sync for linux.

Redsandro commented 6 years ago

Google changed to a new api (v3) in september 2017. There are some options that are multiplatform.

@Rokt33r said:

Boostnote server will provides some kind of MQTT service to broadcast the change event to other devices.

Please don't use a central server. Allow the app to remain totally independent from a central server.

There are other solutions for figuring out files were updated.

  1. Sync with service (e.g. google drive) every n minutes when open
  2. Sync once on startup
  3. On click-to-edit, first check if version on service changed.
ghost commented 6 years ago

I'm afraid I've got to disagree with you, @Redsandro. This project is overwhelmingly no where in the direction of becoming a Freemium product. There are nth applications out there that offer dedicated cloud storage that aren't using a Freemium or Premium business model.

I'm also not aware of any official statements from the FSF saying that having dedicated/centralised storage is a no? If they did, they'd be condemning pretty much every single storage platform.

And with the privacy, I don't get your point? When you host using a third-party network, you're exposed to the same risks that you would be if you used a dedicated network, if not more. Not only does using a dedicated and centralised storage system mean that the policies are designed for Boostnote users, but it also means that you won't have another service to deal with.

Regardless, a lot of the current third-party options cost the more you store. Having a dedicated and centralised networks means that the free quota for whatever third-party option is free for your other files, while the Boostnote storage is free for notes.

Redsandro commented 6 years ago

@ItsPugle said:

This project is overwhelmingly no where in the direction of becoming a Freemium product.

There are always similar words from a stranger prior to "the change". I believe in empirical evidence. My once facorite ExtJS. Or Media Browser (now Emby). Subsonic. Pushbullet. Plesk. Moving towards a centralized server is a tell. Please don't do it. It's not necessary.

I'm also not aware of any official statements from the FSF saying that having dedicated/centralised storage is a no?

SaaSS

If they did, they'd be condemning pretty much every single storage platform.

They do. They promote self-hosting. They gave it some thought.

And with the privacy, I don't get your point?

Are you actually being serious right now? Maybe someone at Google can tell you to use Google Keep. It has a lovely Android app with location-aware reminders.

Having a dedicated and centralised networks means that (...) the Boostnote storage is free for notes.

Who's gonna pay for that server? What if the user base multiplies by 100? Nothing in life is free.

a lot of the current third-party options cost the more you store.

Actually there are more free space options than you would need in a lifetime to store notes.

(Except ofcourse they make money by collecting data. Such as your location every hour of the day.)

And my personal favorites, approved by FSF:

But that was just to respond to your questions. The single most important reason:

It's not necessary. Except for hoarding personal data. Please don't go that road.

ghost commented 6 years ago

In referencing to your article, GNU is independent from FSF. They're merely a principal sponsor. Not only that, but that article was originally published with the Boston Review if you had read the subtext.

Another thing: Boostnote is, for the most part, community-led. All source-code is open source, contributions are welcome and issues are being opened daily.

Not to mention that everything you've listed are exactly that (minus the self-hosting, but it's really unlikely that you're gonna have the whole user base pay for their own systems). They're all proprietary platforms. Basically, it's generic (not designed for Boostnote - everything you've listed) vs dedicated (designed for Boostnote, and most likely, open sourced).

As with Google Keep... I use it daily. It's governed by the Google Privacy Policy. The same policy that dictates Search, Maps, Gmail - all of that. Boostnotes intention is to make notetaking easier for developers, not to make money (as is that of Google). Any policies should reflect that.

As the user base grows, so does exposure. Exposure attracts sponsors. Sponsors pay. Also, as you implied, Boostnote notes don't take up much space, keeping prices low. It's not exactly like you're hosting images or files on Boostnote.

"It's not necessary" isn't a reason. If you always say that stuff isn't necessary, your product will never grow.

Have you thought about the positives of having a dedicated, Boostnote cloud storage network?

For the record, I also don't appreciate your overly condescending tone. I'm not trying to pick a fight - just have a discussion.

Redsandro commented 6 years ago

You're not hearing my objection. This is not productive. I have stated my opinion. It was not directed at you. I rather discuss with people making the relevant code contributions. I'll leave it at that.

ghost commented 6 years ago

I do hear your objections, and I respect them, I just don't agree with them. With all do respect, I'd hope you'd understand that their is more to any application, any platform, any digital thing than purely the people who write the code.

Redsandro commented 6 years ago

I can agree to disagree. I'm all for features that make other people happy, as long as I can 100% opt-out of any home phoning for features that have alternative solutions.

rsimp commented 6 years ago

@ItsPugle What does it matter if it's open source unless everyone has access to the server? You have no guarantee what code a server is running. That's not really an argument against doing it, but open source doesn't really factor in here. By running servers you're choosing to give your trust to the server administrators, there's no way around that.

I'm not necessarily against having servers but as @Redsandro pointed out, they are definitely not free. It also feels weird to me to have a server and not use it for storage. That design seems half way in, half way out and will lead to some really bizarre design choices. Its like a distributed system where you don't own or control certain elements, and in fact only the client even has access to them. If we run a server in this context it really needs to be unnecessary, where the app can run better with a connection but doesn't require one. It seems to me this should be the very last thing to bring in because we'd still need all the same mechanisms as if we didn't have it.

Some other considerations:

rodNantz commented 6 years ago

For Desktop, I think the workaround is pretty simple to do - specially for a "developers" note app. I'm using OneDrive and it works great for me.

However, I downloaded the Android app and found it very basic - apart from Dropbox, no other integration, neither with workaround is available. This is the only thing holding me to still use OneNote

DFelten commented 6 years ago

Same here. I would like to use Boostnote on my mobile phone, but since there is only Dropbox available, this is not possible for me. Also, on my company it's not possible to sync Google Drive with the file system. Here I always have to sync Boostnote manually.

ghost commented 6 years ago

That's a great idea! It would be very useful for most of people!

Flexo013 commented 4 years ago

308