Foundation ActionScript 3.0 Animation, Making things Move!

[ad code=1 center]
It’s worth point out that this book focuses almost exclusively on on animation with ActionScript- there is no coverage of creating forms, buttons or even a lot of the usual flying logos that ActionScript is often used for in web design; Instead it’s choke-full of information required to create realistic animation.

The book starts off gradually, showing the reader how to write a simple ActionScript to display a ball, introduces the events system to make it react to events, and then how to compile the script into a .swf file suitable for displaying in a web browser or stand-alone application. While most developers will be using Adobe’s Flash CS3, it is by no means required to learn from this book. Covered here are the different ways to create Flash animation, including the regular Flash CS3 application along with Flex Builder and the free Flex2 SDK. Along with instructions for each, the pros and cons are explored- which basically boils down to you get what you pay for

For someone coming from JavaScript, ActionScript seems similar, but with its own set of oddities like variable types placed after the variable (e.g. var iMynum:INT), but all in all, a language not too far from JavaScript.

The book’s chapters then progress through chapters on animation concepts, basic motion (velocity and acceleration, boundaries and friction) as well as user interaction. The next section covers advanced motion (easing and springing, collision detection, bouncing off angles, billiard ball physics, particle attraction and gravity, forward and inverse kinematics). The last section covers 3D animation (3d basics, lines and fills, back-face culling and lighting). Finally, the Additional Techniques section (chapters 18 and 19) cover matrix mathematics and Tips and Tricks covers a lot of useful formula and other tips for working with ActionScript.

At over 500 pages there is a lot of material covered, however what I didn’t see was a lot of material on how to integrate flash elements created with the regular IDE into programmed ActionScript elements.

Overall, this is a good book for anyone interested in creating realistic animation, be it for a game or sprucing-up a website. Some of the material, such as billiard ball physics and collision detection might have direct application in entertainment software, while, some others, like the 3D rendering, I suspect will be useful until Flash incorporates its own native 3D abilities.

Posted in ActionScript, Adobe Flash, Webdesign | Tagged , | Leave a comment

The Definitive Guide to symfony

[ad code=1 center]
I should state that I started investigating frameworks over a year ago and looked into symfony (around v0.6 at the time) , but now use the CakePHP framework for my current development projects. That said, I think symfony provides the most complete set of features of any PHP framework I’m familiar with- but at the same time, it has a bit of a steeper learning curve due to its flexibility and, some would say, wordy syntax. On balance though, what attracted me to symfony initially, was the excellent documentation, of which this book is part. Since learning a framework involves understanding how many parts fit together, good documentation can’t be understated.

The first chapter introduces symfony’s features and requirements (symfony is, like Zend’s framework, PHP5-only) as well as interesting bits like like the origin of the name and how it evolved. The next chapter then goes into the the MVC design pattern that symfony is build around as well as how symfony extends the strict definition (e.g. breaking models and controllers down further into two parts for each).

This is then followed by a chapter covering the file structure and how projects and layout interact (basically they break controllers down into different sections, for instance, a blog application might have a both a front-end and back-end controller for handling comments (projects), while other frameworks like Cake or Zend combine into one controller). Like many frameworks, symfony uses the idea of convention over configuration, that is, rather than massive multiple configuration files, symfony relies on files being in pre-determined places. This is not to say there are no configuration files, but as they say early on, you only have to “configure the unconventional”, i.e. most of the time, just put things in the right places an symfony will take care of it.

Chapter three then looks at installing symfony, using the PEAR install (suitable for production environments) and the sandbox install, ideal of trying out symfony. The install process was one of the areas I had a whole host of problems when I first tried symfony out. I’m happy to say, this time round, the PEAR install went off without a hitch the first time- I think symfony has added some helpful features along the way, but the book too does a good job walking you through the process. After the install, the book covers setting up an application to show how few files (4 or so) need to be edited for a basic application. The chapter then finishes off with a section on configuring the sever and common problems you might encounter.

Chapter five then covers the main configuration files and the YAML language that is the default language used for configuration. YAML files are often brought up as why symfony to too complicated, however the book covers how you can substitute anothere , or even just edit the php that these files are parsed into.

