Visual WebGui Team Blogs

May 24

Written by: Guy Peled
5/24/2009 11:51 PM 


So…, long time no speak and what a better time to sharpen my “Microsoft Word” skills, when 6.4 preview 1 is making an appearance.
 
When I first started thinking about the challenges that we were facing in 6.4, I didn’t dare to dream on having 6.4 (preview 1) so complete.  As I see it 6.4 in general is about webtization of Visual WebGui in terms of deployment (scalability / performance) and customizations (themes / behaviors / custom development). 6.4 (preview 1) is definitely a huge step towards achieving the 6.4 goals and it lays the foundation in such a way that you guys can understand where a fully fledged 6.4 will take us.
 
Up until 6.4 (preview 1) working with Visual WebGui came with a price and the simplification it provided for developing enterprise applications was diminished when the need for branding or when moving to external / customer facing projects, where the demands from the UI are dictated and branding / customizations are crucial.
 
Visual WebGui abstracts a way the bits and bytes of web development in unique way, in terms of the development experience it provides and the runtime benefits. Abstracting is a fundamental part of any framework and in most cases it comes with a price. When you need to customize the way the framework works / renders / behaves then you sometimes think if working with the framework didn’t cost you at the end more than it saved.
 
The goal of achieving abstraction / simplification while maintain maximum power in runtime and design time is the holy grail of any architect as I see it. I believe that with 6.4 (preview 1) we are raising the bar in terms of simplification vs. power, and that we are yet again innovating in succeeding to bring the simplicity of traditional development into the wild west of web designing. 
 
Web designing generally involves multiple css files / images / html layouts that are combined to create the design and as such comprises of multiple individual text files. Now working with these files in an easy way, was definitely a goal in architecting 6.4 but as I saw it brings you back to a wild west which in most cases is an overhead, when you are designing the look and feel of an application.
 
The goal I set to achieve and that is one of the greatest achievements that 6.4 (preview 1) stands for is to bring maximum power to point and click designing and the sample themes that are provided with 6.4 (preview 1) are strictly kept to point and click customizations. I think the versatile themes that we managed to provide with 6.4 (preview 1) testify for the power we provided and simplicity.
 
The architecture of the skinning that I previously wrote about definitely provided a solution to bridge between the abstraction layer (WinForm obect model) and the presentation layer. What I later realized is that the power of inheritance is something that provides a lot of power as it allows you to say… we I want all the controls to have a red borders and to decide that trees will be presented without any borders. Having the ability to inherit from a control skin / theme and with that maintain the inheritance between the controls definitely provided a lot of power for skinning.
 
What was missing in the previously described architecture is that the point and click power was limited by the amount of parameters we exposed and that led me to introducing a complimentary concept of styles which are complex parameters that control many aspects at once. That provided the power to fully customize an area. So now, if we define the listview header as a styled area we have the ability to control many parameters such as the borders / background / font / fore color / padding and etc. Furthermore providing these style parameters for each state provides full power to define what will be the look and feel of the listview header in each of its states (hover / pressed).
 
The theme designer is definitely an achievement as well as it is provided with many productivity features such as dragging files to the designer to easily override existing files such as images, scripts and etc. It provides an easy point of management for theming Visual WebGui or overriding any other client resource such as scripts / css / xslt or xaml in the silverlight presentation layer. This provides an easy way to override internal behaviors or extend them. The first hit time when running a Visual WebGui application was dramatically improved by moving a lot of the runtime algorithm to compile time which allows recompiling only touched resources and it provides an easy way to change something in the designer and to test it immediately.
 
 
So…, how should you treat 6.4 (preview 1)?
 
As its name indicates it is a preview version and as such is subject for change and will not have satiation versions but instead an ongoing release of previews that in some stage will be announced as 6.4 beta or release candidate. We will try to preserve backwards compatibility where possible although as a first preview of 6.4, I guess that this will not be possible in many cases.  What should be an interest is to see and will serve your 6.4 projects in the future is to see if you can implement things you need in-terms of customization and other 6.4 features and give us feedbacks regarding to how the serve you. We want to be able to release 6.4 knowing that we support at least 80 present of the scenarios by point and click and that to the remaining 20 percent we have a solution that might involve overriding css / js and etc.
 
The internal resource management has massively changed to improve the time of resource processing and overriding support. As part of the process we rewrote a couple of the internal processes to work in compile time instead of in runtime which provided a performance boost and the fast launch of the first hit to make it productive to do changes and refresh the view. We are missing a few previously provided features that will be implemented in future 6.4 previews such as resource obscuring / compacting and scoping. We will release a change log that will provide the status of these features to stay tuned for those.
 
An important thing you should pay attention to is that the themes that are released in 6.4 (preview 1) are provided as sample themes which serve as benchmarks to the amount of customization we are able to provide for but the copyright for the design is not Gizmox’s. We are planning to work with designers to provide out of the box Visual WebGui themes but that will be in a later stage of 6.4 as we want the requirements to be set in stone before investing in custom tailored themes.
 
So…, what’s down the road with the next preview versions of 6.4?
 
I will focus my answer on this question (here) to the customization as this was the focus of this post. As I see it the greatest challenge we are facing in the near future is standardizations of the different controls to provide for 80% of the scenarios with point and click customizations. So I guess that is something that with the help of the community and our 6.4 pioneer customers we will have a better understanding of what is important and if we are missing on capabilities or concepts. We definitely intend to standardize our resources to be more customizable and to be an ambassador for best practices on creating custom controls.
 
We do have missing features that were cut down in preview 1, that were previously available such as static resources, obscuring -  scoping  and etc. that we will need to complete. We will focus more on custom control development wizards and accelerators that will boost the availability of third party controls.
 
The next step as I see it in theme customization is providing capabilities to define multiple skin definitions for each skin type which will enable for example to create several designs for buttons and utilizing them by skin id (kind of like ASP.NET has).  

Tags:
.NET Web, Cloud and Mobile application delivery platform | Sitemap | Terms of Use | Privacy Statement | Copyright © 2005-2011 Visual WebGui®       Visual WebGui weblog on ASP.NET Visual WebGui Group on LinkedIn Visual WebGui updates on Twitter Visual WebGui Page on Facebook Visual WebGui YouTube Channel Visual WebGui Platform News RSS