> The whole point of IM is to have synchronous realtime communication.
No. That's one capability. But the whole point of IM is to have online communication. Realtime is one possible aspect. I very much prefer asynchronous communication even in IM.
If I want synchronous communication then... call or use voice chat.
Instant does mean synchronous, as in instantly, immediately. And that is because when it was invented asynchronous communication is by default, as users cannot afford to be online all the time. So instant is the feature. You may argue it has changed, but it is false to dispute the original intent.
Calling is not the best most of communication for a lot of synchronous use cases. Talking about code is easier with chat, so you can copy and paste, and also keep history of what was talked about.
Also, voice calls are not always easy to do when you have other people around or are in a noisier environment.