Search

Using a Mac? Check out these must-have Quick Look plugins

Posted by Nate Chatellier on August 13th, 2010

It has been about year since I switched from Windows to Mac and I thought I would release a series of articles that discusses my workflow and the vital tools that I have discovered along the way.

Today, we talk about one of the best features of Apple’s OS: Quick Look. Highlight any file, press the spacebar, and instant preview! The lack of this feature is my biggest complaint whenever I switch back to a Windows OS. Unfortunately, there are a few file types that are either not supported, or else not supported as well as they could be. Enter Quicklook Plugins.

First off, here’s how to install them:
http://www.quicklookplugins.com/how-to-install/

And here are my favorite plugins:

Steve Jobs and Flash: The real “most important reason”

Posted by Nate Chatellier on April 29th, 2010

If you haven’t, first go read Steve Jobs’ “Thoughts on Flash“.

First, there’s “Open”.
Seriously? Apple is one of the most closed companies in the world. The iPhone & iPad are the most closed and regulated system I have ever seen in my life–by far. I can’t count the # of apps that have been rejected because of ridiculous reasons. I’ve owned 2 different non-iPhone chargers that didn’t work because, according to my iPhone, ”this charging device isn’t supported”. Funny, if I wiggle the device just right so the iPhone doesn’t realize it’s not “genuine”, it works perfectly. If I want to get my stuff into the app store, I HAVE to use Obj C, no alternatives. Around every corner, Apple is the most closed minded, “our way or the highway” company I have ever heard of.

Adobe, on the other hand, has open sourced the ActionScript VM of Flash (Tamarin). And there are multiple efforts to create alternative Flash player’s too: FlirtGnash.

For a much better discussion on this, read Serge Jespers “Flash is as open as HTML5” article.

Give the consumer back the power of choice.

Second, there’s the “full web”.
“Adobe has repeatedly said that Apple mobile devices cannot access “the full web” because 75% of video on the web is in Flash. What they don’t say is that almost all this video is also available in a more modern format, H.264…” -Steve Jobs

“Although Flash has recently added support for H.264, the video on almost all Flash websites currently requires an older generation decoder that is not implemented in mobile chips and must be run in software” -Steve Jobs

So which is it? Most of it is H.264, or most of it is not H.264?

SJ says we should use HTML5, but there are currently so many problems w/ HTML5:

  • The support between browsers is still totally varied and inconsistent. I have to write all sorts of browsers exceptions and include duplicate copies of media in different formats for different browsers (such as mp3 for Safari and ogg for Chrome or Firefox).  And, this is assuming the end user even has the latest browser. The penetration of the latest Flash Player is 98%. But what is the penetration of HTML5 supported browsers? Significantly less. I can’t possibly recommend to our clients that they should target HTML5 if they want to reach the masses (yet).
  • By definition, everything written in HTML5 is public (good old “view source” command). But this becomes a problem when Disney or Nickelodeon pays my company tens of thousands of dollars to make an online game, and they prefer the source to remain private.
  • There are still no designer-friendly tools for creating HTML5. Nor are there timelines for character animations. Nor does HTML5 provide the full feature set currently available to Flash developers. Hopefully this will change someday, but I can’t help but feel like we are taking a huge leap backwards in what can be done on the web right now.
  • Even if a web-based game could be made in either Flash or HTML5 (and there are many that certainly could not), our budget would go WAY up if we had to make it in HTML5 instead of Flash since it would require so many extra hours. Our clients will not be happy to hear this.
  • There is a SIGNIFICANT amount of content on the web today that is done in Flash. Much of this content (most?) will never be redone in HTML5–even if Flash died tomorrow. Many companies can’t or won’t justify re-spending the money to rebuild past projects from scratch using HTML5. There is a large amount of content on the web that I will NEVER be able to access on an iPad. Ever.

Give the consumer back the power of choice.

