Just returned from Strong Angel III - a week-long excercise and demonstration in the use of ICT (Information and Communication Technology) for humaitarian and first-response missions. I was there to learn many things, and one of the things I brought back are many requirements that systems must fulfill in order to work in complex, emotionally vexing environments. I beleive that the solutions that work in these constrained and dynamic situations have inside certain elements that are indicative of the enterprise needs of tomorrow...so I try to pay attention.
It ended being a mixture of 'jazz and lego blocks' as Nigel Snoad would say, with collaboration with the Microsoft team around SSE (Simple Sharing Extensions), building a model-driven dynamic forms generator for mobile apps for data collection built around an SSE distribution model, and writing glue code for demonstrations of interoperability with Google Earth and Sahana, an open-source web site.
Here are my key takeways that are relevant to this blog's audience. My first one is a vent on the utter complexity our user have to deal with when using most software being built today regardless of the platform it is built on.
My observation is - The tools, languages etc. we use to build enterprise applications are getting better - however we are using them to build quite disempowering systems. Essentially, we are getting better at building the same old stuff. I believe a quantuum leap is needed in applicationas architecture if we want to build systems that empower the users.
Here are some characteristics that I would expect from the next generation of applications:
- User-driven UI customization, integration and mashups. We took a small step with CAB and other composable architectures, but that accounts for a small percentage of what is needed. Imagine being able to take data flows, drive UIs out of them, tie them into worklows, on the same client app you use with no code.
- Interoperability over the use of standard protocols and to the maximum extent possible standard data schemas over the wire. Across platforms.
- Greater usability.
- No need to predict the data flow topology (as long as you can govern it and secure it). i.e. the same app can be configured to work in client-server, 3-tier, peer to peer, and other modes. The decentralization of state management and data flow could even be followed by a decentralization of manageability, and security features.
I expect to see some of the learnings incorporated into p&p deliverables over time. I'll see if where I can post my code about the forms and the SSE library so folks can use it. It is quite primitive but it is a start.
If you want to read more about Strong Angel III you can see news articles all over the web. Here is one good for techies: http://blogs.zdnet.com/BTL/?p=3545