Support for Google Drive, iCloud, SugarSync, Local networks?

YNAB 4 discussion should happen here.

Support for Google Drive, iCloud, SugarSync, Local networks?

Postby Taytay » Thu Jun 21, 2012 12:43 pm

(I didn't have room to list ALL of the alternative services in the subject line)

When we made the decision to implement cloud sync, (and developed an algorithm that would let us do it), we needed to pick a service provider that was:
* Ubiquitous (lots of people already use it)
* Free
* Well known
* Secure
* Easy to work with as programmers from the desktops and the mobile devices
* Easy to work with for our users
* Great in many other boring technical ways

Dropbox was the obvious choice. (More on that below)

Good news:
That being said, if you only want to sync between desktops (Mac and PC), you can use any file-based sync service you want. Heck, you can put the files on a shared network drive and open them from multiple PCs. We wrote it specifically so that the desktops wouldn't care what service you're using.
However, if you want the iPhone and Android apps to cloud sync, you will need to use Dropbox. That's the service they need to speak to.

Q: Why not Google Drive or iCloud?
A: Well, Google Drive and iCloud didn't really exist when we started working on Cloud Sync. For others, see the reasons above.

Q: Why not support more than one service?
A:
1) It's complicated. (We like to keep things simple. )
2) It's expensive in terms of time/support. On the desktop, it's pretty easy for us to support another file sync service, but the mobile apps have to know how to talk directly to the sync service, and every sync service has a different "API," or language they speak. It's complicated enough getting one of them right.

Q: I don't trust Dropbox. This other service is more secure.
A: Dropbox is secure. You can read more about Dropbox security here. They have addressed the lapses they had in the past, and they are now trusted more than any other 3rd party service.
Some stats:
* They save over 1 billion files every 48 hours
* Over 50 million people trust dropbox with their data
* It's installed on 250 million devices.
source

Q: But I disagree with your assessment and don't trust Dropbox
A: As I mentioned above, you can use any other another file sync service to keep your Mac and Windows machines in sync. You just won't get cloud sync with the iPhone or Android.

Q: What data is stored in my file?
A: Obviously, YNAB stores what you put in it, so if you type the location of the buried treasure in a memo or note field, that goes in there. However, we aren't storing bank account numbers and the like without encryption. If you import from your bank, YNAB does need to remember some bank account info so it can remember which account you imported your bank file to, but when it does that, it encrypts the number before storing it. (For you knowledgeable types, it's hashing it with a unique salt). It will obviously be a personal decision on whether or not to use the cloud. We just didn't want you to get the impression that your YNAB data was a sea of bank account numbers.

Q: I don't trust the cloud at all. I don't want Cloud Sync!
A: As Jesse said in another thread, "people have varying degrees of comfort with the data they put in the cloud, and what they keep local. This is why we've made Cloud Sync optional from the get-go. Some people store everything under the sun, all in the cloud. Others wouldn't want one shred of data stored there. It's a personal choice that we're leaving to each user."

Q: But what if I don't have Dropbox? How do I do this? Do I need to get it now?
A: Don't worry. The software walks you through all of that. It's really easy.

Q: Will you expand support for other services in the future?
A: Honestly, we are more interested in hosting cloud sync ourselves, as that would make things even easier for our users and give us more flexibility in the future.

Note: For more general information about cloud sync features, please see my other post: A few more details on cloud sync
- Taylor
YNAB Lead Software Architect
User avatar
Taytay
I program YNAB
I program YNAB
 
Posts: 3145
Joined: Thu Nov 30, 2006 9:20 pm

Re: Support for Google Drive, iCloud, SugarSync, or SkyDrive?

Postby void.pointer » Thu Jun 21, 2012 1:03 pm

Excellent post.

Although I have to say usually the API is irrelevant, depending on how you have your abstractions setup. The business logic (i.e. the core sync logic) should be a layer above the API you use. So long as the sync service supports all of the low-level API functionality you require (read, write, modify abilities, etc), your business logic shouldn't have to change.

The only time supporting other sync services should require changes from the programming side is if the protocol or API changes in some way, but even then that's a minor fix most of the time (again, having things abstracted out into layers helps).

I realize I have a very high-level and seemingly naive perspective on this, but having done software development for a long time, I don't see a maintenance problem here, in theory. The key is using the same core syncing logic (code) for all services, and having that code be service-agnostic.
void.pointer
 
Posts: 106
Joined: Sun Jan 08, 2012 6:53 pm

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby Elessar » Thu Jun 21, 2012 1:32 pm

