Geeks With Blogs
Gizmox - Guy Peled's Blog Guy Peled's thoughts on development, and what ever...

Well first of all for those of you who do not know what is Visual WebGui (shame on you)...

Visual WebGui is a platform that exposes an SDK with the same API as WinForms and the design time capabilities only runtime product runs as a .NET web site through a unique communication layer and presentation layer. WebGui lets you develop outlook web access like applications with out any know how of web development. If you are a WinForms developer or a VB6 developer you should be able to start developing almost immediately. Any way that is WebGui and as Mel Gibson said  (in conspiracy theory) “now he nose...”.

Well I was, for as long as I remember dreaming on opening my own startup, from the days of the great bubble and way after that. Then one day I thought that developing database driven applications are too complex and I started to analyze way. I looked on it from every prospective and I tried to develop some kind of entity mapping to DB application which you defined your entities in an abstract way and define searches you would like to do on those entities and the application tried to produce you an object oriented kind of database with interfaces and classes and you name it. Any way I did it, I had one very complex database and a great deal of stored procedures and some console like UI to test the application.

In that exact moment I relaxed and was happy with my work of art, thinking the hard work is behind me. I had a working prototype, I was testing performance and it was quite good for an auto generated database and at this point I needed a UI layer. Of course I wanted a web application as I know from my experience customers usually prefer and I would be able to share resources between the administrator application to the web application I wanted to generate from that generated database.

Well as you can guess I was very frustrated as I had to throw in allot of effort in making the UI. I had for my disposal lots of tools which I will not name for understandable reasons, but every road I looked at had for me tones of work to be done.

I could go to full server side ASP.NET solution but the I would be generating a site experience rather then an application and lets say I am good with that it is still no bed of roses. You need to design pages and the relations between them and protect them as they receive parameters and you need to know your context as you can be in the middle of some kind of process and at the end of the road you get one glorified web site.

I could have taken the client side road using client side frameworks out there which can give me a very nice desktop like look and feel and work with services but then I need twice the security I needed before and the most important issue I will develop it in script language. Well give me a break I know some of you out there are glorifying script languages like moses in one of the commands had “tho shall use scripts to build web applications“, but I have been a script developer for long time and it is just bad.

I agree you can do some very cool stuff with scripts as there are no rules, no bindings, no coffining data types and code can be manipulated at runtime, but no one tells you that it can be hell to debug when you have lots of scripts, that working in teams is almost impossible, that you have browser issues that you need to be Einstein to get your self out of those issues and you will still be wasting tones of time. And of course there is the mishmash products as I call them which let you declarative define your app and they take care of scripting for you. At this point I hate to be the nay saying guy again but XML has it's advantages but to use it as a programming language in my point of view using XML for coding is just as abusing as using it as a database.

I remember that there where days when the XML was starting to catch that it was abused to be a full database. There where books out there called “XML as a database” well thank god we are over that and back to our issue I see XML as a programming language doing the same abuse as XML as a database. XML is great for defining a structure of an application or a screen (aka as XAML..) and is excellent for mapping but for god sake leave the coding out of it (scripts are better). Any way declarative XML solutions can only take you so far as they assume what are your tasks, they lack in context and most important they are not a programming language!!!!

By the way don't take me wrong on my day job I was doing all the above. There comes a time when a programmer faces his boss and he will do all the above over and over, until his brain explodes. In my day job I was developing a outlook like application but for content management, with all the above. I had tones of scripts, tones of declarative XML and I did it. I had one hell of a system. I was so proud I would gaze at my system enjoying the magnificent UI... Until my boss came telling me that what I did was great and exactly what he dreamed about but the customer wants it a little bit different and that when sheet hit the fan with a great bang.

Back to my startup, I started to search a way to avoid all the X factors of developing web applications and it happened to be that I was doing some projects over WinForms, producing smart client applications and it hit me. We are constantly obsessed with making web applications be more responsive and complex, constantly searching how to improve the user experience and from framework to framework we are making the programming experience a living hell. We have that last AJAX buzz giving one hell of a kick to web application user experience but putting again a big load of head aces to us programmers while my experience with programming with WinForms was amazing I could actually do what I wanted and concentrate on my business logic.

Let me ask you some questions:
Do you know how to create a treeview in DHTML?
Do you know how to make a browser window opened getting user a created item data and to add it to an item on the main view's listview?
Do you know how to make a part of the screen update ?
Do you know what happens to a IE TD element when you set the outerHTML property?
Do you know how to make a table render faster in IE ?
Do you know how to protect a web method being called by an unauthorized user ?
Do you know how to prevent SQL injection to your site?
Do you know how to make a list with static headers so when a user scrolls down the screen he still see the headers ?
Do you know how to create a context menu and avoiding screen flickering in IE ?
Do you know how to prevent memory leaks in IE ?
Do you know how to make FireFox show a gradient background ?

I could keep on asking questions from here to eternity...

Well I believe that if you develop a generic database based application generator you should not have to deal with these questions. You should be able to stick with what you do best. Well in my case it turns out I am more happy doing UI frameworks although a couple of months later I worked in a company that was using the FileNet infrastructure and it turns out that I had planed a database very close to their database.

Any way that is way I developed WebGui.

Posted on Wednesday, April 12, 2006 12:25 AM Frameworks , Visual WebGui | Back to top

Comments on this post: Why I developed Visual WebGui ?

# re: Why I developed Visual WebGui ?
Requesting Gravatar...
What an incredible library! I was searching the web for something of this nature, and I came across your WebGUI. I’ve been discussing the merging of win and web form applications for some time with my colleges. This is exactly what the doctor ordered!

Left by jsimms on Apr 14, 2007 1:30 AM

# re: Why I developed Visual WebGui ?
Requesting Gravatar...
Hi Gizmox,

nice article. you know what, I didnt made any effort to look on the internet about a .net project that can be deployed on both desktop and web environment without making too much effort. I mean I want a framework that is based on winforms but is translated on the web without any effort...guess what my friend made a research about it and there you are, you already did it. I hope microsoft will give you financial support for this project. You could be extremely rich!!! :)

Left by carl c on Sep 05, 2007 8:03 PM

# re: Why I developed Visual WebGui ?
Requesting Gravatar...
Wonderful control, please keep it up simple and very intelligent

Left by sj on Nov 14, 2007 7:45 AM

# re: Why I developed Visual WebGui ?
Requesting Gravatar...
Thanks alot
Can we get a version of this on VB?
I am willing to pay for a copy.
Left by Nesh on Mar 24, 2008 11:00 PM

Your comment:
 (will show your gravatar)

Copyright © Guy Peled | Powered by: