Google Assistant is probably the most capable AI voice assistant available at the moment and it works especially well on Google's range of Google Home products. However, it's not without its flaws. Below, in no particular order, are some small changes that Google could implement which I believe would make a world of difference.
1. Add Device Location Context Considerations
If you and I were sat in my living room and I asked you to turn off the lights, assuming you didn't tell me to get off my own arse and do it, you'd probably go and turn off the living room lights. I wouldn't have to specify which room I meant, you'd know from context. If the aim is for Assistant to appear "intelligent" then it should be able to understand these things too.
Currently, Assistant isn't able to do this, you have to explicitly state the room the device is in (unless there is only 1 device matched by your phrase) and this feels unnatural. Instead, the location of the Google Home which you are talking to should be considered to deduce this location by context. For example, saying "OK Google, turn on the TV" to a Google Home in the bedroom should turn on the bedroom TV by default. The same command said to the living room Google Home should turn on the living room TV. The location is not something the user should have to specify here.
Since Google Home and controllable smart home devices are assigned to rooms in the Google Home app, it would be relatively straightforward to implement this. It should work in a similar way to the default device settings for video and audio playback. Any ambiguously phrased command should use the default device (in this case the matching device in the same room), while other devices should be used when the user explicitly mentions their room or full device name. For example, to turn off the kitchen lights from the bedroom you could still say "Turn off the kitchen lights" but simply saying "Turn off lights" would be treated as if you said "Turn off bedroom lights" because Assistant knows that you are in the bedroom.
2. Make Smarter Responses to Chained Requests
If you ask Google Home to "do X and do Y" Assistant will currently do X, say "OK/Sure doing X", then do Y and finally say "OK/Sure doing Y". This isn't a very clean response and sounds unnatural. Instead, it would be better if the second greeting (OK/Sure etc) was either omitted or replaced with "and" so that the response is delivered as one single, seamless sentence.
Going further still, Assistant could also add up the device counts for home control commands in cases where it is dealing with a number of devices of the same type but in different rooms. For example, if there are 4 kitchen lights and 4 living room lights the response to "Turn off the living room and kitchen lights" could be reduced to "OK, turning off 8 lights". That said, it could be argued the number of lights aren't needed in this response (but they are given currently). If the numbers were replaced with the room names then obviously this further complication wouldn't be necessary.
3. Add Speech Before/During Operations
Some operations can take a few seconds to complete and currently you get no audible response until the end of the operation. This can make for a weird and potentially even confusing experience. For example, if you ask Google Home to turn on some devices, Assistant will begin to announce that it is turning devices on only after it has finished turning everything on. Swapping the order, so that Assistant states what it is about to do before it begins, would be a lot more natural. That said, operations shouldn't be delayed until speech is finished, but rather they should continue simultaneously with the response, perhaps with a very small offset (less than a second).
I imagine the reason for the current order is either to avoid operational concurrency or simply because all command responses are still just following the same structure as the basic question and answer operations that Assistant started with. Regardless, I'm sure this can be changed so that Assistant is able multitask, speaking to us while she operates (where appropriate) rather than only afterwards.
This improvement would make only a very subtle difference in most cases, but for longer operations it would make it much clearer that Google has heard you correctly and is working on the correct task (as well as following a more natural order).
4. Improve the Scene Start Phrase
When asking to start a scene, Assistant currently responds with "Activating the [scene name]". This is sometimes OK but more often than not this sounds totally wrong. For example, say you have a scene called "Relax", Assistant currently would respond "Activating the relax" which is weird and nonsensical.
Simply removing the word "the" would be a good start to improving this. Alternatively you could suffix the response with the word "scene" to get a response like "Activating the relax scene". Personally I prefer the former option as it keeps the response shorter and is slightly more flexible for more abstract/inventive uses of scenes.
5. Add Custom Replies to Shortcuts
Google Assistant currently has a helpful feature which allows you to add custom phrase shortcuts inside the Home app. However, sometimes the response to the command which you are aliasing can sound weird as a response to your shortcut phrase. To address this, there should be an option to override the response with your own (or even list of possible responses), just as you can on the IFTTT Applet.
6. Make Alarms and Timers Sync Between Devices
I totally understand why timers and alarms are separate at present - they likely run locally and you probably don't want every alarm going off all over the whole house! However, it would be nice to have these synced silently so that if I query my alarm/timer on another device, it is still aware of the same alarms/timers and can operate on them. For example, I should be able to ask the Home Mini in my bedroom how long is left on the timer I set using the Google Home in kitchen, or even cancel it if desired. You can already essentially do this with reminders so why not alarms and timers too?
Similarly, it would be handy to set alarms on other Google Home devices by voice (perhaps with an optional default device setting as we have for music and video playback). For example, if I remember I need to set/adjust my morning alarm for tomorrow while I am sat in the living room, I should be able to ask my living room Google Home to set an 8am alarm to be played from my phone or bedroom Google Home and not only from the Google Home in the living room because that's not where I sleep!
It would also be nice to have notifications pushed to your phone/smartwatch when a timer goes off so that you don't miss them if you leave the room where the timer is set. Assistant is supposed to be synced and seamless across your devices and having better integration of timers and alarms on your Android devices would help with this goal massively. It is not uncommon for someone to sit down in the living room or pay a visit to the loo while dinner is in the oven in the kitchen. Let's not have any more burnt dinners because people can't hear their Google Home timers from across the home!
7. Add Cast "Throwing"
A really common problem for me personally is that I am listening to music in one room and I want to move to another room and move the music playback to that room. I have connected speakers in every room so this should be simple but at the moment it's a slightly fractured experience. Presently, I have to ask Google to stop the playback, switch rooms and then make a new request in the other room. I can't even easily continue where I left off.
Sure, I could just cast the music all over the house using group playback from the get go and occasionally I will do that, particularly if I am wandering back and fourth a lot. However, most of the time whole-home playback would be an unnecessary load of noise and energy use and isn't an option for video content. Video content is slightly less of an issue but easy switching would still be handy. For instance, in the evening when am tired I might decide I fancy watching the remainder of my TV show in the comfort of my bed.
My proposed solution to this would be to add support for using voice commands like "[Cast this/Throw this/Fling this/Play this/Move this] to/on [room or device name]" to seamlessly switch from the currently active cast device to another. From context, "this" would be determined to be the currently playing music queue or video (including its current playback position) and the command would trigger playback to stop on the current device and resume on the named device or the default / most suitable device in the named room. For audio, playback could immediately commence in the new room but for video it should probably be cast in a paused state to allow the user enough time to walk between the rooms without missing anything.
This method could even be used for switching devices within the same room. For instance from the Google Home itself to a larger cast-enabled speaker.
So, those are some of the things I most wish Google would work on to improve the experience provided by Google Assistant and Google Home. Please do let me know your thoughts on the above suggestions and share any of your own in the comments below.
Tagged: Google, GoogleAssistant, GoogleHome, AI, smart-home, IoT, PhilipsHue, suggestions, feedback