UI Designers dilemma !!!

Eclipse Visual Editor, NetBeans Matisse project and Instantiations SWT Designer are wonderful WYSIWYG editors that i have used till now. With few projects that i have done, i have always hand coded the UI’s. And of course i have done UI development on the Eclipse through out. So all the perspectives, views, editors, wizards, preferences and properties are hand coded and i am quite comfortable with it. I do agree that probably it takes more time for me to hand code but i feel “personally” satisfied.

When i discuss this with few of my colleagues, there are for and against the UI Designers. For me and many others, Layouts and adjusting the controls on the screen are the challenges. I do spend a lot of time in adjusting the controls in a layout.

Why they like UI Designers…

  •  UI can be build very very fast, without knowing whats in the code
  • With the advanced UI Designers, its easy to adjust/auto-adjust the Layouts
  • The easy-to-use drag-and-drop paradigm makes it easy to quickly visualize
  • Properties are set in the palette and the same is reflected dynamically on the UI preview
  • Control and Widget hierarchy is what many appreciate. I know precisely, which controls are in UI

Why they want to handcode…

  • I can code. I am a developer. I am used to it.
  • Code generated by UI Designers are not optimized. I want my code to be optimized.
  • Many a times, generated code is not readable to customize.
  • It might make me less creative and insecure, as i do not know whats happening at the code level.

I am sure many of us share some of the above views and you might definitely have great experience in building UIs. Its really interesting to know, if there are really more number of developers who would use UI Designers. For now i would stick to the hand-coding. Do share your experiences with the UI Designers …

This entry was posted in eclipse, java, software and tagged , , , . Bookmark the permalink.

0 Responses to UI Designers dilemma !!!

  1. Michael says:

    Hello Suresh,
    the only argument for handcoding for me is that it can be difficult to cusmtomize generated code. The argument “i can code, i am a developer, i am used to it” is not so good in my opinion. a good developer should use the most effective way to get a good (not perfect) result. if it takes you more time to handcode without really resonable benefit i would not do it. why do you want your code optimized? optimized in what other way than readability? and the last argument about creativity. hm. you get much better/faster feedback with a gui designer. the code that creates the gui is by far not as important as your data and business model i think. i like the way visual studio seperates generated and customized code with partial classes. i think this is the best way to handle it.
    cu,
    Michael

  2. Kris Hofmans says:

    I live by this sentence which I read somewhere, once …
    “UI’s are a visual thing, so you should use a visual tool to build them”

    I’m a huge fan of SWT designer, it generates nice & clean code with customizable code generation. It doesn’t at freaky things in comments to your code. It allows you to make manual changes and still preview your application.

    The time it saved me is just incredible, I see it as an extension of my tooling, it would be like coding without the code assist in eclipse, sure it’s possible, but why would you do it?

    I have given a few eclipse workshops in schools here in Belgium, most of them are dotnet focussed and the main question I get from those kids is when I show them a mvc swing calculator is how you can visually design a UI, it’s always a pain to say that they can install the VE but that it’s a little bit outdated and that the other option is a commercial one which destroys my arguments that eclipse is free in all meanings of the word, and vs.net is not …

  3. Aaron Digulla says:

    My stronges objection against UI desingers was always that they didn’t save me time. My UIs are rarely of the “show table and wait for the user to click OK” type. I need ways to define basic building blocks from which the UI is created and then I need to dynamically pick’n’use them.

    My tree views are usually made up from five different object types. My property editors have to built from what is displayed in the table above.

    Only TeleUSE (only X11/Motif editor) allowed me to define “templates” (reusable building blocks) and it even generated inheritable objects from those templates, so I could override any property when I had to.

    That was in 1992.

    Ever since, UI designers have been like single-pixel paint programs: You have to be grateful if you can draw a straight line between two points. Who in their right minds would ever need a circle?

  4. Ed Merks says:

    I agree strongly with the first comment. I’m a coder, I’m a developer, and I use my time wisely to automate menial tasks so I have time for the more important things in life. I can’t imagine optimal code in a dialog for forms-style view being important. That being said, there’s little excuse for generating bad code. Which gets to the third point, there’s no excuse for not generating the highest quality code. If it’s worth doing, it’s worth doing right, so if you’re going to write a generator you’d better produce the finest patterns. I can’t imagine doing menial repetitive tasks as being equated to creativity. This is a crutch for the unimaginative. Of course I’m a strong believer in code generators that produce code that is both readable and customizable while still being amenable to subsequent generation. It’s a simple thing to achieve with the kinds of technology available at Eclipse, e.g., JMerger…

  5. Anil Pathak says:

    I prefer netbeans for this matter, better with new release. I start with a complete prototype designed in netbeans and then i cleanup the code in eclipse. In this process i refactor the generated codes and go through it. Coding puts you in some sort of controlling position but designer are not bad or something unrelated to UI development.

    At somepoing you need to live with the code only. I feel it’s better to know the code either hand coded or generated so that changes are easy in future.

  6. Sure Michael,
    Thanks for your feedback. As you can see from different responses for the post. I dont think there is ONE good way to do this. Of course we can not judge between the Hand Coding and UI Designers. But i do believe in having the code, in a much readable, runtime optimized and future manageable format. If any of the UI Designers gives me this flexibility, then we there is a possibility of the wide adaptability. Not to mention the name, some of the ides do generate code in the way that they manipulate the pixel level UI.
    Thanks,
    Krishna

Leave a Reply

Your email address will not be published. Required fields are marked *