Next generation User Interfaces
So I should start this post with a disclaimer in that everything I'm going to posit is my own personal opinion (my wife would tell you that I'm wrong pretty much most of the time), so you'll have take this post with a grain of salt.
I'm thinking we are on the verge of a user interface revolution. I think we've been moving down this path since the early days of HTML and web interface development. In the beginning of the Web we just had HTML, there was no way to maintain application state, so Sun came along and blessed us with java applets. And applets were cool ..... for about 6 months.
After the world overcame the euphoria brought on by java applets, we had Flash blaze on the scene to provide really cool web based interfaces. The only problem is the backend facing API was/is lacking and this does not provide for robust application development beyond a cool look-and-feel. So, to summarize, you have a cool user interface that is easy to deploy and easy to develop in, but lacks robust APIs for building LOB applications or data connectivity.
I would say this brings us to where we are presently with smart clients. (I know I’ve skipped over and left out green-screen thin clients, but I keep trying to forget that part of my past, so please indulge me and forgive me.)
We've been talking about smart clients for some time now, a few years. The idea is that a smart client is easy to develop in, provides a rich user experience, and is very easy to deploy and maintain. Sounds simple right? The problem is simplicity is always so difficult to achieve.
Ok, so I’m going to digress and talk about green screen clients anyways. What works so well in a host based environment is that you have instant access to the data. It’s literally right at your fingertips. Performance is amazing and there are no deployment headaches, but the user experience is downright frigid.
So if you’re still with me I’ll finish up and give you your day back. I’m thinking the user interface revolution will rely on several factors:
- Bringing the database forward to the client and having the underlying technology maintain integrity between the local database with a server based database. (Think phones and other about to be realized mobile computing devices.)
- Very simple client deployment and maintenance
- Powerful and cheap client devices
- Tools to build rich intuitive beautiful user experiences
We are almost on the verge of this revolution now. For me, it can’t come soon enough.