Category Archives: Google I/O

WWDC and Google I/O 2015

I normally pull together my list of highlights from Google’s and Apple’s major events a lot sooner than this, but this year neither had the immediate big pull or wow factor moments that the last couple of years did. Both events felt much more incremental in what they presented, with few surprises. Instead we saw expected advancements for services that were already in place, and OS evolutions of features that were already provided elsewhere, either by third parties or by rival platforms.

As such this year felt very much about updates, improvements and honing. While these, perhaps unfairly, don’t always have the same immediate impact as big centre ring reveals do, they do arguably impact on the lay of the land just as much, albeit over a longer, more drawn-out period of time. So, here is the list of announcements that I’ll be following the progress of through the rest of 2015 into 2016.

WWDC

Apple Pay
Obviously this is a big one even though it was known about already, and especially for me because they announced the UK date. It has been a bit of a patchy start for the UK, but the list of participating banks now includes (as of 7th August):

  • American Express
  • first direct
  • HSBC
  • mbna
  • Nationwide
  • NatWest
  • Royal Bank of Scotland
  • Santander
  • Ulster Bank

Bank of Scotland, Halifax, Lloyds Bank, M&S Bank and TSB are listed as coming soon. No sign of Barclays in the UK although they have been quoted as saying it will be supported ‘in future’.

Check out this link for further details on the Apple Pay UK launch. For help with setting Apple Pay up see here.

As convenient as Apple Pay can be, be aware of (not so) edge case failures, such as if your battery dies whilst you’re on the tube – you could find yourself being charged £8.80 for a single trip.

iPad split screen multi tasking in iOS 9
We’ve been expecting this to come for a while, given Microsoft’s support of it on their tablets and how well that works, so it was good to finally see this arrive at WWDC 2015.

SlideOver, Split View, and picture-in-picture are the three flavours of advance multitasking that Apple will finally add to their mobile OS. These are supported by a new task switcher that you access by double tapping the home button.

Slide Over allows you to swipe in an app from the right, which will then take up a third of the view whilst pausing the main app you were currently using. So no, it isn’t true multitasking, but it is a quick and convenient way of accessing apps that are developed to support this functionality, whilst not coming completely away from the main app that you are using. If multiple apps are available that support this feature you can change the app you’re pulling in by swiping down from the top of the screen to scroll through the selection. You will need at least an iPad Air or iPad mini 2 to use this feature and the new Picture in Picture functionality (which allows you to watch a video or take a FaceTime call whilst continuing to utilise another app).

If you have an iPad Air 2, then you can also use the new Split View feature, which does allow true multitasking. This is accessed by pulling a Slide Over view even further across the screen in order to take up half of it. Split View allows you to use each app independently of each other at the same time, dragging and dropping between them as required, and using a four finger swipe in order to change what app is in each half.

Apple’s new search features
Apple’s Spotlight and Siri search functionality will be benefitting from the introduction of ‘natural language’ technology, deeper linking into apps, and more immediate, pushed based, context sensitive search results.

With natural language functionality you can speak a sentence in a much more comfortable way and Siri should be able to discern what you mean and come back with appropriate results.

With deep linking, developers will be able to index content within their apps and websites so that it is then eligible for inclusion in search results pulled together by iOS 9. For example this might include top stories from a website, or recipes from a cooking app etc. – whatever your content or service may provide, if you can index it it can be included for consideration in searches.

The new Proactive Search functionality means your search view will be context aware, pre-populating itself with content based upon key factors – the entries in your contacts list, what apps you have installed (along with an awareness of when they are commonly used) and your current location (in conjunction with the Maps app). Used together, these will all contribute towards generating meaningful information and suggestions as you need them.

With regards to development check out Apple’s App Search Programming Guide. Also worth a read is this article, which covers difficulties found with setting up universal linking in the recent iOS Betas (universal linking allows either an installed app or website to be linked to as required).

App thinning
With the help of the App Store and OS, developers will now be able to optimise the installation of iOS and watchOS apps, with the deliverable tailored specifically to the capabilities of a user’s device, thus ensuring a minimal footprint in each case regardless of the spec of the phone or tablet or watch. It should ensure that apps are optimised to use the most features possible per device installed on, whilst also occupying the minimum disk space necessary. Faster more tailored downloads and more space for apps on your device can only mean a better user experience.

