Creative Technology . Ideas for Digital Media

Archive for the 'Flash / Actionscript' Category

Adobe Flash feud with Apple is over

While I agree with much of this decision, and understand the issues surrounding it, I’m rather bummed to hear Adobe sound like they are “conceding” in this manner. All this talk just continues to blur the really story: (1) Flash does not run well on mobile devices yet. I like my Android devices, but I try to avoid Flash content because it’s not that great of an experience – I’m not sure why Adobe can’t focus on improving this, this would be huge if they could. At the same time, (2) HTML5 not going to save the world next week like Apple loves to say – it’s still a long ways from being a reliable alternative itself. It’s great that Adobe is working on new tools to support HTML5 authoring – that will be great, just sad that it has come to this “feud.”

No comments

Cloud Browse: Flash on the iPhone/iPad (sort of)

Found this bit of news the other day; surprised that it’s not getting more attention considering all the noise out around Flash and Apple these days. To be clear, this app, Cloud Browse, is not actually installing the Flash runtime on the iPhone; so it’s not really Flash on the iPhone. It sounds like it works like VNC by allowing an iPhone to connect to another machine in order to see the content. Highlights from the USA Today post is below:“Here’s how it works: you download the free Cloud Browse App and install it. Then you direct the App to the website of your choice. Here’s where the interesting part comes in: the site is called up on another computer, which streams it back to your iPhoneThe app, Cloud Browse, is free, has been out for a few weeks, and so far has picked up 150,000 downloads….it had already been approved by Apple by the time Apple CEO Steve Jobs penned his “Thoughts on Flash essay. Personally, I’d be concerned about the performance of this, but according to this report,  it’s apparently pretty darn good on the iPhone! I’m surprised Steve isn’t blocking it!http://content.usatoday.com/communities/technologylive/post/2010/05/flash-comes-to-iphone–sort-of/1

No comments

Kevin Lynch Interview at Web 2.0

Thanks to Mike Chambers for posting this interview with Kevin Lynch at Web 2.0 conference in San Francisco. Kevin talks about Adobe, Flash, innovation, HTML 5, thoughts on the direction the web is moving, competition, and Omniture and he does so in a very open and down-to-earth way that I personally appreciate. I’ve been meaning to comment on all the recent hype going on between Apple and Adobe, specifically around Flash, but I’m also a bit sick of all the silly talk; most of which is just nonsense and not even based in reality. Hopefully it will calm down in a while and I’ll have some strength left over to dedicate to some thoughts.<br />

One of the great things about the job I have, is that I am truly technology agnostic – I use everything and I’m loyal to no one! Therefore, I am able to see technologies for what they are: tools to help me create. How do I choose which tool to use? Based on what is most appropriate for the job. This evaluation could include:

(1) Pure capabilities: can it do what I want it to? And at the fidelity I require?

(2) Audience reach: it may be an amazing tool, but can anyone else actually see what I create?

(3)  Speed to deploy: how fast can I get something moving? This is perhaps the most controversial. The process of creating traditional (boxed) software was one of slow moving teams; perfecting every single line of code in order to get it in the box before the shrink wrap stuck. In the digital world today, as companies like Google and Facebook have shown us, this type of software life-cycle/philosophy is potentially a detriment to your business. Today, it’s about getting ideas in front of users fast, collecting feedback, and iterating on your masterpiece; it’s not about spending 5 years to get it perfect the first time.

Interestingly, not as important of an evaluation point, to me anyway, is whether or not my tool of choice is necessarily deemed an “open standard.” Perhaps this decision point could relate to #2, Audience reach….someday maybe….

However, certainly in the case of HTML5, THE open standard of the hour, it is also the tool with the smallest audience!

Of course, as Steve Jobs would argue, we should be thinking of the future – when one day open standards will rule everywhere (unless you want to develop a native app for a Mac product, in which case you’ll need to live in the closed world of Apple native app development). PLEASE NOTE the distiction between the two very different uses of “open”:

1). Open standards apply to WEB technologies. HTML(x) is an open standard and supported by Apple. Flash is not because it is a plug-in (ironically, it is also the most prevalent piece of software on the planet, more than any single operating system or browser, which one could argue makes it a Standard!)

2) Open (development) environment points more to how you create your work (software). Apple’s environment is CLOSED – while Flash is OPEN. You won’t hear Steve Jobs talk up this point.

I do agree with Steve about WEB open standards, and I’m excited about HTML5, and the future of our biz. I feel that over time, this will be the direction where we will see the industry moving – and it could be a relatively quick move. However, it’s important to remember that the people creating and using these experiences….don’t really give a crap if a technology is considered open or not, and certainly are not interested in waiting around for another 10 years for the next improvements on their tool spec (I believe that HTML4 was ratified in 1999??.…which means it has taken over 10/11 years to get HTML5 going…..and it’s still not even here!) This doesn’t even account for how long it takes these open standards to make their way out into the “working world.” Ask any employee of a large corporation which browser they are using right now – chances are it is IE 7 – a non-HTML5-ready browser. Many of my clients, who work for huge corporations are still using IE6 because their IT departments have not yet upgraded them yet. IT departments for huge corporations don’t just upgrade thousands and thousands of computers just because someone is excited that HTML5 is out.

