This is a rant. More and more I'm finding myself using mobile devices, often on my iPhone, but also desktop applications in Windows and I'll push a button and find myself, as user, stuck inside your for loop.
Have you felt like this? The application locks up and you're stuck. Maybe it's Outlook saying Not Responding as the Curtain of Patience (tm) comes down, or perhaps it's Facebook on your iPhone updating Contact photos. Regardless, it's a for loop over a thousand or a million, or perhaps just one more data item than the developer tested, and you're stuck. Do you shut down and corrupt the data store? Do you wait? How long DO you wait?
Asynchronous programming can hard, but the tools and languages support it, my friends.
Please don't block the UI.
Have you seen this? Why does it happen? What are you doing to avoid blocking calls? Perhaps it's a better UX pattern, or perhaps it's Reactive Programming?
Sound off in the comments!
Related Links
- Windows Phone 8 - Understanding Async and Awaitable Tasks
- Handling Asynchronous Data in Windows Store Apps
- PODCAST: Everything .NET programmers know about Asynchronous Programming is wrong
- The Magic of using Asynchronous Methods in ASP.NET 4.5 plus an important gotcha
- Async methods in ASP.NET 4.5
Sponsor: Big thanks to my friends at Octopus Deploy. They are the deployment secret that everyone is talking about. Using NuGet and powerful conventions, Octopus Deploy makes it easy to automate releases of ASP.NET applications and Windows Services. Say goodbye to remote desktop and start automating today!
© 2014 Scott Hanselman. All rights reserved.