Wednesday, July 1, 2009

Quick review of Microsoft's new IE8

My first experience with IE was a pain. I was hoping that after the candidate release that MS would have fixed many of it's errors, but, alas, its being released out to the world via the Windows automatic updates as a critical update!

What's the issue?

The looks and the tabs handling etc. would not be something that would worry me. Those things one gets used to. My issue and bug with IE8 is that it renders many (some fairly normal markup) differently to every other browser out there.

As designers and developers, we already have to contend with browser differences. We have IE6 still being used quite widely - I was visiting a prospective client yesterday and they still use IE6.

IE6 being very different from the IE7 which, in turn, is different from Firefox, Chrome, etc.

Now we have another browser which renders certain things completely differently from all the other browsers.

Well, its more work for all of us!

That, wouldn't be so bad, except for this: how does one charge for something like this? Clients expect you to have all your design ducks in a row. Ouch!

Wednesday, February 25, 2009

Hi! I am still here.

Wondering where I've been?

Well, thanks:-)

I have been doing back-to-back training now for the last few weeks. This has kept me unusually busy.

I have a bit of a gap now. So you will see more updates.

PS: I'm on Twitter now too! See my tweets on http://twitter.com/onlinewolf

Wednesday, January 14, 2009

Welcome to 2009!

We are all fully back at work. Yes, I started early and did a Silverlight workshop with my most enthusiastic student, Mark Mann.

While there is a long way to go to become experts at Silverlight, we both learned so much! The most interesting project was to create a fully dynamic menu system, i.e. a menu that will work from data in a database.

Clearly some clever things were done by Microsoft's developers and it looks like Silverlight will have quite a following. But, whether it will be a Flash beater is yet to be seen. Flash has a long track record and has a lot of support. But it does seem that Silverlight has an edge when it comes to integrating into the back end, be it at this stage only really ASP.Net. But, I am sure some work will follow to provide support for other back end technologies.

PS: In case you are wondering what Silverlight is. It is primarily a front end (running in the browser) technology to provide what is known as a rich user interface (really meaning graphics and text that can move, zoom, fade in and out, play movies, etc.).

What is interesting about Silverlight is that aside from a plug-in (which must be installed on the browser) and a little JavaScript, is that the "Silverlight instruction set" gets sent from the server in XML format (the particular application is XAML). Though, now (from Silverlight version 2), the XAML file actually gets compiled to a XAP file. This does two things: (a) it compresses the file for quicker loading over the network and (b) the XAML isn't exposed for all to see (and steal).

Interesting stuff.

Thursday, December 11, 2008

What is XML?

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 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!

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.

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.

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.

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.