Third, there’s reliability, security and performance.
I won’t argue this point: Flash has crashed on me many times. But it’s silly to try and say this is solely Adobe’s fault. Have you ever had an iPhone app crash? This is a regular occurrence for me. So should I switch to Android then because iPhone OS sucks? What a silly thought process. Sometimes the app crash might be Apple’s responsibility, but more often than not, the fault lies on the software developer who has bugs or memory leaks in their apps. I should no more abandon Flash over this than I should abandon iPhone OS over this.

Flash security holes? Sure, no doubt about it. But does Apple really think their software doesn’t have security holes also?

Give the consumer back the power of choice.

Fourth, there’s battery life.
Playing games drains my battery way faster too. So should I quit playing games on my iPhone then? Using 3G, GPS, or Blue Tooth drains my battery way faster too. So should I quit using all of those technologies? No. Leave it up to me how I want to spend my battery. Disable Flash by default if you want and post a warning about battery life as a user tries to enable it. This is more than I can say is done when I turn on my 3G which has an extremely significant impact on my battery life. Give the consumer back the power of choice.

Fifth, there’s Touch.
True enough. But touch has only recently become “main stream”. People will slowly stop using roll overs as touch interfaces become more of “the norm”. In the meantime, I’d rather be able to see the “outdated” content than have it blocked altogether. Give the consumer back the power of choice.

Sixth, the most important reason.
Ignoring the fact that Apple themselves have spotlighted multiple apps in the app store created with 3rd party software, sure, I can’t argue with this one. If I wanted to take advantage of iPhone OS 4′s multitasking features, and I was using Flash CS5 to create my app, I would be at the mercy of an Adobe update. But what you are referring to here is Flash in the app store. But with all of your talk about HTML5 earlier, I thought we were talking about Flash in the browser. HTML5 is not going to allow me access to the multitasking API’s either. In-fact, I’m sure we can agree that HTML6 is a LOOOONG way off. Flash in the browser can continue to push the web further in the meantime (as they have been doing for many years). Give the consumer back the power of choice.

Conclusions, and the real “most important reason”.
Two words: business strategy. This is all about Apple making more money–locking more developers into their ecosystem, their stores, their ad systems, their developer licenses, their hardware, etc. Now, I’m not faulting SJ for this–after all, as a CEO, that’s his job. But it’s too bad that consumers are deceived into thinking that the real “most important reason” their freedom of choice is being taken away, is anything other than the value of AAPL.

iPhone development in Flash CS5 Beta (link dump)

Posted by Nate Chatellier on February 5th, 2010

It took some digging for me to find all of the resources available on the subject so far, so I thought I’d share what I found:

Designing Flash Applications for iPhone, Arno Gourdol (MAX, 2009)
Source to 4 Flash iPhone apps
, Ted Patrick
Building iPhone Applications with Flash CS5
, Mike Chambers (FITC Edmonton, 2009)
Flash CS5 multi-touch (with source & video)
, Lee Brimelow
Flash Player 10.1 multi-touch FAQ
, Lee Brimelow
Multitouch and the Flash Platform
, Daniel Dura, Matt Bugbee (Max 2009)
Preparing for Multi-touch in Flash (including some 10.1 API’s)
, Kevin Suttle
Designing and Developing for the Multiscreen web
, Thibault Imbert (Max 2009)
Flash CS5 iPhone FAQ
, Lee Brimelow
Example iPhone apps built with Flash CS5
, Adobe TV
Example iPhone apps built with Flash CS5
, Adobe Labs
iPhone Geolocation AS3 API
, Mark Doherty
Applications for iPhone:Developer FAQ
, Adobe Labs
Developing for the Apple iPhone using Flash
, Aditya Bansod
Building Applications for iPhone w/ Flash Pro CS5
, Aditya Bansod (Adobe TV)
Optimizing Flash Content for iPhone Applications
, Scott Peterson & Chris Brichford (MAX 2009)
Adobe’s Flash CS5 iPhone forums
, Adobe
Flash to iPhone
, Veronique Brossier
Flash on iPhone: My Experience
, Ben Garney

