Book review: ActionScript 3.0 Bible

ActionScript 3.0 Bible

By Roger Braunstein, Mims H. Wright and Josuha J. Noble

ActionScript 3.0 has to be regarded as an entirely new language when compared to ActionScript 1.0 and 2.0. It is not downwardly compatible and requires that Flash developers “migrate” to the new version. Having said that, the benefits of programming in ActionScript 3.0 are well worth the effort. For starters it’s up to ten times faster and offer much easier connectivity and networking capabilities, especially since XML is now a native data type in Flash.

The good things about this book:

It’s a project oriented book, full of tutorials that cover the majority of functions that a Flash developer is likely to come across in his or her work. It focusses squarely on how to do things and how to make stuff work rather than covering the more technical aspects of ActionScript 3.0 and object oriented programming (OOP).

The bad things about this book:

It feels like it was rushed through to publication. There are a lot of mistakes and some of the projects either don’t work or are incomplete. It takes some careful persistence to make some of the code work, which actually makes some parts of it a better learning experience, but I could see this being frustrating for a less experienced programmer.

To sum up, I have mixed opinions about it. On the one hand, it provides a much needed project oriented guide to programming some of the most frequently asked for functions of Flash using ActionScript 3.0 and is a good starting point. On the other hand, it contains too many typos and scripting errors to inspire confidence. I would say it’s got a lot of very useful information and is very practical but use it with caution and always read through and check any long projects actually work before starting them.

Recommendations

Personally, I’d recommend this book for intermediate ActionScript 2.0 programmers who want to migrate to ActionScript 3.0  and programmers who want to learn object oriented programming (OOP). If you’re more experienced with ActionScript 3.0 and would like to learn more about OOP, then I’d recommend Essential ActionScript 3.0 by Colin Moock. Colin Moock’s book goes into much more detail about the fundamental principles of OOP but it’s a little light on good examples and projects so I wouldn’t recommend it for beginners.

See preview of ActionScript 3.0 Bible on Google Books.

Book review: ActionScript 3.0 Game Programming University

ActionScript 3.0 Game Programming University

By Gary Rosenzweig

This is another belated book review. I can’t remember exactly when I bought this but it was quite a while ago.

This is a great book. Well written, clearly explained and full of good tips and advice. It covers a range of different types of games including word games, driving and flying games, platform games and the usual shoot ’em ups.

My only criticism is that in some places the code is rather hacky and looks like it was converted from ActionScript 2.0 procedural code. But then again, once you understand the principles behind developing different types of games, writing them in more dynamic, robust object oriented code shouldn’t be too difficult.

Book review: ActionScript 3.0 Animation

Foundation ActionScript 3.0 Animation: Making things move!

By Keith Peters

OK, this is a belated review. I bought this as an ebook when it was published in April 2007.

This is by far the best book, or even tutorials, I’ve ever read for animation in ActionScript 3.0. It’s clear, concise and very well paced, taking you from the basic principles of static frame animation (like cartoons) and taking you through to the more dynamic and interactive world of scripted animation.

It covers everything from moving basic 2D objects around, through the principles behind scripting velocity and acceleration, friction, easing and springing, collision detection and on to complex interactive 3D shapes and environments. There’s even a couple of chapters on forward and inverse kinematics if you interested in scripting jointed, moving creatures. The mathematical formulae are well described and you really get a feel for what the author is talking about.

Overall, it’s a great book and I’d recommend it to anyone who would like to get involved in dynamic, interactive animation.

Preview Foundation ActionScript 3.0 Animation, Making things move! on Google Books.

Good quality audio

What’s the best way to record audio and achieve professional sounding results? It’s not as expensive or as difficult as you might think. For the average Podcaster or for dialogues and presentations, it’s relatively easy to get set up and start producing high quality audio material like a radio station. Let me explain some of the basic principles…

What you start with determines what you’ll end up with

The quality of your unprocessed, uncompressed audio recordings will determine the quality of the end results. Getting the best possible recordings in the first place should be your top priority. This comes down to two things: the equipment and the techniques you use to record it.

Choosing the right microphone

