I have recently been using Charles the debugging app. And noticed a very chatty app named skyrocket (a very very cool slide presentation app) sending a lot of data across the wire. It is built in flex by the looks and I was wondering why they had chosen to send their data using base64 and not amf. Is it because they don't want to be locked into the flash platform? Or could there be another reason. Is it to store it as XML in the database as they don't want to be dealing with amf when handing data to other services/clients (iPhone etc).
That is strange. I'm not sure why someone would want to incur the overhead of XML and Base64. Perhaps they have a good reason but I almost always prefer AMF when you control the server and the client. The AMF protocol is published so lock-in hopefully isn't a reason now (but could have been a few years ago).
If you want to know more about the benefits of AMF I've created a video which walks through my Census benchmark app.
There could be a number of reasons, base64 is Internet safe, when you want to encode binary into a format that XML can carry you would convert it to base64. Base64 merely represents a standard way of encoding binary into XML documents. So if they were using SOAP for there data communication exchange and were sending byte arrays or picture to and forth base64 encoding would be the way to go. Don't forget XML is a standard way of representing and structuring data which is ideal for disparate machine communication, i would say not using XML would be tying themselves in!
They might have been using it for a very very very basic level of encryption i.e. the general public wouldn't know how to decode it sort of encryption.
There are lots of reasons but I would go with the first one.