That's like saying that Oracle support for a Java application should be easy, as just like MySQL, MSSQL, and DB2, the interface is JDBC.

The truth is that the implementations vary wildly and as a software company, you will be tasked with regression testing, QA passes, and supporting for all the odd limitations each service provides.

Honestly the business logic is the easiest part because as you said, it's a simple indirection. It's the adapter that's hard, because you're working with third party code that isn't in your hands.
Elessar
 
Posts: 90
Joined: Tue Mar 27, 2012 10:58 am
Location: Ontario, Canada

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby void.pointer » Thu Jun 21, 2012 1:44 pm

Elessar wrote:That's like saying that Oracle support for a Java application should be easy, as just like MySQL, MSSQL, and DB2, the interface is JDBC.

The truth is that the implementations vary wildly and as a software company, you will be tasked with regression testing, QA passes, and supporting for all the odd limitations each service provides.

Honestly the business logic is the easiest part because as you said, it's a simple indirection. It's the adapter that's hard, because you're working with third party code that isn't in your hands.

I'd argue that the business logic is not the easiest part. In fact, the opposite. Most of your coding goes into the business logic, it's not a simple indirection - if it was, it wouldn't be called "the business logic". The logic involved for synchronization is huge and non-trivial. Constant work will be done in this area.

The adapter (services) code is relatively simple because all you're doing is creating a layer over the API. You may end up having some obscure logic if the API isn't very user friendly, but it's not something that is continuously maintained. It only changes as much as the API or protocol does, which typically isn't very often (and in some cases you can control this by sticking to a specific version of that API).

Of course it's always necessary to have QA make sure it works on all services, but that's their job. If the testing/QA process has been setup in a smart way, QA will only do acceptance testing on the business logic part - automated tests will take care of making sure the nitty-gritty test cases work on each of the services and generate a report for the developers and QA teams.

In the end, no matter what service you're using, the sync feature will (and should) behave the same. From the perspective of QA, this means if we have 20 test cases, those 20 test cases are all usable on each of the services they support. Functionality of sync will be IDENTICAL between services, which is the basis for testing. From a developer perspective, the maintainability of this is separated from the core business logic, so a service adapter must only be maintained or looked at if your automated nightly tests fail due to service API change, for example.
void.pointer
 
Posts: 106
Joined: Sun Jan 08, 2012 6:53 pm

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby quadcom » Thu Jun 21, 2012 2:29 pm

Q: Will you expand support for other services in the future?
A: Honestly, we are more interested in hosting cloud sync ourselves, as that would make things even easier for our users and give us more flexibility in the future.



If this is the intended path I am curious as to why it wasn't part of the original plan. Why even go the dropbox route. Although you have commented on it before you must realize that your product deals with some rather personal and private information that many people wouldn't want on the internet. We have been bombarded by media about how whatever is on the net is fair game and available forever! A little overkill in my books.

I can't see the cost of implementing this yourselves being too great. Although I'm sure you have a pretty good userbase, the amount of data and bandwidth requirements couldn't be that high (or maybe I'm kidding myself). The fact that it would have taken longer to launch this feature I don't think is much of a major concern. The current userbase has been getting on fine without it since V1.0, I'm sure another six months to a year wouldn't have made that much of difference (maybe I'm just really patient lol).

Q.
quadcom
 
Posts: 14
Joined: Wed Oct 05, 2011 11:15 am

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby Taytay » Thu Jun 21, 2012 2:32 pm

quadcom wrote:The fact that it would have taken longer to launch this feature I don't think is much of a major concern. The current userbase has been getting on fine without it since V1.0, I'm sure another six months to a year wouldn't have made that much of difference (maybe I'm just really patient lol).

Q.


Judging from the posts along the nature of, "I can't believe we don't have cloud sync yet! This is so easy! Where is it?", I'm not sure that _everyone_ would agree with you. ;)

But seriously, this is hard enough to do without worrying about the server side of things. There are two hard parts:
1) Moving data around efficiently, easily, and securely
2) Actually figuring out which devices changed what, and when, in such a way as to make it all place nice with each other.

#2 is arguably harder, and that's what we had to tackle, so we left #1 to some other folks for now. I'm not sure that hosting it ourselves is only a 6 month effort to be honest. :)
- Taylor
YNAB Lead Software Architect
User avatar
Taytay
I program YNAB
I program YNAB
 
Posts: 3145
Joined: Thu Nov 30, 2006 9:20 pm

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby smallLife » Thu Jun 21, 2012 6:35 pm