A cardioid pattern mic records sounds in front of it
A cardioid pattern mic records sounds in front of it

The starting point is a good quality microphone but also the right type for the job you have in mind. Luckily, with the growth of Podcasting and computer based audio recording in general, there is a wide selection of microphones available and they’ve come down in price quite dramatically in the last few years. Choosing the right kind of microphone is just as important as the quality. There are basically two types: unidirectional, also known as cardioid or hyper-cardioid microphones, and omnidirectional, also known as border microphones. What’s the difference? Unidirectional mics only record sounds that are directly in front of them, whereas omnidirectional mics record sounds coming from all directions.

Which type should I use?

A shotgun mic cuts out unwanted background noise
A shotgun mic cuts out unwanted background noise

In most cases, it’s best to use unidirectional mics. This is for general studio recording and out on location for things like interviews or news reports. Use an omnidirectional microphone to make mono recordings of two or more people in a quiet room. Omnidirectional mics are sometimes used as “border mics” that pic up additional background noise or ambient noise and recorded as a separate track that is mixed in later. In situations where you expect a lot of background noise such as in town centres, shopping centres, schools, universities or cafes, it’s advisable to use a “shotgun” mic. These are extremely directional and do a pretty good job of cutting out any sound that isn’t directly in front of them. Professional quality camcorders often come equipped with a shotgun mic.

Get the right connections

An important thing to bear in mind is how you intend to connect it to your recording device. If it’s a DAT, Mini-disc or your computer, check that the mic can be easily plugged in. Some mics require phantom power (48v) which can only be provided through a good quality mixing desk, although many good quality condenser mics include a battery compartment so that phantom power is not necessary and you can plug them directly into your recording device. Cheaper consumer condenser mics often require what is known as “plug in power” or have a battery compartment built in. Most modern digital recorders, such as MiniDiscs and dictaphones, include plug in power so the battery compartment is unnecessary. Computer plug in power is different to digital recorders and you may experience compatibility problems with some microphones. If in doubt, test microphones before purchasing or you can always buy good quality purpose made USB microphones that are typically sold as Podcasting mics.

How can I make a stereo recording?

A coincident pair of mics to make stereo recordings
A coincident pair of mics to make stereo recordings

The easiest way to make a stereo recording is to use what’s known as a coincident pair. It’s basically two microphones crossed together pointed at either side of the source(s) of the sound. There are specially designed “stereo mics” that have two mics inside a single unit. While they’re quicker to set up and more convenient, you’ll definitely get better results with separate mics, plus you’ll also have the option to use them for interview style studio or location recording.

Beware of the term binaural recording. This is not stereo recording as we all understand it, is intended exclusively for use with headphones and attempts to reproduce a “live” listening experience. There’s a sample binaural recording on the Wikipedia.org page on the link above. Try listening to it with headphones and through your speakers to hear the difference.

Microphone technique and placing

Having good quality microphones is only half the story however. It’s quite possible to make terrible recordings with top quality mics. The position of the mic(s) relative to the speaker(s) and other sources of sound will also determine the quality of your recordings. Here’s some basic advice:

Correct distancing

If you’re talking into a mic, you want it to be about 20cm away (or the distance between the tip of your thumb to the tip of your little finger when they’re outstretched) from your mouth and not directly in front of it. Having the mic directly in front of your mouth results in “popping” where consonant sounds such as “p”s and “b”s send a wave of air directly into the mic and distort the recording. Most people hold the mic slightly lower than their mouth but positioning it to the side usually gives better results. By the way, most headset mics are positioned way too close to your mouth and usually use poor quality mic capsules with low sound sensitivity to compensate.

Avoiding handling noise

If you’re making stereo recordings or using a fixed position mic (i.e. not hand-held), use a mic stand on the floor whenever possible. Putting stands on a table increases “handling noise”. This is when the mic pics up vibrations through the mic stand or from your hands when you’re holding it, touching the table, etc. Be conscious of this because it can ruin a perfectly good recording!

Beware of background noise

