What Flash Needs to Remain Relevant in 5 Years

A word of warning: This isn’t your Grandma’s Flash bitching post. Now, that understood. Let’s begin.

I’ve been designing and developing in Flash since version 3. I love Flash. These days, it’s not easy to say that without being strung up or causing a Twitter riot. As the RIA and experience site market starts to evolve beyond the idea of using a web plugin, where does Flash fit in? How can it grow to expand into new markets and stem the tide of shrinking markets? As a designer/developer in the Flash and larger interactive world for over a decade, I’ve seen a lot of tech come and go. I’ve used Flash in a lot of non-traditional formats and delivery methods. Some for better, some for worse. Increasingly, as experiences become richer, smaller, more connected and constantly evolving, I’ve noticed a number of areas that Flash falls short and we have had to use tools like Cinder, Processing, Unity and others to accomplish the clients goals. Additionally, the bottom end of the Flash market, slideshows, simple animated headers, photo galleries, etc. are increasingly using JavaScript to provide a very equivalent experience without needing a plugin.

So, if you’re a Flash designer, you may ask yourself… and Adobe, for that matter… Where does the Flash platform go and what does it do to remain relevant in 2015? I have a few ideas. Open your mind and let’s explore.

  1. Ability to target BIG ass canvases: simulatanesous displays, digital signage, installations – Right now, Adobe is Flash pretty much unusable at 1080p+ resolutions for any but the simplest efforts. I could never consider using Flash for a high end signage or installation piece. This effectively cuts Flash out of billboards, Time Square or even museums and exhibits for that matter. I know some may argue this point, but consider this. I can use Quartz Composer or a tool like Processing and create a rock-solid GL accelerated experience that barely touches the CPU, runs at 60FPS+ and pretty much never ever crashes in just as much time, or perhaps less that I can with a Flash platform project. When you factor in all the awesome C libraries out there like OpenCV, Box2D and more that add fantastic capabilites to these pieces and you can see quickly that Flash has a big issue in this area.
  2. To eat it’s young to survive: PDF, JPEG, Mp3 encoding – Roll it into the player as core API functions. Yes, I realize these libraries may cost money. Yes, I realize that they will add to player size. But, here at this point 2011, it should be self evident with the number of community projects out there based around simple utility classes and libraries like AlivePDF, that people want this functionaity in Flash Player. The player size argument is pretty much irrelevant at this time as well.
  3. To add a CLI Language interpreter for wider developer accepatance – I know what you are thinking, “This could also be accomplished by using Alchemy“. Not so fast… that’s not what I am asking… I’m not looking to using C/C++ in Flash, I want to be able to use Java, C#, Obj C or any other number of languages to write SWF content. Think about the instant developer support you’d get if you could compile something like Python or Ruby to Flash. I know of the community tools popping up around this, PySWFTools, Haxe, etc. The market for this is the new to Flash developer or the expert ActionScripter who has outgrown AS3 and wants to branch out… Twitter is full of developers like this. Some of the more well known Flash superstars have moved on because of this. A related thing they could investigate would be making a simple version of the Flash authoring tool for gradeschoolers. Flash LE or something… Work with some CS and Learning pros and build a elementary school curriculum around entry level programming. Flash is so visual, kids love it! Get developers hooked young and build a lifelong affinity for the brand!
  4. Purchase/Adopt a highly performant renderer like Cinder/OpenFrameworks/Processing to augment it’s performance and buy market share for high end applications, data visualization and rich media displays. This might not be purely just Flash… It is related to item #1, but at this point, asking Adobe to turn Flash into a Ferrari like OF is probably too much. Perhaps a new tool is needed. A new output format… A revitialized Shockwave using new guts from a high performance toolkit, if you will. Something totally new. Whatever the case… I want to use Adobe tools to target 20,000 pixel wide canvases and multiuser, multiscreen experiences. Do you see Flash being used on Cable news networks to power election night graphics? How about all those new Digital Signage systems in airports and restrooms? No? Why not? Adobe needs to be there.
  5. To get over its iOS loss and move on. Target the devices via Apps and HTML5. We’ve been hearing it for two years now. Use the iOS packager, don’t use it. Use it. It is getting better. It is almost usable. Hmm. Well at this point, I can’t see myself recommending using this for any commercial work. It’s too slow, too clunky. No native control options and poor and inconsistent API access make it a non-starter for me. I think they’d have better luck turning Dreamweaver into a PhoneGap authoring tool. That’s not really even a joke.
  6. Fix its LLVM – platforms are expanding. iOS may really only be the first to shun plugins. Why wouldn’t Google kick Flash out of Android or Chrome at any given moment? It’s inevitable that more mobile systems will arise that could use a cross platform toolkit to target them. Why not Flash? Why not AIR? In this case, Adobe needs to learn how to make a far better LLVM if they want to target all of these emerging platforms.
  7. Stop bundling crapware with the player – Adobe, you are trading your credibility and any shred of resepct and decency you had when put some anti-virus, browser toolbar or some wack download manager on a computer just to install Flash. Weaksauce, indeed.
  8. More seamless micro patches: ala Chrome and Firefox – 10.1 took how long?A year? A year and a half? Why not do 10.1.x on a regular basis? I’m not talking about just security updates… tweak performance and address browser bugs. Maybe even add some utility functions like unloadAndStop sooner rather than later.
  9. Get Nokia and MS back on board with their mobile efforts – As we’ve seen already… Adobe isn’t always great at treating it’s partners great, witness Nokia. Nokia and Adobe were kissing in a tree for years, yet the recent MAX keynotes were delivered in the Nokia theater and everyone got Motorola Droids. What the what? Well, if Adobe really wants to take Apple on, they need mobile ubiquity. Android is a start, but RIM, Nokia and MS need to be there as well. In some regards in the mobile world, it’s Flash vs. Webkit. At this point, Webkit is more widely available on more handsets than Flash. Until Flash is as ubiquitous as Webkit, it will remain marginalized in the mobile web.
  10. Buy Laszlo – Or at least offer a similiar toolset with the Flex Framework… Laszlo‘s a bit of a fringe player (geeks love it, but your mom doesn’t know Laszlo), but it is solid technology. Why doesn’t Adobe have this capability? Output and render MXML as HTML5. Like Wallaby but for Flex.

