Flash
I’ve switched to FlashDevelop
Posted in Announcements, Flash, Flex on December 27th, 2010 by Ian Ford – Be the first to commentWhy? Mostly because it just works better. What better reason could there be? Jesse Warden had a couple complaints about FlashBuilder4, and I think some of those are relevant as well.
What The Font?
Posted in Article, Bugs, Flash, Typography, User Experience on November 1st, 2010 by Ian Ford – Be the first to commentDear Adobe,
I don’t know how else to say this, but I believe we have a problem. This has been troubling me to the point of, frankly, insanity for some time. I’ve struggled with this issue and tried to hold my chin up. I thought that I could just ignore the issue, or even find ways around it, but now I’ve had enough. We have a serious interface problem.
Consider the following as a general overview of what’s wrong:
The other day I was working on a project that called for some italicized text.
The font my designer chose, unfortunately, had no italic face available.
Of course, the PSD comps I received showed italics. Faux Italics that is. Because Adobe makes both Photoshop and Flash, I figured I could add faux italics to my text just as easily as my designer did.
Hmm….That’s unfortunate. Kerning. Color. Size. Anti-aliasing. Even (Bad) Superscript! No Faux Italics? Sorry Designer. Of course, for legal reasons we had to have italics.
How did we solve this problem? Easy (Tedious)! We exported every block of text from the PSD to a transparent .PNG file.
This was not a small project. We’re talking well over 30 screens of content.
It was only the other day that I discovered this:
Hey! Adobe! What the font!? Really? Why doesn’t this live with the rest of the font controls in the sidebar? Why do you maintain submenus for font family, size, and letter spacing when superior controls are available on the right in the more obvious sidebar location. Are you trying to drive me insane? Do you have any idea how much time has been wasted exporting transparent .PNGs because you decided to hide this obvious text control in the never-used-by-anyone-serious menu bar?
This demands a petition of some kind. I’ve submitted the following feature request to Adobe.
PLEASE PLEASE PLEASE consolidate the controls for Text Fields. I had no idea that Faux Italics and Faux Bold still existed because you buried them away in the menu bar rather than putting them in the sidebar with all of the other font controls. Why even have the text menu bar? Can we please move on?
If you agree, you can also request this change here: https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform
YouTube AS3 Updated
Posted in Announcements, API, Article, Documentation, Flash, YouTube on October 3rd, 2010 by Ian Ford – Be the first to commentI’ve updated the YouTube AS3 wrapper classes to include full ASDoc style documentation. Check out the project page for the latest files.
Visit Me on GitHub!
Posted in Announcements, as3syndicationlib, Downloads, Flash, Libraries on August 6th, 2010 by Ian Ford – Be the first to commentI’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 CommentI’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 CommentI’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 CommentsIt’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.
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.
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.
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…
…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 commentPerhaps 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 Buzz on Free Assets
Posted in Article, Flash, HTML5 on May 19th, 2010 by Ian Ford – Be the first to commentI 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.graphicsFrank: wackyarcTo is a function on the canvas 2d context in html5me: There is a curveTo function that takes 2 anchor pointsFrank: are there any curve functions?okme: but it’s not very intuitiveand this is easieronce the asset existsFrank: can an asset contain codeme: sureFrank: shrug
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.