Also be aware of all other sources of sound in the area where you’re recording. Human ears naturally filter out background noise but mics are not so smart. For example, you might not notice the sound of the fan on your computer but you’ll certainly notice it when you listen back to the recording.

Recording directly onto PCs and laptops

Most computers come equipped with fairly good quality sound cards so you can just plug in a mic and press record on your favourite recording software. If you’re lucky, you won’t have a problem with hum and hiss when recording with microphones directly onto a PC or laptop. Unfortunately, this seems to be a very common problem and it usually has nothing to do with your microphones, mixers, gain levels, etc. as you might read on some on-line forums. The most common cause of hum and hiss is from the sound card in your PC or laptop picking up noise from the hard disc drive, CPU, cooling fan, etc. inside. You can check if this is the problem by unplugging your microphone but leaving the cable in (so that if there’s an internal mic, it doesn’t get switched on) and recording a few seconds of no input. If you still hear hum and hiss on the recording, then it’s most probably the sound card. Fortunately, you can buy external sound cards that will remedy the situation. Professional quality ones start at around £100 (24 bit, 96 KHz) and budget ones at around £30 (16 bit, 48 KHz).

Personally, I rarely record audio directly into a computer. I prefer to use a stand-alone, battery powered PCM WAV recorder. They’re small, pocket-sized devices that often have a coincident pair of microphones built in and various inputs for plugging external microphones in. They record high bit-rate, high quality, uncompressed audio onto SD cards that you can then transfer to your computer for editing. The microphone I use most often, even indoors, is a battery powered super-cardioid (“shotgun”) microphone held with a “shockmount” which suspends the mic to prevent handling noise (shockmounts are small, cheap, and a good investment).

Monitoring

Listening to what you’re recording in real time is a big advantage, especially in improvised or experimental situations. It’s also incredibly useful for learning about how best to position mics. In a recording studio, you have the luxury of a sound proofed mixing room but in real life and out on the road, this isn’t always possible. Headphones that isolate your ears from the outside world are an excellent option, in fact, I’ve found that a simple, relatively inexpensive pair of Sony ear-plug style ear-buds allow me to monitor mic recordings in almost any situation.

Choosing the correct recording formats

I always record in an uncompressed format because digital compression such as MP3 and AAC is “lossy”. Lossy means that you lose a lot of detail and resolution in the sound and as you edit and process it, the quality of the sound diminishes. Just as it’s important to edit and process digital photos with the highest pixel resolution possible, it’s equally important to edit and process audio recordings with the highest bit-rate and sample frequency possible. If you can, record directly to 16 bit WAV (Windows) or AIFF (Mac) files with a sample frequency of 96 KHz (96,000 Hz). However, this professional quality recording isn’t always possible so 8 bit WAV/AIFF files with a sample rate of 44.1 KHz (44,100 Hz) are perfectly adequate. Good audio recording software will have these options available. When you have edited and processed your recordings and you’re happy with the results, then it’s time to convert them to MP3 or AAC for distribution over the Internet.

Which output format should I choose MP3 or AAC?

It depends on what you want. MP3 is the most widely accepted and compatible format. While Flash Player, the de facto multimedia platform on the web, supports both, some MP3 players do not support AAC so bear this in mind when choosing a format. The main advantage of AAC over MP3 is that it preserves better audio quality at very high compression rates (smaller file sizes) and the main advantage of MP3 over AAC is that it is much better audio quality at low compression rates (larger file sizes). Both formats support DRM (digital rights management) but both can be easily defeated with readily available 3rd party software.

Which software package should I use?

In my opinion, the easiest software package for non-professionals to use that produces the best results is Adobe Soundbooth. It isn’t cheap and if you’re on a budget, I’d recommend using Audacity which is free and open source. There’s a list of digital audio editors here. Whichever software package you decide to use, make sure you can do the following easily:

  • Set the overall volume (gain) of the audio tracks.
  • Fade tracks in and out.
  • Cut, splice, paste, move and delete sections of a track.
  • Add audio effects and processing such as compression, reverb, EQ, noise reduction, de-esser and aural exciter (Ideally have a selection of optimised presets for things like “radio leveller” or “female voice”).
  • Set the sample frequency* when recording and converting to MP3 (e.g. 44.1 KHz).
  • Set the digital compression bit-rate when converting to MP3 (e.g. 56 Kbps).

