![]() |
|
| Daemon News Ezine | BSD News | BSD Mall | BSD Support Forum | BSD Advocacy | BSD Updates |
Review: HTML Utopia: Designing Without Tables Using CSS (2nd Edition)by Mikel King <mikel.king@daemonnews.org>
Where do I begin? Well for starters HTML Utopia from Sitepoint is a fantastic book to have in your arsenal and will definitely help you develop as a web software engineer. Like many technical books these days, especially the ones you will find reviewed here, this one is based on openly published standards. Granted you could spend countless hours teaching yourself CSS by reading RFC's and the W3C definition of the the CSS standard, as well as the numerous online tutorials. I have muddled my way through various attempts to learn CSS over the years on my own mostly by deconstructing online examples. A method that has always worked well for me in the past when learning a new programming language. Yet for some reason in all honesty this is one subject that has eluded me. I honestly believe that this utter lack of understanding is a direct result of my programming background. It is not to say that I am an expert programmer or anything, honestly far from it. However, in my 20 plus years working with computers and various informations systems, I have never really had to care too much how the out of the data looked so long as it was accurate. So after years of piping output from one application into another, and creating interesting chains to return the correct result, I honestly never had to worry about presentation , because most of my data was being read by machines. Basically when it comes to aesthetically pleasing UI's I am a completely out of my element. Therefore when I was asked to review this book, I approached it as an utter and complete novice. Although I can not say by any stretch of the imagination that I am now an expert, I finally have achieved an understanding. It is with the assistance of this book that CSS finally makes some sense to me. The two authors have done an excellent job of conveying this subject, to the point that one can actually read this book without ever writing code and learn the basics. With that said if one were to read the book and follow along with the examples creating their own version of the included Footbag Freaks site then they would be well on there way to mastering the concepts. If you are interested in learning CSS I can honestly think of no better way. The examples are clear and concise. Especially when covering some of the advances grey areas such as padding and margins for instance. As well as object like concepts of property inheritance and overriding, which is actually the C in CSS or Cascade. I believe the latter is what has always stifled my attempts at learning on my own. I can not begin to recount the number of times I've set a property and then changed something in a different section of the style sheet only to have that property completely disappear. I know that sounds trivial but is can be very frustrating to think one is heading down the right path only to make some changes and spend an hour experimenting as to why my new span has knocked my previous divs out of the water faster than my PT Boat on h6 & h7. In any event if you really wish to gain control of the UI in your web projects then this book is an excellent reference as well as learning tool. However this brings me to the little issue I have with the title besides being a bit on the long side. The without tables concept of this book is a little more than misleading. Believe or not I have listened to many web programmers mention this concept, getting all excited about never having to write table tags again. I mean salivatingly excited The concept of designing without tables, which unfortunately you do not learn this until proceeding fairly far through this book, it a bit of a misnomer. One firm resolution that you walk away from this book is the that there is nothing further from the truth. If you are displaying columnar data, such as a spreadsheet then you will use the html table construct. However you will also us CSS to enhance the rendering of this data. Designing without table simply refers to all of the other aspects of page layout where many developers used to use tables in their navigation systems for instance or even in image placement. In some extreme cases developers used tables within tables within even larger tables to create the common 3 columnar layout as see on many portal sites. Now with the aid of CSS you can avoid such constraining methods. This is exactly the area that this book shines. The authors deftly guide you through the intricacies of page layout from start to finish. They show how to properly divide your content into individual DIVs and SPANs, then show by example how to turn them into a single column simple navigation menu driven web site. Then quickly shifting gears and with some changes of your style sheet convert that rather flat page into 2 column and subsequently once again 3. I will leave you with one final thought. The authors clearly express the well thought out reasoning for designing with CSS and leave the reader for a respect for the standard as a whole. I honestly think that most readers will walk away from this book with the feeling that they must discard noncompliant browsers because the methods they employ seem like tawdry parlor room tricks by comparison. In summary I found this book not only delightful to read but actually useful and isn't that what is really important. Aside from the slightly misleading title, this is one of those books that every developer should have in their reference library. Especially if said developer designs for one of those deficient browser technologies. Mikel King has been the CIO of Tech Alliance, formerly Optimized Computer Solutions, for almost ten years, and has built his NOC on deploying FreeBSD since version 2.7. He commutes 2 hours to NYC each way, and uses that travel time to write these sorts of articles while consuming extreme amounts of coffee. |