Download Web Speed Analyzer from Google Play.

I was pretty excited when Google PageSpeed came out for checking web site front end performance, but I was surprised they didn’t release an Android app – just a web page and an API.

webspeedanalyzer-logo-512

I thought it might be fun to work on an Android app that called the Google PageSpeed Insights API, and showed your score and which rules you needed help with. I have a lot of different web sites, most of which are based off themes I get from ThemeForest, WrapBootstrap, MediaLoot, or similar web sites. These themes aren’t always optimized for loading speed and performance, so it’s nice to have a set of things to fix to increase performance.

If you’re a web developer, you can use this to check the front-end performance of your sites, and generate quick score cards. There are a few other Android apps on the Play Store that do the same thing, so you don’t have to just use this one – you can also just use Google’s site as well, of course.ScreenshotNexus10-1ScreenshotNexus10-1

I optimized the app for tablets, and supposedly, it will work on Honeycomb/Android 3.2, although I don’t have access to any tablets from that era for testing – just 4.0 and above. It works well on both the 7-inch, and 10-inch form factors, although I didn’t do anything to differentiate between the two – the next version is going to show more details for each rule, so I may do a 3-pane layout on the 10-inch in landscape.

Probably the most interesting development challenges with this app came from allowing the orientation of the app to change – in Android, that tears down and rebuilds the Activity, so you lose any state information you were holding onto but didn’t explicitly save. You also need to be careful with any network connections you are making, as they could be tied to an Activity that no longer exists.

I’d like to extend the basics of this app to do other metrics/reporting solutions – one idea I had was to create an email deliverability dashboard for SendGrid I could give to clients to see how their generated emails are being delivered (or not delivered, for instance with a bad email address). Another idea would be to provide analytics or metrics for the Drupal CMS. if this sounds interesting to you, feel free to get in touch.