* Flash Player only supports sample frequencies of 11, 22 and 44.1 KHz and compression bit-rates under 128Kbps. It does not support variable bit-rates.

A final word

There’s a lot to learn about making good, high quality audio recordings but understanding a few basic concepts will help enormously. Of course, the best thing to do is get set up and experiment, try different things out, push things to the extreme and see what results you get. Above all, do lots of it and have fun while you learn. Good luck and happy recording! 🙂

Google Chrome, why?

When I first heard that Google Chrome had been developed, I was sceptical. The web browser market is already dominated by Microsoft with its encumbent Internet Explorer, currently at 67%, Mozilla Firefox is steadily gaining its share, currently at around 22%, with other browsers such as Opera and Safari making up the remainder. So the obvious question is why?

Apparently, for Google, it was a purely pratical consideration. The clever developer guys at Google are creating more and more user friendly gadgets, widgets and user-interface tools to make the web easier and more fun to use and therefore more appealing to us (Google makes its money from people using the Internet!). They’re also attempting to corner the market in what’s known as Cloud Computing. This is where applications such as word processors, spreadsheets and presentation software run on Google servers instead of on your computer which works in a similar way to web based email, Facebook, YouTube, etc. Google Documents is a popular example of Cloud Computing.

Existing web browsers just can’t cut the mustard

All these gadgets, widgets, and user-interface tools, which are necessary for Cloud Computing, run on a web browser based scripting language called Javascript. Compared to Flash, Javascript isn’t a particularly fast or efficient language and the problem is that if you have a lot of Javascript running in browsers such as Internet Explorer and Firefox, it tends to slow things down quite dramatically and can even cause your browser to crash. Also, with Javascript becoming more and more common on websites, the likelihood of those particularly annoying situations where you’ve just spent half an hour or more carefully writing an email, report or article and suddenly your browser crashes and you’ve completely lost all your hard work. Generally, it’s best practice to write in a desktop based text editor and copy and paste afterwards.

Google Chrome to the rescue

This is where Google Chrome comes in. It was developed with running lots of Javascript in mind and optimised specifically for that purpose. In fact, Google claims that Chrome is around 56 times faster than Internet Explorer! It also addresses a number of issues related to stability and security rather elegantly and, in my opinion, is a far superior web browser to Microsoft’s Internet Explorer 7 and 8. For example, browser tabs in Google Chrome run independently so if a web page on one tab causes it to crash, other tabs are not affected. Google also keeps track of known Phishing and Malware websites and Google Chrome will warn you if you attempt to navigate to one of these sites on their blacklist. However, this doesn’t include unknown Phishing and Malware websites and if you’re really security conscious and would also like to block all those annoying flashing banner ads, I’d recommend using Mozilla Firefox with the NoScript plugin.

Criticisms

Ultimately, however, even in a superfast browser with all the bells and whistles, Javascript is a slow and inefficient language when compared to Adobe Flash, Microsoft Silverlight and Sun Systems Java. While better support for Javascript is necessary in today’s web environment, I believe that if we’re really serious about replacing desktop with web-based applications, that is, to truly achieve fast, efficient, seamless Cloud Computing, we should be looking at these platforms.

Like all the other web browsers, Google Chrome is free and easy to download and install and even includes a wizard for transferring all your bookmarks and saved passwords over to it.

A quick note to Moodle users: Moodle’s text input editor is not compatible with Google Chrome. You’ll have to wait until Moodle 2.0 to use it! 🙁

Interactive 3D Fun

3D Graphics and animation are becoming more and more widely used in Flash. In an e-learning context this becomes especially useful where examining and interacting with 3D models has a specific learning objective, especially in the sciences, such as models of molecules.

[swfobj src=”http://matbury.com/assets/cube_grid.swf” width=”600″ height=”480″ align=”center” allowfullscreen=”true”]

OK, I admit it: There’s no educational purpose to this particular example of 3D in Flash.