According to a study by Billboard 92% of Americans listen to broadcast radio (the bulk of which is of course music) another study by Live Analytics suggest that only roughly 17% of Americans attend live events (gigs, plays etc).
Due to the changing way we consume music it is now becoming harder for most underground and new bands in promoting themselves and becoming known.
Aim Of This Skill1 problem that I see is unless you are looking for a specific event it is not always easy to know what is going on in your local area. With this skill users will be able to request a list of events for the day specified. Users will also be able to find out a bit more about the venue hosting the event.
This should make it easier for people to identify what events that are scheduled for a day that they are at a loose end.
Initially the skill is specifically for the City of Dundee in Scotland however moving forward this will open up to be open UK wide (and potentially the US but this will require a different API).
At present this skill is a self hosted skill however in future I will be converting it so that it utilises Lambda.
How The Skill Is MadeSigning Up For The API
The API being used is provided by Ents 24. The API is perfect as it allows a search for events of numerous genres, at specific venues, on specific days and in specific towns.
To sign up the account to use the API simply follow the below steps:
- Register for the API at https://developers.ents24.com/ and clicking on register (button top right).
- Log into the service with the new credential.
- If notalready in control panel click the Control Panel link in the top navigation bar.
- Enter Project Name and Project Description into the Add New Client section.
- Click CreateClient.
- Once the page loads you will now have Description, Client ID and Client Secret. Takea note of the Client ID and Client Secret as you will need these later.
Below is a diagram that demontrates the interaction between the user and the service.
Most of the skill information is self explanatory so I will not go over that here however the following is the information to allow the skill to work:
Intent Schema
{
"intents": [
{
"intent": "ListConcertsIntent",
"slots": [
{
"name": "Date",
"type": "AMAZON.DATE"
}
]
},
{
"intent": "AboutVenueIntent",
"slots": [
{
"name": "Venue",
"type": "DUNDEE_VENUE"
}
]
},
{
"intent": "AMAZON.CancelIntent"
},
{
"intent": "AMAZON.StopIntent"
},
{
"intent": "AMAZON.HelpIntent"
}
]
}
Sample Utterances
ListConcertsIntent {Date}
ListConcertsIntent what concerts are on {Date}
ListConcertsIntent what gigs are on {Date}
ListConcertsIntent whats on {Date}
ListConcertsIntent what is on {Date}
AboutVenueIntent {Venue}
AboutVenueIntent where is {Venue}
AboutVenueIntent where {Venue} is
AboutVenueIntent where is {Venue} in Dundee
AboutVenueIntent where {Venue} is in Dundee
AboutVenueIntent where is {Venue} Dundee
AboutVenueIntent where is the {Venue}
AboutVenueIntent where is the {Venue} Dundee
AboutVenueIntent where is the {Venue} in Dundee
AboutVenueIntent where is {Venue}
AboutVenueIntent where is {Venue} Dundee
AboutVenueIntent where is {Venue} in Dundee
AboutVenueIntent where is that
AboutVenueIntent where is the venue
Custom Slot Types
As can be seen within Intent Schema I am using a slot called DUNDEE_VENUE. To create this I retrieved the venue names from the API (script included in resouces folder of the bitbucket repository) and placed these into the new custom slot. This slot should of course be renamed to something that makes more sense for your own use case.
The LogoThe logo was created in Photoshop with an image Amazon supply for promoting the Echo. I also used a stock image I got from Adobe's Stock service.
All in all this took around 10 minutes to create (yes seriously, that long. I'm not a graphics guy). A better logo will come soon enough.
Moving ForwardTo improvethe skill I plan on the following:
- Increase coverage to allow other towns.
- Locate or develop a similar API to also cater for the US (I am currently working on a site that might d this).
- Refactor the code as it is slightly messy at the moment.
- Complete the code functionality regardlessupon wether it is used for this skill. I aim to have the Alexa class be removeable so that it can easily be used in other projects.
- Convert the script so that there is also a Lamda version.
The skill has been publiched on Amazon as Dundee Gigs
Comments