See Apple’s app thinning guide for how slicing (creating and delivering variants of the app bundle for different target devices), bitcode (an intermediate representation of a compiled program that can be used to re-optimise your app binary in the future without the need to submit a new version of your app) and on-demand resources (resources such as images and sounds that the App Store can host and manage the timely download of for you) can be used to achieve faster downloads and initially smaller app sizes that will improve the download and first-time launch experiences of users.

watchOS 2
Version two or Apple’s watch OS brings a number of updates and additions with it that make the Apple wearable proposition even more interesting.

As with Android Wear, the Apple Watch previously ran the apps on the phone with the device on your wrist, in most cases, simply acting as a display. Now we have the ability to run apps directly on the watch itself. It should mean less lag in some situations and the possibility of further innovative uses for the watch, but it remains to be seen how the battery will hold up under prolonged use of apps installed directly onto the device and not onto the phone – experience with the betas so far is mixed to say the least, so we shall see. Native apps will be able to access the watch’s microphone, speaker and accelerometer. They will also be able to utilise the digital crown control for custom UI elements – all things developers couldn’t do with the first version of watchOS (as third-party apps could only run on the phone and communicate with the watch without the ability to utilise the watch’s hardware).

Developers will also be able to create custom Watch complications now. A complication is a custom watch face designed to display a combination of useful (or perhaps not so useful) chunks of data. When designed well, a complication can do a great job of surfacing data and making it easy for a user to take in at a glance.

Apple are in fact opening up a lot to developers now with watchOS 2: video playback, contacts, the Taptic Engine, HomeKit, and more. It’s like finally being given the keys to the candy store. However, it remains to be seen if developers, given this new level of freedom, can create more meaningful, more responsive and more useful apps than some of those that we have seen up to now. I’m sure it’s only a matter of time (no pun intended).

Apple News
Apple News replaces Newsstand and will work in a similar way to Flipboard, allowing users to customise the way items are displayed. It will keep track of topics and news services that are of interest to the you, ensuring relevant articles are collected and displayed. A number of known publishers have already signed up for launch.

Will Apple News kill off the likes of Clipboard and Pulse? On the surface it’s not particularly different from the rest. It has a head start though in terms of being built into the OS, so if it lives up to expectations will people go else where for their news service when they can get it here? It is interesting to note that Apple are intending to curate their content, looking for editors who can help them identify and deliver the best content for readers. Flipboard too, is highlighting their use of curation and managed content in the wake of Apple’s announcement.

Apple News is available across all devices, but like Flipboard, really looks best on the iPad.

Google I/O 2015

Android Pay
Google Wallet didn’t pick up steam as hoped, so will Android Pay get it right this time around? Available to phones running KitKat or higher, it will provide the user with the means to make purchases in apps and through the tapping of NFC sensors, and if your phone has a fingerprint sensor (see below) you can use that to authenticate the purchase. Google tell us that the service will work at 700,000 stores, however there is no news on when the service will be available in the UK. It’s not clear if it is the potential amendments to UK and European law that are holding up a UK launch or if it is something else, but with Apple Pay already over here paving the way, and with the huge potential for mobile payments starting to come into it’s own, Google will want to progress with this as quickly as they can.

App permissions
When you buy an app on Android, you’re greeted with a list of permissions that to many mean very little, but are in fact really important for understanding what you are allowing an app to do and have access to on your device. Android M (Google’s latest version of the Android operating system) brings with it a revised list of permissions, smaller and easier to understand than what is presented now.

Permission requests will be presented to the user on launch of the app or on the first instance that a permission is required, rather than on download of the app as it has been up until now. For some this will be quite a change, as the permission list can be the final decision maker in downloading an app from Google Play. Nevertheless, you’ll be able to revoke permissions on an app by app basis, so the control is still very firmly with you, and interestingly this is much more akin to how iOS works in terms of handling permissions.

Power management
USB-C support comes with Android M to provide faster charging times. Obviously you need a device with the new socket, and on the surface it may seem like a nuisance having a new connecting cable to deal with again, but USB-C brings with it a whole bunch of other supporting features that can be utilised if an OS supports them. See here.

