As soon as the messaging app launches, two long operations happen:
- It sends a request to the phone for the current most-recent list of conversations, which takes some times
- Once the conversations return, it does an O(n^2) search to match conversations to contacts. This also takes time.
Meanwhile, the GUI is empty and the user is confused. "Where is my data?", he wonders, "Am I ever going to be able to send an SMS?"
The messaging gui should display something while loading. Maybe a spinning "loading" wheel, maybe a loading bar (showing percentage of conversations matched to contacts, for instance), maybe both depending on what stage of loading the app is in.