Archive for March, 2006

Book Review: Learn To Program (with Ruby)

Friday, March 31st, 2006

This concise book (149 pages) uses Ruby to teach basic programming; a good book for total green-horns to programming. But keep in mind this book is not titled: ‘Learn to Program Ruby’.

What I mean by that, is that the book targets new programmers, not programmers new to Ruby. So it may be a little slow for some people (experienced programmers) when the author (for example,) explains what an array is …

WHAT MAKES THIS BOOK INTERESTING

The book is well written and the flows well, but what I find interesting about it is:

  • It uses Ruby to teach programming.
  • It teaches some interesting concepts that you might not read in say, a PHP book.

Ruby is the hot new language in the geek world, but it has yet to show itself substantially in commercial application. That said, it is an interesting language choice for this kind of book: Ruby is a terse and easy to use language, and I think this allowed for the author to jump into concepts like recursion and procs – I like this.

CONCLUSION

A good book that is not so pragmatic, in that you don’t see the typical how to build a shopping cart project at the end.

Instead, the author concentrates on basic programming concepts and leaves it to another book to expose the reader to real-life application.

I would use this book in a programming 101 type of class.

Book Review: CSS Mastery

Tuesday, March 28th, 2006

‘CSS Mastery’ covers the most sought after CSS concepts, tips and techniques. It’s a must-have book for any intermediate level web designer because of the way it covers the material: it is concise, clear and pragmatic.

Just when you’re finished learning one great CSS technique, you turn the page and bing-bang, there’s another juicy one to jump into! A nice change from the zealot batherings I’ve had to endure in other books on the subject!

Like all the books from this publisher, it is also well put together physically:

  • Good layout
  • Good choice of paper
  • Easy to read font
  • Not too thick or thin
  • Good use of graphics/diagrams

The publisher (Friends of Ed,) have done a great job with their web design books lately; ‘CSS Mastery’ along with Dan Cederholm’s book (Web Standards Solutions) are the best out there today.

I have yet to read ‘Web Designer’s Reference’ by Cederholm, but I hear it’s good too.

Stefan Mischook (Web Design Heretic)

Book Review: Blog Design Solutions

Tuesday, March 28th, 2006

Welcome to the world of modern web design!

This is a very good book on blogs. OK, so why should web designers want to read a book on installing and customizing popular blogs?

The anwer: web designers today, NEED to learn how to work with blogs. Blog implementation (installing, customizing, skinning) is a growing part of the web design business these days and is now an essential tool in the web designers toolbox.

Blog Design Solutions gives you a to-the-point tour of several important blogging engines:

  • Moveable Type
  • TextPattern
  • ExpressionEngine
  • WordPress

The is a multi-author book where each blog is given its due by one or more authors – as such, you know that each blog is covered by people who know what they’re doing.

Along the way, you will also pick up tips about Flikr integration, blog syndication and other things that this old time web designer may have not been ‘up to snuff’ on.

I use WordPress, and so I immediately jumped to that chapter; I found the writing to be clear, and the author covered topics that I wanted to read about. I am not a user of the other blog engines, but I’m glad that the book covers them for sake of comparison – it’s always good to know about competing products.

Beyond covering the blogs, the last chapter actually takes you step-by-step through the process of creating a blog from scratch using PHP. I went through the code, and enjoyed the way the author runs through the process – you’ll might also pick up a few PHP ideas along the way.

I recommend this book to any web designer who has the intention of earning a living in web design.

Stefan Mischook (The Web Design Heretic)

Money Management tips for web designers.

Tuesday, March 28th, 2006

One of the key components of running a successful web design business (any business really,) is to manage your money effectively.

Most businesses go out of business, simply because they don’t follow some basic money management rules. The following are my ‘Killer Money Management Rules’.

Top 6 Killer Money Management Rules

1. Credit cards are for transactions only – not for carrying debt. Pay off your entire balance every month!

2. If you can’t buy something cash, don’t buy it.

3. If your bank account is not increasing every month, it’s time to go into crisis mode.

