September 14, 2003

Ego Blasting on the ones and twos

As a programmer I can remember the first time I created a useful program and the first time I actually made PHP script that was functional on a website. This gave me an incredible feeling and ever since then I felt as if I could program anything. As programmers that is how we should feel. Programming languages give us the power to manipulate technology the way we want to. Nothing seems impossible. That is until you actually reach a problem that does seem impossible.

Hang the Ego Up

There have been more times than I could count when I have gotten stuck on a problem. These times can be very depressing for my ego and nothing seems to be going right with the world. The easiest thing to do is sometimes also the hardest and that is having to ask someone else for advice.

I contracted for this company for a short period of time and they were doing some things with PHP that I had never seen before. I will admit that at the time I was a very inexperienced PHP programmer, but my ego allowed me to think that I was one of the best around. That is until I saw the stuff they were doing. Being a contractor you also have to have sort of an ego because the people who hire you expect you to know what you are doing. Well there were many times where I did not know what I was doing because all the stuff was new. This was damaging to me and I lost a lot of productivity just staring at the screen. After a couple of hours when I had no more ego left I got up and asked one of the lead programmers how he would go about handling the problem. He offered his suggestions, which helped me tremendously and I was on my way.

Over time I asked lots of questions and received lots of answers. I learned more in that short period of time then I ever have previously. Simply through the generosity of others. If someone asks you for help then offer them a path to walk on. Do not tell them to figure it out for themselves. You learn best through others sometimes so why not help each other.

Use Friends Wisely

Just because you know someone who is willing to help you does not mean that you should abuse their charity. Try to figure out the problem yourself. Sometimes you need to walk away. If you do go to somone do not necessarily ask for the solution, but how they would approach the problem. This helps to give you insight into how others think which is more valuable than simply knowing how to get it done.

Use Your Ego

You do need an ego though because it helps get you through the challenges. Your ego can be used as motivation to solve a problem. It helps to let you know that you are just as capable as others of getting stuff done. Although it might take longer and not be as efficient. There is a time and place to use your ego and there is a time and place to swallow your pride and ask for help.

Posted by Scrivs at 12:41 PM | Comments (2)

Yep

The Inspiration

Kottke
Stopdesign
Simplebits
Mezzoblue
Mezzoblue: Second Voice

Tags with a purpose

If you are a web designer/developer you are well aware of the fact that HTML/XHTML has tags that associate what different elements are within a HTML document. The p tag represents a paragraph and a h1 tag represents a header. However, with the advent of web standards and making compliant sites these definitions somehow got lost and people started to use div's when they could have used p's or h1's.

Any document, be it written or XML or HTML, has elements within it that help define parts of the content. A page title is simply a page title and nothing else. A header of a section should only be depicted as a header of a section. When writing a paper we do not stick headers in the middle of paragraphs to place emphasis on text. That is not what headers are for. Headers are used to separate major sections of content within a text. The same should be applied to web documents. If you wish to emphasize some text in a paragraph then do so with a span class because that is the purpose they serve. Leave headers to just being headers.

Looking at my Google example you can see that there are no div's because none were needed and the document does not really contain sections. However, each piece of content is surrounded by a tag that appropriately describes what it is within the document. Lists use either ol or ul. The logo is the header of the document so I was able to define it with a h1 tag. That is one of the beauties of the FIR because it allows documents to remain semantic while adding some flavor. Even though the site is not 100% semantically correct (or maybe it is) it is pretty close.

Until we have more control with CSS over how elements work and have browsers that all behave the same then no website will be purely semantic. However, a major step would be to use the appropriate elements to describe the content in your document. You might have to surround a ul with a div, but there should be no need to use a div in place of the ul when describing a list because that is not semantically correct.

div's should control sections of the content and not the content itself. div's help to separate the header from the body and the body from the footer. They should not define a group of sentences because that is what the p tag is for. Many designer seem to forget that you can apply styles to html elements by stick a class or id within their tags.

If you plan out an XTHML document it is possible to come up with a fairly decent page without using div's at all. If you do have to use div's then do so appropriately. I believe the greatest accomplishment behind the CSS ZenGarden is that all the sites are using the same XTHML document. This shows that a well designed document can help in future redesigns. Their is no need to fear a redesign when all you are changing is the CSS file.

Standards People Got It Backwards

When advocating standards compliant sites, you must realize that it is possible to create a table-based layout that is 100% compliant. However, table-based layouts do not work semantically because they use tables to define the layout of the content. As many designers know that is not the purpose of tables within the HTML specification and therefore such sites lack semantic value.

If we begin advocating semantics then standards will follow more readily because when you force a document to follow the semantics of the XHTML/HTML specs then their is a better chance that it will already be XHTML compliant. Again we are going back to the days of the beginning of the Internet when HTML documents were just documents meant for reading and not viewing pleasure. We now need to create these types of documents again, but now with CSS it is possible to add style without corrupting the structure. The difficulty in this is that it takes another mindset to start creating semantically structured documents. This is equivalent to the shift in thinking that it took to replace table-based design with CSS-based design.

A well structured, semantically accurate XHTML document helps browsers, search engines, and designers. The benefit of semantic documents is that they follow standards not the other way around. It takes time and energy to develop correct documents, but this time and energy is well spent in the long run. Semantically structured XHTML documents are just another type of XML document and therefore the abilities to manipulate the content that the document holds are limitless.

Posted by Scrivs at 12:27 PM | Comments (0)

September 13, 2003

Just to see

I need to write this so that I can see what the class are inside the stylesheet.

Posted by Scrivs at 12:16 PM | Comments (0)