So yeah… there you have it. 10 ways Adobe can help Flash remain relevant after the Mayan Apocalypse and in the days of iPhone 8.

Did I miss anything? Am I way off base? Feel free to comment here. Flame-bait and Trolls will not be approved.

Max 2010 – Year of the Devices

Just got back from LA. And yet another very successful Adobe MAX conference completed.

This year had a distinct theme – devices. From the free devices handed out to attendees, to the devices in the keynote, to the devices shown on the floor of the community pavilion, it’s clear that Adobe is very intent on getting their content production tools’ output on as many formats and platforms as possible.

AIR for Android, AIR on TV, Google TV, Flash Player on Mobile… Wow. The digital Publishing Platform alone is a huge step forward for publications looking to expand their reach to devices where they previously hadn’t been able to target. Pretty amazing overall, really. While some of the technology is probably still a ways off, such as the Mobile jQuery extensions for Dreamweaver (which John Resig helped to announce), there are other things like Flex Hero, with support for Mobile Development, are basically here (though in a Beta form). It’s exciting indeed.

Check out my photos from the event (shot on my spiffy new Canon S90)

The keynotes got mixed reviews from a lot of the attendees, and most all the people I track on Twitter that weren’t at the event were handily panning the skits and overall presentations given. Honestly, while yes there some dry spots (the Omniture skit spoofing Jim Kramer was terrible) and there were a couple minor technology issues (Epix’s video demo failed), I enjoyed them. I really though that Martha Stewart’s appearance, the BlackBerry Playbook demo and the mind blowing High Performance Flash player demos of 4k video and StageVideo, and MoleHill were just awesome.

One thing I noticed… The show’s opening with Joa and Natzke jamming some sick visualizations to a live AudioTool performance showed just how tough of a audience Adobe has to please… Here, I thought it was awesome and so did a lot of designers that I follow on Twitter. On the flipside… There were a ton of really smart and well known developers totally slamming it. WTF? It just highlights the heterogeneous nature of the Adobe customer base. You have creatives used to making beautiful or fun stuff with CS products and then you have these computer scientist developer types using Flex, LiveCycle and Coldfusion that just don’t care about that side of Adobe at all. One has to think that maybe Adobe needs to think a bit harder about what they want to be when they grow up… Or at least get the kids on each side of the fence to get along better. I stride the line between the two camps, so I love the creative mind blowing visuals and the whiz bang tech demos. Not everyone agrees.

