I think there are two things going on more generally: 1) providers increasingly adding hidden state that the user or developer cannot inspect, port, or do anything with. This is clearly bad. 2) providers increasingly diverging how they implement certain features and the APIs becoming quite complicated and provider specific. The former makes porting sessions or transcripts impossible, the latter just more difficult. I…
> providers increasingly diverging how they implement certain features and the APIs becoming quite complicated and provider specific This post only talks about the former.
There is just a whole discussion to be had about the second issue and the two are connected. For example session caching--and similar features in the future--will introduce session incompatibilities that break portability too.