23
Feb

For a recent client project, we were having an issue with using superscript to display the number next to a disclaimer information. In HTML this is accomplished by simply wrapping a <sup> tag around the text. For example: "<sup>1</sup> The client wants a disclaimer here." looks like:

1 The client wants a disclaimer here.

However, Flash does not support superscripts or subscripts in HTML text out of box, so a "hack" of some sort needed to be applied

Looking around I found two solutions. The first is fairly old (2007/2008) and uses a combination of some regular expression magic to convert <sup> and <sub> tags into HTML <font> tags. The solution next used an extra set of embedded fonts that were created for superscirpt and subscript. Here is the  blog post for reference. 

This solution is a reasonable but requires the process of embedding two extra fonts into the application to get the desired result. 

The second approach was to use the Text Layout Framework (TLF) in Flex 4 and take advantage of the baselineShift property to create subscript and superscript text. See this Adobe blog for reference. 

read more...
22
Nov

A while back, a friend of mine and fellow Flex developer was consulting on a Flex 4 based application.  He was having a troublesome issue where in some cases the skin state was not updating in his application when he called invalidateSkinState().  The problem was that when he called invalidateSkinState(), the getCurrentSkinState() was never called during the next commit properties phase (think validation during maturity, eee our whitepaper for more details). It wasn't consistent in the code and it only happened in a few specific cases. 

He asked me if I had ever seen the issue where getCurrentSkinState() is skipped after calling invalidateSkinState(). At that time I had never seen a problem with the Skin state not updating, so I didn't have much guidance for him.  He found a solution which involved making sure to call both invalidateSkinState() and invalidateProperties() at the same time, even though invalidateSkinState() should also invalidate properties for you.

About three weeks later, I stumbled upon the same issue while working on an application.  Inexplicably, one of my components started ignoring invalidateSkinState() and the skin wouldn't change.  After setting some breakpoints and screaming at the code for a while I finally figured out what the cause was.  I had mistakenly used invalidateSkinState() within the commitProperties() after calling super.commitProperties():

read more...
28
Sep

Flex 4 has introduced a new preloader and with it a series of new events that we can leverage.  I am not going to take much time explaining how to build a preloader, there are some solid examples out there to cut your teeth on. The first example is Adobe's official documentation.

read more...
9
Jul

We are proud to announce that DevelopmentArc is introducing a new training program focusing on Flex 4 development.  Each training session will be a live seminar hosted online using Adobe Connect.  We will offer our seminars multiple times each month, hopefully providing a good window for anyone who is interested.  Our sessions also include unique training materials that are provided to you after each session.  These materials include the source code we demonstrate with, a PDF copy of the slides and any custom training material we are creating for each series.

read more...
24
Nov

I found an interesting trick with embedding fonts today while working with the Text Flow engine in Flex 4.  What I found out is that you can embed multiple fonts under the same font family name, but set the properties such as font weight or font style to different settings based on the font source you are using.  This may be an obvious thing to a lot of people, and the property name 'font-family' makes a lot more sense now, but for me it was a real 'ah-ha' moment.  By the way, this isn't just a Flex 4 thing, you can do this with Flex 3 and probably AS3 only projects (haven't tried that yet) but the issue became more apparent in Flex 4's new TLF enabled components.

The problem came about because we have a set of fonts that provide each style type in a unique OTF file, i.e. Font-Regular.otf, Font-Bold.otf, Font-Italic.otf, and Font-BoldItalic.otf.  In the past, we just embedded this with unique font-family ids (font-family: "Font-Regular") and then just bound them via CSS.  This approach becomes a significant problem when starting to work with TLF's selection management and Text Format.  We are building a simple Rich Text Editor in Flex 4 (since its not available yet in Beta 2) to allow a user to set their text to bold, italic or underline.  Simple enough, right?

read more...
5
Oct

Workflow Lab Screenshot

We are happy to announce the release of Adobe's newest application: WorkflowLab (public Alpha release). WorkflowLab was built by DevelopmentArc for Adobe and was designed, developed and deployed in under 6 weeks.  This new AIR application allows users to view and construct project workflows to demonstrate how their products, applications, and/or technologies are built using Adobe Technologies. The tool allows user to define project tasks and assign Adobe tools and technologies to those tasks to help illustrate how Adobe's products and services assisted in completing the project. Inside of the tool Adobe has provided a core set of workflow starting points that can be used to help guide the workflow of new project or as a starting point for your own workflow. Download it here.

read more...
1
Oct

This year James and I will be involved in three separate sessions at the Adobe Max conference in LA.   Adobe Max provides a collaborative arena for the communities of designers, developers, project managers, executives and any other project participators to gather and  share ideas, real-life experiences, theories, secrets, and best practices.  Over the past year DevelopmentArc has been involved in a wide variety of projects and we are excited to share our  experience with the community the best we can.   Below is breakdown of the three sessions we are involved in. Two involve a secret (shhhh) project that is to be released next Monday.  Follow James (@jamespolanco) or I (@aaronpedersen) on twitter and we will share as soon as we can.

read more...
12
Aug

This quarter's new Adobe Edge is now live on their site and DevelopmentArc has two features this release.  Aaron sat down and wrote up a great introduction to Flash Catalyst round-tripping called "Roundtripping between Adobe Flash Catalyst and Adobe Creative Suite 4".  He takes a look at how it works and a proposed workflow that designers and Catalyst users (maybe the same person, maybe not) can use to make iterative updates to the UI.

read more...
31
Jul

I know we have been really quiet on the blog front for a while.  We have been swamped with work, which is a great thing.  Anyway, we saw Ryan's post today about the newly updated Fireworks FXG updater on Labs.   This is one of the cooler things about Adobe (and Macromedia) technology.  The FXG exporter is just an Extend Script file that did the FXG conversion by parsing the structure of the file and converting it to a corresponding FXG structure.

If you think about it, this is really an amazing and interesting concept.  Since FXG is just XML output you can use a script (or tool) to do conversion.  We are definitely spending some time thinking about this idea over here at DevArc.  It could lead to some interesting workflows and experiments...

read more...
18
Jun

The second of our five part series focusing on Flash Catalyst has been released on Peachpit.com blog.  In this post we focus on where Flash Catalyst fits inside of the larger Adobe Flash Platform.  We review the upcoming changes to Flex 4 that were required to facilitate Catalyst and the workflow it brings to the Platform. For the designer, Flash Catalyst has long been sought  to help extend their static design vision into the world of interactive features. We explore this new workflow as well.   Read the post here

read more...