Beyond the keynote announcements, there was some awesome labs sessions and concurrent presentations (my own presentation on Mobile Learning included. ;-) ). I really enjoyed Nate Beck’s multiplayer gaming session and the other labs I attended on both P2P and RTMFP and the other on the OSMF platform were both really enlightening. I attended a session on the Adobe InMarket service… and while it looks like it could be good eventually, it looks like it is a ways off for being flexible or powerful enough to warrant the effort. A lack of a public roadmap for the project could be a major turn-off for most app developers. How can you pin a business plan on a beta product?

The sneak peeks were great as always. Again Flash player improvements abounded as well as some super cool Flash player performance testing tools and output paths to HTML5 definitely caught my attention. The Coldfusion sneeks were pretty snoozeworthy to me, but I’m not much into that tech in general as it is. The real star of the sneak session was William Shatner though. Obviously oblivious to the bulk of the tech shown in the demos, he absolutely kept everyone entertained with a pile of jokes and incredulous responses to the advanced stuff on the screen behind him. Tons of fun.

The MAX bash was a great affair, with good food, entertainment (including some crazy dancing scantily clad snake lady, living statues, celeb look-alikes and a chain saw juggler), and the headliner “The Bravery”. A nice addition to the party, The Bravery put a good show on!

My session went well. I had about 60 attendees and ended up with a decent, though not superb rating. My topic, “Creating Mobile Learning with Your eLearning Toolkit” is an interesting one, mainly because it’s pretty much totally new to the Adobe crowd. The recently released eLearning Suite 2 doesn’t actually ship with a way to target mobile right out of the box, so it’s a little bit of a stretch for a lot of rapid eLearning tool users like people that use Captivate daily to entertain firing up a command line tool to package up the materials for AIR for Android or the iOS packager. I hope to release the deck and the demos files here soon, so please come back to get those here.

After all is said and done, though, the best thing was seeing so many friends from the community. Chatting with awesome people like Jesse Freeman, Elad Elrom, Michael Labriola, Aaron Pederson, Leif Weils, Stacey Mulcahy, Scott Janousek, Zach Stepek, Chris Girffith, Ben Stucki, Brian Rinaldi, Andy Mathews and so many more really made the time a lot of fun. I finally met a lot of people in the community that I follow on Twitter like James Ward, Rob Huddleston and Russ Ferguson and was reunited with a former classmate of mine from Bradley, the humble Flash platform genius, Dave Knape. Honestly, talking and connecting with so many smart, fun, and engaging people in a cool setting with so much going on is really the reason to go to these conferences. I get so much out of hearing their stories and experiences and sharing mine, too. These interactions are far more educational than any labs, really. Can’t wait to seem ‘em all again.

So what’s next for Adobe? Hopefully some great success for this year across devices and more OSes… For now, I’m recuperating and then starting to plan out what to build on my new Droid 2 and Google TV. Maybe some mashups or apps are in order… Choices, choices, choices.

New Post up at Float Mobile Learning

I have been relatively quiet here lately, but I certainly haven’t stopped building RIA, Flash or anything… I have been doing a lot of work in mobile, and one of those research areas has been the Adobe mobile options for smartphones.

I just posted a joint article authored with Erik Peterson there outlining key differences between AIR for Android and the iOS packager created applications. Capabilities of AIR for Android, the limitations inherent in using cross platform toolsets and some of the ways we would like to see the iOS packager and the AIR for Android tool.

If you are working in this area, you should probably check it out. We’ll try to keep the list updated as things change, and with MAX just around the corner, we all know it will change!

Dude, Best Viewed With a WTF??? What Year is This?

I love web standards, I do. I teach a class on them at a local university and extoll the benefits of everyone using them to create an open and accessible web. Why? They allow us to publish to an audience that is larger than any other ever assembled by man. Without them, the web would be a fragmented mess and it would be far less useful. Now, they also allow us to do some fantastically cool stuff, like the latest video from one of my favorite artists, Arcade Fire. Have you tried it yet? It’s worth a viewing, for sure. Check out the overview from Mashable, too.