Back to power management though; Android M will also come with a feature called Doze, which is designed to prevent apps from draining your battery when you’re not using your phone – this is done through detecting a lack of motion in the device and setting a number of policies as a result. In the past battery enhancements have had to rely, to varying degrees, on developers doing the necessary on their side. With Doze however, Google are much more in control of the actions being taken and the enforcing of them. During a Doze state your phone will:

  • Disable network access for everything other than high priority Google Cloud Messaging
  • Ignore Wake locks (indicators that an application needs to have the device stay on)
  • Disable Alarms scheduled with the AlarmManager class, except for alarms set with the setAlarmClock() method and AlarmManager.setAndAllowWhileIdle()
  • Prevent WiFi scans from being performed
  • Prevent syncs and jobs for your sync adapters and JobScheduler from running

When the device exits Doze state, it will execute any jobs and syncs that are pending, so it is still down to the developers how missed notifications will be handled once a device becomes active again. Google have provided a testing guide for developers here.

Offline modes for Google Maps, Chrome and YouTube
A full offline mode is coming to Maps, meaning you’ll be able to save maps and use them in the same manner as if you were connected – viewing places, looking at route details and stepping through turn by turn navigation.

With Chrome you now have the option to view a saved copy of a web page if you’re facing connection issues i.e. if you’ve fully or partially viewed a page already you can still look at it if you subsequently loose connection.

YouTube will provide an offline feature as well, available on KitKat (Android 4.4) and above, that will allow you to save a video offline onto your phone for 48 hours – great for the underground commute or long car journeys with the family.

Google Now on Tap
Google continues to develop it’s ability to push useful, pertinent information to you, at any point, with the introduction of Google on Tap. Essentially it’s Google Now without having to leave an app.

Hold the on-screen home button and a view slides up containing the knowledge graph of information based upon where you are in the OS or what app you are in, and provides a set of shortcuts to apps and content that should be useful. Combining this with Google Now’s ability to understand very non specific questions using voice search based on the context they are asked within, means this can be a very helpful and easily accessible feature.

Take a look at the use case covered in this article to get a feel for how this might work. It will be interesting to see how this and Apple’s new search features will compare over time.

Android Wear
Apple Watch has stolen a lot of attention away from Google’s wearable OS recently. To many it appears to be taking the lead in terms of what wearables can do. Those better acquainted with Android Wear may feel this isn’t the complete truth – regardless I feel Android Wear could have benefitted from a bolder display than what Google gave us this year, in order to reassert itself (especially given the head start it had in being available to the public). Here’s what Google showed in order to play catch up:

Always on apps – apps can continue to be active even in the low-energy display mode, ensuring that their information can be easily glanced at whilst on the go. Examples include checking the distance covered whilst on a run, looking at a shopping list and checking what else you still need to get, or following navigation directions using Google Maps. Have a look at the developer resources to see how to incorporate this into your Android Wear apps and to see how they will perform on older versions of the OS that do not support apps running in ambient mode.

WiFi and GPS – the latest version of Android Wear will allow your smartwatch (if it supports it) to take advantage of WiFi connectivity in order to deliver notifications and other actions to your wearable, even if you don’t have the phone that it is paired to with you. This means that if you were to leave your phone at home, on your desk, or in your car (heaven forbid), your Android Wear smartwatch will continue to bring you content as long as it has an accessible WiFi connection. Your phone, wherever it is, must have an active data connection as well, be it via WiFi or a mobile data network. This article goes into some further detail on how it all works together.

Wrist Gestures – you can now navigate through notifications and check them in more detail via a flick of your wrist. For example a flick outward for next, and one towards you for previous. Work has been done to reduce the possibility of false positives, however you can turn this functionality off if you’re the kind of person that talks with their hands and you feel that this kind thing is just asking for trouble.

Draw Emoji Characters – drawing an approximation of an emoji will see it converted to an actual image or response for the app you’re using, such as responding to a text. If your drawing skills are next to zero, there is a pull up list you can utilise instead.

