the Ashes Blog

« back to AshesApp.com subscribe to the Ashes Blog (even if you don't use Fever°)

Getting Acquainted with Sync

If you are using Ashes on your iPad you probably have noticed that the sync is, well, always syncing. You may have even wondered why its syncs from the past to the present or why it has to sync every little item.

Let's give you a little background on the Fever° API. When Ashes 1.0 launched, Fever° was still on version 1.14. This version contained the first public API. We discussed what we were looking for in a Fever° app and mapped out a sync system that would handle everything in the fastest way we knew how. Although we only optimized for databases upwards to 20,000 items for the 1.0. At the time we thought this was large. When the 1.0 hit the App Store we discovered how mistaken we were by sizes of Fever° installations that people were reporting.

The Internals

If we want people to be happy with Ashes a lot of things had to get better. So we ended up rebuilding the sync system from the ground up to work completely differently. We ended up decreasing network connections, memory usage, and cpu usage.

The prior version of the Fever° API forced us to download every item in Fever° from the past to the present. This proved to be difficult to work with because Ashes is not useful without the newest items. Another difficulty we faced was the item limit per request. We are only allowed to download 50 items in a single request. So if you have 60,000 items you are calling the server at least 1,200 times. Many people reported sync times of at least 2 hours for databases this large.

Our single most important goal for Ashes 1.0.2 was to get people from launch of the app to reading instantly. The way we achieve this is by utilizing new Fever° API calls that allows us to download items selectively. We download the unread items and hot links first. This may still take a minute or two but we deliver the information to the interface when it is available.

The Plan

All of these performance enhancements will be available in Ashes 1.0.2. We are still working through our todo lists on the new update and will be starting beta testing early next week.

If you have any questions or want to be a part of the beta program, contact us (support@ashesapp.com or @ashesapp).

— Tom (@tomkrush)

posted on July 08th at 02:22pm

Welcome to the Ashes Blog

Hey, all! Been a wild week as we got into the App Store and discovered two big bugs, one causing an instant crash (which was easy to reproduce 100% of the time) and one that affected a small amount of users, but caused Ashes to stop syncing without a complete database. These two, of course, made for a few angry emails and a lot of people notifying us of these preventing them from using Ashes at all.

We have responded to over 100 emails and tweets, trying to address each and every one of you individually. Obviously, we care about your user experience and hate that these two big bugs were not caught in our beta testing. Within the next week, hopefully, we'll see the 1.0.1 update in the Store to fix these bugs, among other minor improvements. This is our fault, and we are working to rectify this as soon as humanly possible.

As for moving forward, there are quite a few items on our plate:

So, welcome to the Ashes Blog. Follow us on Twitter @ashesapp and subscribe to our RSS feed here for the latest information about bug fixes, feature announcements, and much much more.

— James (@thefinley)