I hope I don’t sound too harsh on open standards, because I truly do believe this is the way to go, and I’m excited to start focusing much of my attention in this directions. However, putting all the hype and dirty talk aside, I’m realistic to know that (a) it will take time for any “standard” to become adopted, and (b) in the meantime, certain tools (including Flash) are far more ubiquitous and continue to make significant improvements every single year – not every 10 years. This is important to me too.

I enjoyed watching Kevin’s talk because he seems to be more in-line with my thinking: It’s not about the tool (it’s not Flash vs HTML5), it’s about allowing users the freedom to choose and create what they want in the tool of their choice. Perhaps that is the ultimate Open Standard.

No comments

Google Chrome to support Flash!

Google announced that the Flash plug-in will now be part of the the regular install for Chrome. This is some big news, particularly when putting it up against Apple’s current policy towards Flash.  In addition to stirring up the battle between Google and Apple, Google is making statement, and it’s not just about “to Flash or not to Flash” either. By supporting the idea of making the world a positive place for a variety web technologies (plug-ins included),  Google is committed to empowering the potential of what can be done within the browser; and this is good. In the end, these are just tools; all that matters is the user’s experience and our ability, as creators to continue to innovate. It’s not about what technology happens to be used – or not used, and it’s certainly not about pointing fingers at why one technology might be less superior, simply because the person who is using it does not understand it or know how to use it correctly.

No comments

Nike Lab!

Dang, I am so bad…have not updated my blog in a month! But, keep in mind that I was on vacation for nearly 3 weeks as well! (More on that later). Anyway, long before I left on my fancy Hawaiian vacation, we launched Nike Lab for the Summer Olympics. Features:

  • Content for 58 athletes, 45 products in 22 languages
  • High quality video, animation and graphics
  • Content includes: athlete stories, product information, up-to-date Olympics news
  • Launched in 22 languages

Technical details

  • Single code base for all languages
  • A custom, reusable Actionscript 3.0 application framework (based on MVC)
  • Built-in support for deep linking down to the page, sub page and product level (great for directing online/offline advertising to specific parts of the site)
  • Social bookmarking (for adding videos to user blogs, social sites, etc.)
  • Dynamic resize of main flash within HTML page (resizes Flash stage within HTML based on content)
  • Dynamic re-skin of site based on language selection (no page refresh)
  • Custom font render to support double-byte characters
  • Dynamic updating of the Title bar based on which “page” of the site the user is on)
  • Technologies/tools: Adobe Flash, Adobe AIR(for CMS), Actionscript 3.0, HTML, Javascript, Adobe After Effects

For a more in-depth review of the technical details, please visit Antti’s blog. We then went on to create an iPhone Web App version. More on that in the next blog, I swear!

No comments

Back from FITC

fitc.jpg

I had a great time at FITC Hollywood! Met some amazing people and had a great speaking session of my own. It went well, although most people were in the room next to me to see GMUNK! Thanks to everyone who attended my session; I’ve received some great feedback and a few folks have emailed me wanting to keep in touch.

All in all, I ate too well, attended some cool sessions and played a lot of poker thanks to FITC founder Shawn Pucknell, Josh from Big Spaceship, and Richard Galvan from Adobe, who taught me how to play Texas Hold Em. (I have always been a 5 Card Stud only guy.)

Big thanks to Shawn, Naomi and the rest of the good people at FITC for inviting me to speak and for creating such a valuable event for our community.

No comments

Adobe MAX News, Tips and Tricks

Finally, posting some valuable info capture from the MAX show. Thanks to Crazy J!

The Adobe Image Foundation (AIF) Toolkit
The Adobe Image Foundation (AIF) Toolkit preview release includes a high-performance graphics programming language that

Adobe is developing for image processing, codenamed Hydra, and an application to create, compile and preview Hydra filters and effects. The toolkit contains a specification for the Hydra language, several sample filters, and sample images provided by AIF team members. The AIF technology delivers a common image and video processing infrastructure which provides automatic runtime optimization on heterogeneous hardware. It currently ships in After Effects CS3 and will be used in other Adobe products in the future. The next release of Flash Player, codenamed Astro, will leverage Hydra to enable developers to create custom filters, effects and blend modes. http://labs.adobe.com/wiki/index.php/AIF_Toolkit


Flash Player 9 “Moviestar”

This is the latest beta release of the Flash Player (not sure when they plan on releasing it publicly). Some of you may already be aware of the new features Adobe introduced in this player release, but for those of you who aren’t here are a few cool features. Support for H.264 video and HE-AAC audio codecs. This means support for up to 1080P HD video as well as the ability to take advantage of existing tools and services that leverage this industry standard format. They demoed this technology during the keynote with 720P full screen video and it looked amazing.

Multi-core support for vector rendering. At MAX the Flash Player team explained that there is currently support for up to 4 processors (cores) and that this may increase in the future. They also explained that this ONLY affects rendering. It will NOT increase the performance of ActionScript. The reason for this is because Flash is a single threaded platform and script execution cannot be divided among several processors. The rendering performance improvement results from dividing the final render frame into pieces and sending each piece to a separate processor for concurrent rendering.