Changes and Updates

Posted by Nate Chatellier on February 4th, 2010

Sorry I’ve been MIA for a while, but a lot has changed for me in the past year: my wife Megan and I traveled A LOT (Thailand, Italy, London, Las Vegas, Grand Cayman, Mexico, Belize, Honduras), she got pregnant, we now have a 3 month old, I sold a car and bought a brand new RAV4, and I changed careers. Whew, busy year.

I chose to leave DigiDeal and the casino industry and I now work for a fantastic interactive agency called Seven2 (we’re hiring btw). I haven’t been here for long, but so far, I’m really enjoying it! The owners are awesome, the creatives are genius, the accounts reps are fun and on the ball, and the clients are big (Disney, Nickelodeon, Nick Jr., AT&T, MTV, etc).

Here are two of the games I’ve programmed so far for Nickelodeon:

The Penguins of Madagascar: Oh Snow You Didn’t

Back at the Barnyard: All Cooped Up

Anyway, hopefully I’ll back to posting more regularly now. Stay tuned…  =)

Resizing a Parent Sprite Without Resizing the Child Sprite

Posted by Nate Chatellier on March 26th, 2009

A co-worker approached me with a problem today. He wanted to resize a parent Sprite (or MovieClip, DisplayObject, etc) without resizing the child Sprite. So, in a nutshell, here's how you do it:

ACTIONSCRIPT:
  1. _mcParent._mcChild.scaleX = 1 / _mcParent.scaleX;
  2. _mcParent._mcChild.scaleY = 1 / _mcParent.scaleY;
  3. _mcParent._mcChild.x = _nChildStartX / _mcParent.scaleX;
  4. _mcParent._mcChild.y = _nChildStartY / _mcParent.scaleY;

And here's a simple demo to illustrate the problem and the solution:

Resizing a Parent Sprite without Resizing the child Sprite

demo | source (.fla)

Flash to become commonplace in your living room?

Posted by Nate Chatellier on January 5th, 2009

Check this little beauty out: one of Intel's newest processors, the CE 3100, which is designed for web enabled tv's, set-top boxes, and Blu-ray players, will have built in support for Adobe Flash. This means that users of CE 3100-based HDTV's will be able to stream Flash from YouTube or anywhere else directly on their TV. Now, although I have no imediate plans to take advantage of such technology, I still believe it is a a great stepping stone for Adobe to ensure Flash as it's own "standard." Something that can be expected to be supported in every computer, tv, pda, iPhone, etc. Nice one Adobe. Apple, pay attention: the internet without Flash, is still a watered down version of the internet.

Intel Media Processor CE 3100 Intel Media Processor CE 3100

Intel CE-3100 Set-top box

Adobe laying off 600 employees, including Mike Downey

Posted by Nate Chatellier on December 4th, 2008

Update: Here are Mike Chambers' thoughts on the issue...

I thought it was a bad April fool's joke at first, but it's not April. It's true, Adobe is laying off 8% of their global workforce, which is about 600 employees. More details will be available on Dec 16th during their regular earnings conference call. The full Adobe press release can be found here. Adobe's president and CEO, Shantanu Narayen, said this is primarily because of not so good CS4 sales.Further, he states, “The global economic crisis significantly impacted our revenue during the fourth quarter, we have taken action to reduce our operating costs and fine-tune the focus of our resources on key strategic priorities.”

According to his twit, the layoffs include Mike Downey, Sr. Product Manager @ Adobe and a very influential evangelist for the platform. I am very sad to hear this news and will definitely miss his contributions. Their have been rumors that Mike Chambers and Ryan Stewart were both getting cut as well, but luckily, this is false and false.

