iCloud sync udpate

April 4th, 2012

Back to last year, I discovered an issue with the sync system in Squirrel 0.8.6 and the iPhone application that caused the sync to stop in some cases. I couldn’t find any fix since it was the design of the system itself that was wrong. Since the majority of users didn’t have any problem, I decided to simply work on a better engine in the development version of Squirrel. While I was working on it, Apple announced iCloud at WWDC 2011, and it clearly became the perfect replacement solution for Squirrel, with the big advantage of working over the air.

Concurrently, compatibility issues showed up with Lion, and the decision was made to rewrite most of the Mac application to fix them. Since I wouldn’t want to implement again the corrupted wifi sync system, I decided to leave Squirrel for Mac without any sync feature until the iCloud solution was ready. At that time, I didn’t expect it to take it more than a few months.

Why so long?

The first major problem I had to face was the fact that iCloud is still very new. We still have very little experience and feedback about it. It took some time for Apple to publish the necessary documentation and guidelines, making it hard for all developers to understand the correct way of setting up iCloud in our applications. So the first challenge was to implement the basics of iCloud into Squirrel, both on the Mac and iPhone applications, figuring out the best UX. We’ve come up with a simple switch in the preferences/settings of the apps.

The early versions of Lion and iOS 5 had also critical issues with iCloud, and I also had to wait for fixes to be able to work properly. In particular, my Mac would delete all the data in iCloud at each startup, making it difficult to properly test things on several days… Those issues are fixed in OS X 10.7.3 and iOS 5.1.

Since other developers have also been struggling with implementing iCloud into their own apps, I’ve decided to publish the iCloud code of Squirrel as open source. I expect to help other developers in implementing iCloud as well, so we can continue working on our different apps and figure out the solutions to the remaining issues there are.

Where are we now?

A few weeks ago, I was expecting to launch a beta test “soon”. The implementation is ready and I just needed to test it properly. I’ve been testing Squirrel with my own data for the past 3 months now, and I’ve experienced several situations where the data stopped syncing. While continuing working on the implementation details, I recently got the answer to the problems I had.

What makes a sync system good is the way it handles conflicts. iCloud sync is really great since it’s done over the air, and it only sends and receives deltas, not the whole database. It’s supposed to be very easy to implement for developers. For example the conflicts are handled in a very simple way: only the latest change is kept. It seems to be perfect, but it’s not really what we want, in particular in Squirrel.

Take the example where you and your wife would add a transaction each to the same account while your iPhones are off the network. It wouldn’t happen really often, right? But it would some times. In that case, when both devices come online, iCloud process the changes and find a conflict for this account: it has a different set of transactions on the two iPhones. Which one is correct? iCloud will just take the most recent change. If your wife added her transaction after you, your transaction is removed from the account. Not exactly what you expect. Even more problematic, your transaction isn’t deleted but has now no account, which is “illegal” in Squirrel. Hence the sync cannot continue in this situation, and your iPhone stops syncing!

This is not difficult to understand, and it’s basically the only issue I had during my testings. But it has taken 2 months to figure out the reason why iCloud stopped syncing with my data. The problem is iCloud is meant to be easy for developers, but it’s too opaque: we have no ideas about what’s going on in the background. And if you have to figure out all this by yourself, this is how an implementation can last for ages…

The beta test

This is where we are with iCloud in Squirrel for the moment. I now have good testing conditions, a better understanding of iCloud, and the last remaining issue has been identified. I still have to come up with a solution, but I’m not walking in the dark anymore.

I don’t know yet when you guys will be ready to test the Squirrel apps with iCloud, but I expect it to be before the end of the month. You can follow @squirrelapp on Twitter to be notified.

Development progress update

January 27th, 2012

Squirrel 0.8.12 has been just been released. This update brings back one of the features missing since the transition to Lion and the App Store: the ability to export and print reports. As it’s also been requested, we’ve now added the possibility to print out transactions lists, directly from the ledger, via the File > Print… menu.

We will not be able to re-introduce custom database location. Many users used this feature to host their database on Dropbox, but this is incompatible with Lion’s sandbox security, where applications are only able to access their own containers. Applications in the Mac App Store will have to be sandboxed in March. That’s a requirement from Apple.

iCloud sync progress

The only remaining thing to implement back is syncing. This will be done with iCloud, and it requires OS 10.7.3 for the Mac app, and iOS 5.1 for the iOS app. Both versions fix iCloud storage issues, but are still in beta. As long as they’re not released, we are not able to perform our own beta tests.

