Note: The iBird Android apps are now working and in the Google Market. If you have a support issue please go to this page and fill out our support form. Contact iBird Support If for some reason you can’t use that form you can try support at ibird dot com.
You’ve heard the stories.
- The Brittany Spears concert sells out in 10 minutes and the ticket master web site crashes.
- President Obama implores the American people to let “your Member of Congress” know they want a “balanced approach to the budget” and at least nine Web sites for House and Senate leaders go down.
- Target’s web site comes crashing down as Missoni-loving fashion devotees scramble to buy the high-end Italian designer’s clothes for a song.
While this drives us crazy there is one positive side effect; someone did something right to cause all the attention.
I Want My iBird NOW!
Those of you who tried to upgrade the iBird Pro for Android in the Google Market on Wednesday felt the pain as the database took a ridiculously long time to synchronize.
I’m writing here today to apologize for this unintentional faux pas and to let you know we are doing all we can to fix the issue and explain what caused it.
The reason for this, to cut to the chase, was the was much higher demand than our server could keep up with. Why? Well this particular update to iBird made it compatible with a large number of Android tablets launched in the last year. Up till now the app only worked well on smartphones with small screens. This version also contained brand new high res 720p illustrations and photos. These made the database about twice as large as the previous version. So unbeknownst to us the number of customers who had new tablets and wanted to update was huge so within a few hours of the apps appearing in the Google Market our web server slowed to a crawl. Updates of the database, which normally take no more than 5 minutes to an hour and a half were taking several hours.
At first we thought something was wrong with the program. Which was a shock because we’ve spent the last 8 months testing this app over and over until we were sure everything was working great.Whats that saying about an ounce of prevention?
Not.
Unpublish iBird from the Google Market
The only thing we could do at this point was to plug the dike meaning put a stop to the number of people getting caught in this mess. So we unpublished the Pro and Lite apps. We didn’t remove Yard since we had not updated it but its not designed yet for tablets.
No Excuses
Which just goes to show you why software is such a tough business and so many companies find themselves stuck in this situation. Now I know there are those of you out there that feel there is no excuse for this kind of problem and all I can say to you is the world is not perfect and neither are we. We just didn’t anticipate that so many people would want to download iBird at the same time. After all this is not an app that people can’t live without. Or maybe it is? Some of the emails we got: “When are you going to get things fixed so I can update my iBird? This is horrible–I am about to go on a birding tour and I had planned on showing everyone how good I am at identification. Now what am I gong to do? My reputation will be ruined.”
Hence the double-sided coin of pain and pleasure alluded to in the beginning of the story: people love our app more than we ever imagined. Which feels great. But at the same time people have become so dependent on iBird that there’s this huge pressure to keep it running perfectly all the time.
The Android Arms Race
While we are addressing disappointment let me get this out of the way.
iBird is not going to work perfectly on all tablets.
Yep you heard that right.
Why?
A myriad of reasons. For one with the introduction of the tablet the app has become much more complicated. In this current 2.0 update we have made it so iBird “adapts” to different screens resolutions. That might not sound like much much but it’s a really tough thing to get right. You see the so-called Android “standard” is actually a patchwork quilt of different versions. In fact Google has revised Android at least five times in the last three years. And they have created 3 different Android OS’s, one for smartphones, one for tablets and one for televisions (what you have not heard of Google TV?).
Each time Google revises the OS it means that things that once worked fine may now break. As far as Google is concerned it’s the responsibility of developers to keep up with these OS changes.
On top of these changes in the OS we have carriers trying to differentiate their devices from other companies. They accomplish this by making changes to the hardware and the software itself. These changes make each Android device work different than others. There is literally an “arms race” among carriers as they try to make their device better than the other guys. Caught in the middle are developers, like ourselves, who have to make sure their apps can still work on all these devices. Let me tell you its a huge mess. Indeed there is a company called Device Anywhere which has a web site that emulates all the different Android devices on the market. Developers can rent time on their site to test their apps, but trust me it’s not cheap (hundreds of dollars an hour) and it’s so in demand you have to make an appointment to test your app. Nice business to be in but the point is the poor developer is caught up in this ever changing landscape of hardware alternations.
I know some iPhone developers who actually refuse to port to their apps to Android because they can’t justify the amount of work required to keep the app up to date.
With iBird we have tested it on at least 50 different devices. We know there are some Android devices which iBird will not work on. But since Google gives you 15 minutes from the time you make a purchase to the time you can get a refund we recommend you take this time to download the smaller iBird Lite and see if it will work on your device. If it wont then please cancel your order and get refund. Otherwise you have to wait while we try to figure out why iBird won’t run on your Optimus Trend Setter Tablet.
The Solution – CDN
So we have a solution to the server overload issue and it’s called a Content Delivery System. Essentially this is a service provided by different companies such as Akamai, Edgecast, Rack Space, GoDaddy GoGrid and others that hosts media and lets it be downloaded and streamed with high bandwidth. CDNs are typically used for steaming videos and music as well as for downloading software. They do not require that you buy any hardware or even set up any software, rather then give you an account and a browser based dashboard where you upload your content for storage. You get a URL that goes into your application, or a player you can install that is able to download the data from where its stored by the CDN,
How Long will iBird Syncing take with CDN?
The time to sync iBird on the CDN network depends not only on the speed of the CDN network but also your WIFI and your ISP which your WIFI connects to. Its a chain. It starts with the CDN but then goes through these other pipes until it gets to your Android device.
Here are the results I got testing last night using the GoGrid (re-purposed EdgeCast) CDN. This is on a Samsung Galaxy Tab 10 which is a very fast tablet.
Product |
Download |
Sync Time |
Size |
Birds/Min |
iBird Lite 30 |
35 sec |
5 min |
30 MB |
6 |
iBird Pro 924 |
5 min |
90 min |
550 MB |
10 |
Now your own mileage may vary. Note that iBird Lite with only 30 birds downloaded them all in 5 minutes, meaning about 6 per minute while iBird Pro with 924 birds downloaded them all in 90 minutes meaning about 10 per minute. Why? Because with so many more birds iBird Pro has more time to take advantage of the bandwidth and therefore represents a more realistic average.
The bytes downloaded per minute is around 6 MB (550 MB / 90 min = 6.111 MB / min) or about 100K per second. This is pretty fast by most internet standards. But again it is going over WIFI and that puts a pretty good bottleneck in the speed.
Here are the results I got testing the Maxcdn CDN today. This is on a Samsung Galaxy Tab 10 which is a very fast tablet. This is the CDN we finally settled on.
Product |
Download |
Sync Time |
Size |
Birds/Min |
iBird Lite 30 |
22 sec |
1-1/2 min |
30 MB |
20 |
iBird Pro 924 |
2-1/2 min |
27 min |
550 MB |
34 !! |
Note the time to sync Pro went from 90 minutes on GoGrid to 27 minutes on Maxcdn. So the birds downloaded per minute went from 10 to 30. That’s 300% faster!
The bottom line here is the CDN will vastly improve the download time of iBird. We can’t promise you will get the kind of speed we did but hopefully it will be way better than the hours it was taking last week.
Thank you for your patience.
Mitch Waite
Note if you have a support issue please go to this page and fill out our support form. Contact iBird Support