Open invitation to beta test new Amazon Alexa skill, Control Freak.

Jason Cochran

  • ZMA Staff
  • 13
    • View Profile
Executive Summary
A few weeks ago, as a hobby endeavor, I created a new Amazon Alexa skill to report which controllers are online in a specific ARTCC. It is rough around the edges, and I am inviting VATSIM members to participate in a beta test. Participation will require that you supply some source data for whichever ARTCC interests you. Participation details are located down below in this post.


Demonstration
Here's a recording of a demonstration from after last night's Miami TGIFNO event:
https://soundcloud.com/jason-cochran-54904634/alexa-zma-miami-fno/s-Lze5B


What does it do?

You say something like, "Alexa, ask Control Freak who is controlling in Miami?" and Alexa responds, "Currently, in the ZMA ARTCC, Bob Smith is on Miami Tower in the Miami CAB, John Doe is on Lakeland Low in the Tampa TRACON. That's all." You get the idea.

Who created it and how much does it cost?

I personally created this skill as a hobby activity and it is not a commercial venture. In fact, I pay for the Amazon AWS hosting that supports the skill, so this is a bit of an expense for me. If it becomes too expensive in the future, I may choose to discontinue the skill.

How can I participate?

Send me a message. I will need the e-mail address that is linked to your Amazon Alexa device. This will allow you to enable the beta test skill. The beta test ends April 20, 2019 by Amazon's mandate. After this period, I will either publish the skill or discontinue it.


Are there any known issues?

Sure, there are a few things to bear in mind:
  • Due to my limited knowledge, skill, and ability, Control Freak is sometimes slow. I will work on optimization in the future, both for improvement of the service and cost efficiency of the AWS compute resources required.
  • Control Freak does not report observers.
  • Control Freak reads out the controllers in the order they are encountered in the VATSIM data file; though there is a plan for custom ordering later.
  • Only US ARTCCs are supported, there are no immediate plans to expand.

I am a nerd, how does it work?

The Alexa skill consumes an AWS Lambda function (that uses the Node JS runtime). The Lambda function gets raw source data from a VATSIM data mirror, caches it in S3 to prevent slamming the VATSIM server, and performs custom (and very inefficient string parsing in Javascript) to produce the results.


Does it work with all ARTCCs?

The skill will recognize any US ARTCC as input (including some slang like "Minnie Center" or "Indy Center," however, currently the skill doesn't support retrieving data for any ARTCC except ZMA (because that's the one I care about). If you would like it to support an additional ARTCC, configuration data will be needed to identify approved position names and map them to Alexa's voice output.

What data is needed to support an additional ARTCC?

If you are planning to beta test the skill, and you would like to provide data to enable the skill to speak the approved positions of your ARTCC, please prepare a JSON document in the following format.

[
  {
    "SortOrder": 1,
    "ARTCC": "ZMA",
    "Position": "MIA_46_CTR",
    "Unit": "Miami Center",
    "PositionTitle": "Miami Center"
  },
  {
    "SortOrder": 2,
    "ARTCC": "ZMA",
    "Position": "ZMO_63_CTR",
    "Unit": "Miami Center",
    "PositionTitle": "Miami Oceanic"
  },
  {
    "SortOrder": 64,
    "ARTCC": "ZMA",
    "Position": "OPF_TWR",
    "Unit": "Opa Locka CAB",
    "PositionTitle": "Opa Locka Tower"
  }, 
  {
    "SortOrder": 14,
    "ARTCC": "ZMA",
    "Position": "MIA_V_APP",
    "Unit": "Miami Tray Con",
    "PositionTitle": "North Final"
  }
]


Sort Order
Not yet implemented. This field will define the order in which Alexa will speak the results, so that you can control whether she speaks the positions in a top down manner, bottom up, or some other sequence you prefer.

ARTCC
Obviously, this is the three-letter identifier for the ARTCC that owns the position.

Position
This must exactly match the position name as reported by VATSIM. This is the position to which the controller connects using his or her client.

Unit
An Alexa text-to-speech friendly grouping of positions used to clarify the position's location. For example, "North Final" may not make sense unless you know the position is in the Miami TRACON. Please note that this is spelled phonetically, as Alexa doesn't know how to pronounce certain words (like TRACON), but typically does fine with place names (such as Opa Locka).

PositionTitle
An Alexa text-to-speech friendly name for the position. See note above regarding non-obvious phonetic pronunciation.


« Last Edit: February 02, 2019, 04:13:55 PM by Jason Cochran »

Jason Cochran

  • ZMA Staff
  • 13
    • View Profile
Re: Open invitation to beta test new Amazon Alexa skill, Control Freak.
« Reply #1 on: February 25, 2019, 07:20:07 PM »