Jamie Wright is a maker of internet things with a love/hate relationship for Redbull™, standing desks, and paintball guns. He has a love only relationship with teaching, learning, and building bots. Jamie runs Tatsu, a software bot that helps teams save time by performing standup meetings over Slack.
The majority of mobile applications need to use a backend API to connect it's users to it's services.
Building these types of applications often involves seperate developers, one for the frontend mobile code and one for the backend server code. The hand-off point for the API needs to handled delicately so as the developers do not block each other.
In this workshop, we will review how we built Gotcha, a mobile React Native application that gets conference attendees to meet each other in the real world through a mobile application.
The mobile application was built in React Native with the data coming from a custom GraphQL API built in the Elixir web framework, Phoenix. We will show you how a frontend mobile developer and a backend Elixir developer worked through API contracts to collaborate efficiently.
Sometimes consumers of your APIs require near-realtime communication because regular RESTful HTTP apis can be a few milliseconds too slow. These performant and scalable APIs can be made over websocket TCP connections where events are pushed from client and server in near-realtime fashion.
This talk is a story of how I built such an API. We'll look at why this decision to create a websocket API was made and we will take a look at the data that supported this decision. We will take a deep dive into Phoenix websockets, channels, and transports to expose the underlying architecture. Finally, we look at how we tested the API, how we authenticated users over the channels, and how Phoenix helped this all happen with relative ease.
There is another massive shift happening with how we interact with companies through software. Users feel comfortable naturally talking with their applications through chat bots. Chat is the next generation of the user interface.
Companies like Slack, Facebook, WhatsApp, and WeChat have some of the most popular apps in the world and they are all betting on a messaging interface.
Elixir is the perfect language and ecosystem for building bots and for conversational interfaces. In this session, we will see how we can build scalable, realtime web applications (or “bots”) using a new library Juvet and the Slack API. We will see what a good bot architecture looks like and how we can integrate with existing artificial intelligence services to make our bots smarter.