IGG Developers' Blog

Cloud Sync…Almost There

December 18th, 2014

This is a brief update on where we are with cloud sync. We’ve been working relentless hours to get cloud sync ready. It’s going to be rolled out in all three of our products, iBank for Mac, iPhone and iPad at the same time. We also have the server component up and running with our new hosting company and with new hardware security features. We’ve even released it to a few people and I’ve personally been using it every day for the past couple of months.

We are very close now. But like all good software, the last little bits of polish and tweaking often take a disproportionate amount of time. Our current plan is to release cloud sync next month, in January.

For those of you new to iBank, or new to the concept of syncing, I’d like to say this: we are not implementing some half-baked “cloud sync” that uses DropBox or iCloud Drive. Those types of solutions are prone to data overwrites and other types of data loss and quickly become a nightmare when you are trying to make new versions of your product. This is a full blown, true cloud sync solution and I can’t wait to get it in your hands.

I always like to include at least one screenshot so I’ll close out this short post with an image of the new option to set up Cloud Sync in our new document setup assistant:

New Doc Setup

 

This will likely be the last blog post before the end of the year. Please have a safe and happy holiday!

 

-Ian


iBank Cloud Sync

November 6th, 2014

As I write this, I’m uploading a fully encrypted copy of my personal iBank document to our new iBank Cloud Sync server. The initial upload takes a few minutes, but subsequent updates are very fast. I’m going to devote this entire blog post to our new cloud-based sync solution. Specifically, I want to talk about where we are with development, some details of the implementation, the release timeframe and most important, security, in terms of implementation and user experience.

Development Status

We hit a major milestone this week: we have all data syncing on both Mac and iOS. That means you could push a full copy of your data on your Mac and pull down a full copy to a document on another Mac, or on your iPad or iPhone. I want to be clear too: this isn’t some baby sync, like sharing a file via Dropbox, which is prone to data overwrite errors. This is a full, cloud-based sync solution with end-to-end encryption for any number of devices. If you can’t tell, I’m really excited to get this in the hands of our customers. The user experience is unparalleled.

For the rest of the development process we need to continue to test internally and uncover as many of the sneaky sync bugs as possible. I’m sure there are some in there, because sync is really hard. We’ve been developing this for over a year and we are now seeing the light at the end of the tunnel. As we continue to fix bugs we also need to finish putting in some of the polish and management utilities, like being able to rename a document on the server, delete documents from the server, reset data on the server with local data, etc.

Release

Once we’ve finished our internal testing and have the few remaining supporting components in place, we will introduce this feature in free updates to iBank for Mac, iPhone and iPad. The new iBank Cloud Sync will first be rolled out as a beta. It will likely remain in beta until the current sync solution is finally removed in a future release, sometime next year. Our goal is to release iBank Cloud Sync as a beta by the end of the year.

Security

This is the most important topic of this blog post. We take security and privacy very seriously at IGG. When we first discussed implementing iBank Cloud Sync, the first question was how to do it securely. So what I want to describe next is what happens to your data, with some heavy security vocabulary for those that are interested. Before I get into the nitty gritty of what happens with the syncing, I want to let users know our Cloud Sync will be rolled out on a brand new server. We implemented this new server setup because we wanted to have a secure backend serving up the data. I don’t want to go into the details of the server setup, but we are having it tested by a third-party security firm, as we’ve done with our other services in the past. An independent audit is a critical step in making sure our servers are secure.

Now let’s talk about what happens during sync. The first thing you will do is choose to push your document to the Cloud Sync server. To do this, you will need a free iBank ID. You will then be asked to name the document as it will appear on the server. However, before iBank uploads anything from your document, it encrypts it. That means no unencrypted data ever makes it to our server. Some companies choose to encrypt the data when it lands on the server, but this did not seem secure enough, so we implemented device-based, end-to-end encryption. First we generate a cypher and use that to encrypt the actual data, we then use a customer supplied password to encrypt the cypher. Only the encrypted cypher is stored on our server. We use the maximum level of encryption natively available on iOS 8, which is AES 128.

Here is a list of the data types that are actually sent to the server:

– Accounts, categories, account groups and smart accounts

– Account connectivity info (e.g. Direct Access and OFX settings, but not passwords)

– Transactions (but not attachments), transaction templates, scheduled transactions and import rules

– Budgets and reports

Here is a screenshot of part of the setup process for sending an iBank document to the Cloud Sync Server for the first time (screenshot is NOT final):

choose-document-name

 

Once all of that data is uploaded to the iBank Cloud Sync server, it can be accessed from either iBank for Mac, iPhone or iPad, or any combination thereof. To pull this data down onto a new device you’ll create a new document that is linked/synced to a Cloud Document. When you login with your iBank ID you’ll be shown a list of all of your cloud documents that are available for syncing. After you choose one, you’ll need to enter the same document key to decrypt the data. If you forget that key/password, you won’t be able to decrypt and see your data. No one at IGG will be able to help you recover this key, because it is yours and yours alone. You will be able to delete the cloud document from the server and start fresh by uploading a new document.

Bringing Cloud Sync to the iBank family of products is major advancement. It makes it easier than ever to have all of your data up-to-date on any device. It also “frees” you from having the Mac be the central hub of your finances. For those that have gone iOS-only, you’ll be able to sync just your iPads and iPhones. One other “side-effect” is that you will also always have a backup of their data. We are really looking forward to getting this exciting technology in your hands.

-Ian


What are you looking for?

October 9th, 2014

We never really stop here at IGG. Even before iBank for iPhone 2.0 was released, we knew what features would be coming in the next release and some were already being developed. Today, I want to give a brief update on what the next release of iBank for iPhone will bring:

Search

This is probably the number one requested feature since release. We originally wanted to ship the first version with search, but once iOS 8 came out we new we had to make some hard choices. Obviously, we chose to get a solid initial release out shortly after iOS 8 with the plan to add “missing” features shortly after shipping. I can also tell you a little about how it will work. If you search from the overview screen, you’ll get your results separated out by account. If you drill down into an account and search, we will only search the current account.

Screen Shot 2014-10-09 at 12.19.51 PM

Default Account

We are adding a “default account” option. If there is a default account selected, then pressing the + button will skip the account picker screen and let you go right in to editing the amount and payee. If you need to change which account the transaction is occurring in, you’ll always be able to do that from the transaction details screen.

Last Opened Document

When a user leaves the iBank for iPhone app and opens a different app, the OS may quit our app. Currently if that happens, when you go back to iBank you’ll have to re-open the financial book you were previously in. We are going to fix that for the next release so that if you go back to the app, we put you back in the last open financial book.

Pull to Refresh

Last, but certainly not least: We are introducing the increasingly common gesture, pull to refresh. In our app this will kick off the refresh sequence: sync, download Direct Access, download security quotes, get currency exchange rates. This will be particularly helpful for users that sync via WebDAV so they can quickly start a sync after they add a transaction.

We are working very hard to get this out to you soon! I’d love to get it in your hands by the end of the month, but please realize that is a goal, not a promise.

-Ian