Tuesday, April 17, 2007

Next UI framework

My idea about having a UI framework which should be able to define the UI without having in mind the underlaying device is still hot.

Let's see which are the features expected from a UI framework:
- able to draw UI widgets like: buttons, lists, combos etc.
- draw a view composed from UI widgets based on a model
- capture the user behaviour and sent it to the business component

Do you see any other important features for a UI framework?

If these is enough, then why not having an abstract framework to let us define the UI without having in mind the real UI device.

For example:

I want to create a button.
Button ok = new Button();
...
window.add(button);
button.addListener(myListener);
...

Having this code, is it really important the device?

I think now.

Question: Has sense to try to define an abstraction for the UI, and then to provide several implementations?

Here are some advantages:
- design once, display everywhere .... :) this should be a trademark, isn't it
- avoid duplicating UI code

Disadvantages:
- can not hack the code for a specific device ... is this so bad ? just think to the current UI widgets 80-90% are available to all devices
- maybe some overhead will be added by abstraction

Inventing this abstraction is so bad?

1 comment:

Mircea Markus said...

I think it is a hot idea indeed :)
The things I find particulary difficult to archive is the layout: it's just not enough to say - put my button somewhere in the left upper corner. On the other hand, I would need a different layout on a cell phone and on an desktop. I would say that you can generalize the view logic(what needs to be done when cliking a button etc) but the layout should still be done for each particular device. Not bad thing, considering the HTML examle..