There seems to be quite a lot of movement happening behind the scenes at the Play Store - yesterday we discovered that Google Play Store gift cards and wishlist are getting prepped for launch, and today Google seems to have enabled those smart app updates that we've been salivating about since Google I/O.

Normally, when an update to an application comes out, the Play Store downloads it in full, which with large apps and slow connections can get quite painful (think 50MB+ sizes). Smart app updates, announced at an I/O session in June, was the solution. When enabled, only the incremental difference (a.k.a. the delta) between the old and new apks would be sent over the wire, thereby saving huge amounts of data for both Google and Play Store users.

Ladies and gentlemen, we have verified that these incremental "smart" updates went live recently, very likely last night or this morning, with the release of the 3.8.15 Play Store. Here's the good news: it should also work with earlier Play Store releases, like 3.7.15, as the change seems to be retroactive and server-side.

How about an example? The ezPDF Reader app weighs 6.34MB, but the delta is only about 2.7-3MB. It's even more drastic with Instagram's update from this morning - the Play Store only has to download about 3MB out of 13.

image image

Check out the two videos I just shot showcasing smart app updates. The first one shows an update that was released a while ago, before smart app updates got enabled on Google's backend - it downloads in full. The rest of the five apps (one in the first video and four in the second one) all clearly have smart update enabled and download only a portion of the full size.

Brilliant, absolutely brilliant, Google. Users and carriers will love you for this, and I'm sure you won't mind those terabytes of savings as well.

Thanks, @hushm0nk3y, @varunkb, @nikhilpai, and @rakeshkhabiya!

