Archive for November, 2007

Leopard 10.5 supports 512 pixel icons

Wednesday, November 28th, 2007

While playing around with Icon Composer in the newest version of XCode Tools for I noticed that Leopard now supports 512×512 pixel icons - much larger than the older 128×128 pixel icons. I assume this has to do with the Cover Flow view for the Finder which displays icons much larger than the other views. Sure enough, Apple have redesigned all their icons for the new format and they look gorgeous. I took some screen grabs of my favourites. Click the thumbnails to see the details. Notice the small text in the iTunes and Dictionary icons and the textures on the truck and the guitar. Hawt!

Click for full size

Dictionary icon

Dictionary



Garage band icon

Garage Band



iTunes icon

iTunes



TextEdit icon

TextEdit



Transmit icon

Transmit


Discussion - Is OOP for OCD?

Monday, November 26th, 2007

[Repost from Jan 31 2007]

Recently, I’ve been playing around with compiling ActionScript 3.0 with strict mode turned off. This makes everything much more loose. Type checking is thrown out, classes can be dynamically altered - essentially, you sacrifice speed and rigourousness for flexibility and forgiveness. In other words, it’s compiled more like AS1 was compiled.
I’ve also been spending some spare time looking at Objective-C (the language used for Mac programming). Obj-C adds functionality to C which makes it sort of object oriented but in reality, it’s very loose. The book I’m reading seems to glorify the dynamic nature pointing out how nice and flexible it is to try to access something that might not exist within an object. Obj-C programmers tend to break the “is a” rule using inheritance to gain functionality rather than identity. Even though it all curdles my blood, it’s hard to deny that this is a system which allows you to very quickly (and fairly elegantly) create working applications.

So my question to you is this.
Is all of the effort that we as developers put into creating object oriented, well defined, interface driven, decoupled code worth the effort?
Is there a value in keeping things loose and dynamic?
Should we shun languages that make this impossible or difficult?

Napkintop web design for maximum impact

Monday, November 26th, 2007

This link is an oldie but a goodie. It has helped me remember to KISS countless times and to focus on the needs of users when designing sites. Check it out.

An Introduction to Using Patterns in Web Design [37 Signals]

Video game trivia : COLECO = COnnecticut LEather COmpany

Monday, November 26th, 2007

Yes. It’s true.

Coleco, as in the ColecoVision video game console, actually stands for Connecticut Leather Company. Surprisingly, there were not any S&M games for the system.

How Ironic - Aviary is a CS3 competitor built with Adobe products

Monday, November 26th, 2007

Aviary

Aviary is a platform ecosystem for people who create. It is organized around a suite of Flex-based rich internet applications geared for artists of all genres. From image editing to typography to music to 3D to video, we have a tool for everything.

Sign up on the site for an early preview invitation. These tools, if not truly competition for CS3, at least look very interesting on the surface. It’s hard to imagine developing so many tools at once.

SWFObject 2.0 beta

Sunday, November 25th, 2007

This is slightly old news but my friend and former co-worker, Geoff Stearns, has announced the beta for version 2 of his infamous swfObject on Google code. In case you haven’t heard, swfObject is probably your best, most powerful, and easiest option when it comes to embedding Flash Player content into an HTML page. The new version was rewritten from scratch and hopefully will become the official, de-facto solution for embedding SWF files in webpages. Kudos Geoff!

Skrypt Kidz 3000 Podcast

Monday, November 19th, 2007

Update: We’re up on iTunes!
Mims H. Wright - Skrypt Kidz 3000 - Skrypt Kidz 3000

A few weeks ago we asked you what you would want to hear from a new Flash podcast. The votes came in with a tutorial based podcast in the lead with 44%, followed by a discussion by experts with 18% and a healthy chunk of you (16%) thought it was irresponsible for us to bring another new podcast soul into this cruel world.

You told us what you wanted to hear and we listened to you.

But then we decided to ignore your suggestions and do something completely different.

