Posts Tagged ‘Flash’

Adobe MAX Session Videos

Posted in Adobe MAX, Announcements, Article, Conference, Video on November 13th, 2010 by Ian Ford – Be the first to comment

As I probably promised before in the post announcing my itinerary for Adobe MAX 2010, I now have video for all of the sessions I attended.

Deep Dive into Mobile Development with the Flex SDK

Deep Dive into Flash Player Rendering

Creating Testable Flex Applications

Performance Tips and Tricks for Flex  and Flash Development

Having Fun with Layouts in Flex 4

FutuRIA: The Convergence of Rich Internet and Enterprise Applications

What is an API?

Posted in API, Article on October 28th, 2010 by Ian Ford – Be the first to comment

A while back I sent a video around the office (this one about Molehill) and received a confused response from a coworker:

You might think I’m completely stupid, but what is an API?  I was at the Flash in the Can Conference a few months ago and have been hearing that term ever since.  I assume it’s an AS3 thing?

I explained it as follows:

API means Application Programming Interface. It basically refers to a set of procedures and protocols for getting things done. For example, you could say that things like waving hello, handshakes, speech, and meetings are part of a human communication API. When we talk about new APIs, we mean that either the set of things we can do in a specific sphere has expanded or become more powerful. If you can imagine people who are only able to do things like wave and shake hands, an API upgrade might then allow them to truly speak, or maybe shake hands more vigorously.

It’s often challenging to explain things like this to non-programmers, but this seemed like a very useful metaphor to me. Would you agree?

Getting into Mobile Application Development

Posted in Android, Announcements, Documentation, Java, Mobile on October 24th, 2010 by Ian Ford – 2 Comments

I just thought I’d announce that I’m formally taking the plunge into mobile application development. It seems more and more (though I should have figured this out by now) that mobile is the future, and I hope to get on board.

As you know if you read this blog, I have extensive experience with ActionScript and the Flash Platform. You may also know that Apple recently lifted the ban on applications developed with Flash (and other platforms) for its iPhone. You may know (furthermore) that Android 2.2 (aka Froyo) has support for running applications targeting Adobe AIR.

You might naturally assume, then, that I’ll simply be developing the way I always have and porting to both platforms.

Nope. Not right now at least.

If you knew me personally, you’d know that I take a comprehensive approach to life. I like to do things from start to finish in their entirety. When I pick up a book or film, I finish it (whether I like it or not). I do perhaps 90% of my cooking from scratch (including growing my own herbs at this point).

We all know what happens when you take shortcuts. Sometimes it’s fine, but other times what you get is cheapened, incomplete, or unsatisfying. In other words you get what you pay for.

I’m currently studying the android platform and learning how to write applications for it in Java. I already have a little bit of experience with Java, and this is as good a reason as any to pick it back up.

I have no intention of developing for the iPhone (at least for the time being). Their behavior towards consumers and developers, frankly, frightens me at times.

Because this is a new journey for me I’m digging up as many resources as I can to help me learn this stuff. Here are a few that I can point to right now:

  1. The Android Developer Page: This should definitely be your first stop if you want to develop for Android. Everything you need to begin can be found here. I particularly recommend the Quick Start Guide and the various tutorials available in the Resources section.
  2. My first android app: I just found this blog post today, and it applies more to people with a background in Java, but it’s nice when somebody takes the time to make notes about bugs, quirks, and other potholes on the road to developer nirvana.

This is just a start, but I’ll definitely post more resources in the future as I stumble upon and use them.

Visit Me on GitHub!

Posted in Announcements, as3syndicationlib, Downloads, Flash, Libraries on August 6th, 2010 by Ian Ford – Be the first to comment

I’ve just made my first commit to GitHub, and it consists of a modified version of as3syndication lib that will work in the Flash IDE. You may recall that earlier I proposed the fix and offered the files here. Now, if you prefer, you can just go to my profile at GitHub.

The people may now rejoice.

The Capabilities Class

Posted in Actionscript 3, API, Article, Documentation, Downloads, Flash, Tips on August 5th, 2010 by Ian Ford – 1 Comment

I’d like to take a moment to draw your attention to a very useful class that’s been around for some time, but that I’ve never really bothered to use: flash.system.Capabilities. It gives you all kinds of useful information about the environment your SWF currently resides in. I’ve got an example below.

