I’ve spent the last month or so playing with the Microsoft Bot Framework & I’m excited and fascinated with the potential (and limitations) inherent in bot creation, as you can see in my first bot: the BLS bot for delivering US employment statistics.
Ask about the unemployment rate, how many jobs in a given state, the labor force, or other employment statistics you’re curious about.
First of all, let’s get the basics out of the way. Are you getting started in the Bot Framework and don’t much care about my project? Here are the posts that I found most useful.
- Florian Rappl’s introduction to Microsoft Bot Framework
- Michael Washington’s Creating a Facebook Bot using Microsoft Bot Framework
My reason for loving the Microsoft Bot Framework is actually tied to an esoteric hobby of mine. I’ve been passionate about US employment statistics for years. These statistics are dutifully reported by the Bureau of Labor Statistics but are frequently trapped behind a maze of forms and data selection and retrieval.
The BLS has an API, but it is (frankly) a bit of a mess. Each data set can be retrieved using a series code, but the construction of those codes is inconsistent and tedious when switching between series data sets.
I’ve long wanted to make this data more easily accessible. I have a half-finished Xamarin project in which I tried to create an all-purpose library for retrieving BLS data.
But I ran into a lot of design hurdles. Do my users want
- the current employment data (certainly)
- the change in that data from last month (probably)
- historical data (maybe, depends on the situation)
- graphs of that data (I guess so… crap. This is a lot of work)
Then there were questions of design, navigation, state management, and cross-platform updates. Making this data easily available in my preferred medium of mobile applications was a daunting hurdle.
Enter Microsoft Bot Framework.
Bots allow people to ask plain text questions. Through the Bot Framework, they’re available across all mobile devices (in apps that most people already have like Facebook Messenger, Kik, Skype, Telegram, & even web chat).
(Bots can so a lot more than just plain-text interfaces with things like form-based conversations & cards, but let’s not get ahead of ourselves)
Now, there’s a lot to learn in terms of plain text understanding (and Microsoft is using the bot framework to push their LUIS (Language Understanding Intelligent Service) cognitive service) but bots don’t need to be complex services. As long as they can deliver the needed data, they are useful.
So with a little bit of research on conversation parsing & a lot of if-else and switch statements, I was able to complete my vision: A way to get at BLS data (both nationally and state-based employment statistics) that was easy to build, easy to deploy, and available across almost any device imaginable.
The power of making these kinds of simple interactions available to your target audience without the need to create a fully-formed front end is incredible.
This is probably going to be my preferred first stop for API exploration in the future. The distance from nothing to “something I can share” is incredibly short & widely accessible.