Skill name: google-tone-url-transmitter-skill
As a collaborator I want this Skill to have the ability to generate a Google Tone-compliant audio signal so that I can achieve URL sharing with all physically present collaborators
What third party services, data sets or platforms will the Skill interact with?
There may be an API or an off-line library, but I’m not sure.
Are there similar Mycroft Skills already?
Not that I found.
What will the user Speak to trigger the Skill?
“Hey Mycroft, share the U R L for the mycroft A I community forums”
What phrases will Mycroft Speak?
“Transmitting URL …” then a generated audio signaling file is played that encodes “https://community.mycroft.ai/”
What Skill Settings will this Skill need to store?
None, but could optionally have a few frequently-requested important URLs with nicknames.
Bonus: decode and store overheard Google Tone encoded URLs.
Great suggestion @jrwarwick, thank you!
I wonder how widely adopted Google Tones are, and whether they could be abused?
At least with technologies like NFC there is a much smaller range they can affect; I’m guessing that anything within “hearing” distance of the Google Tone could act upon its sound.
As far as I know, its adoption is not terribly great, but it is a very clever and handy tool and gaining utility is as easy as installing the browser extension (if you happen to be Chrome users already). As long as users are using Chrome browser and have the plugin, it would provide value.
As far as abuse: I’m sure there is always a way. There is even a humorous anecdote on the google blog about “numerous rick-rolls”. However, the use case of Mycroft generating the tones seems A) pretty harmless and B) unlikely to overlap with a room containing people with even mildly ill intent. Or so it seems to me.
How do you envisage Mycroft knowing the url you want it to generate the tone for? Is it from a set list or will he google it or…?
I suppose there might be more than one “mode” implied here. At the minimum case, there could be a pre-set (settings.json) list of URLs with nicknames that the skill can draw from. Possibly also an optional endpoint URI for a RESTful resource that provides a JSON response with the same.
But yes, in addition to that I also envisage a range of scenarios where Mycroft “recognizes” that it has a URL as a contextual item, and it offers to transmit it. Or perhaps other skill authors would put conditional check for the existence of this skill and offer to utilize it when found.
I’m also picturing a future scenario where Mycroft supports (with user permission) multiple input methods simultaneously. So perhaps you send in an XMPP IM or an email to Mycroft a URL, and then command Mycroft to “share, via Google Tone, that URL I just sent to you”.