GooglePlay
Important: This article is about the GooglePlay, The best of GooglePlay inspiration updated regularly with new designs and info, and featuring the best GooglePlay
Originally Answered: What are the best sites?
GooglePlay , We Always give correct and complete information about GooglePlay, This document provides GooglePlay We want to improve the quality of content for all. By using information about the content you have received, those involved in providing info in .

Advertisement
Showing posts with label GooglePlay. Show all posts
Showing posts with label GooglePlay. Show all posts

Tuesday, December 6, 2016

Saving Data: Reducing the size of App Updates by 65%


Posted by Andrew Hayden, Software Engineer on Google Play



Android users are downloading tens of billions of apps and games on Google Play.
We're also seeing developers update their apps frequently in order to provide
users with great content, improve security, and enhance the overall user
experience. It takes a lot of data to download these updates and we know users
care about how much data their devices are using. Earlier this year, we
announced that we started using href="https://android-developers.blogspot.com/2016/07/improvements-for-smaller-app-downloads.html">the
bsdiff algorithm href="https://android-developers.blogspot.com/2016/07/improvements-for-smaller-app-downloads.html">(by
Colin Percival). Using bsdiff, we were able to reduce the size of app
updates on average by 47% compared to the full APK size.



Today, we're excited to share a new approach that goes further — href="https://github.com/andrewhayden/archive-patcher/blob/master/README.md">File-by-File
patching
.href="https://github.com/andrewhayden/archive-patcher/blob/master/README.md">
App Updates using File-by-File patching are, on average,
65% smaller than the full app, and in some cases more than 90%
smaller.



The savings, compared to our previous approach, add up to 6 petabytes of user
data saved per day!



In order to get the new version of the app, Google Play sends your device a
patch that describes the differences between the old and new versions
of the app.



Imagine you are an author of a book about to be published, and wish to change a
single sentence - it's much easier to tell the editor which sentence to change
and what to change, rather than send an entirely new book. In the same way,
patches are much smaller and much faster to download than the entire APK.



Techniques used in File-by-File
patching



Android apps are packaged as APKs, which are ZIP files with special conventions.
Most of the content within the ZIP files (and APKs) is compressed using a
technology called href="https://en.wikipedia.org/w/index.php?title=DEFLATE&oldid=735386036">Deflate.
Deflate is really good at compressing data but it has a drawback: it makes
identifying changes in the original (uncompressed) content really hard. Even a
tiny change to the original content (like changing one word in a book) can make
the compressed output of deflate look completely different. Describing
the differences between the original content is easy, but describing
the differences between the compressed content is so hard that it leads
to inefficient patches.



Watch how much the compressed text on the right side changes from a one-letter
change in the uncompressed text on the left:




File-by-File therefore is based on detecting changes in the uncompressed data.
To generate a patch, we first decompress both old and new files before computing
the delta (we still use bsdiff here). Then to apply the patch, we decompress the
old file, apply the delta to the uncompressed content and then recompress the
new file. In doing so, we need to make sure that the APK on your device is a
perfect match, byte for byte, to the one on the Play Store (see href="https://source.android.com/security/apksigning/v2.html">APK Signature
Schema v2 for why).



When recompressing the new file, we hit two complications. First, Deflate has a
number of settings that affect output; and we don't know which settings were
used in the first place. Second, many versions of deflate exist and we need to
know whether the version on your device is suitable.



Fortunately, after analysis of the apps on the Play Store, we've discovered that
recent and compatible versions of deflate based on zlib (the most popular
deflate library) account for almost all deflated content in the Play Store. In
addition, the default settings (level=6) and maximum compression settings
(level=9) are the only settings we encountered in practice.



Knowing this, we can detect and reproduce the original deflate settings. This
makes it possible to uncompress the data, apply a patch, and then recompress the
data back to exactly the same bytes as originally uploaded.



However, there is one trade off; extra processing power is needed on the device.
On modern devices (e.g. from 2015), recompression can take a little over a
second per megabyte and on older or less powerful devices it can be longer.
Analysis so far shows that, on average, if the patch size is halved then the
time spent applying the patch (which for File-by-File includes recompression) is
doubled.



For now, we are limiting the use of this new patching technology to auto-updates
only, i.e. the updates that take place in the background, usually at night when
your phone is plugged into power and you're not likely to be using it. This
ensures that users won't have to wait any longer than usual for an update to
finish when manually updating an app.



How effective is File-by-File
Patching?



Here are examples of app updates already using File-by-File Patching:
















Application


Original Size


Previous (BSDiff) Patch Size


(% vs original)


File-by-File Patch Size (% vs original)



71.1 MB


13.4 MB (-81%)


8.0 MB (-89%)



32.7 MB


17.5 MB (-46%)


9.6 MB (-71%)



17.8 MB


7.6 MB (-57%)


7.3 MB (-59%)



18.9 MB


17.2 MB (-9%)


13.1 MB (-31%)



52.4 MB


19.1 MB (-64%)


8.4 MB (-84%)



16.2 MB


7.7 MB (-52%)


1.2 MB (-92%)









Disclaimer: if you see different patch sizes when you press "update"
manually, that is because we are not currently using File-by-file for
interactive updates, only those done in the background.


Saving data and making our
users (& developers!) happy



These changes are designed to ensure our community of over a billion Android
users use as little data as possible for regular app updates. The best thing is
that as a developer you don't need to do anything. You get these reductions to
your update size for free!




If you'd like to know more about File-by-File patching, including the technical
details, head over to the href="https://github.com/andrewhayden/archive-patcher">Archive Patcher GitHub
project where you can find information, including the source code. Yes,
File-by-File patching is completely open-source!



