Anybody who has had anything to do with the World Wide Web would surely have at one point of time or the other taken a pause to marvel at its rapid growth and the technologies that have spurred the growth. The most abundant and widely used part of the world wide web are websites which allow anybody with access to a web browser and an internet connection to view and share information.
The fundamental building block of a website has been HTML - Hyper Text Markup Language. But owing to its obvious limitations and semantic faults, a conscious effort was made by the standards group W3C.org to not only develop an alternative markup language based on XML called XHTML but also separate the markup from the style through the use of CSS which imparted much more power and flexibility to the people designing websites.
I found the book "Web Design In A Nutshell - A Quick Desktop Reference" authored by Jennifer Niederst Robbins and published by O'Reilly to be a one of a kind book in that it covers all the important concepts right from HTML 4.1 to XHTML, CSS, Java Script and much more. In fact, I found the book to encompass all that is needed to know about the semantics of markup language with stress given to the latest developments in XHTML and CSS.
All of 800 pages and divided into a whooping 36 chapters, I found this book to be a valuable reference for programming and designing solutions for the web.
The 36 chapters are further divided into 6 parts with the first part of the book (all of 6 chapters) giving an introduction to the web standards and their advantages. The Web design and development are divided into different layers such as the Structural layer, the presentation layer and the behavioral layer and in the first part of this book, the author gives a short explanation of each of them. This part also contain tips to keep in mind while designing for a variety of web browsers as well as for various displays which makes interesting reading. A separate chapter has been provided which explains the things to keep in mind while creating websites which can also be used by people with disabilities. In the chapter titled "Internationalization" in the same part, one gets to know the various character sets and encoding such as Unicode and how it can be specified in XHTML.
The second part of the book deals with the structural layer which pertains to XML, XHTML and HTML. In this part spread over 9 chapters, all the tags be they HTML or XHTML are listed with an explanation. The chapter 7 titled "Introduction to XML" gives a sound introduction to the eXtensible Markup Language which form the backbone of XHTML. I found this chapter to give a good understanding of XML, the various tags as well as the XML Document Type Definition file which imparts meaning to the tags. This chapter does not cover XML in depth but succeeds in giving all the data that needs to be known by a web developer.
Chapter 8 titled "HTML and XHTML Overview" concentrates on explaining the fundamental differences between the two. This chapter also lists the different flavours of HTML 4.01 and XHTML. The 9th chapter titled "Document Structure" of this comprehensive book is very important in the sense that it imparts a good understanding of the document structure which obviously has slight variations depending on the standards which the web developer wishes to support.
The third part of this book concentrates on cascading style sheets which falls in the Presentation layer. In the background of the furore created in the web arena on the flexibility and the freedom to experiment that CSS provides to web developers, this part of the book gains a lot of prominence. The author starts the narration with a chapter on the fundamentals of CSS where the advantages of using CSS is impressed on the readers. Then the author explains different ways in which styles could be added to documents,the XHTML document hierarchy and how CSS styles are affected by it.
Over a span of 10 chapters, the third part of this book covers each and every aspect of CSS be they selectors or properties. And where ever possible, the author has also given pictures which show how the text will display in the browser when a particular style is applied. I found this section to be an invaluable resource for coming up-to date with the latest developments in CSS. What is interesting is that over and above listing and explaining each and every CSS property, the author has also inserted at regular intervals tips as well as the pitfalls to look out for while designing websites which are to be viewed using different web browsers.
Over a span of 10 chapters, the third part of this book covers each and every aspect of CSS be they selectors or properties. And where ever possible, the author has also given pictures which show how the text will display in the browser when a particular style is applied. I found this section to be an invaluable resource for coming up-to date with the latest developments in CSS. What is interesting is that over and above listing and explaining each and every CSS property, the author has also inserted at regular intervals tips as well as the pitfalls to look out for while designing websites which are to be viewed using different web browsers.
In the 25th chapter titled "Managing Browser Bugs: Workarounds, Hacks, and Filters", the author addresses the most common web browser bugs that one will encounter when designing with CSS and how best to work around them so as to give a consistent view of the website on all the web browsers.
The fourth part of this book deals with the Behavioural layer and contain two chapters on Java Script and the Document Object Model. In the first of the two chapters in this part of the book, the author starts with the basics of Javascript, its syntax, the different Javascript objects and finally the event handlers.
Document Object Model (DOM) is an application programming interface which is used to access and manipulate the contents of an HTML or XML file. The succeeding chapter titled "DOM Scripting" takes a good look at this topic. Here the author explains how to manipulate documents using DOM functions. But the section which excited me the most was the part where the author gives an introduction to Ajax which by the way has been included in the chapter as a supplement.
Writing code and designing beautiful websites using CSS is not enough to create an efficient website. It is also important to have a fine understanding of the different types of image formats that can be used as well as their pros and cons. And reducing the file size of an image is a part of the job of optimizing a website. On this note the fifth part titled "Web Graphics" gains prominence. Spread over 5 chapters, this part gives an in-depth understanding of the main image formats which can be used on the web such as the Jpeg, (animated) Gifs and PNG and tips on picking the right format for different situations.
The final part titled "Media" spanning 4 chapters dwell on the part that multimedia plays on the aesthetics and functionality of a website. More specifically, the author discusses the different audio formats and their usefulness in providing audio on the web. While on this subject the author is pretty detailed in her explanation of the different ways in which audio can be shared with the end user like streaming audio. A section titled - Preparing your own audio - points at the different avenues that a web developer has when faced with integrating audio solutions with his website. I especially liked the part where the author while dwelling on each and every audio format, explains with the aid of a table what that particular audio format is good for, what tools can be used to create it as well as the players which support the particular audio format. There is also a table giving authors suggestions of the ideal audio formats for different audio needs.
In the subsequent chapter titled "Video on the Web" the reader gets a taste of the video formats and the code which helps in embedding video in a web page especially when it is meant to be streamed. Considering the important part that Flash plays on the richness of the websites, a separate chapter has also been included giving an overview of flash, the tools used to create flash and code used in embedding flash in a website.
The book also contain 5 Appendices which stand out as excellent resources for reference such as HTML Elements and Attributes, CSS 2.1 Properties, Character Entities, non-standard color names and their numerical values and so on.
Book Specifications
Name : Web Design in a Nutshell - A Desktop Reference (3rd Edition)
ISBN No: 0-596-00987-9Author : Jennifer Niederst Robbins
Publisher : O'Reilly
Number of Pages : 800
Price : Check at Amazon.com
Rating : Excellent
End Note
I found this book to be an excellent reference for designing websites be it on Linux or any other platform. Considering that this book is well into its 3rd edition with supposedly over 200,000 copies in print, I believe a lot of people share my views about this book. The author has done a splendid job of not only covering all the concepts but over the years, the book has been significantly revised and updated to keep up with the rapid advances in the technology related to web design. And the latest edition has been released only in February 2006. Obviously the author considers this excellent book to be a continuous work in progress and as the technology gets more mature, we can hope to see more updates and edits which would preserve the relevance of this book.
No comments:
Post a Comment