I have heard multiple people make comments like, 'for the first time, I am losing faith in Adobe and their stability.' We have seen many industries take a hit during this recession, it should not be surprising that Adobe is one of them. However, the internet is not going to suddenly vanish due to our economy. Until Silverlight becomes a real competitor, Flash has no threat of dissappearing any time soon. Neither is the marketing industry going away. As long as their is marketing and 2d graphic design, there will be Photoshop and Illustrator. Adobe's staff will shrink and it may yet shrink again after this round of layoffs is all said and done, but the company is not going away and their flagship products will not go away.

I am less concerned about the possibility that the next version of  Flash or Photoshop may take extra long to be released, and I'm more concerned about the jobs and families of the 600 that got laid off. Say a prayer that they are able to find another job, soon...

Flash on the Beach 2008 schedule

Posted by Nate Chatellier on September 22nd, 2008

It's once again the time of year for the best Flash conference. Here's my schedule:

Day 0: Sunday 28th Sep 2008

09:30am PV3D Workshop. Ralph Hauwert

Day 1: Monday 29th Sep 2008

09:00am Keynote: Flash Now and in the Future. Richard Galvan
10:15am The best way to predict the future is to invent it. Carlos Ulloa
11:30am Things to Make and Do. Mike Jones
01:30pm A Preview of Flex 4 and "Thermo". Mark Anders
02:45pm Creating Particle Effects with Flint. Richard Lord
04:00pm Beyond the Knowledge: The Art of Play. Eric Natzke
08:00pm Modulating a Lot. James Paterson

Day 2: Tuesday 30th Sep 2008

09:00am Welcome to The Cloud. Aral Balkan
10:15am Town Hall Meeting. Adobe
11:30am Things Every ActionScript Developer Should Know. Grant Skinner
01:30pm AIR Beyond the Basics - Taming the Desktop. Peter Elst
02:45pm Platform Jiu-Jitsu. Lee Brimelow
04:00pm Motion Graphics, one frame at a time. Nanda Costa
08:00pm The Best 8 to 12 Hours of my Life. Robert Hodgin

Day 3: Wednesday 1st Oct 2008

09:00am Advanced ActionScript Animation. Keith Peters
10:15am Papervision3D Simplified. Seb Lee-Delisle
11:30am Decompiling Flex and Flash. Doug McCune
01:30pm Play with Pixels, Bitmap Manipulation with AS3. Koen de Wegggheleire
02:45pm The Ying and Yang of Flash. Paul Betlem
04:00pm The Art of Surveillance and Self-Exposure. Jonathan Harris

Flash CS4 – A Minor Update? Nope.

Posted by Nate Chatellier on September 17th, 2008

AppleInsider just released some details about CS4. They're saying that insiders call it a "minor update." Over on Keith Peter's blog, he argues the point by praising these new features, "bones, 3D, PixelBender, sound synthesis, new text engine, new drawing API." In response, Steven Sacks comments "Wait a sec, Keith. You’re talking about features of the player/actionscript. Let’s not confuse the language or the runtime with the IDE. You can access the features you listed without using Flash CS4."

I agree that most of the features I'm really excited about are in FlashPlayer 10 and not necessarily in Flash CS4. But take my company for example. We create Flash games. We heavily rely on inheritance, code reuse, and modularization. We have a great system setup where you can open any smaller module that you want to reuse in a future Flash game, copy a single folder from the Flash Library to your new game, import and initialize the object in the new game, and you're off and running. This makes creating the ground floor of a future flash game extremely quick and efficient. After 3 years of refining this process, we have arrived at what we believe to be a fantastic work flow from design to engineering.

