Some of you will know what XML is. Some of you may even use it. For those of you who don't, this blog entry will be of interest to you.
Well, let's start by discussing what XML is.
XML stands for EXtensible Markup Language. It is called extensible because the language is extendable. See, while it can be compared to HTML (since the data is also marked up with tags) it really is quite different because:
a) The tags are not predefined (to put this simplistically, you create your own tags, hence extendable - one can add more tags as needed);
b) The rules are very strict (it would have to be because of point a above);
c) XML was not designed to display data, but rather to structure data;
d) HTML is restricted to be viewed in browsers (or similar software), whereas XML can be (and is) much more widely used.
XML is most often used to store data or transfer data. Either usage requires that the data is defined. E.g. this part of the data is the product name and this part is the price. This makes it possible for humans and computer programs to interpret the data.
So, what's the big deal? Well to start with, HTML is too restrictive (only has a limited set of tags) to be used to structure data. It does a great job in presenting data along with style sheets. But that is where its usefulness ends. XML won't replace it for this task, but it will work with HTML and, interestingly enough, it defines the latest version of HTML, called XHMTL.
What does this all mean? XML's job is to provide a way to store data in a structured and meaningful way that is not ambiguous. The design of XML is so clever that it can structure almost any data, including but not limited to electronic transfer data, mathematics, music, documents (of almost any kind), etc.
However, by itself, XML can't do these things. It is actually through the use of software written to use XML that its usefulness really comes out. And then it shines light years above anything else devised so far.
Therefore, to use XML one has to have at one's disposal programs (software) that are XML enabled. To the web developer it means that to benefit from XML you will need to know how to write programs (e.g. ASP.NET, JavaScript, etc.).
What software uses XML? Actually, quite a bit. Some word processing software already stores the documents in XML format. Many banking systems have already deployed XML to transfer financial information. From a web developer's point of view, you can use XML from inside many browsers using JavaScript. ASP can be used to create or read XML data. Technologies such as Java (JDEE) and ASP.NET have been developed to natively use XML as one of its array of data sources.
The question that may come to your lips is: Could you use XML inside your web pages? Yes, you can. Amongst the simplest functions can include using JavaScript inside the browser to display selected bits of info, make sortable columns, etc.
But, whatever way you want to use XML, you do need to get to learn it. There is really quite a lot to it and you should add that to your list of things to learn.
If you are interested in learning more about XML you may attend our XML course.
Find out more about web related training in South Africa visit http://www.workingwebs.co.za/.
Thursday, December 11, 2008
Thursday, December 4, 2008
Night Classes
We are ending our year with night classes.
For a while I didn't want to do night classes. I am already working the whole day. But it has been interesting that the demand was sitting there all the time. And after starting the second set of night classes I met some really nice folk. In fact, from our previous class, I have gained an employee.
So all in all it has turned out to be quite fun!
Happy holidays to you!
For a while I didn't want to do night classes. I am already working the whole day. But it has been interesting that the demand was sitting there all the time. And after starting the second set of night classes I met some really nice folk. In fact, from our previous class, I have gained an employee.
So all in all it has turned out to be quite fun!
Happy holidays to you!
Friday, November 28, 2008
[Tip] CSS: Multiple classes in an element
When one knows this one, it seems obvious. But when one doesn't it comes as welcome as a breath of fresh air that one can use more than one class to style an element.
Example:
<p class="MyMainCssClass AnotherCssClass">The paragraph's content here.</p>
Remember that the cascading effect still applies. Properties in AnotherCssClass will override those same properties in the MyMainCssClass class.
PS: Our CSS course is getting ever more popular. This is good as I really would like to encourage designers to use more CSS and do it smarter. See our course schedule for the next course.
Example:
<p class="MyMainCssClass AnotherCssClass">The paragraph's content here.</p>
Remember that the cascading effect still applies. Properties in AnotherCssClass will override those same properties in the MyMainCssClass class.
PS: Our CSS course is getting ever more popular. This is good as I really would like to encourage designers to use more CSS and do it smarter. See our course schedule for the next course.
Characteristics of a True Programmer
While programmers come in all shapes and sizes and from just about any ethnic group with no gender, race or age boundaries, there are common characteristics all programmers share. These are:
1. Works long hours
I have not come across a competent programmer that doesn’t work extra hours. Even the weekend programmer puts in a lot of time on weekends. This one seems always to be true. Ask the spouses and friends of real programmers. Even though this one is a pity in some ways – it seems that a “programmer” that does not follow this characteristic will not be much of a programmer even after years of training.
2. Does lots of research
All real programmers I have encountered spend a significant amount of time researching. They are always looking for new and better ways to do things or simply finding out how to do some task he/she doesn’t know how to do.
3. Is curious
Programmers are constantly curious about new things and techniques.
4. Tries to solve own problems
Sometimes, irritatingly so, programmers don’t want to be helped. They only ask for clues to a problem. After that they want to solve it themselves.
5. Experiments with new ideas and techniques
True programmers frequently have something new to show. The programmer might be a show-off or not. You might have to prise the idea out of him/her – but it will be there. Even new programmers show this characteristic early on.
6. Problem solver
A true programmer is a problem solver. While this may not extend into his/her personal life, it is certainly true for his/her programming challenges. The problem solving is not always in a straight line. Other techniques like lateral and predictive thinking are crucial techniques in a programmer’s life.
By the way, the above is true even for the week old programmer. If these characteristics don’t show up early on, then you don’t have a real programmer in the making.
1. Works long hours
I have not come across a competent programmer that doesn’t work extra hours. Even the weekend programmer puts in a lot of time on weekends. This one seems always to be true. Ask the spouses and friends of real programmers. Even though this one is a pity in some ways – it seems that a “programmer” that does not follow this characteristic will not be much of a programmer even after years of training.
2. Does lots of research
All real programmers I have encountered spend a significant amount of time researching. They are always looking for new and better ways to do things or simply finding out how to do some task he/she doesn’t know how to do.
3. Is curious
Programmers are constantly curious about new things and techniques.
4. Tries to solve own problems
Sometimes, irritatingly so, programmers don’t want to be helped. They only ask for clues to a problem. After that they want to solve it themselves.
5. Experiments with new ideas and techniques
True programmers frequently have something new to show. The programmer might be a show-off or not. You might have to prise the idea out of him/her – but it will be there. Even new programmers show this characteristic early on.
6. Problem solver
A true programmer is a problem solver. While this may not extend into his/her personal life, it is certainly true for his/her programming challenges. The problem solving is not always in a straight line. Other techniques like lateral and predictive thinking are crucial techniques in a programmer’s life.
By the way, the above is true even for the week old programmer. If these characteristics don’t show up early on, then you don’t have a real programmer in the making.
Labels:
programmer,
web developer,
web programming
Monday, November 10, 2008
[Tip] JavaScript: How to do a Ctrl-Click
You may want to make a link (or some other element) work when you hold down the Ctrl key before clicking the link.
This is possible in modern browsers and is done as follows:
document.onmousedown = clickElement;
function clickElement(e) {
var ctrlPressed = 0;
var evt = (navigator.appName=="Netscape") ? e : event;
ctrlPressed = evt.ctrlKey;
if (ctrlPressed) {
// Place code to run when Ctrl-Click done
}
return true;
}
Take note the above code works on the whole page and I have tested this on all top browsers:
IE 7, Firefox 3, Chrome, Safari and Opera 9.
Hope it helps someone.
This is possible in modern browsers and is done as follows:
document.onmousedown = clickElement;
function clickElement(e) {
var ctrlPressed = 0;
var evt = (navigator.appName=="Netscape") ? e : event;
ctrlPressed = evt.ctrlKey;
if (ctrlPressed) {
// Place code to run when Ctrl-Click done
}
return true;
}
Take note the above code works on the whole page and I have tested this on all top browsers:
IE 7, Firefox 3, Chrome, Safari and Opera 9.
Hope it helps someone.
Hectic Week
In case you have been wondering when my next post is coming... Well, I am back.
I had rather hectic week last week. I ran both an evening class and a day class. To make things even more hectic, the day class was on the other side of Pretoria - a two hour drive from my office.
So needless to say, last week was rather tiring.
But both courses went very well. The students were really happy and learnt a lot:-)
This week is the ASP.NET Course. I even have a student all the way from Port Elizabeth! Wow! Welcome, Andrew and thanks for taking the trouble to come so far.
I had rather hectic week last week. I ran both an evening class and a day class. To make things even more hectic, the day class was on the other side of Pretoria - a two hour drive from my office.
So needless to say, last week was rather tiring.
But both courses went very well. The students were really happy and learnt a lot:-)
This week is the ASP.NET Course. I even have a student all the way from Port Elizabeth! Wow! Welcome, Andrew and thanks for taking the trouble to come so far.
Labels:
ASP.NET,
evening class,
Port Elizabeth,
Pretoria
Monday, October 27, 2008
My Birthday
Hi
Celebrated my 50th on Friday. Thanks for all who came to my party and thanks to all my clients that left me alone this last weekend to enjoy some private time.
It's Monday, and back to work.
We started our E-Marketing using Social Networking Course this morning. Kirsten Vagle, a dear friend friend and colleague is presenting this two day course.
Also running an evening class this week. Boy, will this be a busy week:-)
Got some great tips lined up for the Blog. Talk to you soon!
Celebrated my 50th on Friday. Thanks for all who came to my party and thanks to all my clients that left me alone this last weekend to enjoy some private time.
It's Monday, and back to work.
We started our E-Marketing using Social Networking Course this morning. Kirsten Vagle, a dear friend friend and colleague is presenting this two day course.
Also running an evening class this week. Boy, will this be a busy week:-)
Got some great tips lined up for the Blog. Talk to you soon!
Thursday, October 23, 2008
What is RSS?
The first part of RSS is what does RSS really stand for? Well, it can be called "Really Simple Syndication" or "Rich Site Summary". But that seems to matter little as everyone just calls it "RSS".
But, what is it?
Essentially, RSS is a standardised format to publish frequently changing news. This news could include Blog entries (like this one), or news headlines or even audio or video.
For example, if you publish news on your website and this news changes frequently then you can publish the headlines of this news on other web sites (like rss Hugger) and so drive visitors to your news and therefore to your website.
[Side note to rss Hugger (11 Dec 2008). While the above concept is good, my experience with rss Hugger has been dissapointing to say the least. Had some issues on the site and have had absolutely no response any of my communications or requests for assistance. So at this stage I recommend you not to use rss Hugger.]
RSS is often included in the concept of "Social Networking" or "Web 2.0" because you can share your news.
Note: you can also show another site's news headlines on your web site. It is one way to get fresh news that someone else publishes.
Here are some references to sites that talk about RSS:
Remember you can find out more about our training on our trianing page: http://www.workingwebs.co.za/training_courses.htm
But, what is it?
Essentially, RSS is a standardised format to publish frequently changing news. This news could include Blog entries (like this one), or news headlines or even audio or video.
For example, if you publish news on your website and this news changes frequently then you can publish the headlines of this news on other web sites (like rss Hugger) and so drive visitors to your news and therefore to your website.
[Side note to rss Hugger (11 Dec 2008). While the above concept is good, my experience with rss Hugger has been dissapointing to say the least. Had some issues on the site and have had absolutely no response any of my communications or requests for assistance. So at this stage I recommend you not to use rss Hugger.]
RSS is often included in the concept of "Social Networking" or "Web 2.0" because you can share your news.
Note: you can also show another site's news headlines on your web site. It is one way to get fresh news that someone else publishes.
Here are some references to sites that talk about RSS:
- http://www.whatisrss.com/
- http://www.xml.com/pub/a/2002/12/18/dive-into-xml.html
- http://www.rss-specifications.com/what-is-rss.htm
- http://rss.softwaregarden.com/aboutrss.html
- http://www.youtube.com/watch?v=0klgLsSxGsU
Remember you can find out more about our training on our trianing page: http://www.workingwebs.co.za/training_courses.htm
Labels:
online publishing,
RSS,
syndication,
web news
Some CSS news
As many of you CSS designers have encountered are the different implementations across the different browsers. Well, this could come to an end. Not soon, unfortunately, but maybe by the end of 2009 we may not have to worry about that any more.
Well, IE 8 is about to be released and that will put it on par with the other recent versions of browsers like Firefox, Safari and Chrome.
Here is a link to an interesting article about CSS and how you can do table layouts without tables and without those fancy DIV tricks you have had to use:
Everything You Know About CSS Is Wrong
Can't wait.
Well, IE 8 is about to be released and that will put it on par with the other recent versions of browsers like Firefox, Safari and Chrome.
Here is a link to an interesting article about CSS and how you can do table layouts without tables and without those fancy DIV tricks you have had to use:
Everything You Know About CSS Is Wrong
Can't wait.
Labels:
CSS,
IE8,
web page layout,
web standards
Some definitions
There are two terms bandied about that often times cause confusion. So I thought I would define them as I see them:
Designer:
The person that designs good looking and suitable graphics and layouts for web pages. Some technical knowledge is needed but nowhere near that of the developer.
Developer:
Different from a designer in that a developer writes programs and designs data access structures. A developer needs to have some of the knowledge a designer has but can get away with not knowing how to design good looking graphic designs as the developer can work with a designer to do this.
In certain organizations even the development tasks are split. For instance, the web application developer and the database developer. But often, these tasks are combined. The size of the development usually determines the how tasks are split. Large developments usually require an additional post which is that of the Project Manager.
Hope this clarifies things for you (if you needed this to be clarified).
Designer:
The person that designs good looking and suitable graphics and layouts for web pages. Some technical knowledge is needed but nowhere near that of the developer.
Developer:
Different from a designer in that a developer writes programs and designs data access structures. A developer needs to have some of the knowledge a designer has but can get away with not knowing how to design good looking graphic designs as the developer can work with a designer to do this.
In certain organizations even the development tasks are split. For instance, the web application developer and the database developer. But often, these tasks are combined. The size of the development usually determines the how tasks are split. Large developments usually require an additional post which is that of the Project Manager.
Hope this clarifies things for you (if you needed this to be clarified).
Labels:
layout,
web design,
web designer,
web developer
Wednesday, October 22, 2008
Summary of skills needed to produce a good web site
I have been giving some thought as to what a designer/developer needs to know in order to produce a good web site. Here is a summary of my thoughts.
PS: You are welcome to comment on this.
A. Static Content Site
(Often referred to as a Brochure or an HTML site.)
In some large companies specialists are employed to deal with specific skills. But, I know quite a few ASP.NET developers who know the whole gamut of skills presented here.
PS: You are welcome to comment on this.
A. Static Content Site
(Often referred to as a Brochure or an HTML site.)
- HTML/XHTML
- CSS
- Graphics manipulation and conversion
- Graphics creation
- Layout design
- Writing for the Web utilizing keywords
- SEO factors (make/keep pages search engine friendly)
- Web site marketing (includes social networking and how to convert visitors to the web site)
- JavaScript
- Web hosting fundamentals and related Internet and environmental factors
- Optional: XML
- Optional: Flash
- Optional: Silverlight
- Imagination and bright ideas
- Web authoring tool (Expression Web, Dreamweaver, etc.)
B. Dynamic Content Site
(Often, incorrectly, referred to as database site. Also referred to as an ASP or PHP site amongst other names.)
- All of the above skills listed in Static Content Site, especially points 1, 2, 3, 10 and 11
- Excellent programming ability
- Logic (being able to work out the logical flow and sequence of events and things)
- Understanding data and the relationships between data and types of data
- Understanding the Web environment very well (e.g. the web programming is stateless – storage wiped out for each client – server – client round trip)
- Know and understand the web platform technology (e.g. ASP.NET or PHP)
- Know at least one programming language that can be used in the environment chosen (in ASP.NET choices are C#, VB and others)
- Know Object Oriented Programming (OOP)
- Optional but key: Know the appropriate IDE (Integrated Development Environment – in ASP.NET it is Visual Studio or Visual Web Developer)
- Fundamentals of databases
- SQL (Structured Query Language) and T-SQL if using SQL Server or equivalent
- Database table design
- XML and at least four related technologies like XSLT, DTDs, XPath, Schemas
- Research ability
- Advanced: Security issues and how to handle them
- Advanced: Any feature that could be left out but would make for better performance, maintenance and stability
- Regular Expressions
- Project planning and management
In some large companies specialists are employed to deal with specific skills. But, I know quite a few ASP.NET developers who know the whole gamut of skills presented here.
Labels:
CSS,
dynamic content,
HTML,
JavaScript,
skills,
static content,
web programming,
web skills,
XHTML,
XML
Friday, October 17, 2008
[TIP] CSS: How to center an element
CSS can be strange at times. Most of CSS makes logical sense, but some CSS techniques defy any logic.
Where this got highlighted for me was trying to teach one of staff CSS. She often gets confused when I demand more advanced CSS. So I concluded that some CSS just needs to be remembered and cannot logically be figured out like one does in a computer program. Ah Well!
Here is one such example:
Centering an element in CSS.
The HTML:
<div id="main">
<!-- content goes here -->
</div>
The CSS:
body {
text-align: center; /* Center main in IE */
}
#main {
width: 768px; height: 768px;
margin: 0px auto -1px auto;
/* Center main in other browsers */
}
Firstly there is a difference between IE and other browsers. The IE one is kinda obvious but seems not to be standards compliant. The use of the margin property is interesting. In case you didn't pick up on it it is the "auto" value that does the centering.
Hope this helps someone.
Where this got highlighted for me was trying to teach one of staff CSS. She often gets confused when I demand more advanced CSS. So I concluded that some CSS just needs to be remembered and cannot logically be figured out like one does in a computer program. Ah Well!
Here is one such example:
Centering an element in CSS.
The HTML:
<div id="main">
<!-- content goes here -->
</div>
The CSS:
body {
text-align: center; /* Center main in IE */
}
#main {
width: 768px; height: 768px;
margin: 0px auto -1px auto;
/* Center main in other browsers */
}
Firstly there is a difference between IE and other browsers. The IE one is kinda obvious but seems not to be standards compliant. The use of the margin property is interesting. In case you didn't pick up on it it is the "auto" value that does the centering.
Hope this helps someone.
Thursday, October 16, 2008
Why Do Websites Need to be Marketed?
Hi
For today's post I thought I would post our article in our recent Web Training News:
A common misconception about websites is that they just need to look good and and be up on the Internet for them to drive business into an organization.
This is, unfortunately, not true!
Unless a website solely exists for the purposes of support or some reason that requires only an invited group of users, then the value of a web site is almost entirely dependent upon how well it is marketed. Even the uses listed previously may require some marketing activity, albeit, a different approach.
100 Million
There must be, today, over 100 million web sites on the Internet. Just that, alone, tells you that you have to let people know that your website exists and how they might get to view it. People don't just stumble upon web sites. (Just do your maths!)
Getting Visitors
For example, a vital piece of knowledge you need to know is how to get visitors to your website. This, of course, requires you to know what people do to find information using the World Wide Web.
Interesting
After getting people to your website, how do you get them to look further into your website? How do you keep their interest? How do you get them to make an enquiry?
Marketing
All the above is covered in the subject of marketing.
The Difference
Now, is there any difference in marketing online than offline (also referred to as traditional marketing by some people)?
Well, yes and no.
Marketing principles still apply in the online world as they do elsewhere.
What is different, are people's perceptions and what tools, services and techniques are available. In essence, the main difference is the lack of knowledge. This includes new terms and services that often have silly names.
Cost
The good news: Online marketing if often much cheaper. But, it isn't free. even if you use free services (and you should) there are costs like time and the involvement of people.
So don't think free. But, think cost effective.
Social
People are social creatures. Therefore, some clever and other lucky marketers have discovered social networking techniques to market online. Many of these have worked fantastically well. But, how do you do it? And, how do you do it without burning your fingers or more?
Knowledge
To have success in online marketing (and, in particular social network marketing) you need to have knowledge. This, is why, we are so excited to have Kirsten present the E-Marketing with Social Networking Course.
PS: You may subscribe to our newsletter at http://www.workingwebs.co.za/.
For today's post I thought I would post our article in our recent Web Training News:
A common misconception about websites is that they just need to look good and and be up on the Internet for them to drive business into an organization.
This is, unfortunately, not true!
Unless a website solely exists for the purposes of support or some reason that requires only an invited group of users, then the value of a web site is almost entirely dependent upon how well it is marketed. Even the uses listed previously may require some marketing activity, albeit, a different approach.
100 Million
There must be, today, over 100 million web sites on the Internet. Just that, alone, tells you that you have to let people know that your website exists and how they might get to view it. People don't just stumble upon web sites. (Just do your maths!)
Getting Visitors
For example, a vital piece of knowledge you need to know is how to get visitors to your website. This, of course, requires you to know what people do to find information using the World Wide Web.
Interesting
After getting people to your website, how do you get them to look further into your website? How do you keep their interest? How do you get them to make an enquiry?
Marketing
All the above is covered in the subject of marketing.
The Difference
Now, is there any difference in marketing online than offline (also referred to as traditional marketing by some people)?
Well, yes and no.
Marketing principles still apply in the online world as they do elsewhere.
What is different, are people's perceptions and what tools, services and techniques are available. In essence, the main difference is the lack of knowledge. This includes new terms and services that often have silly names.
Cost
The good news: Online marketing if often much cheaper. But, it isn't free. even if you use free services (and you should) there are costs like time and the involvement of people.
So don't think free. But, think cost effective.
Social
People are social creatures. Therefore, some clever and other lucky marketers have discovered social networking techniques to market online. Many of these have worked fantastically well. But, how do you do it? And, how do you do it without burning your fingers or more?
Knowledge
To have success in online marketing (and, in particular social network marketing) you need to have knowledge. This, is why, we are so excited to have Kirsten present the E-Marketing with Social Networking Course.
PS: You may subscribe to our newsletter at http://www.workingwebs.co.za/.
Labels:
e-marketing,
marketing,
social networking,
training
Subscribe to:
Posts (Atom)