As of now, it is more likely that we will begin a Mac only beta test for users who mainly sync their database with multiple Macs. Then we will launch a second phase for the iOS app. Details about registrations will be posted on our twitter account @squirrelapp.

Squirrel 0.8.7 is out!

November 17th, 2011

After a long period of beta test, Squirrel 0.8.7 is finally out. This update can be considered a a pre-release of the 0.9 version which is to introduce iCloud sync. In the meantime, be aware that syncing is not supported anymore. If you require Squirrel to be able to sync, please wait until the 0.9 version is released.

It is a complete rewrite of the application, with a new UI and improved performance. Squirrel’s interface is now much brighter, the graphs are easier to read, and the layout changed to accommodate upcoming features. This version has also been written for Lion. This means that the compatibility issues of the previous version are all fixed, but also that we’re taking advantage of the new technologies of Lion (including full screen support, sandboxing, popovers…). Squirrel is also now much much faster. You can feel the speed bump when importing, editing and deleting a lot of transactions at once, or simply just when launching the application. The most expensive operations (chart updates, multiple currencies operations) are now performed in the background without blocking the application.

Migrating to the Mac App Store

This version is the first one to be available only on the Mac App Store. We’ve already announced that existing users of Squirrel would be able to migrate for free. Here is how you can get your promotional code to download Squirrel on the store : simply send an email to support@squirrelapp.com, and make sure to include your purchase information (transaction reference, or a copy of the purchase confirmation email). Edit: We’re now out of promo codes. Please wait until the next update of Squirrel is released. You can follow @squirrelapp on Twitter to get instant notification.

Squirrel 0.8.7 update

September 11th, 2011

Squirrel 0.8.7 private beta test is about to begin, it’s time for us to announce what has changed.

This update is a complete rewrite that will fix the compatibility issues Squirrel had with Lion. Unfortunately, we had to drop 2 features that will be reimplemented later: iOS syncing, and the ability to export reports as PDF (or for printing).

Report exports

This feature will be re-implemented as soon as possible. The 0.8.7 version will not include it in order to get a compatibility fix as fast as possible available for users who need it.

iOS sync

Squirrel will use iCloud to sync its data across multiple Macs and iOS devices. The former sync system had serious issues that could corrupt the user’s data in some cases. Syncing is a very delicate issue and we trust Apple with providing us with the best solution with iCloud.

iCloud is to be released simultaneously with iOS 5, that’s why syncing can’t be re-enabled until then. The good news is Squirrel has been rewritten from last June with iCloud support in mind. The major work remaining is on the iPhone application now.

Updating to 0.8.7

This version is the first in the history of Squirrel that will remove existing features. You should be aware of the drawbacks of this version, and possibly decide to postpone the update until sync support is restored.

Squirrel 0.8.7 and the following versions will require OS X Lion, and will be available exclusively on the Mac App Store. Users who have not migrated yet will be entitled to get a promotional code to download Squirrel for free.

Squirrel & Lion

July 25th, 2011

OS X Lion has just been released and many people have been asking about the compatibility issues of Squirrel, and when an update will be available.

First, the known issues of Squirrel so far are considered minor and should not prevent you from upgrading to Lion which is a great update. These are usability issues, as some parts of the application stopped working:

  • Schedules can be edited anymore. However, you can still delete them and add new ones.
  • The tags panel doesn’t work anymore. You can still use the tags field to assign tags.
  • Budgets are not calculated at first launch. You need to manually trigger an update for this (add/remove or edit a transaction).
  • The UI changes of Lion makes the own UI of Squirrel outdated.

So what about the update ? I’ve been working on an update on Squirrel since the first syncing issues with the iOS version showed up. The first solution I’ve been working on has just been dropped when Apple announced iCloud back in June. Squirrel will use iCloud as its syncing solution, and drop the current wifi syncing.

Its implementation required Squirrel to be mostly rewritten. Considered the amount of work it represents, it is not possible for me to support multiple OS anymore. That’s why the next update of Squirrel will require OS X Lion. This update will be available for purchase only via the Mac App Store. Existing users who bought the application directly from us will still continue to get update if they haven’t migrated yet.

The result of this transition is a much faster and much more reliable application. Moreover, as we’re dropping support for older OS, Squirrel will include the new functionalities brought by Lion (fullscreen app, new UI elements, sandboxing for better security, more languages very soon and iCloud syncing when iOS 5 comes out).