The second part of the book takes a look at each part of the MVC as it’s implemented in symfony: the front controller (Controller), View and Model layers. For those familiar with frameworks, there are not a lot of surprises here, though symfony has a number of ways (and sometimes an extra section) of doing things that other frameworks have maybe only one common way of performing. A case in point would be the slots (components, slots and component slots) covered in the view module, or the separating of controllers into front and back end- again, something useful, but that doesn’t have an equivalent in other frameworks. So, there’s a few more things to learn, but the chapters do a good job at it. The next section then looks at the special features of symfony in regards to forms, links, Ajax, caching and i18n/l10n. This is followed by coverage of the development tools including generators, unit and functional testing, logging, management tools and how to extend symfony.

Finally, part five is labelled “symfony Expert” and looks at performance issues and masting config files and notes that, as at least one benchmark has pointed out- symfony runs best when it’s on it’s own server. On finishing this book, I think most readers will find symfony a whole lot less mysterious, it’s still a heavy-duty framework (I’d probably encourage those new to PHP to look at something a bit less involved) and then move up to symfony as their needs grow. On the other hand, symfony is, right now, one of, if not the, most full-featured frameworks, so serious developers should at least know its strengths and features. Overall, for those who have heard horror-stories about how complicated symfony is, this book makes it clear that is really isn’t much more complicated that others. This book does a good job explaining symfony and the underlying design patterns and terminology that is needed to understand these frameworks (this is applicable to many frameworks, not just symfony).

Posted in PHP | Tagged , , , | Leave a comment

The Photoshop Anthology: 101 Web Design Tips, Tricks & Techniques

[ad code=1 center]
The first chapter covers the interface and introduces the reader to the basic features (layers, the toolbar) as well as tucking on some new additions in CS2 like Smart Objects that allow linking external image files into a Photoshop document.

The next chapter looks at some basic skills like using layer masks, the blending modes, combining two images together, layer transparency, vector shapes, drawing tools.

The following two chapters then concentrate on creating various button styles, from the Mac-inspired ‘Aqua’ buttons to more conservative web buttons that look good without being too flashy.

In the chapter on backgrounds, the reader is shown how to create various backgrounds, from picking photo images that can be tiled as well as synthetic images created with Photoshop’s filters.

This is followed by a chapter on text handling. The reader is shown how to wrap text around an object (such as putting text on an orange or cup), text on a path and various text effects.

In chapter six, the focus is on improving photos and preparing them for use on a website. Examples include matching the colour-cast between several images and combining two images.

The next chapter is on manipulating images, specifically creating effects like isolating part of an image, adding scan lines, putting a photo onto a box.


Chapter eight looks at using Photoshop to design the actual website. This covers using Photoshop for some of the ‘background’ tasks like creating roll-over states for buttons and creating slices from a layout.

Finally, chapter nine covers some advanced Photoshop techniques such as creating actions, saving layer style sets and animated GIFs using Photoshop’s tweening functions.

At about 270 pages, the book covers a lot of territory quite quickly, fortunately there’s illustrations and screen shots on nearly every page. Compared to another Sitepoint book I reviewed earlier, this has a very open layout so it’s easy to scan quickly for what you’re looking for. Who is this book for? Most Photoshop experts will have seen the aqua buttons and tiling images techniques before, but for the web developer who doesn’t spend most of their time in Photoshop, this book should provide the knowledge required to get the job done.

Posted in Photoshop | Tagged , | Leave a comment

Deliver First Class Web Sites: 101 Essential Check-lists

[ad code=1 center]
The book is broken down into a series of check-lists for developing websites organized into major themes. Usually there is a short point, and explanation and sometimes an example- you might think of it as a stripped-down version of the format used in the O’Reilly Cookbook series.

Chapters are:

  • Pre-planning
  • Initial questions – target audience, goals and budget issues
  • Preparing content
  • Managing content
  • Usability, focus on the user
  • Colour,using colour in your website
  • Information architecture, organizing your website
  • Navigation
  • Coding your site, proper X/HTML, CSS
  • Creating accessible websites
  • Optimization. JavaScript and CSS, images, minimizing URLs
  • Search engine Optimization, avoid being banned
  • Design
  • Testing, usability,accessibility testing
  • Preparing for launch
  • Post Launch follow-up, collecting data
  • E-commerce Check-lists