But when I see things like this (which accompanied the aforementioned video):

I wonder… what are we doing? Sure, I know it’s a cool demo. Yes, it’s a fun and innovative use of technology… and hopefully we are learning things by creating these experiments… They’re lovely. But at what cost? Are we fueling some sort of Browser War II? Is rich media in this “post-flash” world (which I’m not really sure we are in), bound to ghetto-ize the cool sites and and force us to revert to the “Best viewed on a…” web mullet bumper stickers of 1999? Dude, I’ve been there… I have the scars to prove it and the burnt weekends and late nights of many a browser debugging session to recall not so fondly. Remember this? Am I detecting shades of it here, or what?

So, the next time you bash Flash or any other tech for not being open or taking too much CPU or whatever is the complaint du jour, take a look at this CPU output from my pretty much new 15″ MBP with 8GB ram… This was what was happening while that beautiful piece of open content was playing…

Yeow. Every piece of tech is capable of eating up processors, standards compliant or not. ;-) Just saying.

Oh and by the way, I did write a postcard to myself. Check it out.

OMG! Flash on iPhone!

Hacking Robots for Fun and Profit

Just got back from the Flash and the City conference in NYC. The conference was a smashing success! It sold out, and people were really impressed as far as I can tell based on the discussions on Twitter and at the actual show. Elad, Jesse, Kevin, and Jose all have a lot to be proud of. As I mentioned in my presentation, I would share my deck and the source code… and so, here you go.

If you want the source code, mosey on over to Erik Peterson’s blog, Electric Pineapple.

Making the most of your toy robot (Part 1 of 4) – Custom hardware controls
Making the most of your toy robot (Part 2 of 4) – Object Detection
Making the most of your toy robot (Part 3 of 4) – Processing the video stream in Flash
Making the most of your toy robot (Part 4 of 4) – Docks and Beacons

I thoroughly enjoyed meeting so many great people in the Flash scene. It was pretty cool finally putting faces with the Twitter handles! Hey… and please go to the Adler planetarium and go check out the exhibit!

Does HTML5 need JavaScript2?

More Cowbell
As a long-time web designer, I have had lots of love affairs with various technologies over the years. GIFBuilder, BBEdit, Photoshop image-slicing, tables, HTML and CSS, Quicktime, VR, Shockwave, JavaScript, Flash 4, Flash 5, Flash MX2004, Actionscript 3, Flash Video, JQuery, DOM Storage… the list goes on and on.

Some of these have been long forgotten and swept under the rug of ancient things in my brain like stuff I learned in my chemistry classes or college psych 101. Other things churn, get their lives extended and get refreshed again and again. With our recent foray in mobile, one of those things for me right now is JavaScript. Often maligned, sometimes heralded, it’s obvious people have lots of opinions on what is one of the most widely deployed programming languages on the web.

After leaving my first job at Rollingstone.com (which consisted of making a lot of Flash minisites and games using Flash 4 and Flash 5), I renewed my interest in JavaScript and the dynamic DOM (I think it was called DHTML at the time). I was very concerned about SEO and machine readability around this time, so I stopped doing a lot of Flash for a couple years. Finally, around the time that Actionscript 2 came out, I started to like JavaScript less than I had previously and also started doing a lot of freelance game development for the web using Flash. Browsers were somewhat inconsistent in their rendering/parsing of it, it lacked the basic OOP and syntactical sugar of AS2 or even PHP for that matter, and debugging it was tough (Firebug wasn’t around yet). Shortly thereafter, JS frameworks like Prototype and JQuery began to emerge, making writing JS a lot less painful. It didn’t really help you get around some of the advanced development issues like true OOP or native data types like JSON, but it was certainly better than writing raw JS.

After AS3 hit the scene in 2006, it was tough to get me to want to develop anything of real complexity with JavaScript given just how awesome it was finally having an ECMAScript based language like AS3 that used strict typing, offered true OOP and provided compile time errors. Add to that, the fact that IE6 made dependable JavaScript a crap shoot compared to Firefox and there is no wonder why Flash enjoyed its heydays from 2004 to 2009 or so.

Fast forward to today and the constant bickering between anybody on the web about the slow death of flash or the rise of HTML5 or need for standards or whatever the tech press or bloggers will have you believe about what is going on behind closed doors between Google, Adobe, Apple and MS about the web’s next steps in media design and development tech and you still have to wonder… how will games, deep experiences and the like be built in HTML5?