Chrome Custom Tabs
At present, clicking on a web link from within an app means either loading the Chrome browser (which is a heavy context switch that is not at all customisable) or using a basic in app web view in order to develop your own custom browser solution. Google announced Chrome Custom Tabs to provide a better more practical alternative to these – allowing a developer to open a custom Chrome Window on top of the active app instead of having to open the entire Chrome app separately. You can set the toolbar colour, entry and exit animations, and add custom actions to the toolbar or overflow menu. Additionally you can pre-start the Chrome tab in order to pre-fetch content to improve the loading speed when the link is selected.

Fingerprint sensor support for future Android devices
Android M has built in support for future Android devices that will come with a fingerprint sensor. Unlocking the device, authorising payment in the Play store and through Android Pay, will all be possible via a fingerprint scan. Developers will be able to use it within their own apps too.

Cloud Test Lab
Testing is a difficult thing to conduct for Android apps, given the multitude of devices out there combined with the unfortunate variety of OS versions that they still run. To combat this Google announced Cloud Test Lab, their Android app testing service. When a developer submits an app through the developer console staging channel, Google will perform automated testing on what it considers to be the top 20 Android devices from around the world. Testing of this top 20 is free, though Google eventually plans to extend the service beyond the top 20 devices via a service that developers can pay for.

If the app crashes on any of the selected devices whilst walking through it, a video of the app leading up to the crash, along with a crash log, is sent to the developer to help them with debugging. Obviously the service will also help developers recognise layout issues on devices they may not have the means to test on normally – something that will benefit both Android developers and users in the long run.

This year it’s all about optimising and keeping up with the Joneses…
It’s evident that Apple and Google are doing a lot to improve their mobile OS offerings with this year’s iterations. Right now the focus on evolving the feature set and refining what is already there seems sensible, but next year we’ll all be expecting a lot bigger bangs from both.

The key announcements from Google I/O 2014

Due to personal and work commitments I was unable to put in a post covering Google’s I/O announcements at the time, so even though I’m (incredibly) late to the party on this one, here’s my belated list of takeaways from Google’s 2014 event.

Android usage continues to climb

Senior Vice President at Google, Sundar Pichai, said Android now has more than 1 billion active users per month, up from the 538 million figure stated last year.  Historically, Google measured Android usage in terms of total device activations, but now uses a 30 day active statistic.  I think it’s good to consider the latest Android version stats when considering the overall active user number (all below versions of Android support the Google Play Store app):

Data collected during a 7 day period ending on August 12, 2014

  • 2.2 (Froyo) 0.7%
  • 2.3.3 – 2.3.7 (Gingerbread) 13.6%
  • 4.0.3 – 4.0.4 (Ice Cream Sandwich) 10.6%
  • 4.1.x (Jelly Bean) 26.5%
  • 4.2.x (Jelly Bean) 19.8%
  • 4.3 (Jelly Bean) 7.9%
  • 4.4 (KitKat) 20.9%

So, it’s great to see those Android user figures climbing and climbing, but we’re still stuck with that (OS version and device spec) fragmentation issue.  What’s Google trying to do about that?

Android One

The Android One program has been created to provide guidelines for a unified Android experience, specifically with smartphones aimed at developing markets in mind.  The objective for Google is to dictate the minimum hardware requirements that manufacturers must adhere to worldwide if they wish to attain Google’s official ‘Android One’ status.

This is no magic bullet for solving Android’s fragmentation problem, but it is at least a move in the direction of a more coherent Android experience across devices.  Applying methods such as setting a minimum specification should mean a certain level of performance can always be expected.

Saying that, you have to remain current and attractive to consumers too – and the only way Google is going to continue to do that in the smartphone space is by introducing a new, latest version of Android.  Unless Google can force OEMs to use the latest version of Android in new devices (as they were widely rumoured to be considering in February this year) or at least make it easier for OEMs to upgrade the OS of phones (something Android One should help with) then fragmentation is likely to remain a feature of the Android landscape.

It’s the flip side of the coin – you can’t have variety without the troubles that come with making Android work on every permutation of hardware and software that a manufacturer chooses to add to the mix.  This article may be two years old, but if gives you an idea of the numerous hurdles that stand in the way of resolving this issue.  It also asks the important question, “is it really a problem?”.

