Why would an invocation name for an AoG app be ignored? - actions-on-google

I have an Actions On Google app in testing. Most of the time when I say, "OK Google talk to 'my app name here'" my app runs. Sometimes it does not and Google passes the question to Google Search. Then, on my phone I will get search results in the Google app; on the simulator I will see a message like "blah blah blah not supported in simulation".
I have had the question up since last week on the official Google plus "support" page with only a single reply asking if the screen shots were real or not from a person whom I think is just another developer.
successful invocation
Unsuccessful invocation handled by search
[The screenshots were captured and NOT drawn by the way]
Does anyone here have an idea why search is run and what I can do about it if anything?
This is a hobby project of mine to be sure, but if I were trying to speech enable a device it seems to me that this might be a showstopper and a reason to go with another vendor. No?

Just from those screen shots, my first thought is "how is 'visor' pronounced"? And how could it sound like you're mispronouncing it? If it doesn't recognize the "visor" part to match the pronunciation that you think it should be getting, even if the word displayed is the same, it might be passing it along to search to handle.
Remember - this is English. What is written out isn't necessarily what it sounds like. And the system is trying to match what you say and not what it is written as.
One thing you can do is to listen to the recordings Google has of your invocation attempts. Try and figure out if the successful ones sound different from the ones that failed.

Related

How to keep Google Assistant Behavior but also trigger IFTTT

I know you can make custom Google Assistant triggers that will invoke IFTTT. But I want to make a custom trigger that will do something but /also/ keep the default Google Assistant behavior. Is there a way to do this?
Description of my actual goal: I speak German as much as possible at home with my daughter. But there are times where I don't know a word, so I can say "OK Google, what is $word in German?" and it will speak it to me. This is very useful.
Then I manually add that word to my vocabulary list to study it.
I would like to write my own Python/Node microservice that will receive the word and generate flashcards (do a lookup on Linguee for sample sentences, for example) in my study program automatically.
But I would also like to keep the Google Assistant behavior that reads the translation back to me on my phone.
So is there a way to accomplish this? Basically instead of having a trigger invoke Google Assistant, I'd like it to do that and also do a second behavior (issue a POST request to a custom URL).
Thank you.

Google Assistent Explicit Intents without App name

I would like to make my Google Assistant (Google Home & Android Smartphone) a little bit smarter by adding simple small-talk intents and (last but not least) usefull "Ok Google, do whatever" or "Ok Google, tell me when ..." intents.
For now I only own an Echo Dot with Alexa and I really hate their conception of skills due to their strict invocations. I have read somewhere that Google is going to come around this nightmare by using implicit invocation. However what I have done so far is not even close to good.
With implicit invocation, Google Assistant can find the correct action by searching for intents. This is good and I can add a simple phrase that Google detects correctly. However, instead of invoking that intent, Google asks me if it should ask appname to do so.
Of course this is not really an option if we want to make digital assistants smarter, since this not only destroys any kind of smartness, but also prevents us (at least me) from writing usefull actions at all (because it would be annoying to develop and to use it). They should be able to react to specific phrases and intents instead of requiring to specify the App. This makes it impossible to create simple intents like "Say goodnight" or "Ask my girlfiend when she will be here".
My question is not only if this is currently possible, but also what we can expect regarding this problem in the future? Is there any good news? Or do we have to wait, until we can help the existing assistents to evolve their real power?
You can add custom trigger phrases that will open or deeplink into your skill.
With query pattern in action.json.
Action.Json Query Pattern (Google Doc)
But the amount is limited. And I am not sure if you can completely avoid that google ask some stupid stuff like should i really open it... or i am opening now...
And maybe you have also to say ok, google to make it start listening at all.
Nick Felker's answer is better than mine. To expand on it a bit:
In the Google Home app on your phone tap the hamburger menu icon (three horizontal parallel lines) in the upper left, then go to "More settings", then "Shortcuts" (near the bottom), then press the little blue "+" button in the lower right to set up your custom shortcut.
Another option for extremely simple intents "Say goodnight" for example, is to use IFTTT, which has lots of integrations out of the box as well as the ability to pass along the message to a webhook which you could write yourself. Important caveat: IFTTT isn't "smart" itself, so that first layer of integration only does simple string matching (and I mean simple; it seems to be case-sensitive).

Testing Facebook Messenger Scan Code

