Is it a bird? Is he a superman? No he is the BirdMan!
The BirdMan is an audio-visual bird guide which will help you not only find information about any bird, but also play their calls and show images with the description. The description additionally includes conservation status based on IUCN's red list.
You can be an avid bird watcher or you may know just handful of bird names, BirdMan is designed for everyone! Check out all the cool features to realize how it suits you.
Happy Birding!
The API MashupThe BirdMan is a mashup of 4 APIs :
- www.ebird.org ( https://confluence.cornell.edu/display/CLOISAPI/eBird+API+1.1 ) - An excellent community forum which has revolutionized the way bird watchers report and access bird information.
- www.xeno-canto.org ( http://xeno-canto.org/article/153 ) - A website dedicated to sharing bird sounds from all over the globe.
- www.iucnredlist.org ( http://apiv3.iucnredlist.org/api/v3/docs ) - A program assessing the conservation status of species all over the globe for last 50 years.
- www.mediawiki.org ( https://mediawiki.org/wiki/API:Opensearch ) - A free open source wiki package used on Wikipedia.
Thanks a ton for all of these wonderful organizations.
What Can The Skill Do?The following are the abilities of BirdMan as of now:
Ability 1 (BirdInfo) : You can get information about any bird from BirdMan. You will be able to view the description along with a photo of the bird on the flash card. The card also has IUCN's conservation status with a link to IUCN's web page for the species. After the description BirdMan will ask if you want to listen it's call.
Ability 2 (BirdSong) : This ability is especially useful for bird watchers who like to learn bird calls and use that knowledge on field to identify the birds. Just think of a name and ask BirdMan to play it's call. Cool isn't it?
Ability 3 (BirdSightings) : Planning your next bird trip? Be sure to ask BirdMan recent sightings in that region. Yes BirdMan is kept updated with recent notable sightings of birds all over the globe and he is eager to share those with you. Just ask BirdMan recent sightings in any region. (By region he understands cities, states or countries)
Ability 4 (Discover) : The 'Discover Mode'! Not sure which bird names to ask BirdMan? Don't worry, try the 'discover mode'. In this mode BirdMan will randomly select a bird and tell you about it with it's song, and it will keep playing different birds in loop. This mode is designed specially for kids who are enthusiastic about nature or adults who are just stepping in to this magnificent kingdom of birds.
ImplementationWe defined the intents for each ability (BirdInfo, BirdSound, GetNotableSpecies, Discover). The custom slots needed were list of birds and list of regions. Both these list are available via ebird API.
Once the interaction model was built we used AWS Lambda to handle Alexa's interaction with our skill. The lambda function receives the request with the intent and required slot value. It then handles each intent accordingly by making different API calls. The response is built which contains the speech output, audio player directive to play the bird call and card containing image and description of the bird.
A hurdle of using the IUCN API and ebird API is that you need scientific names of the species to access the first and region codes to access later. We solved this problem by keeping the common name to scientific name mapping and region name to region code mapping in dynamo-db.
Check this video to see BirdMan in action :
Comments