I am extremely excited and intend on using immediately many of the new features of FP10. The only reason we haven't already is because, currently, this requires Flex. It would take us countless hours and tons of money to get everything converted to Flex. This simply is not an option for us. So if a new Flash IDE called CS4 came out and was exactly the same as Flash CS3 except that I could leverage all of the new FP10 features *directly from the Flash IDE*, I would be sold without hesitation. As Keith claims, for many, FlashPlayer 10 = Flash CS4. If you use Flex instead of Flash CS3, then feel free to review the latest version of FlexBuilder. But as for a person who leads a team of people who use Flash CS3 40+ hours / week, we are all very excited about the new version.

Flashplayer and AIR Benchmark Test app

Posted by Nate Chatellier on August 19th, 2008

I'm currently using the Flashplayer in more of an embedded system configuration. We're evaluating multiple hardware configurations to decide what hardware to use and we're also evaluating multiple version of the Flashplayer to decide which Flashplayer to use. So I made a quick open source test app to help with this evaluation. It allows you to compare animation performance between an EnterFrame animation vs a Tweener animation vs a Timeline animation. You can also apply various effects to see how they impact things. Since scaling can skew results, the app is designed to run at a specific resolution, but it is easily scalable to whatever resolution you wish to test (and steps are included in the source).

The results have been rather bewildering at times. Depending on the hardware (and I think the OS as well), I have seen filter effects drastically decrease the performance, drastically increase the performance, I have seen full screen mode have great impact or no impact, I have seen the AIR version help the performance and hurt the performance, and just about everything inbetween. Crazy! Anyway, tell me what your hardware/OS/Flashplayer version combination are, and what sort of results you get in the comments.

Usage:
It should be fairly straight forward. Just drag the sliders to add a new ball that is animated in the specified method. You can click on the top half or bottom half of the DiagnosticStats window (thanks Mr. Doob!) to increase or decrease the max fps. Use the + or - keys to increase/decrease the maximum # of balls allowed. In the AIR version, press Q or X to quit and click and drag the background to move it around.

FlashAIRBenchmarkTest

Demo | Source | AIR | AIR Source

Should Adobe follow the new ECMAScript 3.1 standard?

Posted by Nate Chatellier on August 15th, 2008

For background, read:

Keith Peters just posed a good question, Why Standards?. On the one hand, standards are undeniably good, assuming that the point of a "standard" is that many adhere to it. It's pointless to call something a standard if you are the only one following it. For example, take the metric system vs the english system of measurement. There are really only two standards and it still causes us problems. Remember the $125 million lost Mars Climate Orbiter in 1999 because someone didn't convert from one standard to another? Or closer to home, remember the problems of figuring out why your page looked one way in IE, another in Netscape, and another in Safari? The same page could look drastically different. Or how about the standard of XML? What a fantastic concept! I love that I can import an Excel file directly into Flash if I want to thanks to XML, or that I can interface with an app written in an entirely different language over Ethernet because it talks XML. It's undeniable that standards can be very powerful.

However, it's also undeniable that not everything should follow a standard.  How boring it would be if everyone's web page had to use the exact same look and feel and no one was allowed to use anything but text. This is, of course, ridiculous. Standards can be very powerful, but they can also be very inhibiting.

So the real question is not, "why standards?", but rather,  "should Adobe follow the new ECMAScript 3.1 standard?"

The only time I ever wish that various rich oop languages were more "standardized" is when one language has a really nice feature/ability that I become dependent on, and then I switch to another rich oop language that doesn't support it. For example, there are many times that I have griped that I wish AS supported all of the features that usually come "standard" in other rich oop languages, such as private constructors, function overloading, strongly typed arrays (vectors), etc. ActionScript 3 was a big step in the right direction and I thought ES4 would solve most of my remaining gripes.

My view, however, implies that a standard in the programming world is used to set the *minimum* feature set that a language has, NOT the maximum. I agree with Keith Peters, that my employer and my personal career as a developer are both completely unaffected whether AS follows a named standard or not. On the contrary, I feel like AS currently *is* the standard, and undeniably so in the current RIA world. I believe Adobe should consider the ES3.1 standard and follow it where it makes sense, but I strongly believe it should ignore it altogether when it's not in the best interest of the language or the community. Again, if MS, Apple, and Mozilla all decided that their browsers would support text only to be more standard with each other, everyone would jump ship in a heart beat to a "less standard" web browser that pushed the technology limit and supported images, video, sound, etc.

