Blog

  • No Apple Products at Atlanta Airport

    The Atlanta airport does not sell any Apple hardware products. If you own a Mac, and need a spare part like a power cable or iPod wire, you will not find it there. If you have a Palm, cellphone, or common PC laptop, you’re covered.

  • Flex Seminar Presentation, Flex and Flash, Online

    My presentation in New York at the Flex seminar is now online. You don’t have to register, just fill in the info and hit submit. You can download the slides there, or at the bottom of this entry.

    I’ve done this presentation 3 times this year, and it has changed a lot in the past 3 months. That was when I started experimenting with getting Flash content to work with Flex, ultimately coming up with the idea for my presentation. I’ve learned some new things since then, talked to some real people already doing this type of work, and refined the communication of the ideas. The most drastic has been my return to the design world via a consulting gig, which has greatly affected my views on the subject. All of my OOP purism and framework obsessions in the past few years in application development and programming has definitely compromised my perception of design. I usually expouse the feature set and thus potential, but usually find myself longing for real, and actual designer participation. The larger projects, the less designer participation. Even worse, the “designers” have been less of what I would call a true designer.

    I wasn’t “walking the talk” as it were, and it was quite frustrating. Constrained IT budgets leaves the responsibility up to me to convey value of good design, and thus pitch to my employers the need, from a technical perspective, of why we need budget for an extra team member. I’d say all 3 of my attempts that I can remember failed.

    I remember reading a blog posting from a Flash designer on LiveJournal about 8 months ago. I had read his posting on one of the Flash community groups there about how a lot of his former work was getting outsourced. He perceived a lot of the work done as comparable. I’m sure some subjectivity colored his perceptions, but his main point was that he couldn’t compete with the insanely low rates and was extremely frustrated.

    I suggested he charge for the creative vision, and long, satisfied client list he would bring to the table. I’m not sure if that advice went anywhere. Not sure if it went anywhere.

    My network of design talent is just insanely small. I’d say I have a very valuable network of friends and colleagues that greatly contribute to my success. Only 1 is a professional creative, and 2 can do design services if asked.

    That’s pretty pathetic compared to the programming talent I know. It makes it even harder to identify an “A-Team”. Typically, I don’t have to and most clients and potentials ask me about the development talent I know; rarely if ever do their requests vary from that.

    That doesn’t help me when I have the opportunity to make a positive impact on a project by recruiting design talent. I need to do another contractor post to garner talent, but I have a feeling I need to get into some different blog aggregators.

    Anyway, back to the presentation bashing. First off, in seeing myself speak and answer an audience member’s question, I have failed to effectively communicate what states and transitions are, as well as their value to the various programming and designer camps. I need to work on that.

    Second, after talking to some coworkers, I need to do some more compare and contrasts of methodologies. A lot of people don’t recognize all the painful alternate routes one can take when using Flash in Flex, and therefore it is not immediately apparent why my methods are valuable and hard won.

    I need to show some of those ways as well as their pros and cons. The tradeoff will be less in depth explanation of what Flex 2 offers with regards to design. I think it greatly adds context but gotta trim the fat somewhere.

    One subtle thing that needs to be modified is the attitude. In talking to some individuals, I’ve found the traditional Flash Development workflow used in Application Development doesn’t fly because it’s based on flawed assumptions.

    The assumptions were “Designers are not allowed in the FLA. They hand over production art as a prototyped FLA, and the programmer implements.”

    This same assumption translates to Flex as “The Designer cannot create usable MXML. They instead should provide, like Flash, a set of comps or even a prototype FLA like before.”

    This is flawed logic. One team has successfully had designers create usable MXML that the programmers can later utilize, as-is. That’s huge. Let me say it again in case you missed it. A designer created some MXML that the programmer liked. !!!!!!!

    Naturally this is just one company, but it’s a fantastic sign nonetheless. There are plenty of Flash designers that can navigate a programmers FLA and be extremely productive and have a great contribution to the project. However, the pretense was that the FLA was setup, from the start, by a programmer.

    This, to me, was WAY more important in Flex because of the way Cairngorm works and the insanely large code-bases on some Flex projects. Having designers navigate package structures seemed like a no win situation. Apparently I’m wrong and glad to be so.

    Furthermore, my comments on the Flex design view weren’t agreed with by some. I verbally bashed its representation of my apps. While I did recognize it is a phenomenal improvement over Flex 1.5, I criticized how it’s not entirely there yet and thus shouldn’t be considered an iron clad tool in the designer’s toolbox. Others had contention with this and haven’t experienced the frustrations I have. Apparently the way I structure my MXML either is not the optimal way, or my expectations are too high. Hopefully the latter.

    Again, I think I need to trim some of the Flex design context… that or just breeze through those slides quicker. As long as the audience recognizes the capabilities, that’s fine; the actual implementation on some of those things like programmatic skins isn’t really that important.

    My original test run was 1 hour and 40 minutes with 20 of that actual Flex Builder 2 and Flash 9 demoing of code. The Flex Seminar one, because of hardware issues, was condensed into 30 minutes. If I speed through some of the Flex CSS and Skinning, I think that will allow more time for IDE showcases of code that really drives the technical points home. I’ve gotten decent feedback, and none negative, on my Flash approach code-wise. Still, I need to finish some more sample code. The examples I’ve shown in the past have been received well when seen in context, but are definitely agency biased vs. typically software shops.

    I’ll iron this stuff out by MAX.

  • Gnash Gives Me Nightmares

    Am I the only one in the Flash community scared to death by Gnash? I haven’t been following the OSFlash mailing list in a long time, so haven’t been privy to the public discussions to see the community’s overall stance over time. I’ve only got a snapshot of context.

    MTASC did it right. If your code works in the MTASC compiler, it’ll work in the Flash compiler. I currently do not see how Gnash could accomplish the same thing. I have a sinking feeling the fragmentation of the differing feature set will form some instances where a project depends on said features, and thus the code base only works in Gnash. Seriously, who is going to hold the Gnash developers accountable when something works in the Flash Player and not in Gnash? Will they care? Perhaps they instead should market it not as a “Flash Player Player”, but rather an open source Rich Internet Application engine? haXe is pretty successful at this.

    If the above becomes a reality, hopefully I’ll get a poison dart frog shot in my neck from Zagar. Fragmentation is cool in Quake rockets, not Flash Players.

  • Flash Components vs. Flex Components

    Been so busy with my current consulting gig up in Detroit, I haven’t had the time to keep hardcore tabs on the community. What I HAVE seen is a good public reaction to the v3 Blaze (Flash 9) components that Grant & Metalliq are working on. Adobe has done well in creating a new market for programmers to create RIA’s via Flex while continuing to enhance its tools for the Flash community. The key point here is 2 communities, aka, 2 markets. It’s getting more blatant every day, but there is still seems to be some unrest regarding why Adobe is creating an entirely new component set for Flash 9 using ActionScript 3 instead of simply just integrating the Flex 2 components.

    There are a lot of reasons, the primary being what I just said; 2 markets. To say it another way, 150 – 300k SWF’s don’t fly on public facing, high traffic websites. Many Flash Developers have solved their “should I use Flex for my next project” question by creating a small Flex app, and then seen the resulting SWF file size by using only a few components. “Well, that was easy… *sigh*”.

    There is a reason we created our own component set on the current project I’m on, related to the above. The current mx component set has too much extra baggage we don’t need. All the CSS and related styling code is useless. We skin the components via the designs the creatives give us, we don’t setStyle(“color”, 0xFF0000). Those things work wonders in the software development world where design is extremely conservative, the last priority, or not even talked about. Not to mention creatives don’t design with the mx component set in mind.

    “A tile list? A box button list? A set of foldable panels interspersed with up-side down ComboBoxes? Um… uh… Flash 8 doesn’t have those, bro… what to do?”

    Create ’em. That’s what we did. Instead of the 72k (mx components we would normally use) base set, 12k of that being default component graphics we’d never use, we have a nice 15k. Like Adobe’s plans, ours is made to be lightweight with no-code-needed-skinning the primary engineering goal.

    The other reasons would take another blog post. Suffice it to say, the above proves a lot of us still working in the design world cannot utilize the Flex 2 component framework. We CAN still use Flex Builder 2, mind you, to code ActionScript 3; she’s the hotness.

    So what to do? Get someone from the Flash community who knows the target demographic, and has previous experience producing a professional set of components for the point of sale. Gee, who do we know that has done that and is qualified? Grant Skinner of mCom, Chafic Kazoun with his phat charting components, Peter Hall with some of his past work as well as working with Aral Balkan on Optimizer, Keith Peters of Bit Components fame, and a few others.

    Chafic now has a company and somehow became a fireman (wtf?), Peter is doing his own consulting thang, Aral is doing mad teaching, and Keith is dropping AS3 examples like crazy so I guess he’s contracting. That leaves Grant. I’m sure many other peeps were considered (enFlash, etc.).

    Flash Developers don’t need layout engines, CSS, or box models. They need a lightweight, low dependency, and easily skinnable component set for Flash 9. A set that takes advantage of ActionScript 3 speed and bitmap caching, yet eloquently dances around some of the new garbage collector challenges.

    Hopefully Grant, Metalliq, and thus Adobe will deliver.

    …Even better, hopefully by that time people will stop f’ing paying me to do Flash and instead start paying me to do Flex 2! I’m sure after 6 more months of Flex 2, I’ll just miss Flash again and repeat the endless cycle.

    Speaking of grass is greener, some Rabbi in Lucky # Slevin, a gangster movie with Bruce Willis, mentioned how he straddles the fence and thus his entire yard is green. W00t! It was a metaphor spoken in monotone, mind you, but cool nonetheless. That’s why I’ve been promoting using Flex & Flash together, so much so I’ll be uber content when it’s an industry norm.