It’s my pleasure to present Skrypt Kidz 3000 — a new semi-regular podcast where a barbarous crew of Flash and Flex developers get together to spend our precious weekend hours yakking about Flash issues. In our inaugural episode we discuss the pros and cons of using Flex over Flash. We also talk about Flex and FDT pricing and Adobe’s new wireframing tool Thermo.

Runtime Stack Information for Logging and Debugging

Sunday, November 18th, 2007

Or, “Hack Your Stack for Fun and Profit!” Yes, this is really and truly a hack, my friends, but, like many hacks, you might find it very useful. Using the Stack class I provide, you can get all sorts of information about the code being run right now: the package, class name, method, filename, and even the line number. You can also grab an Array version of a stack trace and follow it up. Sweet!

So check out this egregious hack. First, you grab the stack trace by throwing and catching a dummy Error and copping its stack trace as a string. Note, that this technique only works (and is only useful) in the Debug Player.

public static function getRawStackTrace():String
{
	var stackTrace:String;
	try
	{
		throw new Error();
	} catch (error:Error) {
		stackTrace = error.getStackTrace();
	}
	return stackTrace;
}

Then you slice it up into lines, and hack those lines into their constituent parts by some crazy regular expressions. That’s pretty much it.

public static function getPartsFromStackTraceEntry(stackEntry:String):Object
{
	return stackEntry.match(/(?P<package>[\w\d\.]+)::(?P<classname>[\w\d\.\:]*?)(?P<isStatic>\$?)\/((?P<scope>[\w\d\.\:]+)::)?(?P<method>[\w\d]+\(\))(\[(?P<filename>[\w\d\\\/\.]+):(?P<line>\d+)\])?/);
}

Fun, right? The properties in the returned Object are:

  • package
  • classname
  • isStatic
  • scope
  • method
  • filename
  • line

You can clean this up into package.classname::method with getSimplifiedStackTraceEntry().

So that’s it, it’s just some regular expressions, but with this hack you can pull out all kinds of juicy information about the context your code is running in. It can be useful for your own debugging, logging, and error reporting.

filecom.yourmajesty.debug.Stack View Source | Download (.as, 2k)

Thursday Link Dump, What a Day!

Thursday, November 15th, 2007

Boy, oh boy, do I have updates for you!

  • firstborn. My friends relaunch their flagship site. Congratulations! It’s totally PIMP! Be sure to check out Zune Journey which they just launched as well, it’s a really, really fun site. I love seeing sites like this that are just fun, cute, happy, and aren’t heavy-handed with the marketing.
  • EOS 400d site, using papervision with a photos-in-space collage to really great effect! Feels a lot like the interface in Photosynth. The hinting the camera uses to change angle toward points of interest, and smoothly traverse around objects in the foreground, make this interface really smooth and very filmic!
  • Away3D normal mapping demo. This really blew me away. Normal mapping is, I feel, somewhat of a holy grail for software 3d packages like Away3D and Papervision, because it lets you display very simplified geometry, but shade it like the high-resolution original model. You can see the bust is only rendering maybe a hundred or two hundred polys, but the impression it gives is of a very nicely detailed model, because lighting calculations use normals from a prerendered normal map rather than from geometry. BRAVO!
  • FOAM. My brilliant accomplice Drew Cummins’s new physics engine, which he created because there aren’t enough physics engines in Flash. Just kidding, he made it to play with maths and so we can make games with it! And so I can use the term Range-Kutta when talking about it, which I love.
  • PARKLAB. This one isn’t new at all, but I just wanted to point it out. These guys are great designers and great programmers, and it could be my favorite flash experiment blog out there. I’m a fan.

Code Samples for ActionScript Bible are online

Tuesday, November 13th, 2007

Hey people,

I and my publishers have gotten many comments about the lack of code samples on the AS3 Bible website. I just wanted to let you know that they’re up (mostly). The remaining chapters should be up this week.

Get it here under the download tab.