Most demos of the tech are pretty frivolous or only prove that yes, you can play video without Flash. Who cares? Could I use HTML5/JQuery to build Sliderocket? Gmodeler? A top tier experience site for the latest blockbuster movie?

The answer, ‘possibly’… but would it be as easy to build and debug or render as fast as using Flash/ActionScript? Most likely, no.

Some of that has to do with the tools. Flash is made to create rich spectacles complete with detailed animations, rich interactions and precise graphics. It’s over 10 years old and is pretty mature. CSS (even CSS3) and the average rendering engines in a browser just can’t match up to it in power, speed, display uniformity across platforms and overall flexibility. But furthermore, building rich apps in JavaScript 1.x is still a pain. Some IDEs are better than others at it, but the language is still pretty much crap for heavy duty coding. Runtime errors galore, esoteric debuggers, a lack of strict typing and advanced data types in general, no formalized approach to MVC/ design patterns… the list goes on and on. Why are we going back to what many developers would call an inferior technology to Flash or even Silverlight. The drive is largely mobile, but there are some other politics at play as well.

When you look at the press coming out, or get phone calls from clients requesting HTML5 apps, alarm bells start going off in my mind. How are we going to handle this transition to a post Flash world when device manufacturers like Apple seem to be forcing us to use a hammer and chisel to produce pale imitations of sites that we built two years ago using great tools? Is the Flash platform perfect? No, but it’s better than pretty everything else we have tried so far for building examples like the ones I pointed out above.

What are the next steps? Well, to see some of the docs coming out of the standards crowd and the browser developers, not much. Ugh. If my tools of choice (Flash and Flex) are really going to lose ubiquity in the player realm, marginalizing their effectiveness due to lack of ubiquity, then please at least give us some tools to build JavScript apps in that are at least as good as what we already have. Get JavaScript 2 out there, please and make it good, not hobbled like the next gen of ECMAScript looks to be. And please, bring hardware accelerated SVG rendering to all browsers, not just IE.

This is not meant to be a “HTML5 sucks” or a “Flash rocks” post… there are plenty of those already. I am interested in hearing what you think though… Does HTML5 need a better DOM scripting partner if it is going to take over for Flash? What does an ideal HTMl5 authoring tool look like? Do these questions matter as much as I think they do to the average designer/developer?

Benchmarking HTML5 vs Flash Player 10.1 on mobile devices.

A nice comparisons of two of the technologies in a very heated battleground right now, mobile design and development.

Comparison of performance of Flash Player 10.1 and HTML 5 on Mobile Devices from michael chaize on Vimeo.

Bullet Proof Your Kiosks

At The Iona Group we produce a lot of experiences for museums and tradeshows. These are often installations that will run for a solid 8-12 hours a day for weeks and be in operation for years on end (many exhibits have 5-10 year life-spans in the museum world). Uptime and dependability is crucial. Over the course of too many projects to count, I’ve assembled a list of must dos for any kiosk we build. These are things that have worked for us and sometimes learned via trial and error, this is offered up as a hope that you won’t need to experience the same sorts of learning as I have encountered. Here is a list of things to consider before installing and walking away from any kiosk job. These will help you get less support calls and allow you to sleep easier.

These tips aren’t about writing good software in the first place. This is all about the deployment and delivery phase of the project. A lot of these suggestions came from projects we have worked on over the years. Many of them are canon in our workflow because of our Technology Director, Jeremy LeBeau. He blogs at Silverwire and is on Twitter as jleb. Look him up!
Bullet Proof
(more…)

A Short List of Other Tech for Flash Designers and Devs to Check Out

What do you do when you aren’t writing classes or managing assets on a timeline in Flash? How do you expand your knowledge or exercise your creativity? For me, if I still feel like tinkering on a computer but not really doing any *real* Flash/HTML/CSS work, I like to find new tools and try them out. Sometimes I produce stuff worth sharing, sometimes it’s just tinkering and playtime.

As a professional, it can sometimes become more about the day to day. The grind. You need to take a step back every once in a while and experiment. Like these guys…


Read on.
(more…)

Page 1 of 1212345...Last »