11-Aug-06 (Created: 11-Aug-06) | More in 'CS-Java'

Reflections on the importance of HTML prototyping for IT

Wonder if you have come across these lines before:

"I fix myself an Omelete, sir,
Of fluffy clouds, and sky
I sew myself a warm cloak, sir,
of hope and daffodils."

Unlike this fanciful dilemma of "Poor Angus" of Shel Silverstein, in large IT corporations HTML prototypes can play a much more significant role. They can aid faster development times. They can secure budgets. They can encourage good architecture. They can directly lead to a number of development artifacts such as data models, and business services. I think prototypes offer another important aspect to the modern development process along with the Extreme Programming and RUP.

HTML applications are conducive to prototyping ..

There is a lot of web based IT work these days. It involves creating web sites that contain web forms, paged tables, and pretty boxes. Because of the inherent architecture of html applications, these applications are more conducive to prototyping. It is not difficult to imagine a fairly complete working prototype using just html, css, and some javascript. The nice thing about these prototypes are their lower requirements on skills and their higher reliance on imagination, experimentation, and feedback. Although it should be easier to find people that can do html, css, and javascript, it should be taken in to account that it takes a different personality to create timely and good prototypes. There is no short cut to creativity whether prototyping with HTML or programming in Java.

It is very easy to overlook HTML expertise in a web project

"I am a java or dotnet programmer and hence HTML is not that important...I need to get a certification in java or I need to get a certification in asp.net to get hired into the frenzy of the web ..." These are not uncommon plans among programmers. This is somewhat skewed, yet is well pursued by programmers and corporations that hire them.

Programmer thinks that he knows the Java programming language inside out. He knows all the OO Patterns. She knows the rose diagrams. He/she knows the EJBs. HTML is quite simple.

An interviewer thinks that if one can master the more complex programming languages, how hard can web design be!! Everyone seem to be doing web design these days, aren't they?

My dream hire these days for good IT projects will be someone that creates web sites with a passion. From start to finish. They will know html. They will know css. They will know javascript. They will know their subtleties. They will know their nuances. If I give them the requirements they can imagine the site and be able to give me a prototype in a couple of days or with in a week. They know how to put together stuff. They know how to give borders. They know how to design background or master pages. They know how to style forms. Hopefully they have had a few programming courses and a year or two experience with a programming language.

In traditional programming we expect things to take a few months. I would like to see a sense of urgency and intensity in this programmer. He/she is eager to finish and demo what is at hand. He/she thrives on and seeks feedback from users.

Designing Prototypes is an IMPORTANT job (and hence a skill) ...

I consider this ability to design sites a very important job both for entry level programmers and also for experienced programmers wanting to be senior developers or architects. This is the face of what they are designing.

I see substantial career growth for programmers that can do this. I see these programmers as cutting through to the core of the development problem.

I expect these programmers to do extremely well in the framework and language of their choice.

Don't start your project with out one of these on your staff...

One of these programmers profiled above is essential before starting your project. This programmer will make or brake the the project.

If you don't have one, get one.

If you don't have enough budget to get one, train one with some foresight.

If you want a great career in IT, become one...

If you are a programmer, try your best to acquire the skills of a web designer. Create your own independent web presence. Use blogs or use any online software to hone your skills.

If someone comes up and says, "I have a 20 page form based web site", see if you can model it in a week or two. See if you can upload it to a site for a demo.

Again, Web applications are conducive to prototyping ...

Because of the nature of HTMl and how the presentation layer is separated and well defined from the business layer the IT applications are quite conducive to prototyping.

This is quite a luxury for the previous generation of client server applications.

With primitive tools such as text editors it is possible to simulate a valid and accurate user experience with in a couple of weeks even for a seriously large size IT application.

Would you like to be an Entrepreneur...

Well no one else needs this skill more than you. It is all about selling fluffy dreams. There is no other substitute than a prototype for this...A fairly complex html demo can be put together in 2 to 3 weeks. What other great tool is there to take it before your customer...

More over this prototype ensures a quick delivery of your finished product as you have to communicate that much less when you hire the programmers. This benefit extends to corporate development as well.

Would you like to be an architect of IT...

This skill is essential in selling your vision for future IT projects and hence establish your TANGIBLE vision this way. As an architect it is also important to realize the role of these prototypes in determining data models for your web site. Depending on the framework of your choice some of these prototypes can be directly used in the development cycle. In that sense a prototype is not just a prototype, but an integral part of the entire development process.