Facebook recently announced the introduction of messenger codes which can be used to add new contacts and, more importantly, communicate directly with businesses and business pages (which is why I'm interested in it).
It took me ages to find it but on the bottom left of the messages tab on my Facebook page I have the option to download my code in three different sizes - clicking the disc will open a modal window where you can click the Download button and choose from 300, 600 or 1000px PNG file downloads.
NOTE: While they are PNG files the background is not transparent which seems like a bit of an oversight to me but hey ho that's what Photoshop is for I guess.
The problem is that while I can download my code I can't find any way to test it on printed materials (or even electronically at the moment!). The scanning feature doesn't seem to have been rolled out for me yet (I tried re-installing the Messenger app to see if I got a newer version but that didn't work) and nor for anyone I know (I'm in the UK). The codes are bespoke to Messenger so can't be scanned or tested using any other app.
I'm probably too far ahead of the game but is there any way I can test to see if my code scans correctly, or anywhere I can go to find out? I would like to use it on some promotional material which is likely to be long term materials that I don't want to have to update in the near future (several years, by which time it's likely these codes will be more commonplace).
I also need to know what the redundancy is like. For example the high redundancy QR codes I generate can have up to 30% of the code covered while still being usable, which is great for design purposes. I can't find any official documentation as yet for these codes at all, let alone what is required, what the spec. is etc.
I know the most likely option is 'sit and wait' but I really would rather not if possible. I've never been very patient...
Thanks
UPDATE: My Messenger app has now been updated so I can test, but I'm leaving this here in case anyone knows of another way to test perhaps? If someone doesn't have Messenger on their phone for example.

I want to be able to search an html page that is refreshing every 10 seconds for the word "stat"

I want to be able to search an html page that is refreshing every 10 seconds for the word "stat". If the word is found I then want to alert the user through a pop up dialog and possibly a repeating sound until the user acknowledges it.
UPDATE:
Sorry the question was a bit ambiguous. I do not know a great deal about this stuff I just do it as a hobby.
OK so here is the deal. I work as Biomedical Electronics Technician for a hospital. We have a work order system that is web based. Nurses can enter a work order into this system. I have a browser window open at all times that refreshes periodically through an add-on for IE so I can always be up to date on the status of the work orders coming in. When a nurse the enters enters a work order they have the option of choosing Stat, High, Medium, or Low for the priority. When a stat work order is placed our response time should be within five minutes theoretically. I want some way to alert myself when a stat work order has been placed so I can respond accordingly. And I know a repeating sound would be annoying, but that might be the best way to get my attention.
Another caveat to this is the work order status can be changed by me, the tech. So when a work order is initially placed the status is Not assigned or something like that. Once I go start on a work order I change the status to In Progress. If I have to order a part I change the status to Hold for Parts, etc. So basically, what I am saying is I don't want to alerted if the status is anything but "Not assigned". If it will help I will get a copy of the source of the page when I get to work tomorrow.
Our IT department seems unwilling to help and the company that made the product is so busy chasing the daily bugs that show up to add new features such as this at this time. If I knew more a Google search might help, but alas I am a bit noobish in the programming realm, however I am 2 years from a C.S. degree so I am not a complete novice.
To answer another question, I do not have access to the page I am just viewing it so any sort of script would need to run on my client machine.
Thanks
I found this, try it https://addons.mozilla.org/en-US/firefox/addon/3028/
Maybe it can search for STAT on the entire page?
Based off your description, it doesn't sound like you have access to the server to change the code of the page itself, correct?
If that's the case, spend some time learning how to use Greasemonkey (or rather Greasemonkey for IE). It allows you to add functionality to a web page from the client (browser) side, regardless of what's on the server.
You'll need to find the elements that hold the "stat" term your after, and have it check periodically those elements periodically. Look into the setTimeout method for that periodicity. The rest you'll have to work out specific to that page.
What you're looking for, since you have python available, is to build a simple, easy to use webscraper.
First link is how i would do it quick and dirty.
http://www.ehow.com/how_4436125_read-web-page-using-python.html
Second link is a bit more robust and nifty with BeautifulSoup
http://www.builderau.com.au/program/python/soa/Build-a-basic-Web-scraper-in-Python/0,2000064084,339281476,00.htm
Basically, read the page (even set the whole loop on a 10 second refresh timer).
Go line by line with a while readline loop.
See if one of your magic words exists with a regular expression
...
profit?
(... meaning do your alert song and dance)
(profit being rejoice!)

iPhone SDK: Ideas on how to implement a help facility for application

We we wondering what are some ways developers have added a help function to their apps. What are some techniques people have used?
One way we were thinking of is to us UIWebView to display a HTML file with help instructions.
Thoughts appreciated.
I'm using UIWebView right now which pretty much contains all the help in a single page, along with some JQuery things to display popups, etc. But I like the way iCab Mobile (et al.) are doing things which is a sectioned UITableView with each row a separate topic or section within their overall help information (complete with icons...) then in their bundle they have each section in its own html file, organized by localization.
Another thing in my queue for the next release is to provide a dynamic "News" view. The rough idea is as follows... I have on my server a file or CGI where I can place small bits of news I'd like to push out to users. On startup, my app checks for network availability and if present, start a thread to see if anything has changed on the server since last updating the News data. If changes present, post an alert letting user know, and asking if they'd like to read it now. At that point, the latest news is already downloaded and cached, so they can simply read it later if they want, and I won't post anymore alerts until the server file changes again. (And one could add a preference/setting to disable these alerts.)
I'm thinking this would be a good way to let people know that some nasty bug is known and fixed and an update is sitting in the queue, solicit beta testers, promote upcoming features or other apps, etc. I can see where constant alerts everytime I've got something new to promote would get annoying, so having a setting to disable them means the user never has to read them unless they want to. Although some kind of override to warn of recently discovered/fixed bugs seems sensible.
FWIW, the author of Mover+/Mover has just started doing a similar thing, though I think Emanuele is perhaps only showing one Notelet at a time, whereas I envision a bit more of a history (shown in UIWebView) until I decide to age stuff off the bottom of the stack.
I'm using a scroll/page view to show several images containing small notes. Each image then tells the user about the more advanced functions on a specific part of the app.
In my opinion the help should only contain information that isn't a 100% relevant for the use of the application. It should be things the advanced user should use to make more use of the app. It should contain gold for the power users. The "basics" should be so obvious that no help would ever be needed. If that's not the case, I think, you've failed as a developer on the iPhone platform.
(Here's a screen shot from my demo app)
I'm currently creating a fairly complicated app. I'm thinking of doing help as a semi-transparent overlay - help in text form is hard to swallow for users; it's much more helpful to just point at stuff and say "this does that".