You launched your app, your users are downloading it like crazy and thoroughly enjoying it. Until someone presses a button and... nothing happens. They try again and again, but nothing. After a mere few seconds they think it crashed and kill it. Had they waited 5 seconds, they would have noticed three identical windows opening. What did you do wrong? No loading indicator, no mechanism to limit the number of windows, but most importantly: You blocked the UI far too long! You did not make the best use of your single thread. In this talk I'll show you how you can prevent these issues from happening and make optimal use of your single thread.