Another very important feature that can make or break a platform is its ability to communicate using multiple protocols. Today, there are plenty of low power, reliable, and small footprint protocols available that are ideal for IoT solutions.
A platform's ability to support these protocols at the device management layer and expose a protocol-agnostic API to the higher layers is essential.
I have worked with hardware that transmits scrambled plain text TCP/IP packets and I have also used MQTTS and similar for the communication. A good platform supports both and the communication layer is decoupled from the data processing layer, keeping the entire platform flexible and scalable.