Full screen mode with hardware scaling. The new full screen mode allows you to choose a rectangular area of the stage to magnify full screen. This mode will also take advantage of the video card for high performance scaling. This is the reason the full screen video during the keynote looked so good and performed so well.

Flash Player cache for common platform components, such as the Flex framework. This is a very interesting feature but for security reasons it currently only affects Adobe signed components. They hope to extend the feature to custom components when they can determine a safe way to do so. It’s basically a cache, similar to a browser cache, but it caches flash components in a domain independent manner. What this means is that if your site uses a particular component, such as the Flex framework, it will be cached by the Flash Player. When users revisit your site, or visit any other site that happens to use the same component, the component will be retrieved from the cache instead of downloaded again. This can drastically reduce download times for complex applications that leverage frameworks such as Flex. http://labs.adobe.com/technologies/flashplayer9/

 


Performance Tips for AS3

There was a very interesting session at MAX about performance in AS3. It compared the performance of various ActionScript statements that carry out the same task but are organized or structured in slightly different ways that have a significant effect on performance. The most important lesson from this session was TYPE YOUR VARIABLES! The performance difference between typed and untyped variables was about 10 fold! For those of you who haven’t gotten into this habit with AS2 now is the time start. It was also interesting to see that operations between two different types (such as int and uint) are much slower than if the types were the same. In the following example, the first for loop is more than 13 times faster than the second, and more than 23 times faster than the third:

var count:int = 10000000;
// comparing int to int (i < count)

for (var i:int = 0; i < count; i++);
// comparing uint to int (i < count), 13 times slower
for (var i:uint = 0; i < count; i++);
// comparing untyped to int and incrementing untyped, 23 times slower
for (var i = 0; i < count; i++)
;

 

There were some other performance tips that are a little more obvious and also have a benefit in AS2 as well as AS3. For example, assigning array length to a variable before using it in a for loop (some of you may already have a habit of doing this). In the following example the first for loop is almost 20 times faster than the second:


var a:Array = new Array(10000000);

// assign length to a variable

var len:int = a.length;

for (var i:int = 0; i < len; i++);

// use length directly, 20 times slower

for (var i:int = 0; i < a.length; i++);

The most surprising demonstration was the try-catch statement. In the demo, a complicated conditional statement that accomplished the same task as a try-catch statement was about 100 times faster! In my own experiments, a try-catch statement under normal conditions (i.e. no error is thrown) is a very small performance hit and is almost the same as there being no error handling code whatsoever. However, when an error is thrown, it’s about 300 times slower! The bottom line is it’s a good idea to use try-catch statements to handle unrecoverable scenarios and notify the programmer that they are doing something wrong (such as an index out of bounds exception). But it’s a bad idea to use them in place of simple conditional statements to handle valid scenarios that may occur under normal program execution.

No comments

Adobe MAX 07 Chicago

Adobe MAX was last week in Chicago – I followed that with a trip immediately up to Microsoft, and back to San Francisco; so I’m lagging on getting my MAX post up. I went with Crazy J and we met up with Sam (now at Yahoo), Kaare and Yi from AKQA New York, Dave from AKQA DC, Nick Velloff and the Sauceman. We were totally surprised when Kevin Lynch showcased our Halo 3 Believe work during his keynote. It was especially cool for Crazy J to see his work up on the giant screen considering the fact that he masterminded the main video interaction and apparently stumped Kevin himself. Kevin, if you’re reading this, we did not use streaming FLV video; it’s not video at all. The rest of MAX was awesome; lots of great, inspirational stuff and I will be posting some cool things I learned over the next few days.

main_2663.jpg

main2_2663.jpg sam_j_2658.jpg
max_2691.jpg

No comments

Xbox: Halo 3 Believe

halo3_shot1.jpg 

We launched Halo 3 Believe at AKQA and I wanted to give a shout out to the amazing team that worked on this; such a great piece of work. A real, physical Diorama was created in LA by a company called New Deal Studios. The AKQA team flew down there, captured some video (in analog) and brought it back up to SF to integrate in Flash. Crazy J from my very own Creative Development department developed the amazing loading/queuing system to handle the loading and management of all 200MB worth of video frames! Great work guys! JJ (John Jakubowski), Thiago, Hoj Jomehri, Kevin Hsieh, Joel Kaplan, Keith Hostert, Jason “Crazy J” Gatt (lead Flash), Caio, Alex, Matt and Rian and Kirk.http://www.halo3.com/believe

No comments

Flash based VOIP

Stef found this a few weeks back and I have not had much time to look into it yet, although JP has checked out the API. “The RibbitPhone Component will give developers the ability to make and receive calls, record/send and receive voicemail, as well as add and manage contacts.” I think that these guys will be presenting at MAX in two weeks? Combine this with the iPhone and you can be the first to use a phone as a website and use a website as a phone.

http://blogs.zdnet.com/Stewart/?p=495

1 comment

Next Page »