L Developer Preview

Android’s upcoming L release (the successor to Android KitKat) brings a number of cool items with it, along with the crystallisation of approaches that, again like Android One, focus on bringing a consolidated experience to all devices.

Google’s new approach to a unified cross platform UI, called Material Design, is an aesthetic overhaul concentrating on making content look similar across the myriad screens sizes that now make up the growing Android ecosystem.

To help designers and developers produce simpler, cleaner and more colourful UIs, Material Design is accompanied by a set of tools for making customised typography, grid and colour changes, as well as an updated prototyping tool called Polymer for creating smooth animations running at 60 fps.  Check out Google’s guidelines for building a consistent look and feel with fewer distractions here.

From what I’ve seen of it in action, the focus on object depth/weight and animation does indeed bring the OS to life, but I’ve yet to have a hands on go with it.  It does seem to be going in the same direction as iOS 8 and Windows 8 – you’ll have to decide if that’s a good thing or not for yourself.

It’ll be a few months before you’ll see the final consumer version on devices, but you can check out the developer preview for yourself by following the steps outlined here – as with all betas though bear in mind this is NOT a stable release, so for example don’t install it on your Nexus 5 if it happens to be your main device.  You could end up with apps, or worse a device, that doesn’t work.  You can uninstall it and revert to factory settings, so if you are willing to take the risk at least you know you can reset it if you’ve backed up your content in advance.

Other features being introduced with L:

  • Lockscreen notifications
  • Context-based authentication features (authenticating based on a bluetooth connected Android Wear watch for example)
  • 64-bit compatibility
  • A new Android Extension Pack to support 3D graphics
  • Project Volta – helps developers identify battery discharge patterns to improve overall power consumption and better manage battery life
  • More security, including patches for Google Play services and factory reset protection

From a development perspective there’s also more than 5,000 new APIs for developers to sink their teeth into.  Also worth noting is that the L release leaves behind the Dalvik runtime and completely embraces the new and improved ART (Android Run Time).  While Dalvik ran code at the point it was needed (otherwise known as “Just In Time” or “JIT” compilation) ART uses “Ahead of Time” or “AOT” compilation to process application code before it is needed.  In theory this should mean things run smoother for the user.   Those who are using it on their current 4.4 devices have reported increases in performance and battery life to varying degrees, but expect this to improve further over time.

If you’re interested in running ART on your 4.4 device follow the directions in this article, but be warned some apps may not be compatible with it.  Also code compiled with ART will take longer to install and take up more space on your device.  As is the case with Android L it isn’t considered stable yet, so you use it at your own risk.

Android Wear
Google used this year’s I/O to demonstrate the Android Wear SDK and some of the wearable functionality it provides.  I covered getting started with the SDK in my Android Wear entry back in May, but it was great to see this finally working on some actual devices.  Functionality on show included the touchscreen UI in action (clearly utilising Material Design) and use of the “Ok Google” prompt to create notes, reminders, alarms, calls and more.  Also, when a user installs an app from the Google Play store on their smartphone, a complementary wearable version of the app is installed on the smart watch and synced.

The Google I/O keynote included a demonstration of the Eat24 app for Android Wear, which showcased how users could order pizza from their favourite take away restaurant within 20 seconds, via a simple couple of taps on the watch.  Mmmmm pizza…

Speaking of wearables, no Google Glass love this i/O (well not on stage anyway – there was plenty in the audience) although we do know from previous announcements that Glass has been upgraded to 2GB RAM.

Android for Work

Consumer wise, Android is getting bigger and bigger, but when it comes to business use Android still gives many companies shivers with respect to BYOD (Bring Your Own Device) policies and device management.  Google announced the Android for Work platform (derived from Sansung’s Knox) which will help enterprises deploy to devices in bulk and allow business and personal information to coexist securely on a single device by keeping the data for each separate, all without needing to modify or change existing apps.

Native Microsoft Office editing in Google Docs through integration with Google Drive will also be available, as will a premium level Google Drive plan for enterprise customers that provides unlimited storage for $10 per user per month.

All this comes as part of Android L, but will also be available for Ice Cream Sandwich, Jellybean and KitKat through installation of an app.  Look out for devices with Android for Work certification later this year.