I'm in the "but I don't want Cloud Sync" camp! Single, think smart phones are a waste of *my* money, one computer, and try to limit my reliance on technology for any number of things.

I'm glad that it's optional . . but (always a but).

When you save a file in YNAB4, if you have the cloud enabled, will the data be saved in the cloud? I manually enter in my transactions, don't have any sensitive data beyond someone being able to figure out who I am based on my descriptions and habits, but want the file to be saved somewhere safer than my six year old laptop. I was hoping, as others noted, that the data would be stored internally to YNAB so I didn't have to get an account somewhere else.

I need to look into what the other updates are . . . everything I hoped would be on the upgrade isn't. Fortunately I'm in the "my timing stinks camp" so I won't have to pay for it.
smallLife
 
Posts: 267
Joined: Tue Jun 19, 2012 6:32 pm

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby kmorgan221 » Thu Jun 21, 2012 6:39 pm

smallLife wrote:I'm in the "but I don't want Cloud Sync" camp! Single, think smart phones are a waste of *my* money, one computer, and try to limit my reliance on technology for any number of things.

I'm glad that it's optional . . but (always a but).

When you save a file in YNAB4, if you have the cloud enabled, will the data be saved in the cloud? I manually enter in my transactions, don't have any sensitive data beyond someone being able to figure out who I am based on my descriptions and habits, but want the file to be saved somewhere safer than my six year old laptop. I was hoping, as others noted, that the data would be stored internally to YNAB so I didn't have to get an account somewhere else.

I need to look into what the other updates are . . . everything I hoped would be on the upgrade isn't. Fortunately I'm in the "my timing stinks camp" so I won't have to pay for it.

In short, yes, you can do that.

What I've been doing in YNAB 3 is just save my YNAB file in my dropbox folder, works the same way in 4 if you don't have Cloud Sync enabled. Either way would work.
Ken
------
BS 1 - $0.00 / $1,000
BS 2 - $135,948.86 / $155,489.43
$14,737.46 PAID in 2013
$ 4,237.09 PAID in 2012
$18,974.55 PAID to Date - 12.25% PAID
------
Budgeting to zero is not the same as Spending to zero.
kmorgan221
 
Posts: 480
Joined: Tue Nov 08, 2011 4:51 pm

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby smallLife » Thu Jun 21, 2012 6:41 pm

kmorgan221 wrote:
What I've been doing in YNAB 3 is just save my YNAB file in my dropbox folder, works the same way in 4 if you don't have Cloud Sync enabled. Either way would work.


Still requires a DropBox account (yet another password and e-mail notifications) though. I'll pass on the Cloud Sync but will reconsider if it ever goes in house.
smallLife
 
Posts: 267
Joined: Tue Jun 19, 2012 6:32 pm

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby Patzer » Thu Jun 21, 2012 7:04 pm

smallLife wrote:
kmorgan221 wrote:
What I've been doing in YNAB 3 is just save my YNAB file in my dropbox folder, works the same way in 4 if you don't have Cloud Sync enabled. Either way would work.


Still requires a DropBox account (yet another password and e-mail notifications) though. I'll pass on the Cloud Sync but will reconsider if it ever goes in house.


You don't *have* to save your YNAB 4 file to dropbox. You're free to save it to the local folder of your choice, or a local network drive you control. You won't get cloud sync, but if you don't want cloud sync that's not a big deal. If you have a mobile device, you'll have to use WiFi sync like you did with YNAB 3; that still works.

Patzer
Patzer
 
Posts: 3801
Joined: Fri Dec 28, 2007 6:52 pm
Location: Rochester, NY

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby kmorgan221 » Thu Jun 21, 2012 7:13 pm

Patzer wrote:
smallLife wrote:
kmorgan221 wrote:
What I've been doing in YNAB 3 is just save my YNAB file in my dropbox folder, works the same way in 4 if you don't have Cloud Sync enabled. Either way would work.


Still requires a DropBox account (yet another password and e-mail notifications) though. I'll pass on the Cloud Sync but will reconsider if it ever goes in house.


You don't *have* to save your YNAB 4 file to dropbox. You're free to save it to the local folder of your choice, or a local network drive you control. You won't get cloud sync, but if you don't want cloud sync that's not a big deal. If you have a mobile device, you'll have to use WiFi sync like you did with YNAB 3; that still works.

Patzer

Right, you don't have to use Drop box at all. I was just answering the specific question:
When you save a file in YNAB4, if you have the cloud enabled, will the data be saved in the cloud?

