Sunday, January 16, 2011

HTML-izing UI for Dot Net environment


A couple of days back I had a long argument with my .net expert friend at work. She is very talented girl indeed. I call her J. :) After working on so many PHP projects and reading about usability, accessibility, web standards etc. When it was to a time to develop HTML markup for .net project, I developed my best markup ever. I used UI LIs, Divs & played with only paddings and margins in CSS. I thought that was a superb markup.

When I delivered my code to developers the No. 1 thing they stuck on was – The repeating UI. For repeating UI I had used UI LI elements because it works perfectly and is the best way of HTML-izing. In .net developers cannot use UL LI for repeater, but they can easily repeat stuff with TABLEs (evil). The reason behind it is MICROSOFT (a headache). In visual studio 2008 or maybe in 2010 they have not given any better way of repeat UI with UL LI elements.

Since developers already don’t want any trouble and obviously they don’t care about final markup. Whether it is tables or divs, doesn’t matter to them. In visual studio of .net environment Microsoft does a lot of spoon-feeding. All the developers need to do is drag the readymade component, change/add some attributes, probably use some development logic and their work is done (In short Microsoft is making .net developers lazy and careless). When you I ask developers – why can’t they use some better HTML markup? They say – visual studio doesn’t support it, sorry! Don’t bother us.

Alright! Let’s start with the solutions to these issues –

1. If it is repeating UI. Create table based html because at the end developers are gonna make you do that.

2. Whenever there is any button which is intended to submit/post some info – use input type button or submit. Never go for a href.

3. They use <a href=””></a> only when they want to use any URL links like – http://www.abc.com/ etc.

4. Never argue with .net developers, because they are not doing anything wrong it’s the Microsoft’s technology that is making them do wrong stuff. :)

I love working in PHP environment. The reason is they don’t change any HTML; they use whatever I give them. Cool! Isn’t it?