I believe Adobe has been pushing this technology limit for the last decade, and that they should continue to do so without consideration of slowing down in order to be able to claim that they are "compliant".

Oh, and since we're no longer worried about being compliant, can we please have private constructors back and true support for function overloading? ;)

Re: The Open Web is Slow

Posted by Nate Chatellier on April 3rd, 2008

This is in response to Ryan Stewart's post: The Open Web Is Slow.

Thanks for the post Ryan. I agree with much of what you are saying and as a non-Adobe employee, I definitely agree that Adobe does better-than-most commercial companies at contributing and fostering the open source community. In-fact, the Flash community, by and large, is  a community that really believes in Open Source, whether it's for silly experiments, or full blown engines like Tweener or pv3d.

However, I believe it would help the community if there was some sort of post explaining Adobe's reasons for not open sourcing the Flash Player. I can speculate reasons, but it seems open sourcing it under the right licensing structure would be beneficial for everyone.

At the company I work for, we do a lot of development using Qt by Trolltech. They have a great licensing structure that states the following:

"The main licensing options available are:
* Commercial Licensing. This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application.
* Open Source Licensing. This is the appropriate option if you want to share the source code of your application with everyone you distribute it to, and you also want to give them the right to share who uses it."

Trolltech gets free contributions from the community to their source, and they foster a community that does free advertisement for the company (by the sheer nature of Open Source). Their commercial licensing is not cheap, so the company still makes great money. It's a win/win for everyone.

Flash has such an extremely creative community that is always pushing Flash to its limits. I believe the tools that would be created if the Flash Player were open source would be incredible. At the same time, I love Adobe's products and do not want the company to decline financially. But I believe the opposite would happen: even more people would desire to use Flash as the tools for developing it get better and better.

We’re Hiring: ActionScript 3 Engineer

Posted by Nate Chatellier on March 26th, 2008

Well, we're basically always hiring (so apply even if this ad goes away), but given that the OSFlash Job Board just had a relaunch, we thought we'd try our luck at using it.

Here's the contents of the job posting:

ActionScript 3 Engineer
DigiDeal Corporation, Spokane Valley, WA

Deal yourself a winning hand! Join DigiDeal and develop digital games for the gaming industry! DigiDeal is the worldwide leader in electronic table game development. Our Digital Table System and game portfolio are recognized around the world for engineering excellence and innovation. We offer fully paid benefits, matching 401k plan, and competitive salary/incentives. DigiDeal is an EOE. If you've got what it takes, get in the game and work with the most creative and dynamic casino game developers.

DETAILS
-Develop multi-player Flash-based games
-Write Flash apps for touch screen technology
-Code exclusively with ActionScript3
-Join a team that is always trying to push Flash to its limits!

REQUIREMENTS
-3+ years software development
-BS/MS in CS or equivalent experience
-ActionScript 3 (preferred), AS2, Java, or C++
-Strong OOP skills is a must
-Game development is a plus

You can also apply be e-mailing me directly: natejc at this domain name dot com.

Adobe MAKE SOME NOISE

Posted by Nate Chatellier on March 18th, 2008

I was also having problems with the SOUND_COMPLETE event. I discovered Andre Michelle's post petition about it and promptly added my name to the list. There have been multiple other people posting about the problem also. Unfortunately, the only response that I could find from Adobe was by Brent Baker on a bug report for the issue that states:

"FlashPlayer issues should be reported here. Also you will need to provide much more information on the issue: http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform"

It seems that the bug was closed without actually looking into it. Bummer.

Adobe, MAKE SOME NOISE

Adobe MAKE SOME NOISE!