This book arrived while I was deep into developing SimcoeDining.com, a search engine website and I decided to see how well my design was stacking up against the points made in the book. Lets say it reminded me of a few things and taught me more than a few tips. That’s to say, even if you are an experienced designer, I’ll bet you’ll learn at least a few semi-obscure tips (like following your directory names with a slash to help the server figure out you’re not referring to a file but a directory in chapter 11). As well, the chapters on optimizing looks at a wide range of optimization, from writing shorter CSS to writing HTML/CSS that is user-friendly and light, proper use of tables, and not creating reader problems.

As you read the chapters you get the idea that a whole lot of experience was brought to bare- looking at the footnotes on just about every page, they are full of references to other sources readers might investigate if they wish to learn more about a particular point.

The book itself is quite simple, no colour, mostly black and white pages with a simple layout. This is the kind of book that has the look of university course notes, that’s not a criticism, but it doesn’t look as pretty as similar books might- though it you see past this, then you’ll discover a book that should make it onto any web designer’s desk.

Posted in Webdesign | Tagged , | Leave a comment

Digital Photography Expert Techniques

[ad code=1 center]
This book uses Photoshop CS2, so it’s quite current (as of this writing CS3 isn’t due out till early next year). A nice touch in this book is chapter sections are marked in colour on the top of the page, making flipping through to a section easy. The first two chapters deal with set-up, taking pictures and setting up your computer set-up, including how to calibrate your monitor. A nice touch is chapter sections are marked in colour on the top of the page, making flipping through to a section easy. As well there are lots of notes in the side columns and break-out boxes on specific tips to a section, so there’s makes very easy reading.

Chapter three looks at Adobe Bridge and covers batch re-naming, ranking and generally doing a lot of pre-processing organizing of files before they get to the next step of importing raw files into Photoshop.

Chapter 4 looks at using camera raw for basic image processing before moving an image into Photoshop as well as how how to calibrate your camera using colour cards and touches on the differences in PS and Photoshop elements.

The next three chapters look at editing the image non-destructively using layers and masks. Chapter 5 introduces layer options, blend modes, adjustive layers and masks. This covers how to perform non-destructive editing through layers, blend modes.

Chapter six continues non-destructive editing looking at controlling the overall image. This covers curves and channels as well as applying the same changes to multiple images. Also covers filters, channel mixer, gradients, patterns and variations. Chapter seven then covers adjustments and effects to parts of the image. A good part of the chapter covers masking using various techniques to limit effects to certain areas.

Chapter eight looks at repairing images. This covers using the healing and patch tools. This includes using layers to preform non-destructive healing. Other topics include fixing blemishes and glamour and portrait photography tips as well as fixes to specific problems. This is followed with tips for architecture photography and deals with Photoshop’s perspective and lens correction and then finishes up with some tips on re-touching still-life photos.

Chapter nine covers collages and montages. This starts off with collages and covers finding pieces, creating your own stock-photo collection, and organizing photos for easy finding. The montages section starts off looking at the Photoshop features that are designed to help out, including Smart Objects, creating knockouts with the pen and Extract filter as well as 3rd party compositing tools. The rest of chapter looks at the combining process: matching backgrounds exposure and colour balance, size using the vanishing point. Changing focus using masks.


Chapter 10 is about the “Wow Factor”, specifically, it covers special effects that con enhance and image. This covers all kinds of uses of filters, liquefaction, wrap tool, lighting effects, film effects, ageing film, infra-red, duo-tones and effects filtering.

Chapter 11 looks at special purpose processing which features panoramas and stitching images, including shooting panoramas including shooting tips and using Photomerge. Extending dynamic range using two images, converting photos to paintings.

Finally chapter 12 is about presenting your work and includes printing, promoting on the web and creating slide shows. The book then wraps up with an appendix covering at some Photoshop alternatives including Apple’s Aperture and Adobe’s Lightroom. At 360-odd pages, its not the largest Photoshop book (Real World or Photoshop Bible would probably take that honour), but this book is an well laid out making it an easy read and a logically arranged, so it’s probably one of the best all-around books on the topic available. Recommended.