The SWF above (with any luck) should tell you whether or not you’re running a debug version of flashplayer, who the manufacturer of your flash plugin is, what operating system you’re running, what player type you’re using (should be plugin on this page), and what version of the flash player you’re running.

The code for the demo is as follows:


field_version.text = Capabilities.version;
field_player.text = Capabilities.playerType;
field_os.text = Capabilities.os;
field_manufacturer.text = Capabilities.manufacturer;
field_debugger.text = Capabilities.isDebugger.toString();

If you download the files for this demo here and run the SWF on your local machine, you should see a different value in the player type field.

The player type is the most useful piece of information to me. In theory you could use it to load different data or behave differently in general depending on whether you’re viewing your SWF in the Flash IDE or on a webpage, without having to add your own obnoxious boolean “debug” flags.

My new portfolio

Posted in Announcements, Article, as3syndicationlib, Digital Art, Flash on August 2nd, 2010 by Ian Ford – 1 Comment

I’m pleased to formally announce the relaunch of my portfolio at www.agitcraft.com. It’s been a long,  winding, mostly poorly organized effort on my part consisting of numerous missteps and restarts. I’ve technically been working on this iteration of the site for about 4 months (from scratch), although I’ve been grinding away at redesign efforts both with this domain and with my previous portfolio at altpixel.net for well over two years now. To give you a vague idea of how long this has been brewing, the svn I’ve been working out of is currently in revision 381 after going through at least 4 branches, and I’m the only person developing this.

I’d also like to take this opportunity to give credit where credit is due:

  • Jack Doyle for the greensock tweening platform (which makes all the animation in the site possible), without which I’m sure I would have gone crazy long ago.
  • The entire Papervision3d team for their excellent 3D package, which powers the 3D “solar system” motif that I use to display my interface.
  • The team of developers who’ve thus far worked on as3syndicationlib. There were a couple issues I ran into, but they were minor in the long run and they certainly don’t take away from the fact that I was able to parse and consolidate 5 feeds in real time with only a few lines of code. Awesome!
  • The developers of PureMVC, for making a framework that has literally changed the way that I work on large projects and made my site possible.
  • Matt McInerny at the League of Movable Type for providing the fantastic “Raleway” typeface I’m using both in my logo and for section headers.
  • An anonymous sound fx provider at flashkit.com for providing the ominous intro tune that plays when the site loads. I say anonymous because I was inattentive when I grabbed the audio and forgot to take note of the name/location of the file I snagged. I dug around today but could not, for the life of me, find the file on there. If anybody recognizes it let me know and I’ll give a proper shout out.

The wealth of libraries and tools freely available is part of what makes Flash such an exciting platform to develop for. I certainly could not have completed a project of this scale without them.

Anyway, if you like the site let other people see it. If you have problems with it let me know. I’m hoping this remains a growing work rather than a one-off showpiece.

Bugs and Quirks – Text Fields in Flash

Posted in Article, Bugs, Flash, Typography, Uncategorized on July 6th, 2010 by Ian Ford – 2 Comments

It’s time to speak about a problem that’s been troubling me for quite a while now. Flash CS4 (and certainly versions that precede it) seems to have major problems consistently and accurately rendering text. I’ve prepared some screen captures that demonstrate the problem.

Text Field Properties

It all begins innocently enough. I’ve created a text field on the stage and I move over to the properties panel to toy with it. In this case, the text field uses Arial Regular at 12 points as its font. It’s anti-aliased for readabilty, and it’s selectable.

Embedded Characters

Although I don’t expect that any of my viewers will be without Arial, I embed the font all the same. I make a broad selection of characters that should cover most if not all of my use cases for this text field, without embedding everything.

Editing Text

Now that I’ve configured my text field, I select it on the stage and put in some standard lorem ipsum to test my application with. Everything up to this point seems fine…

How Text Renders

…until I finish editing the text. Now that I have it selected, but am no longer editing it, everything has changed. Compare this screen capture to the one that precedes it.

This problem is not new. It’s particularly pernicious when you’re trying to align other objects with on-screen text.

Fixing as3syndicationlib

Posted in Article, as3syndicationlib, Bugs, Downloads, Flash, Libraries on July 2nd, 2010 by Ian Ford – Be the first to comment

Perhaps you, like me, have had a need, at some point or another, to parse RSS feeds in Actionscript. If so, then perhaps you’ve also stumbled across the generally wonderful as3syndicationlib developed by Mike Chambers and Christian Cantrell. For those of you who aren’t in the know, allow me to provide the following excerpt from the project’s google code page:

Use the syndication library to parse Atom and all versions of RSS easily. This library hides the differences between the formats so you can parse any type of feed without having to know what kind of feed it is.

These claims actually hold up pretty well…once you get the code running.

The problem is that the codebase was written specifically for development in Flex. While Flex is a great platform for certain projects, many of us still use Flash for a lot of the work we do, so a toolkit that relies on packages that are only available to Flex just doesn’t do it.

This problem is also no secret. It’s listed as an accepted issue on its project page. The problem is that the codebase apparently hasn’t been updated since December of 2006.  That’s no joke kids.

Fortunately, a solution was pushed forth from outside the project by a Mr. Martin Legris in the form of a bare implementation of the missing “DateBase” class that the syndication library looks for, as well as an edit to an import statement buried down in ParsingTools.as.

So if you, like me, have a need to consume RSS/Atom Feeds in Flash and need a solution that works, look no further. I present, to you, an updated version of the as3 syndication library with the necessary changes in place to begin using it out of the box in your flash projects.

The files are all available here.

The Buzz on Free Assets

Posted in Article, Flash, HTML5 on May 19th, 2010 by Ian Ford – Be the first to comment

I received quite a response yesterday to my post offering a circular fill animation. First of all, I had a brief conversation with Frank Salim.

Frank: drawArc
?
is there a reason that isn’t an appropriate solution?
me: drawArc isn’t a function in flash.display.graphics
Frank: wacky
arcTo is a function on the canvas 2d context in html5
me: There is a curveTo function that takes 2 anchor points
Frank: are there any curve functions?
ok
me: but it’s not very intuitive
and this is easier
once the asset exists
Frank: can an asset contain code
me: sure
Frank: shrug
Yes, ultimately I could have come up with a programmatic solution to this problem. In the near future, for arguments sake, I suppose I will.
Another thread of conversation was running at the same time in (*gasp*) Google Buzz. Yes, some of us are using it. A coworker (Stephen Weber) ribbing me about how I was spending my time turned into a brief discussion on the “Flash vs. HTML5″ debate circulating right now. It expresses my views on the matter quite nicely.
Stephen Weber - Are you really this bored to be making 360 frame loading animations? I expect a new 3D physics engine or gaming engine. Or even better why not learn JS so HTML5 will be your next love.
Ian Ford - Ultimately this is more useful than a 3D physics engine in flash would be.
Stephen Weber - What about HTML5?
Ian Ford - I’m waiting to see what it will really be useful for. Video is a small niche that HTML5 doesn’t entirely fill (at least for our uses at Ignite), and I’m not sure there’s anything I’d like to develop that HTML5 is better suited for than flash.
Stephen Weber - I completely agree and they still have to decide on a video standard. I really am surprised about your thoughts though. I really thought you would be all for HTML5. I am really interested in the fact that Javascript takes a lot of resources to do something that is pretty easy to Flash (there are various examples of this). There is definitely a push against Flash out there right now. I am starting to think it would be important for our group to explore other technologies in case Flash starts getting less popular (I doubt this will happen).
Ian Ford - I support a universal standard for markup and layout adopted by all browsers, implemented to the same standards, with support for dynamic content and rich media, hopefully released on an open platform.

HTML5 would like to be that. If it ends up doing so, I’ll be a big supporter.

Stephen Weber - Ditto. Standards help developers make better more universal products.
Ian Ford - Developers should flex their influence and support standards. We shouldn’t put our resources into draconian platforms. We should vote with our fingertips, as it were.
Stephen Weber - How does that go along with your development in Flash?
Ian Ford - Flash is already a great approximation of what I want in a platform. Its wide penetration makes it a de facto standard. I am confident that when I develop in Flash, everyone who sees the final product can see it in the same way. This is something developers have never been able to confidently say about HTML+CSS+JS, and unless some real consensus is reached amongst browser vendors the problem will persist into HTML5 as well.

While it may not be completely open, those aspects of it which are closed allow the platform to grow rapidly (as it has) without waiting for the consent of larger bodies and opposing forces.

Stephen Weber - Nicely put.

Boredom and Disinterest

Posted in Links on April 20th, 2010 by Ian Ford – Be the first to comment

Matt Kenefick over at Big Spaceship Labs posted a thoughtful, level-headed examination of the debate on the future of Flash considered against the emerging “threat” of HTML5. This is one of the better articles I’ve read on the matter.