with the two ways I know how to do that. You could always just save locally normally.
Ken
------
BS 1 - $0.00 / $1,000
BS 2 - $135,948.86 / $155,489.43
$14,737.46 PAID in 2013
$ 4,237.09 PAID in 2012
$18,974.55 PAID to Date - 12.25% PAID
------
Budgeting to zero is not the same as Spending to zero.
kmorgan221
 
Posts: 480
Joined: Tue Nov 08, 2011 4:51 pm

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby smallLife » Thu Jun 21, 2012 7:16 pm

Patzer wrote:
smallLife wrote:
Still requires a DropBox account (yet another password and e-mail notifications) though. I'll pass on the Cloud Sync but will reconsider if it ever goes in house.


You don't *have* to save your YNAB 4 file to dropbox. You're free to save it to the local folder of your choice, or a local network drive you control. You won't get cloud sync, but if you don't want cloud sync that's not a big deal. If you have a mobile device, you'll have to use WiFi sync like you did with YNAB 3; that still works.

Patzer


That of course is assuming I have a local network drive ;-) If I do save the file in drop box, do I have to have the program downloaded to open it on another device (quick check during work or while on vacation but without leaving the program on that computer)? All of the hype surrounding cloud sync seems to be about couples and smart phones, neither of which apply to me.
.
@kmorgan221: My "normal" save is to the hard-drive of my computer. I save to an external hard drive occasionally but not as often as I should. Although I mess with the budget often enough to recreate everything should it go kaput.
smallLife
 
Posts: 267
Joined: Tue Jun 19, 2012 6:32 pm

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby kmorgan221 » Thu Jun 21, 2012 7:24 pm

smallLife wrote:If I do save the file in drop box, do I have to have the program downloaded to open it on another device (quick check during work or while on vacation but without leaving the program on that computer)? All of the hype surrounding cloud sync seems to be about couples and smart phones, neither of which apply to me.

Hmm...not sure what you mean. For just about any other file type (Word doc, for example) you could just open dropbox.com and open it from there. With YNAB, sure you could do that to see that the file is there, but you'd need YNAB and Dropbox installed on whatever computer you're working on in order to utilize it.

If you're asking if you can check YNAB from another computer without having YNAB/Dropbox installed, then no, you can't do that. If a web based solution is ever implemented (I'm not sure where on "The List" it is, but I understand it is on the list) then that would be possible.
Ken
------
BS 1 - $0.00 / $1,000
BS 2 - $135,948.86 / $155,489.43
$14,737.46 PAID in 2013
$ 4,237.09 PAID in 2012
$18,974.55 PAID to Date - 12.25% PAID
------
Budgeting to zero is not the same as Spending to zero.
kmorgan221
 
Posts: 480
Joined: Tue Nov 08, 2011 4:51 pm

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby smallLife » Thu Jun 21, 2012 7:36 pm

kmorgan221 wrote: With YNAB, sure you could do that to see that the file is there, but you'd need YNAB and Dropbox installed on whatever computer you're working on in order to utilize it.

If you're asking if you can check YNAB from another computer without having YNAB/Dropbox installed, then no, you can't do that. If a web based solution is ever implemented (I'm not sure where on "The List" it is, but I understand it is on the list) then that would be possible.


Yes, that is exactly what I'm asking - checking my budget on a computer that does not have YNAB installed. If Dropbox and the Cloud can't do that it really isn't much good to me or anyone else without a smartphone and only one computer.

I wish I could hijack "The List" :-(
smallLife
 
Posts: 267
Joined: Tue Jun 19, 2012 6:32 pm

Re: Support for Google Drive, iCloud, SugarSync, Local networks?

Postby Malisa » Thu Jun 21, 2012 7:43 pm

Something you can do now (I'm 99% you can do in 4, but haven't tried it) is have YNAB on a USB drive. Any computer that you can hook the USB drive to can then access dropbox (or another cloud service of your choosing) will work for you. This doesn't require the upgrade, this is one-user at a time, storing the file in the cloud.

You can keep the data on the USB drive too, but it seemed somewhere in there you were wanting cloud backup but not necessarily the full cloud sync that 4 has. I've read a bunch of posts and I might be confusing your wants/needs with others'. But if it's not helpful to you, it may be helpful to someone else.
Malisa
Live classes: http://www.youneedabudget.com/support/training-and-education
Helpful links for new-ish folks: http://www.youneedabudget.com/support/article/181/helpful-links
More: http://www.youneedabudget.com/support
User avatar
Malisa
YNAB Teacher
YNAB Teacher
 
Posts: 5516
Joined: Fri Jun 26, 2009 11:46 am
Location: Southern California

Next

Return to YNAB 4