4. You should have a stash of ‘fcuk-you’ cash … one years worth. So, if you spend $2000/month to live, you should have $24 000 in the stash. The stash should be held in a no risk, immediate access account like an ING account.

5. Never touch your emergency stash unless it’s an emergency. Having this stash makes you sleep well at night. I call it ‘fcuk-you cash’ because when you know you will be fine for a year, you can tell idiot clients to … you get the idea.

6. Create a separate retirement account/investments that you pay into regularly and first – this is a ‘never touch’ account.

Lots of business owners pile all their funds in one place (as I did) and then end up broke at 55. Fortunately for me, I learned these lessons young.

 

IE Conditional Comments Video

Thursday, March 23rd, 2006

As some of you may know, I have been against using CSS hacks for a long while.

Now that IE7 is coming out very soon and we know that many CSS hacks will break in IE7, we need to come up with another viable solution to make CSS based layouts work in IE6, and the other more capable browsers …

That’s where IE conditional comments come in. This IE specific code/tool is safe and solves all our problems when creating cross browser pure CSS layouts.

Check out the video: IE Conditional Comments

Book Review: Build Your Own Standards Compliant Website with Dreamweaver 8

Tuesday, March 14th, 2006

Who is this book good for?

I would say intermediate level web designers who are comfortable with code and concepts related to web design (like Web standards and semantic meaning of code etc …) and feel a need to brush up on some Web standards nerd stuff again while learning Dreamweaver 8.

The book is NOT FOR BEGINNERS to Dreamweaver or  to web design. Yet at the same time, the author goes into topics that experienced web designers will probably not need to learn … again:

  • How to set up a web server.
  • What SSI (server side includes) are.
  • What XML is.
  • How to plan a website … I’m talking real basic stuff. 

Why is this book not for beginners?

I think the problem lies in the way certain topics are covered; I think it would be too fast for most beginners. 

Other topics covered:

  • Forms
  • Accessibility
  • Website structures/practices – sitemaps, using includes etc.

The positives:

The writing is clear and the editing is good, as is typical of SitePoint books - please keep in mind what I said about who the reader should be!

It is a project based based book, where you are guided through the process of building a website – this may be useful for some to see. You also get a look at how to use Dreamweaver in the context of Web standards and accessibility … some good tips can be found.

The negatives:

Besides what I mentioned above, I disagree with the author’s style of building websites: she combines modern code and structural practices but uses old style methods of web site construction/production: she creates the structure of the site first, then moves to styling it with CSS. 

This is a better approach than building everything up at once, but I am a big believer in starting out with page-level layouts first (by way of template,) then moving to adding elements to the page.

I also think she (like many other web designers out there today,) have smoked a little too much of the Web-standards-zealot wacky-tabacci, and have become overly enamored with XHTML and validations etc. To be fair though, my point of view is heretical … even if it is right!

For example: XHTML – please not again!

The author (like many other poor souls) love XHTML for a bunch of reasons that have little, if any relevance in the real-world. In fact, the reasons that they (the zealots) love XHTML so much, is actually lost with 80% of the users on the web today!

Let me explain:

You see, IE 6 and IE 7 will render XHTML as ‘tag soup’ – I don’t want to get into it here, but in a nutshell, IE 6 and IE 7 doesn’t read XHTML properly! So when either browser comes across an XHTML page, it reads it as crappy HTML.

On the other hand, XHTML makes pages that much harder to code, and it makes DOM scripting a pain in the butt. There is no real reason to want to use XHTML except (of course) if you want to be anal about code and you feel need to create work for yourself for no good reason …

How about another example of the authors poor choices: using CSS hacks.

Again, I don’t want to get into here but, CSS hacks are bad news since many will break in the new IE 7 - authors should not be teaching the use of hacks! 

What’s Apache, Perl, MySQL? Will I need to know these for my clients?

Friday, March 10th, 2006

I recently had this question put to me, and I thought it would make an interesting blog post:

"What’s Apache, Perl, MySQL?  As a web designer, will I need to know these for my clients?"

Apache, Perl, MySQL

Apache = a web server. The most popular (in terms of use) in the world. If your host is on Linux, they are running Apache.
 