Artem Russakovskii
Artem is a die-hard Android fan, passionate tech blogger, obsessive-compulsive editor, bug hunting programmer, and the founder of Android Police.
Most of the time, you will find Artem either hacking away at code or thinking of the next 15 blog posts.

  • skitchbeatz

    I think i've experienced this before last night with an update to a game.

  • Bretton Key

    This is pretty big, this will help out a lot, especially those without the high end smartphones to keep up with their apps updating better.
    This should definitely spur a significant difference in update efficiency.

    One more reason why I love Google and #Android

  • Ken Fose

    Yes! Innovation ... and a little common sense, to save on our ever-growing data requirements.

  • http://www.androidradar.de/ Leif

    This is really great. Now just the game publisher need to host their additional game data on Google Server and not on their own. While Indie Developer already do it some of the big developer still don't use this functionality. Maybe because they're used to it, maybe to avoid the 15min refund time.

    • http://www.androidpolice.com/ Artem Russakovskii

      I think the big guys are starting to do it as well. You oftentimes see 50MB+ sizes as reported by the Play Store, which means they're using Google hosting.

      • http://twitter.com/jackfifield Jack Fifield

        Asphalt 7 Was a 1GB+ download from the Play Store. No data downloaded in app.

  • Nikhil K

    Why are the updates still in MBs?! Understandable for major updates, but I'm hoping when an app has only bug fixes, it would be a very, very small update.

    • http://www.prosoftstudio.com/ Brandon Enriquez

      Sometimes developers including other things in additional to their said bugfixes. Just features that are not ready to be made active.

    • http://www.androidpolice.com/ Artem Russakovskii

      We don't really know how the deltas are calculated - if they're created off the binary files after everything has been packaged up into an apk, then I can see a whole lot of overhead. It's not like all it does is diff the source code text (that would be in kilobytes). Even if you change 1 character in the source, the compiled version is likely going to be different by way more than 1 character, hence the bloat.

      • Eric

        The only way they really can calculate them is by comparing the classes.dex file (the code), xml files, and media files that are stored in the APK (which is nothing but a glorified zip file). If the classes.dex file changes, there's a good chance they have to send the whole new version...luckily the code usually doesn't take up too much storage. Media files would have to be sent in whole too. They're big, but don't change very often, so it's not a huge deal. XML files are probably the only things where it's even feasible to send a delta on, since they're plain old text, but they're so small that I doubt Google would bother.

    • Eric

      It's because of the way code gets compiled. When devs compile their Java code into an APK, they also use a tool called "Proguard," which is used to optimize and obfuscate their code. It's what makes it harder for other people to just decompile apps and steal work, and also slims down APKs and makes them run slightly faster. Unfortunately, Proguard obfuscates code differently depending on what changes you've made. While a developer might only change a line, the obfuscated and optimized version might actually have changed quite a bit.

      • Game Changer

        @Eric.. sounds like a great news, but I have just 1 concern and that is: Will the smart app update in some cases cause bugs or crashes or strange behaviours or stablity issues to the updated app?? As the registry and the codes are partially incremented which may possibly be slightly mismatched or incompatible with the previously installed version of the app which is to be added with somthing totally new and function as a unit..I am concerned because more often we see users who were satisfied with the previous version of the app finding issues as soon as they update and starts complaining about it..Even I had a personal experience about the issues..

  • fixxmyhead

    why is ur wifi so slow? almost 1 min to download 15MB

    • http://www.androidpolice.com/ Artem Russakovskii

      It started out OK, but then choked up down the road for some reason. I blame Comcast. Or Samsung.

      • fixxmyhead

        LOL its probably comcast. that was pretty slow for wifi assuming u have that performance plan up to "20Mbps". i have time warner 10 Mbps connection and it downloads by the MB's not KB's all the time. 30$ a month +tax for 1 year but u gotta ask them for it cuz they hide that promotional plan. damn bastards even tried to sell me one of up to 3Mbps for 50$ a month
        before i mentioned the other one i was like WTF give me the other one thats cheaper and faster

        • Simon Belmont

          Cool story, bro. Got any others?

          Do you measure your manliness in megabytes too? Har har.

          • fixxmyhead

            glad u liked it. i got more if u wanna listen

            was it a good entertaining story?

          • Simon Belmont

            Do tell. I am at the edge of my seat in anticipation. :D

            After I get done watching this paint dry. That is. ;)

          • fixxmyhead

            OK here it goes this one happened last night its a little x rated. So I flashed the latest official aokp nightlie on my s2 and everything was working smoothly even the camera throughout the day. So the wife and I decide to get a little frisky later that night and I was giving it good to her so I told her during if I could record her (she rarely lets me) needless to say the freaking camera crashed and kept force closing -__- I was so freaking mad. Anyways we finished and were both good but I went to xda and told whitehawkx that he owes me big time ( only kidding of course but to really really fix the cam issue). Afterwards we just went to sleep

          • http://profiles.google.com/mortenlu Morten Ulveseth

            Holy shit, I bet you could go on all day. Give us another one!

          • fixxmyhead

            That's all I got. Nothing interesting happened today

  • Alessandro

    Great news!
    But, do you mind to tell me how do you have that "Download" and "Upload" below your notification bar? And anyone know what is that notification sound? Maybe if I have the name I can find it somewhere to download. Many thanks!

    • http://www.androidpolice.com/ Artem Russakovskii

      Network Monitor Mini https://play.google.com/store/apps/details?id=info.kfsoft.android.TrafficIndicator - I have this installed on all my devices. <3

      • Matthew Fry

        I had the same question. That's cool. Thanks for asking, and thanks for the reply Artem.

      • fixxmyhead

        same here i got this when u guys mentioned it months ago

      • Matthew Fry

        This brings up an interesting idea (assuming it hasn't already been done) Have you guys thought about doing an "Apps on all my devices" series with maybe a list/article from each of the writers? I know you've done best of's (which are great) but I haven't seen an essentials list.

        • http://www.androidpolice.com/ Artem Russakovskii

          We might do that at some point. Thanks for the suggestion.

  • Eggcake

    Very nice!

    GPS Test update: only 100kB.
    What's also interesting: Google Maps update said it was 8.3MB, but it only downloaded 3.x MB before switching to "instaling"!

    • http://www.androidpolice.com/ Artem Russakovskii

      That's kind of the idea. It says the full size, yet downloads the delta.

  • Anonymous

    Is this Jelly bean only?

    • http://www.androidpolice.com/ Artem Russakovskii

      No. The phone in question is running ICS btw.

      • http://pandu.poluan.info pepoluan

        What about GB?

        • http://www.androidpolice.com/ Artem Russakovskii

          Not sure, don't have any of those left, but I don't see why there'd be a difference. As long as you have a modern Play Store, you should be able to benefit from smart updates.

  • Falconator

    Downloaded Maps update and it grabbed the full file. All in due time I guess.

    • http://www.androidradar.de/ Leif

      Same for me on Maps updates, but on other updates it worked. Like Instagram and some other.

  • http://btwnworlds.tumblr.com/ Lou G

    So this is like iOS update? Sorry for the comparison (i know I'll get downvoted) but I'm new to Android and trying to put it into terms I understand.

    • http://www.androidpolice.com/ Artem Russakovskii

      From what I've heard today, iOS also does delta updates, so yeah, sounds like it.

      • artimusClyde

        Or if you use linux, repos have similar behavior. In Fedora, deltarpm shrinks the updates to only what is needed to update.

        • http://www.androidpolice.com/ Artem Russakovskii

          Yup, I use OpenSUSE, and it handles updates the same way (delta rpms).

      • mynameismolotov

        I was under the impression iOS itself is a delta update (ie system updates), but apps still require a full update.

        • Simon Belmont

          This is correct. System updates are deltas.

          App updates are full downloads. Cheers.

          • http://www.androidpolice.com/ Artem Russakovskii

            Thanks for clarifying.

          • Simon Belmont

            No problem. You're quite welcome.

            I wonder if Apple will be adding delta app updates soon. Perhaps with a hint of calling it magical, no doubt.

    • h4rr33

      No, it's not. ALL iOS apps needs to be downloaded at their full size regardless of previous versions. The upcoming iOS6 *might* have it. http://techpp.com/2012/08/14/ios6-delta-updates/

  • http://twitter.com/ro1224 Robert Oliveira

    Maybe that'll help downloading updates on my Sprint 3G connection, which is currently averaging between 0.1 and 0.5 Mbps down. Hysterical isn't it? :-/

    • http://www.androidpolice.com/ Artem Russakovskii

      I got an AT&T LTE hotspot just to have my phone hooked up to it via Wi-Fi and get some decent speeds. Surprisingly, it has come in handy way more times than I thought, so the $42 a month for 5GB (after 15% employee discount) has been worth it. Still waiting for that LTE, Sprint.

      • http://twitter.com/ro1224 Robert Oliveira

        Gee, I'm sorta late reading these replies. (oO), but what the heck.... At home I have a free AIRAVE from Sprint. It was that or break my contract and file complaints with BBB to get them to eat the ETF. At work I can sometimes ride off the corporate WiFi, but everywhere else it's a real crapshoot. Where I get Sprint LTE it does well, problem is that the footprint isn't large enough. :-)

  • aatifsumar

    Smart App Updates have been around for quite a while guys. As I tweeted, Great Big War Games got an update on August 5th. The entire game is huge (~119MB) but the update was just 7MB. Screenshots attached. (http://a.yfrog.com/img875/7652/jvmh.png and http://a.yfrog.com/img808/715/svhb.png)

    • http://www.androidpolice.com/ Artem Russakovskii

      Pretty sure that this was the base app that was 7MB, with the rest being data downloaded from the Play Store data servers, and it was showing an update to the base app only. As you can see, the way smart app updates work is they display the full app size that's being updated, then cut off at some percentage because the delta has finished downloading but the Play Store is showing the full apk size.

      • aatifsumar

        Ah. Makes sense. Oops.

  • HomerSp

    Isn't it a bit confusing that it says it's downloading x / y MB where y is the full size of the apk, not the delta or patch file? Would be better if it said something like downloading patch and the patch size.

    • http://www.androidpolice.com/ Artem Russakovskii

      Sure would be - currently the notification area correctly displays the progress of the delta, but the one in the Play Store app doesn't.

      • HomerSp

        So it does. That's even more confusing as regular people who don't know what delta updates are won't know which progress bar to trust.

        Guess Google will send out an update that fixes this.

  • http://twitter.com/rakeshkhabiya rakesh khabiya

    Thanks for the mention guys. @rakeshkhabiya

  • jdrch

    Anyone else getting "error parsing package?"

    • http://www.androidpolice.com/ Artem Russakovskii

      I got it one time, but retried, and it worked.

  • Tee

    So the files are updated á la Windows update now? Good move.

  • http://www.facebook.com/LukeStoneHm Luke Johnstone

    This will truly help us out in places where bandwidth is still pricey. ie South Africa :P

    • http://www.nclf.net/ Goldman60

      Or in the US where every carrier charges exorbitant amounts of money for 2gb of data a month

      • http://www.facebook.com/LukeStoneHm Luke Johnstone

        in south africa, it costs you R2 per MB. That's $0.2 per MB.

  • Jammrr

    Dead trigger only needed to download 98% of the 150MB! I saved so much bandwidth!

    • http://www.androidpolice.com/ Artem Russakovskii

      That's because apparently the smart updates don't apply to additional data files. I had this very concern earlier, and it looks like it was legitimate. I hope Google enables it for data files too - those are usually much larger than apps.

  • Simon Belmont

    I'm assuming this works from Gingerbread and up? Or maybe FroYo?

    This is a win for the carriers, really. It helps reduce bandwidth usage from large app updates.