Flash is NOT coming to iOS!

by

While we’re still hot on the subject of Flash on iOS, I would like to address the other recent news regarding Flash Media Server 4.5 and clear up some of the not-entirely-accurate statements being made.

First, let’s get one thing clear… Flash is NOT coming to iOS per se. To quote the press release from Adobe:

“With Flash Media Server 4.5, media publishers can extend their already broad mobile reach via Flash-enabled devices, with the new ability to deliver video content to Apple’s iPad and iPhone devices, enabling them to reach the widest audience possible.”

Unless I’m misreading this, it seems that this is only going to allow Flash Video to be viewed on iOS and only when streamed from the new Flash Media Server. This will be achieved by serving the video in an iOS compatible format so there’s no new player or plugin involved at all. Flash content in general (games, interactive sites, &c) will still bring up that familiar
.

This is only a little bit exciting (unless you host a lot of Flash Video). What the end user will experience is potentially more video content available on their iOS device, perhaps from sites that they couldn’t get it from before, and they may notice a performance improvement. It’s a far cry from the headlines stating things like “Adobe releases Flash player for Apple products” or “Adobe Flash coming to iOS”. Still, it’s a (small) step in the right direction.

Frustratingly, most of the articles I’ve seen are tinged with insinuations that this is some sort of surrender, for example, “Apple did not fold, Adobe did.” Really? Are we still acting like these two companies are having a little schoolyard rivalry? Nobody folded or cried “Uncle”. A company just found a solution to a technology problem. As I said in my last post, this sort of talk creates an artificial sense of certain technologies being inherently “good” or “bad”. It misinforms the general public and turns the choice of platform for a project into an emotional or political battle.

On the other hand, as much as I want people to get the story straight, this is more good news for Flash developers. If the general consensus is that Flash will run on iOS then our clients will perceive it as less “bad” and more “good”. So I guess this is bad reporting of so-so news that will make very good PR for Adobe.

Air on iOS vindicated by Machinarium

by

If you haven’t heard, Machinarium has recently become a top selling iPad app in the iTunes store, and it was created using FlashBuilder 4.5 and Air for iOS. For now, let’s forget that it’s been a big success on multiple platforms including Steam for PC and Mac, well-recognized as a superlative indie game, and included in the Humble Indie Bundle; this game coming out on iPad is actually a really big deal.

Why?

I have always felt that it is our duty as technology experts to help our clients chose the best platforms for their products. And sometimes the best platform is the one that lets the developers do their work the fastest. Flash has always been great at adding a lot of character, subtlety, and interactive flair much faster than other platforms.

Unfortunately, due to recent high-profile skirmishes between Apple and Adobe, most clients currently think that “Flash is Bad.” They don’t understand that Job’s argument is full of half-truths and non-truths and most probably don’t realize that Flash code can now be run on an iDevice and more importantly sold for $$$. While Flash certainly ins’t the best in every situation, it’s actually a fantastic choice for a lot of applications and the programmers who have been using it for a long time who have honed their skills as interactive developers can add a lot intrinsically to their work. To say that it is “Bad” is to ignore much of the bigger picture.

Having a solid example to point to makes the case for using Air for iOS so much easier. And despite our cries, clients don’t really care about technical reasons… they DO care about top-selling apps that look beautiful! So next time you’re faced with a client who’s using some overhyped article from 2010 about Flash not performing well on mobile, you now have one more weapon in your arsenal. The more tools we have to deliver great experiences for our clients, the more everyone wins.

Also, it’s a pretty good game!

What’s next for dispatchEvent() Blog?

by

Dear readers,

First, I’d like to say thanks to all of you who have read and commented and shared this blog over the past 6 years or so. Despite the infrequent posts, it’s been a huge source of pleasure for all of us to be able to share helpful info (and a few personal rants) with the flash community.

For a while now we’ve been living in a world where a lot of what we cover on a blog like this is competing with Twitter, Google+, StackExchange, screencasts, Tumblr, Facebook, &c. for the reader’s attention. I often wonder if blogs are even relevant anymore. I certainly struggle to keep up with everything and blogs are usually at the bottom of the list.

Furthermore, the three of us, Mims, Roger, and Caleb have changed a lot in the last couple of years. For example, only one of us lives in NYC, and none of us work exclusively on the flash platform anymore.

We’re not necessarily going to stop posting, however, it may be time to change up the format. I would really appreciate some feedback on what and how you’d like to hear from us in the future. If you’ve got a blog or twitter account that you think is reaching people, tell us how! Comment, email, tweet me, or whatever.

Some things I’ve been thinking about…

  • Should we keep blogging or spend that time being more active on Twitter? How do Twitter and blogs work together?
  • How do we keep it fun and frequent?
  • What posts do people like the best? Who’s visiting the site?
  • Should we stay Flash-focused or go more broad with programming and interactive design in general?
  • Does it work better having multiple authors or is it confusing? Maybe three more specialized blogs would be better.

Thank you!

SnippetSaturday: Number to String

by

This is some code I wrote a long time ago back when AS3 was just starting to show up on the scene (I updated it some to work on its own and to use crazy nested Vectors). I’m sure it’s not terribly useful, it probably could be optimized quite a lot, but hey, it is what it is. I think it could be informative as one crazy possible solution to a kind of difficult problem. Comments away!

numberToString – wonderfl build flash online

Tagged , , ,

Snippet Saturday: quick random choice

by

Today’s Snippet Saturday (actually, Sunday) is a quick shortcut for choosing one of several strings, objects, etc. randomly.

Now, I wouldn’t really recommend using this code in a project. There are ways to do the same thing that are much more readable and less error prone. Instead, I thought it was an interesting experiment to show off some of how AS3′s syntax works for those of you who may not have seen something like this.

What’s happening here? Let’s break it down.

  • ["Alpha", "Bravo", "Charlie"] – Here we are instantiating a new array and populating it with three strings. This is essentially the same as:
    var a:Array = new Array();
    a[0] = "Alpha";
    a[1] = "Bravo";
    a[2] = "Charlie";
    
  • [...] – next is another pair of square brackets. This is an array access operator. In other words, everything between the two brackets will be evaluated as the index of the array to retrieve.
  • int(...) – This is an explicit type-cast to an int. That means that everything inside those parentheses is evaluated and flash attempts to convert from whatever data type it is to an integer. In the case of decimal numbers, they are rounded down so this is similar to using Math.floor().
  • Math.random() * 3 – random() of course produces a random floating point (decimal) number between 0.0 and (almost but not quite) 1.0. Multiplying that number by 3 (the length of the array) produces a number between 0.0 and 3.0 (technically, between 0 and 2.99999999etc).

The result, an array is created with three strings, a random number between 0.0 and (almost) 3.0 is generated, it is rounded down to an int between 0 and 2, that number is used as the index of the array to look up. The result will be randomly one of the three strings.

I hope you found this interesting!

Tagged ,