You don’t need to know much about Apache as a web designer, since your hosting company will configure that all for you.
-

Perl = a programming language used a lot on Linux servers. It can be used to do all kinds of things but it is mostly known for its legacy as the programming language used to write CGI scripts – think guestbooks etc …

You don’t need to know much about Perl as a web designer. But Perl is still widely used and you will find that many scripts out there (like guest books,) are created with Perl.
-

MySQL = is a database program. Database software like MySQL are used to store information. Used a lot with things like message boards, e-commerce shops and other programs like that.  MySQL is often used with PHP (a programming language) to create database driven websites.

MySQL becomes important to learn IF you want to learn how to create dynamic/database driven websites.

A final point:

There is so much (out there) in the web design world, that you will probably never need to know or use. I can tell you from 12 years experience, that nobody knows everything – there is just too much. 

My advice is to concentrate on what you need NOW and to continue to work on basic skills … let the projects that come up dictate what you’ll learn.

When breaking from the Web standards makes sense.

Monday, March 6th, 2006

INTRODUCTION

Following the Web Standards makes perfect sense when it allows you to build easy to mantain websites that work with the major browsers. It doesn’t make sense when using Web Standards forces you to use hacks, prevents you from taking advantage of a great technology/feature or makes your job as a web designer or developer more difficult.

Let’s take a look at 3 very useful technologies that are not in the Web Standards, but do not have any of the negative consequences associated with browser specific code:

  1. IE conditional comments: for cross-browser CSS layouts.
  2. AJAX – using the XMLHTTPobject: for behind the scenes browser to server communication.
  3. The innerHTML property:  for quick and easy DOM manipulation.

Though each of the above are not part of the Web Standards, they provide terrifically useful functionality without any hangups.

IE CONDITIONAL COMMENTS

Though IE conditional comments only work in IE, it makes great sense to use them when you want to isolate code. Since all other browsers will see IE conditional comments as being only HTML comments, there can never be a down side to IE conditional comments. It is the proper way of dealing with IE 6’s problems with CSS code.

Example:

<head>

<link href="standardStyle.css" rel="stylesheet" type="text/css" media=screen>

<!–[if IE 6]>
<link href="ie_style.css" rel="stylesheet" type="text/css" media=screen>
<![endif]–>

</head>

In the above example, we use IE conditional comments to hide IE specific CSS from all other browsers. Spefically, the IE conditional comments:

 (<!–[if IE 6]> and <![endif]–>) 

is loading the ‘ie_style.css’ style sheet only if the browser reading the page is IE6.

IE conditional comments are a replacement for dangerous CSS hacks that are commonly used to deal with IE’s occasional problems with standard CSS.

AJAX

The heart of AJAX is in the XMLHTTPObject – a JavaScript function built into every major browser but is NOT part of the Web Standards. Given how powerful AJAX is, and given how popular it has become, you can be sure that every major browser will continue to support it.

So as a Web Standards zealot, you have to ask yourself whether blind adhereance to the Web standards is worth missing out on this important tool? That is to say, if you’re a web standards zealot, you couldn’t/shouldn’t use AJAX since it is not part of the official Web standards … it’s your choice. 

 INNER HTML PROPERTY

InnerHTML is an easy to use property supported by all the major browsers that allows you to dynamically update/change web pages without having to do a page refresh.

Example using innerHTML:

var targetDiv = document.getElementById("targetDiv");
targetDiv.innerHTML = "<p>innerHTML is fast and easy!</p>"

Example using DOM methods:

var para = document.createElement("p");
var targetDiv = document.getElementById("targetDiv");
targetDiv.appendChild(para);
var txt = document.createTextNode("Dom methods are much longer than innerHTML");
para.appendChild(txt);

As you can see with the above examples, to insert text with DOM methods takes a lot more code than innerHTML. So, should you use innerHTML?

The answer: Browser makers typically don’t remove functionality, and given that innerHTML is supported by all the browsers and is easy to use, this is yet another example where I will break from the standards and feel comfortable about it.

 

Site Map  |  Top of page  go to top of page