As a developer if you're interested in reducing your APK size still further,
here are some href="https://developer.android.com/topic/performance/reduce-apk-size.html?utm_campaign=android_discussion_filebyfile_120616&utm_source=anddev&utm_medium=blog">general
tips on reducing APK size.


Wednesday, November 30, 2016

Learn tips from Memrise to increase in-app conversions with pricing experiments


Posted by Tamzin Taylor, Partner Development Manager at Google
Play, & Kristina Narusk, Head of Production at Memrise



Getting people to install your app is one thing, getting them to sign up to your
paid offering is quite another. It's important to understand the complete
journey your users take from installing your app to paying for something. Once
you do, you can experiment on the flow to try and increase conversions. Memrise
has found great success in experimenting on their language learning app to
increase the number of paying users.



Four experiments Memrise use to improve conversions



href="https://play.google.com/store/apps/details?id=com.memrise.android.memrisecompanion">Memrise
makes languages fun with a number of different learning modes you can play to
help increase your vocabulary in a chosen language. You can download the app for
free and play some of the modes or take advantage of their premium subscription
offering called 'Memrise Pro' which offers new game modes and additional
features like offline learning. Memrise recently ran a number of conversion
experiments with the main objective of increasing the Average Revenue Per Daily
Active User (ARPDAU). These experiments tested multiple user experience and
pricing experiment scenarios.



1. A/B test how messaging different user benefits can impact
conversion



What they did: Memrise wanted to know what motivation and call
to action would convert the most users to buy a Pro subscription from a locked
game mode in the app. To do this, they ran an A/B test with two similar designs,
featuring different reasons for the user to upgrade, and compared the results to
their original upgrade messaging.













Screen Shot 2016-10-11 at 15.26.00.png


Screen Shot 2016-10-11 at 15.25.34.png


Test A: Focus on ‘difficult’ words with an orange background.


Test B: Focus on ‘favorite’ words with a pink background.






Results: Test A performed the best. Conversion to Pro in Test A
was 28% higher than in Test B. Pro mode usage was subsequently 9.7% higher in
Test A compared to Test B too.



Next steps: After seeing how test A won the experiment, Memrise
applied this creative across the board. Subscribers driven by that particular
mode increased as a percentage of all subscriptions in the app by 16%. Memrise
plans to run additional A/B tests at others points of conversion in the app to
see if they can increase the results even further. They'll also try different
text for the call to actions.



2. Test whether adapting to local price points results in sustainable
uplift



In 2015, Google Play launched new minimum local price levels in countries around
the world. To take advantage of the new price points, Memrise tested lowering
localised prices in certain markets to better match purchasing power. Prices
were an average of 6 times lower during this experiment.




Results: After 30 days, Memrise saw the following changes in
conversions to paid users:




















🇹🇷


Turkey


180%


🇧🇷


Brazil


182%


🇷🇺


Russia


99%


🇲🇽


Mexico


115%


🇮🇳


India


5.1%


🇮🇩


Indonesia


152%


🇰🇷


South Korea


120%


🇹🇭


Thailand


70%


🇲🇾


Malaysia


27%






Next steps: The change in price affected the subscription
dynamics with more users taking advantage of Memrise's in-app discounted offer
in most countries. The offer was for annual subscribers only and has led to a
positive effect on LTV. One insight from the experiment was that Indian users
prefered to have the option to subscribe in weekly or monthly increments and not
just annually. Memrise is still tracking carefully to see whether the discounted
subscription pricing will lead to an increase in conversions.



3. Test when and how often you offer free trials to see if that affects
conversion rate



Memrise occasionally offers users, who aren't Pro subscribers, a free trial of
one of the Pro game modes while cycling through the various free modes. After
the free trial session, users are presented with an offer to subscribe. Memrise
experimented with the offer's timing making it appear more frequently while
users were cycling through normal free sessions Instead of after every 49th
session, users saw the unlocked mode after every 21st session.













Screenshot_unlocked.png


Screenshot_unclocked_offer.png


An example of a free trial of a Pro mode.


After completing a free trial, users see a discounted subscription offer.






Results: Offering a free trial more frequently paid off. The
conversion rate increased by 50% while all other conversion rates remained the
same.



Next steps: Memrise maintained the more frequent offer cadence
and has seen revenue growth as a result.



4. Test whether seasonal discounts result in more conversions

Memrise launched a 'Back to School' campaign presenting all users with a
discounted annual plan offer for a week in September 2016. The aim was to
convert more users and generate higher value users from annual subscription
plans.




Screen Shot 2016-10-11 at 16.03.14.png




Results: Memrise saw two effects from the seasonal offer. As a
result of only presenting an annual period and removing weekly and monthly, 20%
fewer users per day converted to Pro. However, because more people were taking
an annual subscription than a shorter subscription, the average revenue per day
increased by 32% justifying the change.



Next steps: Memrise plans to test different offers in the
future with a combination of subscription offerings. They'll also focus offers
in countries like Turkey and Mexico, where they saw the biggest increase in
conversions.



Keep experimenting and take advantage of new features to improve the
user experience and increase conversions



At Playtime San Francisco, href="http://android-developers.blogspot.com/2016/11/welcome-to-playtime.html">we
announced that introductory pricing for subscriptions would be coming soon
and the feature is now live. By continually testing messaging, pricing, offers,
and free trials or discounted trials, you could increase the conversions in your
app and your ongoing revenue just like Memrise. Learn more about href="https://developer.android.com/google/play/billing/billing_subscriptions.html?utm_campaign=android_discussion_pricingexperiments_113016&utm_source=anddev&utm_medium=blog">Google
Play in-app billing subscriptions and href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets">get
the Playbook for Developers app to stay up-to-date with features and best
practices that will help you grow a successful business on Google Play.




How useful did you find this blogpost?