I’m starting Android Series on my blog (yay!). Today I’d like to focus on a news that was announced by Google 2 weeks ago and I feel that this post from official Andoid Developers Blog didn’t get much attention.
I talked with many Android developers on many events and I know how approach for maintaining code can vary. In most cases on conferences we are focusing on technology, technical stuff and we forgot about quality. Don’t get me wrong, I know that Google is trying to change this situation. I’ve been to Google I/O 2018 and I was talking with Googlers about it but I saw also that many developers are more exited about technical news from Android’s world and they didn’t get much attention to this topic. It is worth to mention that new technical stuff we got from Google like Android Jetpack, Architecture Components – they are also here to help us to improve the quality – better architecture – more solid app, less crashes, better performance (so this is connected).
What’s “the quality” in Android’s world?
Posted by Paul Bankhead, Director, Product Management, Google Play
Over the last year, we’ve been enhancing our search and discovery algorithms’ consideration of app quality and user engagement. This means that apps and games that have high retention rates, low crash rates, low uninstalls, and many other factors, are recommended more often.
Recently, we increased the importance of engagement and app quality in our recommendation systems and users reacted favorably to the changes. With more high quality titles being surfaced in the Play Store’s recommendations, people are playing the games they download more often.
Paul Bankhead briefly listed factors that affect the quality of Android applications. We heard in the past that stability and performance is a factor when you are thinking about ASO (App Store Optimization). Now it is more clear what does it mean and we know that Google is already using this factor to filter search results at Play Store (search results, recommendations…). You want more downloads for your app? Make your app stable and don’t forget about performance.
Android Vitals to the rescue!
You’ll find Android Vitals in Google Play Console.
Android vitals is an initiative by Google to improve the stability and performance of Android devices. When an opted-in user runs your app, their Android device logs various metrics, including data about app stability, app startup time, battery usage, render time, and permission denials. The Google Play Console aggregates this data and displays it in the Android vitals dashboard.
Do you care about high retention or low uninstall rate as a developer? Probably you are focusing on crashes, ANRs mainly. It’s not enough right now. You could miss some important factors you’ll find in Android Vitals. It’s easier to understand this when you are working on your app for many years. You’ll see then also that in many cases fixing/improving Android Vitals can be a long term process.
You could say that’s it’s not your problem as a developer – retention, number of downloads – it’s marketing or maybe product owner should care about this. Maybe, but right now you should be aware that with Android vitals as a factor in Play Store you are also responsible for this. All sides of a project should have this knowledge. Product manager was ignoring your suggestions about this? Tasks related with performance were moved to low priority queue? Right now maybe you should change your way of dealing with it. Especially when the app is your business.
If you are a developer don’t focus only on problems mentioned for example in Crashlytics console. Be aware about Androd vitals. I hope that Google in future will move some information from vistals to Crashlytics console.
I started writing more detailed article about Vitals but in my opinion Wojtek Kaliciński’s treatment of the subject is exhaustive. Wojtek posted two great articles about Android Vitals and you should read it:
You are reading this post thanks to Google Cloud. To be honest, I’ve installed this blog “unexpectedly” while testing some features of Google Cloud. Possibility to try WordPress using Google Cloud pushed me finally to fill my empty domain with this blog. It took me just a few minutes.
Few words about Google Cloud
Google Cloud Platform, offered by Google, is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search and YouTube. Alongside a set of management tools, it provides a series of modular cloud services including computing, data storage, data analytics and machine learning (Wikipedia)
You can install WordPress in Google Cloud in a few minutes. WordPress is a part of Compute Engine in Google Cloud. If you want to try it just use Cloud Launcher. You’ll find there WordPress icon.
Using this method you can install WordPress in a few minutes. It will deploy new virtual machine and after few minutes you’ll get web server with WordPress installation. In Google Cloud console you’ll find all credentials (access to SSH, mysql access, PhpMyAdmin, WordPress generated passwords etc).
With recommended WordPress installation you’ll get virtual machine with Apache HTTP Server 2.4.+, MySQL 5.5.+
and PHP 5.6.+. Quick tip, you can use also virtual machine with WordPress certified by Bitnami which is using for example newer version of MySQL 5.7 and PHP7. It is also cheaper but we’ll talk about prices later.
How to install WordPress in Google Cloud
Let’s start from the beginning and install WordPress certified by Bitnami
Click Launch on Compute Engine. You should see the form that is visible on the screenshot below. You’ll see there also price estimation (and like I said, we’ll get to this point (pricing) later. Just make sure to select us-centra1-f and small machine.
Machine type small will give you 1 shared vCPU and 1.7GB which is OK for simple blog. I tried micro (1 shared vCPU, 0.6 GB memory, f1-micro) but this machine was to weak to run my blog without problems. It was working but I’ve got problems with database connections, editing posts sometimes. Just go with small plan at start.
Click deploy and you’ll see that Google is preparing your machine
It will took just a minute and you’ll get all info you need to login to your WordPress installation.
And it’s done! You’ll get URL to your machine and WordPress running. All you need to do right now it to redirect your domain to this URL. Simple, right? With Bitnami version of WordPress you’ll get installation with
Configure your domain and SSL certificate
I’ve create seperate blog post how to get SSL (HTTPS) for your blog for free with Cloudflare: How to get free SSL certificate (HTTPS) for free? If you want to use Cloudflare it’s good to install Cloudflare plugin to your WordPress instance before activating SSL on your domain. This should fix issues with potential redirect loop.
Benefits of hosting your blog on Google Cloud
As always, there are pros and cons. Let’s start from good things.
Scalability With cloud you are paying for the CPU usage/traffic. If you are running site with big traffic – it can be quite a good choice.
If you want to change defaults (Apache, PHP parameters etc), some server settings, it’s not always possible when you are at shared hosting provider. You have the complete control over what you want to do with your machine instance. You don’t have to depend on a single shared server to host your site.
I don’t want to put “pricing” to cons (right now). For small blog, probably it’ll be much more expensive than a standard shared hosting you can get. Let’s be honest – Google Cloud wasn’t created only to serve WordPress blogs and it’s not the best example to showcase it.
I want to git it a try for a few months and we’ll see. Right now with small machine current pricing plan is not the cheapest solution you can get. I read that it’s possible to optimize g1-micro virtual machine for sites like this (with very low traffic).
I switched to micro plan and I’m able to host my blog without any cost right now.
If you are setting up any website today SSL certificate (https://) is a must have. July 2018 will be a game changer and you should be prepared for this date.
While I work in mobile right today I’m getting questions about this because I spent many years working with web and still I’m trying to be up-to-date with new web technologies and trends. This kind of knowledge is also very useful in mobile because web and mobile are connected and this connection in my opinion is getting closer and closer (see PWA, Instant Apps, Flutter…).
(Let’s get to the point) Let’s say you’ve got website without SSL (HTTP) and you are afraid you’ll get some penalty for not having SSL. Is this true? What will happen in July 2018?
For the past several years, we’ve moved toward a more secure web by strongly advocating that sites adopt HTTPS encryption. And within the last year, we’ve also helped users understand that HTTP sites are not secure by gradually marking a larger subset of HTTP pages as “not secure”. Beginning in July 2018 with the release of Chrome 68, Chrome will mark all HTTP sites as “not secure”.
What is also important, this will be additional factor for Google Search results (SEO). If you want to keep top positions in Google’s search results – keep it in mind.
How to add SSL (HTTPS) to my site?
Let’s just simplify this:
You can probably buy SSL certificate at your hosting provider (as your hosting provider)
You can get free certificate from https://letsencrypt.org/ and install it on your server (ask your hosting provider how to do it and what is important – ask if this is possible. I know that not all hosting providers are allowing to do that – because for example they want to sell you one…)
Use Crowdflare service for free and move your website to HTTPS in a minute
I’d like to focus on Cloudflare
Cloudflare provides content delivery network services, DDoS mitigation, Internet security and distributed domain name server services, sitting between the visitor and the Cloudflare user’s hosting provider, acting as a reverse proxy for websites.
It may sound like a sponsored article but it’s not. Cloudflare is really great service that can help you in many ways:
Stop attacks directed at a website
Dynamically modify content in order to improve performance
Insert applications into web pages
Provide rich analytics on all the requests to your website
Automatically determine what objects are static and cacheable at the network’s edge without any user configuration
Provide a network gateway between protocols like IPv6 \<-> IPv4
Make installing SSL flexible and one-click easy
And many more things a traditional CDN can’t provide….
How to set up your domain with Cloudflare?
Read this FAQ tutorial to know how to move your domain to Cloudflare. This is starting point for the service. Once you have it – you can try to use and test it’s features. Just start with Free service
Once you have. Your domain is active at Cloudflare. How to turn on SSL?
Just go to Crypto tab and enable SSL (Flexible can be good start point, for blog, landing page – you can start using it without a problems)
Is that all?
Just check your website and other option in Crypto
If you have mixed content you want to enable also Automatic HTTPS Rewrites and if you want to make HTTPS your default URL Always use HTTPS
That’s it. Check your website, you should see SSL confirmation
So it’s just a friendly reminder for July 2018 and make your users more secure.
As you can see I started my own blog and you are probably thinking why?
What’s the purpose?
I was thinking about starting my own blog years ago. As you can see that didn’t happen and my own domain was inactive for many years. I was posting different kind of things in various social media channels and for years it gave me some kind of illusion that actually it’s the best way to share your thoughts, knowledge and it’s working. I’ve got Facebook or Twitter, I’m sharing my moments there so what’s the purpose? I used the phase “moments” deliberately because it is how it works right now. It’s hard to say what’s the average lifetime for posts on Facebook or Twitter but I after day or two, almost no way will see your content and it’s getting worst because for example Facebook is not showing your content to all of your friends etc. Second point is that it’s really hard to get back to some of your thoughts written there.
I’m not doing this for clicks, views, mostly for myself but you know how it is, if anyone can find it useful I will be really happy!
I’d like to focus on few things right now:
mobile (of course Android)
and we’ll see what else 🙂
So as you can see a little bit of mixed stuff. A little bit of developer’s blog, startup blog, reviews. Who knows. Firsts of all let’s see how it works. Let’s give it a try!
OK, but why in English?
It took me some time to make this decision. For many years right now my primary language is English. For developers or in startups’ world it is also primary language, so why not? And there’s always a space to polish language skills.