Posted in Photoshop | Tagged , | Leave a comment

Ajax for Web Application Developers

[ad code=1 center]
The book starts off with some examples and quickly moves through XML and JSON to get you up to speed. Chapter 5 covers object orientated Javascript. The speed is good, if you know a bit of Javascript and have a familiarity with object orientated languages, this is quite straightforward. If not, it’s a good introduction to Javascript’s OO features.

Chapter 8 gets into debugging scripts with the web browser. It shows the tools available for Internet Explorer, Safari and an extended look at the Firebug extension for Mozilla Firefox. Oddly, for Firefox, there is no mention of the Venkman Javascript debugger, but it looks like Firebug does a great job regardless and has some features, such as viewing traffic between the browser and server that are specifically useful for Ajax programming.

The book then goes into creating some more parts. By chapter 10 the book is getting into building some reusable components like an accordion (fold parts of the page away), tree view, client-side validation and a data grid. Particularly interesting was how to build a validation object and a form (Chapter 12). The form performs a simple function – alert the user signing up for an account that the user name they chose is already in use.


The next set of chapters look at common design pattern and how they can be applied to Ajax applications. These include: singleton, Model View Controller (MVC), Observer and Data Reflection. For each pattern they cover what is is and then how to create and use in the context of an application- in this case an e-mail application along the lines of gMail. The chapters on patterns then wrap up with Interaction Patterns ( building a history object and drag and drop example) followed by Usability Patterns.

The server-side of the book (mostly chapters 20-22) focuses on MySQL and PHP, though it does touch on ASP.NET and ColdFusion in one chapter, specifically how Microsoft’s Asp.NET can simply Ajax applications on that platform. Most of the server examples though, given in the throughout the book are written in PHP.

The last two chapters look at security (and explaining how to to build a cookie-based authentication system) and a final chapter on best practises that wraps up the book.

Posted in JavaScript, Programming | Tagged , | Leave a comment

Beginning Google Maps Applications with PHP and Ajax: From Novice to Professional

[ad code=1 center]
The first chapter gives a brief history of GoogleMaps and its API as well as showing KML, a simple technique for creating maps that I wasn’t aware of ? in fact, it’s probably the quickest way (especially for a non-technical user) to add a map to a web page.

Chapter two covers most of how to add a map onto your web page, setting the area, what controls appear on the map and adding marker points. For many websites, this might be all you need. – then again you could also work this out on-line, but the book is just getting started. Where the book shines is in showing how to go beyond the basics of changing the marker graphics or simple techniques documented in the API. The chapters that follow cover how to customize maps, particularly with the new features in version 2 of the API.

The sections include:

  • Getting started, creating your first map
  • Interacting with users and the server
  • GeoCoding addresses
  • Manipulating third part data (incl. screen-scraping)
  • Improving the user interface
  • Optimizing for larger data sets
  • Advanced tips and tricks
  • Lines, Length and Areas
  • Advanced geocoding topics
  • Appendix covering the API and a basic mathematics primer

What I liked was the attention to the practical issues of working with large datasets, specifically, what might work fine with a hundred or so locations, might not scale so well when working with a few thousand. Fortunately they cover lots of ways to optimize your application, both on the server and browser side. In fact, in some cases they show one way you could perform an operation (grouping data on radio towers) in PHP and, then how to do it using MySQL, and finally, how to improve speed further using MySQL 5′s views.

In chapter 7, this book gets interesting, covering advanced techniques such as boundaries, clustering to get around the problems with displaying larger amounts of data.

In the later chapters the book gets into the v2 Google Maps API where some amazing things such as replacing the map (the example given – using old maps in place of the satellite imagery- has recently been done by Google themselves) or creating custom overlays allowing for some truly interesting things.

Who would benefit from this book? If you just need to add a map to your business’s website, then you could probably figure that out reading through the API docs, same goes for modifying the marker from an pin into a snowman, this book will teach you this, but its value comes from going further than most sites I’ve seen go, in fact, much of what this book teaches isn’t being used on a lot of sites.

Posted in PHP, Programming, Webdesign | Tagged , , , , | Leave a comment