We expect to launch a private beta in the following weeks, and release the update as soon as possible. You can keep updated about the development by following @squirrelapp on Twitter.

Squirrel 0.8.5 on the Mac App Store

January 26th, 2011

Squirrel is now available on the Mac App Store! This is the opportunity for us to clarify the future of Squirrel.

How about existing users?

First, you must know that it’s technically impossible for existing users to migrate to the App Store. Apple hasn’t provided yet any way to do so. We hope this is only temporary, as this is one of the reasons why we’re not transitioning completely to the App Store.

If you’ve already purchased Squirrel, you will continue to receive updates as before and get full support. It is also still possible to buy Squirrel directly from our store. However, if you haven’t bought Squirrel yet, we encourage you to get your copy from the Mac App Store:

  • The Mac App Store provides the best experience to get your applications. You won’t have to keep any license file. You can install your apps on all your computers, and get updates notifications in a single place.
  • Maintaining two different versions is really hard for us. We already know we’re going to switch to a 10.6 only version available only on the Mac App Store at some point. The only question is when. The sooner you get on the Mac App Store, the better.

Get Squirrel from the Mac App Store after trying it

If you have a copy of Squirrel installed on your Mac, you won’t be able to purchase the app on the Mac App Store. To do so, you must first delete the application from your Mac. Note that your data will not be deleted, as it is stored in your user’s folder. As soon as you download Squirrel from Apple, you’ll find your data back.

This makes it possible for your to test Squirrel before buying it, just as before. When the 15 days trial period is over, simply delete the application and get it from the App Store.

What’s new in Squirrel 2.1?

October 19th, 2010

It’s been a couple of months since Squirrel 2 got released and we’ve got a lot of feedback about it. Squirrel 2.1 is the first update to bring new features and improvements. So, what’s new?

squirrel21c.png

Balances view

The main screen of Squirrel for iPhone only shows one type of balance. By default, this is the current balance. This setting is fetched from the Mac version when a sync occur.

We’ve added a new view in the transactions view to display the different balances of each account. To make it appear, simply scroll to the top of the list, and the view will appear. Scroll up until the arrow turns around to make the view stay visible. To dismiss the view, you can simply press the arrow. This view will show the current, future and reconciled balance depending on what you’ve selected.

New numeric keypad

We’ve got many requests about the ways numbers were entered. We’ve finally chosen to add an option in the settings to let you choose wether you wanted to press the decimal key to enter decimals, or if you wanted Squirrel to automatically fill the decimals.

squirrel21a.pngsquirrel21b.png

Send your feedback

August 13th, 2010

With the recent Mac and iPhone applications updates, we’re getting a lot of feedback. I thought it would be a good time to open our GetSatisfaction page.

Our support platform – Zendesk – currently allows us to provide one-to-one private support. It has replaced our previous public forums, and it’s been a great improvement in our way to keep track of problems and conversations. We’ve been able to fix many issues with it, sharing screenshots and private data. But on the other hand, the community discussions have been pretty limited.

Zendesk and GetSatisfaction recently integrated their services, allowing any discussion on GS to be escalated in a one-to-one discussion on Zendesk. This is exactly what we’ve been looking for.

So if you have any feedback, questions, ideas, don’t hesitate to visit our GetSatisfaction page.

Squirrel 2 to be released on August 12

August 10th, 2010

We’re proud to announce the release of Squirrel 2 on August 12. The application has just been approved by Apple.

Squirrel 0.8.2 will be available the day before. Please, make sure you update before syncing Squirrel 2 for iPhone.

What’s new in Squirrel 2.0 for iPhone?

August 5th, 2010

We’re getting pretty close to the release of Squirrel 2 for iPhone, so here are a few words about this new version.

Squirrel 2 is a complete rewrite of the iPhone application. It now requires iOS 4 as it uses some of its new features. We’re now using Core Data on the iPhone, which means better performance and a complete compatibility with the Mac application’s data.

We’ve added support for multiple currencies, just as in the 0.8.2 version of the Mac application. Each transaction is now managed at two levels: you enter their amounts in their account’s currency, and Squirrel knows how much they’re worth in your base currency.

Most of the requests from our users have been implemented. Transactions are now fully editable: you can set their reconciliation state, tags and notes. Transfers can also be created and budgets are now editable and can be synced with the Mac application. A simple calculator has been integrated to the view to enter amounts. We’ve also extended the autocomplete feature of the Mac application to the iPhone. Adding transactions has never been faster!

Squirrel 2.0 for iPhone will be available soon for $2.99.