In a lot of applications, users are constantly performing operations that require some form of communication with a server. Whether it's the loading of content, the sending of a message or the changing of setting - how many times have you used an app that has made you watch a progress bar whilst such an operation has been taking place. For me, too many times. This kind of experience is blocking for the user and in a world where slow network connectivity is still common in some places, it's very likely that you're slowing down many users when using your app. This is a pessimistic approach to crafting - the fear of not quite knowing whether what is being done is going to be successful.
But really, it's not even too big a task to design and build for optimism over pessimism. Crafting for optimism allow us to behave as though the best outcome is going to occur but still falling back to another state if something does happen to go wrong. In this talk, we'll be looking at exactly how we can use a mixture of offline tactics and optimistic UI states to avoid signs of pessimism in our UI and craft a more positive experience for our users.