In the area of human computer interaction, over the last twenty years, we have witnessed considerable progress in an ever-ina-easing bandwidth from the computer to the user. ApplicatiCll saeens evolved from static text CIlly saeens to interactive GUI saeens. These saeens contain nmnerous graphical element (I' "widgets", supporting multiple data types, such as text, voice, image, and video. The widgets can range from simple ones like a combo box or slida' to more complicated OCX's such as interactive graphs (l'maps. On the other hand, the tools to program this application arc still in the dcmain of programmers. Although there has been much progress in various RAn tools, visoallanguage and 4GL to improve case of use, they still mostly target programmers. We believe that in order to allow end-users to develop their own advanced UI applications, it is necessary to c:rcate higher-level application abstractions ea' 'algebra' f