Showing posts with label web design. Show all posts
Showing posts with label web design. Show all posts

Sunday, December 15, 2013

Ten Days Down the Road

This always happens when I start studying. I get sidetracked. My actual work started to heat up, preventing me from proceeding with the CSS book. I did receive Training Guide: Programming in HTML5 with JavaScript and CSS nearly a week ago and started noodling around in that, but didn't get too far.

I was advised this would be a good book to learn from even without working in Windows 8 and with Visual Studio (I'm not interested in the certification, just learning the information), but that means I get to skip a few chapters. The book is organized in "waves," so to speak, so you first get introduced to HTML, then JavaScript, then CSS. Later, you get more advanced information on HTML, then JavaScript, then CSS again, and so on. I'm only on page 32, so you can imagine things are still pretty elementary.

On the other hand, I did start the Codecademy JavaScript tutorial, but as usual, I got bogged down toward the end of "Introduction to Functions in JS." I've appealed for help to the forums so I guess I'll see what the error of my ways is by the by. 

I thought I was doing reasonably well there for awhile, but then the problems seemed to assume more knowledge than I had. I thought I had missed some key portion of a previous lesson and went back, working my way forward again, but it didn't help. One exercise gives me both an error and also passes me on to the next exercise, so that's confusing. On top of that, I thought my code was written exactly to specs.

The other exercise is beyond me. I don't find enough information in the instructions or the previous exercises to allow me to write code that doesn't complain at me. I know for actual programmers, these lessons would be painfully elementary, but to me, they're locked black boxes with no way in.

My real problem is that I don't naturally think like a programmer. I've read arguments back and forth on the web about whether anyone can learn to code. Sort of like the message in the Pixar film Ratatouille (2007), "Anyone can cook." 

I believe anyone can cook but not that anyone can cook well. The question remains, can anyone learn to code, even at an elementary level, or is programming a skill set for a specific population that no one outside that group can acquire? I feel like Codecademy's "teaching style" is good in that they don't just lead you around by the nose, giving you all the code upfront and then simply having you copy and paste, and then run short, small programs. On the other hand, when you get stuck, you're stuck. The hints on the last two exercises weren't helpful in the slightest.

Forums can be incredibly slow to respond, depending on how attentive the mods are, so I don't know how long I'll need to wait for a clue let alone an answer. A large part of programming is debugging, but that requires a sufficient understanding of how the code works to find the problem. I'm not there yet. The point of setting these work goals is to see if I can ever get there. Now that my job performance is riding on it, I'll have to figure out a way or be prepared (at least) to eat large helpings of humble pie.

That's my report, such as it is.

Addendum: Not that much time passed and I got two helpful responses on the forum. Turns out I made some minor, newbie errors. Oh duh. Now, back on track.

Thursday, December 5, 2013

Day Three of My Forey into CSS

After the limitations I discovered in learning CSS as part of the Codecademy Web Fundamentals track, I decided I needed something a little more in-depth. I considered another online program such as Lynda.com, but they cost bucks. OK, not a lot of bucks, but I didn't feel like bugging my boss for his credit card again, especially since I already made him buy me this book.

So I decided to look through some of the other books I've collected over the years and have been ignoring, and I selected this book from 2009. Yes, I know there's a more recent edition available, but this one is in hand right now, so why wait? It seems enough to get me started and I'll have a leg up on CSS by the time the other book arrives.

The question now is whether or not to just concentrate on CSS or to do as Codecademy previously (through automation) suggested and move on to JavaScript via their tutorial? Interestingly enough, that track is telling me that I finished the first section in Introduction to Programming. I hadn't realized I'd let so many of these tasks incomplete until revisiting the site of my old haunts, or perhaps I should call them "my old sins."

I suppose it wouldn't hurt to at least see what I was supposed to have learned in the distant past. Especially since the book I ordered from Amazon yesterday addresses HTML5, CSS3, and (drumroll) JavaScript.

The CSS book I'm using at the moment is rather slow going, but it's taking me over some really basic stuff I went through at Codecademy, and I could probably use the review to continue cementing this into my leaky memory. Oh, I installed the TextWrangler code editor on my Mac at work. Not the greatest tool I've used, but it's free and does a descent job. I really miss how the online editor at Codecademy worked. You could toggle back and forth between the HTML and CSS tabs to do the editing, but the Results window instantly showed your changes. Beats having to continually refresh a web browser.

I find it interesting that after ignoring this blog for over a year, I should be writing daily blog posts here. Go figure.

Wednesday, December 4, 2013

Finished Codecademy's Web Fundamentals Tutorial, but...

I finished Codecademy's Web Fundamentals tutorials They lessons are broken down into the following sections:

  1. Introduction to HTML
    1. HTML Basics
    2. Build Your Own Webpage
  2. HTML Structure: Using Lists
    1. HTML Basics II
    2. Social Networking Profile
  3. HTML Structure: Tables, Divs, and Spans
    1. HTML Basics III
    2. Clickable Photo Page
  4. Introduction to CSS
    1. CSS: An Overview
    2. Design a Button for Your Website
  5. CSS Classes and IDs
    1. CSS Selectors
    2. Sorting Your Friends
  6. CSS Element Positioning
    1. CSS Positioning
    2. Build a Resume

Before my tutorial "hiatus" some months ago, I had stopped right after "Clickable Photo Page" and before "Introduction to CSS". A perfect place for me, actually. I did the CSS section in two days and felt pretty confident until I got into "CSS Positioning." Even though I solved all the problems (there's a lot of help) and successfully completed the tutorial (earning various "badges" along the way), when I built my Resume as the last task in the CSS section, it looked awful. Technically, the code was all correct, but the header stacked over the left and right divs and I could never figure out how to correctly style the text in the footer.

I certainly give props to the folks at Codecademy for how well this tutorial flowed. I've gotten farther in understanding CSS than half a dozen books and various websites have taken me. But when I was prompted to take the JavaScript tutorial next, I knew I was hardly ready. There's a lot more to web design than what I learned in this set of lesson. Got "intermediate web design," folks?

Tuesday, December 3, 2013

Oh man! I've really ignored this place!

I can't believe it's been over a year since I've written on this blog. Well, yes I can. My priorities have shifted quite a bit, certainly away from learning Python. I think my brain just gets stuck at a certain stage of the learning process and I can't break beyond the barrier. So I give up and pursue an avenue that's a little easier to navigate (or one that I feel more passionate about).

But that's changing.

I've made a number of abortive attempts at learning in other venues including Codecademy. I felt like I wasn't learning how to program there either, but a number of months ago (I don't remember how many), I "started with the basics," as Edna might say, and revisited Codecademy's vanilla-level HTML tutorials. I know. That's shamefully elementary, but I wanted to get back into an area where I felt comfortable and at home, and then start ramping up again...slowly.

But I got distracted again and let it slide.

However, performance evaluations have a habit of shaking one out of complacency and overcoming inertia. I perform some routine maintenance tasks on two websites for the folks I work for. No real heavy lifting, just add a blog post, insert a news item, post a job listing, that sort of thing. We hired a company to do all the design and development which I would be helpless to accomplish.

Now, one of my goals for the coming year, my official work goals, is to learn more about web design and maybe even some development work so I can take greater responsibility for our sites. My boss will pay for any training that I want (within reason). The problem is, where to look for the resources I need to accomplish my goals (and they're not tightly defined)?

I decided to revisit some old friends of mine, namely the Certforums IT certification boards. I received some suggestions besides the CIW Web Design Certification I was initially considering. You can click the link for Certforums to get the details.

While asking more questions online and pondering my options, I logged into the Codecademy site and discovered that I had stopped my last tutorial right on the edge of "Introduction to CSS".

Cascading Style Sheets (CSS) has been a sort of nemesis of mine, although I don't know why. It shouldn't be any more complicated than HTML but some sort of phobia kicked in and I dropped that one like a hot rock, too.

Today though, with new motivation in hand and no other viable option immediately available, I decided to give Codecademy another whirl and I was hooked. Everything seemed so easy (not that I've done that much yet) and I felt like an old dog might still have a few tricks left in him. Mind you, this is light years easier than programming, but I've got to start somewhere.

I've been missing this blog. It was my first blog and I have a nostalgic attachment to it. I see that fifty people are subscribed so when I post a new article after over a year, I can only imagine fifty people are going to fall over in shock...or wonder, who the heck is that, having forgotten all about me and an old blog called "A Million Chimpanzees."

If you've taken the time to read my entire request posted at Certforums and you'd like to respond with something helpful and polite on this blog, I'd be appreciative. If not, then at least I've gotten the ball rolling on this neglected corner of the blogosphere.

As I discovered when writing on another of my blogs (where I spend most of my time these days), blogging is a great way for me to process information. I think that's what I was trying to do here too, but the information wasn't sticking so my determination flagged. Since I've made learning basic web design skills a work goal along with a number of other priorities, I can't just drop it again. What I can do though, is blog about what I'm learning, what I'm not learning, where I'm stuck, and where I'm going.

I don't expect a lot of people to care (barring spammers, of course), but like I said above, any reasonable suggestions and responses are welcome.

As I make my way through the next series of Codecademy tutorials, I'll post my progress. If something else comes up, I'll mention that, too. If you've got other suggestions (books, online resources, and so on), let me know.

Thursday, October 14, 2010

HTML5: Up and Running

Author: Mark Pilgrim
Format: Paperback, 240 pages
Publisher: O'Reilly Media; 1 edition (August 25, 2010)
ISBN-10: 0596806027
ISBN-13: 978-0596806026

I became impatient with the history lesson in Chapter 1 and wanted to test drive HTML 5. What's different? What's new? Guess I'll have to work to find out. As the blurb I found at Amazon said of HTML5, It’s not one big thing. It's not a matter of learning a new markup language from scratch, which is both a good and bad thing. In fact, again to quote the author's blurb, “Upgrading” to HTML5 can be as simple as changing your doctype...In HTML5, there is only one doctype: !DOCTYPE html. That's encouraging, but just how easy is it to learn HTML5 and how easily can you learn it from Pilgrim's book? I went in search of the answers.

The first place I went was the book's Preface to see where I could find a link to the source code. I was pointed to the author's site Dive Into HTML5, which is the original book on which the book I'm reviewing is based, but it didn't have a clear cut link to anything called "source code". Maybe this is where It’s not one big thing comes back to bite me.

Chapter 2: Detecting HTML5 Features introduced me to Modernizr (yes, I spelled it right), which is a nifty JavaScript library that detects the HTML5 and CSS3 features your browser will support. It also creates a self-titled global JavaScript object containing the properties for each such feature. However, if your browser doesn't support certain HTML5 features, Modernizr won't fix it. But what about learning HTML5? We kind of got away from that.

Oh wait! Chapter 3: What Does It All Mean? helps. I found the link to a set of code examples which got me started. Then, as I progressed through the book and through the author's site, which runs in parallel and often in duplicate, I realized how the book was organized. This is no small feat, but maybe it was my expectations that made the task difficult. I was expecting a front-to-back guide to getting started with HTML5 and what I discovered was a collection of loose pieces in a box.

Learning HTML5 from Pilgrim's book is like putting together a jigsaw puzzle. When you first open the box, all you can see are a collection of jumbled pieces that, taken at a glance, don't make a lot of sense. If you had never encountered a jigsaw puzzle before, you might look, become confused as to what these pieces mean lying in such disarray, close the lid, and walk away looking for something more comprehensible.

One missing pieces of the puzzle, so to speak, is a knowledge for HTML4. Imagine the raw code of an HTML4 web page. Now imagine that you are presented with a list of tags and other markup elements you're not familiar with. What are you supposed to do with them? How do they work? What do they replace (if anything)? Using Chapter 3 on his web site for an example, I tried to navigate around until I could find something I could sink my teeth into.

Got a lesson on DOCTYPE, history lessons on the root and head elements, lots of other stuff to scan past, a section called A Long Digression Into How Browser Handle Unknown Elements, more stuff...more stuff...then it began to register. I started to hit spots on the pages that said stuff like, this is how we used to do things (add example of old code) and this is how you do it in HTML5 (add example of new code). The information is there, it's just not organized and called out the way I wanted it.

I went back to the book, compared it to the same pages on the author's site and "got" the organization. It may be a matter of how I think vs. how the author thinks, but from that point on, it was easier to tease what I wanted to know out of the book's pages.

I think HTML5 is fabulous but I'm not sure that HTML5: Up and Running is the best book to use as an introduction. It most definitely is not the best book to use for an introduction if you aren't familiar with HTML in general. I'd recommend navigating the author's website before buying the book. If you "get" the website, you'll "get" the book. They're pretty much the same thing.


Share


Sunday, January 31, 2010

Book Review: Web Design for Developers

A Programmer's Guide to Design Tools and Techniques
Author: Brian P. Hogan
Format: Paperback, 300 pages
Publisher: Pragmatic Bookshelf; 1st edition (December 15, 2009)
ISBN-10: 1934356131
ISBN-13: 978-1934356135

While there can be some overlap between web designers and web developers, they tend to define their own specific worlds. However, what if a programmer would also like to be better at design? Where does he or she go? Turns out Brian Hogan and the folks at Pragmatic thought in that direction as well and came up with Web Design for Developers. I guess the title gives it away. But is this book just for programmers who want to learn design?

On the surface, the answer to that question seems to be "yes". You've created a killer web app but the appearance of said-killer app looks lousy...or at least doesn't look as good as you'd like it to be. Of course, you probably know someone who could help out with the design, but it might be nice to be able to do the job yourself. How to begin? The blurb on the back cover mentions magic words such as PhotoShop and CSS so I'm guessing that's where you'd start. I still can't imagine that a book like this is only for programmers, though. Let's dig a little deeper.

Well I'll be darned (or something). As I began looking through the book, the target audience seems to be folks who are cracker jack web developers but who really don't have much of a clue about how to actually design a web site. I point you to Chapter 9: Building the Home Page with HTML as proof of this. For people who've mastered the arcane intricacies of ASP, PHP, Python, and Ruby on Rails, I wouldn't think a simple markup language would be much of a chore, and for some programmers I know, it's not. Actually, for most programmers I know, it's not. On the other hand, while HTML might not be much of a basic challenge to a developer, creating a web site and making it look good could be an uphill climb, as it requires something of an artistic way of viewing the web.

That explains the earlier chapters in this book, which includes basics on style, color, fonts, and graphics. To my relief, Hogan did mention both GIMP and PhotoShop, so his book isn't a slave to proprietary software. That's good, because designing for the web can be done very expertly utilizing the world of open source tools. This also gets at what I was alluding to a few paragraphs ago. Do you have to be a programmer to benefit from this book? No.

What do at least some web developers and any one else who wants to design web sites but have little or not experience with the job have in common? The question provides the answer. There's nothing in the book's presentation of the topics involved that can only be understood by programmers. If a developer can read and understand font and typographic basics, so can the non-developer. The would-be web designer picking up this book will likely get the same information and skills practice as the programmer thumbing through the pages.

I particularly liked the section called Adding Graphics, which contained a number of chapters instructing the reader how to put together a mock-up site, focusing on structure and content. If you don't have experience making an image in your imagination turn into a real web site design, these chapters will help you operationalize your images and your dreams...and this comes before even one word about HTML and CSS.

Another nice feature in the book that I rarely (but not never) see is how to design for web browsers. The author slams Microsoft's Internet Explorer, and rightly so, but also addresses what you have to do to design for IE's tendency to work outside of accepted standards, particularly IE6 (which should just plain be abandoned). From designing for people who are visually impaired to designing for mobile devices, Hogan hits all the areas someone building for the web in 2010 needs to understand.

The mock-up site designed early in the book has a life throughout its pages and acts as an anchor for developing and refining all of the different tools and techniques practiced by the reader. Some content, such as testing and performance optimization (Chapter 20) might be more familiar to programmers than other folks, but, if you've gotten this far in the book, you'll probably be ready to tackle such tasks anyway.

I can't say the book is revolutionary or that I haven't seen its content in other books, but taken all by itself, Web Design for Developers is a good primer for anyone who would like to learn web design from a global perspective. From graphics, to color, to fonts, to HTML/CSS, and onward, Brian Hogan has written a solid little book that should get you off the ground and into web design, whether you're a programmer or not.

Share/Bookmark

Wednesday, September 16, 2009

The CSS Anthology: 101 Essential Tips, Tricks & Hacks

Author: Rachel Andrew
Paperback: 400 pages
Publisher: SitePoint; 3rd edition (July 28, 2009)
ISBN-10: 0980576806
ISBN-13: 978-0980576801

I previously reviewed the 2nd edition of this book, so I was interested in what was changed and/or added in its current incarnation. Of course, the release of Firefox 3 and IE 8 are enough to warrant an updating of "tips and tricks" relative to CSS and web design, but was there more? The back cover blurb didn't indicate such, but I looked further.

The Preface seemed a likely place to start. There is no What has changed in this book section. The What's Covered in this Book? portion is a detailed summary of the TOC, but doesn't mention how chapters here compare to those in the prior edition. The Who Should Read this Book? piece is as you might expect: aimed at people who need to use CSS, such as designers and developers, and who don't need a lot of hand holding. Sorry if that sounds "snarky", but this book has always been about getting up to speed fast and dispensing with high level explanations and theory.

Chapter 1 is actually a quick tutorial on CSS, if you need a bit of a refresher. That shouldn't really include the main audience for this book, but there will be people who buy Andrew's text who might benefit. Chapter 2 also tends towards "the basics" as the title indicates: Text Styling and Other Basics. Fortunately, this chapter is also the start of the "anthology" content of the book, offering information formatted as Question, Solution, and Discussion. The Discussion part of each "tip" is certainly the largest, containing information on any specifics, curve-balls, and gotchas that may be contained in the particular technique involved.

Chapters are organized into functions such as Navigation, Tabular Data, Forms and User Interfaces, and so on, so if you have an area of interest or need, just shoot right to the relevant chapter, and then find the required task. Chapter 6 is the "Forms" chapter, but is really only half the story. Yes, it covers the browser end of forms, but of course, they won't really work unless you have the server side configured as well (think PHP, for instance). In that sense, the chapter and the book operate as one piece in the larger puzzle of web design and development. It's also a reference by design, so don't imagine that it's the first book you'll need to learn CSS.

I was mainly interested in Chapter 7: Cross-browser Techniques, since that's the primary reason for issuing another edition of this book. Designing websites for different platforms requires the designer to think in very broad terms, depending on the designer's audience. You have to address the most widely used browsers (unless you're serving a niche market), plus consider both PC/Mac, and mobile device platforms, if you care about that sort of thing. A common newbie designer mistake, is to create a site and test it on only one browser (and only one version of that browser), and only one OS. I've created what I thought of as a beautiful site when viewed in Firefox on Linux, but that turned out to be a "problem child" when I looked at it in IE 7 on XP. Andrew includes a nice little table on page 220, outlining the various browser and OS platforms to consider, including Safari, Chrome, and Konqueror, so a lot of thought has been given to this matter.

Chapter 7 is the "testing" chapter, instructing the reader on the options for being able to view their creations on Windows, Linux, and Mac (Linux live CDs, dual booting options, and so on). We are all some kind of "user". I tend to be a Linux user, but my wife exclusively uses Windows, and my daughter tends towards Mac. Developers have preferences as well, but letting those preferences dictate how you design and test can be a critical mistake, especially if you're doing this for money, and your company wants your product to work equally well for all customers.

I've read bad reviews on the previous edition of this book but, in my opinion, it was the reviewers who made the mistake. Their basic assumption was that they could learn CSS, more or less from scratch, by reading Andrew's text. This is not the intent of this book. If you know little or nothing about web design in general, and CSS in particular, acquire those skill sets first. This book is intended to help the reader solve specific problems, relative to the latest OS, browser, and hardware platforms, not to be a general introduction to the topic.

SitePoint offers a couple of forums to support the book, which is great, since I sometimes have questions about content that I can't get answered any other way. I did find the pop-ups on the forums rather annoying, though. Nice that you want to market your books, SitePoint, but if I'm on your site, I'm already aware of them and interested. Don't kill the "magic" by being too commercial.

If previous reviews of a book are good (as is the case with this book), then usually (unless the publisher or author decided to completely throw a monkey wrench into the machine) subsequent editions will maintain the quality. Fortunately for SitePoint and Andrew, the 3rd edition is up to snuff. If you fit the audience profile, and need to update your CSS skills for the most current browsers and so forth, The CSS Anthology: 101 Essential Tips, Tricks & Hacks should be on your wish list.

Share/Bookmark

Tuesday, July 7, 2009

Even Faster Web Sites: Performance Best Practices for Web Developers

Author: Steve Souders Format: Paperback, 254 pages Publisher: O'Reilly Media, Inc. (June 18, 2009) ISBN-10: 0596522304 ISBN-13: 978-0596522308 Apparently the move from Yahoo! to Google has been good to Souders (as you might expect). Now working for Google on web performance, he's written a sequel to his January 2008 book, High Performance Web Sites (Souders was working for Yahoo! at the time) which I previously reviewed. According to the Product Description, "Souders' previous book, the bestselling High Performance Web Sites, shocked the web development world by revealing that 80% of the time it takes for a web page to load is on the client side". Sounds pretty dramatic, especially for a technical book. I don't know if I was "shocked" when I read Souders' prior book, but I was impressed. How does his follow up effort measure up? Whenever I write a book, I usually mention that it takes a team to write a book, even if only one person's name is on the cover. As it turns out, besides Souders, there are eight other direct contributors to Even Faster Web Sites including Ben Galbraith, co-director of developer tools at Mozilla and Dylan Schiemann, co-founder of the Dojo Toolkit. The "dark side" of multiple contributors is sometimes a lack of focus or continuity in a book. The upside is including the wisdom and experience of numerous subject-matter experts. As with the previous Souders book, there's no explicit "who is the book for" section in the front matter, but the subtitle "Performance Best Practices for Web Developers" makes it obvious who should be reading this book. The idea, as with the prior book, is to develop web sites using practices that allow your sites to load and perform with the minimal amount of load on the client-side. With competing interests such as style, theme, content, and general "eye candy", this isn't as easy as it sounds. High Performance Web Sites (sorry, it's hard to review this book without referring to its predecessor) was a straight-forward 14 step (one chapter per step) sequence in how to improve web site performance. Even Faster Web Sites goes beyond what you might think of as "straight-forward", which isn't a bad thing, but it might make some of the techniques less accessible to the less experienced developer. With that in mind, if you're just starting out developing web sites, read High Performance Web Sites before moving on to this book. Reading the two books "in order" isn't absolutely necessary, but it might make more sense if you're new to the game. Experienced players may do as you wish. The reader will need to know more than just vanilla HTML/CSS/JavaScript to get the most out of this text. While topics such as Optimizing Images (Chapter 10) may not seem complex "programmatically", Coupling Asynchronous Scripts (Chapter 5) and Writing Efficient JavaScript (Chapter 7) will be more challenging if you're not already familiar with the subject matter. I suppose you could say that this book has been "written by professionals for professionals", but I think that tagline is used by a different publisher. I also have to say that, despite multiple contributors, the overall "feel" of the book wasn't disjointed and, while you can read the entire book cover-to-cover, experienced developers can also zero in just on specific topics of interest. The Appendix contains a list of various performance assessment tools which, in and of themselves, requires a bit of experience or experimentation to get a feel for. Other "value added" pieces include Souders' Web Site dedicated to the book and the O'Reilly site for the book. The former is a series of blog articles on the information presented in the text, including comments, while the latter is the standard "this is one of our books" pages, where you can read/submit errata, register the book, and so on. You'll probably get more mileage out of Souders' blog, since it contains more behind-the-scenes insights into the material. Don't read this book if you're just getting a handle on designing and developing your first few web sites, however once you have experience and have a solid grounding in "coding for the web", I think you'll benefit from Even Faster Web Sites. If you are a professional web developer, you definitely will benefit.

Monday, June 8, 2009

Front End Drupal: Designing, Theming, Scripting

Authors: Konstantin Käfer and Emma Hogbin Format: Paperback, 456 pages Publisher: Prentice Hall PTR; 1st edition (April 15, 2009) ISBN-10: 0137136692 ISBN-13: 978-0137136698 The Käfer and Hogbin book isn't just a "how to use Drupal" book. There are a number of books that introduce Drupal in general (I put in the link just in case you need to know what Drupal is), including Using Drupal (O'Reilly) which I previously reviewed. According to this book's back cover blurb, "Drupal is now the world's number one content management system...As Web Designers and developers adopt Drupal, they need ways to quickly customize the visuals and interactivity with their sites." Is Front End Drupal then a book with just a focus on designing and managing themes, or is there more "under the hood"? Let's find out. As always, my first question for a book is "who is it written for?" The back cover invokes "web designers and developers", which presupposes a certain skill set. The authors have backgrounds in both web development and Drupal, so that should also be a clue. That said, I didn't find a section in the front matter of the book saying "this is the book's audience" or similar text. The context of the book will have to do, but who the book is created for should become fairly obvious early on. The first page of the Forward states the basic problem and thus, the reason this book was written. Apparently, Drupal sites "out-of-the-box" are "ugly". Further, Dries Buytaert (Drupal founder and project lead) says "...creating a Drupal theme isn't always easy. It's a crosscutting experience that requires a lot of diverse skills and utilizes expertise in XHTML, CSS, JavaScript, and PHP..." That should be enough to define the target reader of this book, at least as far as what you have to know to utilize this text. Chapter 10 is an introduction to jQuery, further narrowing the focus, at least as far as JavaScript libraries are concerned. Chapter 1 starts out with a lesson on how basic web design integrates with Drupal. No, it's not an XHTML/CSS primer. You are supposed to know that stuff already to be able to utilize this book, but the authors do suggest here that you access those skills when mapping out the design of your future Drupal site. They do include resources such as Zen Garden and W3Schools.com's CSS Tutorial for those who might need to brush up in that area, so it's not like you have to be a total guru. I found this interesting because, as I moved through the book, I found that being a guru helps a lot, but more on that in a minute. Theming tools and strategies are added onto this "gentle introduction" and the more formal introduction to Drupal begins, including JavaScript, PHP, and the Drupal API. The mechanics of creating a Drupal theme are presented as early as Chapter 3, including more online tutorials and code examples in the book. This is where your coding experience starts to be needed. A basic understanding of at least XHTML, CSS, and PHP is required from here on in. I say "at least", because the book will not hold your hand as far as learning these technologies is concerned and even then, I don't think just "basic" skills are quite sufficient. The way the topics are presented doesn't seem to be quite "even" and I really think a lot of prior web design/development, and even some prior Drupal experience helps in having a good reader experience. In fact, if this book was my introduction to Drupal and I had no other experience with this platform or with other Drupal books, (even if I was well versed in the underlying technologies), I can see myself getting lost somewhere in the first third of this text's pages. If I was expecting a "total newbie's" book, I'd probably write a review slamming the authors for getting me in too far over my head. Do not, repeat, do not use this book if you have no experience with Drupal at all. Even more, do not use this book if you have little or no experience in web development. This book is best used by people who are (despite the resources presented in Chapter 1) well versed in how to design websites. If you work in a content management firm, you are probably ideally positioned to use Front End Drupal. The book's Appendix describes how to install Drupal, if you don't know, briefly discusses LAMP/XAMPP, and provides equal time for Windows, Linux, and Mac OS X as OS platforms. A "value added" piece is the book's support website which has the sample code included in the book available for download. There's also an errata page for the first printing of this book, so you can check if any issues or errors you come across have already been dealt with. Contact the authors if you come across something new. I'd suggest downloading and configuring Drupal up front and learning basic Drupal from a book like O'Reilly's Using Drupal before digging into Käfer and Hogbin's Front End Drupal. Save yourself the aggravation (or the temptation of writing a "negative" review on this book) of trying to follow along with this book if you don't have a Drupal background already. Those of you who do know Drupal and know web development, have fun.

Monday, April 27, 2009

Sexy Web Design: Creating Interfaces that Work

Author: Elliot Jay Stocks Format: Paperback, 172 pages Publisher: SitePoint (March 28, 2009) ISBN-10: 0980455235 ISBN-13: 978-0980455236 There are just about a ton of web design books on the market. Better make that two tons. What makes this one so different that yet another book on the topic graces the shelves of our local bookstores...I mean, besides the fact that it's "sexy"? In terms of design (and a lot of other things), the term "sexy" doesn't quite mean a scantily clad curvy woman or buff man (although I suppose it could). It means a design that is highly attractive and appealing to the eye. Erotic imagery is used to sell everything from cars to sunglasses because it attracts attention. Anything that attracts (positive) attention to your web site design can be considered "sexy". Is this book "sexy"? Does it teach "sexy" design? Let's find out. I suppose it helps that the object on the book's cover is a two-tone '57 Corvette Stingray. Classic sports cars are "sexy", and I think the classic lines of a jet black 'vette are totally hot. However, Jina Bolton uses the word "sexy" at least eight times on the first page of the Foreword. Perhaps she's just trying to define the author's terms, but overuse of this particular vocabulary word could make it, and the concept, old fast. Who should read this book? Glad you asked. According to the Preface, the field is wide open. Anyone, from the web design newbie who has just installed Dreamweaver on his or her PC for the first time, to the seasoned design veteran who is an expert at the nuts-and-bolts of web design but needs help in the "art department". That's usually the kind of book you want to write when you want your book to appeal (be sexy) to the widest possible audience (and thus sell to the widest possible audience). As I was thumbing through the book's front matter, I was still waiting to see if the hype was worth the price of the content. I saw that the book was supported by a web page on the SitePoint site. Having recently had a bad experience with a supporting (or rather non-supporting) site for a book I'd reviewed, I decided to check this one out right away. No promise of being able to download the source code for the book (you'll see why later in the review), so I didn't bother looking for that. There was the promise of an errata page which I found, but the book's only been available for a month, so I wasn't surprised that nothing had been submitted as yet. Otherwise, the site hosted "the usual suspects" including a sample chapter, the TOC, much of what I'd already read in the front matter, and so forth. Like other, similar web design books (including ones published by SitePoint), the book is written to appeal to the artist or, in the author's words, "The reason I'm a designer is a simple one: I like making stuff look pretty". This actually is a better book for the non-artist who usually needs more help in designing an attractive website, as opposed to mastering the mechanics of building a website. Even if you know HTML, CSS, and JavaScript to the best of your ability and can do web design while doing the ironing, taking out the trash, and watching American Idol (you poor thing), you may still not be able to design an attractive website. Frankly, no one is going to marvel at your technical excellence in web design if your sites look ugly or even just "ho hum". On the other hand, you will be marvelled at (and hired) if your sites are technical wonders and look fabulous. Chapter one is all about the description of the design process, beginning to end. I've seen this in a number of other books, but it is sometimes neglected when it should be required. It's not enough to know the technical aspects of the various languages involved; you also need to understand planning and intent of a site. The chapter, though small (and the whole book is less than 200 pages), is packed with examples of each of the author's points. In fact, in each page's footer is the URL to the sites used as examples, so you can view them in your web browser as you're following along in the book. While Chapter one is a summary of the entire process, Chapter two focuses more on the specifics of the research involved in web design. So far, there is no hint at even a scrap of code, so much of what goes on in the first 43 pages is conceptual. I was expecting to see some code pop out at me in Chapter 3, but such was not the case. Instead, next on the agenda was a chapter outlining site structure. Again, information was presented from a conceptual rather than "practical" point of view. So far, all the tools you really need to work with this book and to learn its lessons are a pad and a set of markers. Sketching and diagramming both the form and substance of a site are emphasized, but don't expect to see a bit of HTML and CSS at this point. In fact, will it ever appear? Actually, no. This book doesn't teach you how to produce the various design effects it describes in terms of using HTML and CSS but rather, how to plot, plan, and scheme what makes a sexy site sexy. From this perspective, the book doesn't stand alone, particularly for the design newbie who has just installed Dreamweaver on their PC but hasn't done anything else. Yes, it is important to understand every single word of what this book describes if you truly want to create more than just a standard, run-of-the-mill site, but if you don't know how to translate your planned design into an online reality by using the necessary technologies, you might as well just hang all of your drawn designs on your bedroom wall and call them "art". This actually isn't a slam against the book. As I said, the concepts it teaches are highly valuable, especially for the technically adept web designer who may have only gotten a "C" in their "Introduction to Art" class. That said, you'll still need to be technically adapt in order to make any practical use of what the book teaches, particularly since Stocks doesn't actually teach how to turn his "pretty" designs into web pages that'll display in a browser by referencing the necessary code samples. Master the craft first, then buy this book to study the art.

Monday, April 6, 2009

Review: Head First PHP & MySQL

Authors: Lynn Beighley and Michael Morrison Format: Paperback, 812 pages Publisher: O'Reilly Media, Inc. (December 30, 2008) ISBN-10: 0596006306 ISBN-13: 978-0596006303 The good news is all you need to use this book is some prior experience building static web pages using HTML/XHTML...sort of. That's what the Who is this book for? section says. However, the Who should probably back away from this book part says that anyone who isn't familiar with basic programming concepts like variables and loops should steer clear. On the other hand, the same section declares that those basic concepts can be learned from this book. OK, just a tad confused here. Actually, the one piece that would bind all this together would be the mention of JavaScript (and there's a Head First book for that, too). Not sure why JavaScript wasn't mentioned, but it would have been a good bridge linking the rank web design beginner to this book, since JavaScript also makes static HTML pages dynamic. Also, folks familiar with JavaScript would certainly be familiar with basic programming concepts. Be that as it may, let's move on. This book contains certain predictable bits that you'd expect in any Head First book. It's loaded with diagrams, graphics, and "retro" photos from what looks like old 1950s sitcoms. It's written for someone who forgot to take his or her Ritalin today and is in desperate need of said medication. The book teaches technology using scenarios that at least the book series and O'Reilly considers interesting if not important to the late high school and early college reader. Of course, there's a bit more to learning and using PHP and MySQL then learning to write code in a text editor. Will this book successfully teach the beginning web designer how to use server-side scripting and relational databases? The Read Me section in the front matter didn't look like the usual Head First boilerplate and it is necessary to read, because it holds the keys to using this book. The authors stress that repetition is absolutely necessary, so don't skip around the book. If you know enough PHP and MySQL to do that, you probably don't need Beighley and Morrison's tome anyway. You start learning the easy parts first, then move on to the more complex (nothing revolutionary there), but keep in mind, this book isn't one stop shopping. There's just too much going on with these technologies to teach you everything. The book is here just to teach you enough to get you going. You will absolutely, positively need a web server that supports PHP and MySQL. Before you do anything, blast to the back of the book and see the Appendix section for how to install all that on your local machine. Seems like you'll need just a bit more knowledge (or at least a lot of confidence) than just playing around with HTML tags for this one. Actually, the very beginning of the book doesn't really require that you have your web server set up, since you need to learn the basics of PHP first, but it couldn't hurt. At least once you get to the point where you'll need a web server, you won't have to halt the learning process and install everything. Personally, I'd just set up LAMP on a Debian box and call it good, but the instructions for installing PHP and MySQL on your local computer provided by the authors covers Windows 2000, Windows XP, Vista, and Windows Server 2003/2008. If you're a Mac user, OS X 10.3x or newer is supported. What? No Linux? These *are* open source technologies, folks and it's not like O'Reilly is a "Microsoft-only" publisher. OK, so they're playing the odds, figuring that most people run Windows and a significant minority run Mac, but I was still disappointed that they didn't give Linux a nod. Actually, do yourself a favor and just install XAMPP which does run on Linux (tested on SuSE, RedHat, Mandrake and Debian) and, if you really must use Windows, XAMPP for Windows is just as easy. You'll be able to do perform all the book's exercises fine and you don't have to break your brain pan setting up your web server in the process. JMHO. Once you get past the server set up, you can concentrate on learning the actual coding involved. True to the other books in this series, Head First PHP & MySQL teaches by taking the reader through actually building working features using the technologies involved. In this case, you'll actually learn how to build apps that let visitors to your site fill out forms (though I thought doggie alien abductions was an "interesting" first topic, compared to the expected gaming and rock concert examples) and other client-server interactive tasks. The book is so big (812 pages), not just because it contains a great deal of useful information, but because it presents that information in a bunch of different ways, which is typical for the series. As far as PHP and MySQL is concerned, for the newbie, repetition is absolutely required to "get it". It's one thing to kloogie together code so that it sort of works and quite another to be competent by the last page of the book. Is the book juvenile? Is the series juvenile? Well...yes, but that's the point. If you're a very "serious" person or being highly distractable has never been your problem, there are other books out there for you. Try Web Database Applications with PHP & MySQL or better yet, for beginners, take a look at Learning PHP 5 and Learning MySQL. They're both great books and very good teaching resources. If however, you've looked at those books and felt the grim spectre of boredom settling down on your shoulder, ready to paralyze your will to live, then perhaps Beighley and Morrison's Head First PHP & MySQL is the book for you. It's got what it takes to teach the topic and in a way that will keep you engaged. Make it so.

Monday, February 9, 2009

Review: Head First Web Design

Authors: Ethan Watrall and Jeff Siarto Format: Paperback, 495 pages Publisher: O'Reilly Media, Inc. (January 2, 2009) ISBN-10: 0596520301 ISBN-13: 978-0596520304 I recently reviewed Creating a Web Site: The Missing Manual and thought a review of this Head First book would be in order. While you might say that both of these books cater to beginners who don't have a history of creating and maintaining web site, you can also say that each book caters to its own special audience. Actually, these two books have two different audiences in more than one way. The Head First series, as I mentioned in my review of Head First Algebra, tends to be best used by younger people. A high school age audience is ideal and if you have been diagnosed with the dreaded initials "A-D-H-D", so much the better. All of the pictures, drawings, arrows, puzzles, and other input types are just great if you normally hate sitting still for more than a few minutes at a time reading straight text. However, as I glanced through the front matter of Watrall and Siarto's book, I got a mild shock. They didn't write this text for the "right-at-the-starting-gate" beginner. Specifically, the book assumes you have prior experience with XHTML (the most recent "buzzword" for HTML that conforms to the latest standards) and CSS, plus have some knowledge of PHP, .NET, and/or Ruby on Rails. If you don't fit this description, the publisher recommends picking up a copy of Head First HTML with CSS & XHTML to get started. So just what does this "web design" book teach? The book proposes to take up where designing a static HTML/CSS site leaves off. Specifically, to teach how to design and develop web sites for the professional or the wannebe-professional web designer. Your first clue that this Head First book is different from the rest of its siblings is that it's in color. I know it's an odd detail to mention, but all of the other Head First books I've seen to date have been strictly monochrome. It never occurred to me that color would be an option in this series (unless there's such a book as "Head First Color Digital Photography"). Relative to the audience-type I mentioned before, this isn't the easiest subject to teach, even in the Head First format. Action-oriented readers are doers, not necessarily planners, and designing professional web sites requires a lot of planning. Chapter 1 covers how to storyboard a proposed web site, which is a necessary first step in many artistic projects. This is contrary to the artist who, extending the metaphor, would rather grab a blank canvas and some paints and start spontaneously creating. Of course, using this approach, you don't always know what you'll end up with until it happens. With designing web sites, and particularly for people who are paying you, this isn't always the best option. While the web pages and some of the diagrams are better rendered in color for the sake of this book, I'm not sure that goes for the photos of the actual people (models). They tend to work better, at least for me, when they retain a more monochrome effect. It makes them easier to take, given their lack of surroundings. In fact, as I made my way through more of the book, I realized that I was having trouble shifting back and forth between the reality that color lends to screenshots of web sites and the more "cartoony" feel of the rest of the Head First format. I agree, it's better to "tell this tale" in color rather than monochrome, but it creates another problem. I found myself wondering if the reader, having become at least competent in basic XHTML/CSS and one or more programming languages, might be better served by "graduating" to a more standard web design/development text. I think of the Head First series as a single stepping stone for a person at a particular stage in their cognitive development (which is different than intelligence) that needs information served up in a particular format at this time in their life. Once they progress beyond that developmental milestone, they will be able to tolerate more "standard" information streams. This Head First book comes closer to the border between its realm and the realms covered by those other info streams than I would have expected. My basic assumption though, could be flawed. I have assumed that people "grow out of" needing to have all or most of their information provided the way the Head First series offers learning. On the other hand, how many people actually prefer the "video game" method of learning their entire lives? Is this also a generational difference in learning styles and that I'm on the wrong side of that particular line? No, otherwise, no one in their 20s could learn from any of O'Reilly's "The Definitive Guide" or "Cookbook" series, among others, and I know that's not true. The book might have been better titled "Head First Professional Web Design", since "web design" as a term, covers a wide field. Maybe that's what threw me off. While I, as an individual learner, am not often best served by this series (the Algebra book being the exception), this web design book seems to almost be pulling the audience away from a strict "Head First" learning model and encouraging them to take the next step. The "atypical-ness" of this one Head First book is being reflected in the difficulty I'm having in reviewing it. It's not that the book doesn't teach its subject well, it's just that the book has to bend it's own series format rules in order to do a good job. Could the audience have taken the next step on their own and just learned the same content from a different book? I'm not sure. Maybe the book serves those people who are used to and like the Head First format and don't feel ready to move away from it...even though they are. Is this book a good teacher for its audience? Probably. It just seems that, in order for the authors to teach this topic, they needed to appeal to the audience to stretch beyond what Head First normally offers. That may mean that Head First has an upper limit for what it can teach. As I review more in this series, I'll see if there's a point past which it cannot go.