"Not just write once, run anywhere, but delpoy and deliver anywhere too."
That statement is a quote from Nandini Ramani, Director of Java Development at Oracle (formerly Sun), recently talking about the need for JavaFX in this video. Instead of dealing with the many types of display devices, mobile phones, etc, JavaFX provides a platform for abstracting away the complexities of the myriad of displays and desktops.
I can't help but think how the same problem occurs for application developers writing applications that consume and use personal information. Just as applications have to deal with differing displays, keyboards and keys, identity applications have to deal with different methods of transfer and differing ceremonies (e.g. with user-centric protocols) with each exchange of information, and even differing modalities (as I described last year).
Developers that want applications to deploy and deliver anywhere, have to consider how to support the huge variety of data stores, network configurations, and protocols (LDAP, federated, user-centric), and as well as information governance and assurance issues.
Just as abstracting implementations into layers helps JavaFX, layered abstraction is a key cornerstone to how we are developing the ArisID API going forwards.