Android Auto

Android Auto is Google’s completely voice-enabled solution for using connected devices in cars. When connecting an Android smartphone to a compatible vehicle, Android Auto will cast it’s UI to the car’s screen (which will incorporate bigger buttons) offering shortcuts to location searches, suggestions, navigation/maps, your music library/music streaming and other information powered by Google Now and other apps.  You’ll also be able to send and receive text messages through voice command features allowing you to keep you attention where it should be, on the road.

It may help you keep your eyes on the road and your hands on the wheel, but I’m still cautious about how safe this will be in practice.  It’s common place for attention to be thrown by the various gadgets we use in various contexts; in the car is one place where you really don’t want it to be distorted in any way.  Time will tell though.  Android Auto supports steering wheel buttons, console dials and the before mentioned touchscreen, so it should be tightly coupled in use, which is encouraging.  Also the idea that the services offered will improve when my apps or phone does (rather than only when I trade in a car) is a pleasant thought, as is having Google Maps fully integrated into my car… maybe I’ll end up being a convert after all.

The Android Auto SDK is being supported by 40 partners, ranging from Hyundai to Porsche.

Android TV

“We’re simply giving TV the same level of attention as phones and tablets have traditionally enjoyed.  We want you to leverage your existing skills and investment in Android and extend them to TV.” said Google’s Dave Burke.

Google’s first stab at TV, Google TV, suffered from a lack of compelling content.  Android TV will let users watch live TV and streamed content in conjunction with integrated search capabilities that can provide things like cast bios/info along with related content on YouTube.  In addition to this Android TV will also leverage what already exists on your Android device, allowing you to cast Play store games and other Android device content/apps to your bigger screen in much the same manner as you can with a Chromecast.  This makes Android TV a much better proposition that Google TV ever was.

Chromecast update

Speaking of Chromecast, you can now mirror your Android device to the television wholesale through this as well (yes even the camera app can be mirrored if you can think of a reason to), bringing it up to speed with what you can do with mirroring via a Chrome browser session or an iOS Apple TV.

Other updates included:

  • No longer needing to be on the same Wi-Fi network to cast content to a Chromecast (which was on my list of wants from the moment I bought one)
  • A Backdrop feature that allows background photos to be pulled from your own library of content, or if that’s not your thing you can display weather or news instead

Google Fit

The open multi OS API, Google Fit, offers a platform similar to Apple’s HealthKit, aggregating all of the fitness data for a user in one place.  The likes of Nike and Adidas are already partnering.

You can get the developer preview here, which gives you access to the following:

  • Sensors API – view available sensor data sources from connected apps and devices
  • Recording API – connect your app and devices to Google Fit
  • History API – access and edit the user’s fitness history

Google Cloud

Google Cloud has been improved with the introduction of a number of new tools that help developers diagnose and improve their systems whilst they continue to run over numerous servers in production:

  • Cloud Save – the new version gives you a simple API for saving, retrieving, and synchronising user data to the cloud and across devices without needing to code up the backend (currently in private beta and will be available for general use soon)
  • Cloud Monitoring – find and fix unusual behavior across your application stack
  • Cloud Trace – visualise and understand time spent by your application for request processing
  • Cloud Debugger – debug your applications in production with effectively no performance overhead

You can read more about it here on Google’s Developer blog.

Google also demoed Cloud Dataflow, which lets you create data pipelines for ingesting large data sets, and announced their acquisition of Appurify, a mobile test automation service.

This year’s Google I/O was very much Android I/O

Android was very much front and centre this year.  Google I/O covered in detail how Android is moving into more and more areas with Android Wear, Android TV and Android Auto, and it gave us a clear indication of how Google intends to ensure a unified approach to the Android UI, regardless of the context within which you are using it, be it from your car, through the TV or from the small screen strapped to your wrist.

Wherever you use Android, Material Design puts the emphasis squarely on great design, pleasing interfaces, and simple ways of accessing functionality.  This is a strong message to be sending out to both consumers and developers (whose jobs should be helped by the introduction of the new APIs and guidelines) and it underlines Google’s intentions for Android to be relevant in every corner of our lives.