Blog

  • XBox 360 Controller Disconnects Solution: New Batteries

    I was playing Gears of War on my XBox 360, and randomly, the controller would just disconnect. I’d be in the middle of a firefight, about to p@wn a n00b, and suddenly, my character wouldn’t move, and I’d see the “Please reconnect your controller” appear on the middle of the screen… ack!

    At first I thought it was my mic attachment not attaching properly; it’s got a pretty flimsy attachment to the bottom of your wireless controller. Unplugging it, though, didn’t solve my issue. Looking online, I found a plethora of what I thought were similiar issues. It was hard to tell, but I think most were referring to the optional attachments you could get for XBox, not XBox 360. At first, I was happy to know I was not alone. Turns out, they were old forums with the new XBox 360 badges… bleh.

    Frustrated, her majesty suggested I replace the batteries. In a foul mood, I showed her the XBox 360 menu said they were at half-power. I replaced ’em anyway with new batteries since I’m not really in charge anyway. It works now, no problems. Apparently it just needed fresh batteries.

    Hopefully this’ll get on Google and be more prominent than the outdated articles that appear to be referring to the problem, but aren’t.

  • Why does Flash 9 have ActionScript 3?

    Had dinner last night at Figo with my friend Leif, the local Adobe User Group Manager and Roundbox employee. More than a friend, he’s one of my mentor’s and also someone locally I can meet up with in person and talk shop. We were discussing various things, and I took the opportunity to show him some of the more real-world examples I was working on that extrapolated on my way of incorporating Flash content into Flex vs. loading it in externally. I got some good context about work flow I hadn’t considered. Since he plays a managerial role at times, he’s thinking about the best work flows for his team. This was a good acid test to see if some of my ideas would work or not.

    One thing that came up that I couldn’t answer is the state of ActionScript 3 in Flash 9, mainly, why is it there? If you were at MAX, or read anything online, the future release of Flash 9 looks pretty hot. A far cry from what is up on the labs right now, the IDE design itself looks hot, and it has some quirky features that, at least at the get go, look appealing enough to upgrade. The big thing, though, is the ability to publish to Flash Player 9 using ActionScript 3.

    Upon reading this article ASH posted, it clearly shows there is some “desire” by agencies to not only desire to publish to Flash Player 9, but who are now in a good position to do so when Flash 9 is released officially. Agencies do not utilize Flex to do their work. They are typically marketing & design focused, not doing application development, thus Flex isn’t the appropriate tool for them. Yet, I have no clue what those agencies have in mind.

    I really didn’t fully appreciate how ingrained Flash was in the agency world until I spent those 3 months up in Detroit. In working at a big agency, as opposed to the smaller places I usually work, I got to see the vast uses Flash has in those places. I could make generalizations because apparently agency people float from agency to agency based on economic & leadership climate. Not all agencies are the same, but they are doing the same “types” of work with regard to their use of Flash. In the middle of our project, we got the go ahead to upgrade to Flash Player 8. We were originally slated to deploy to Flash Player 7, which I supported. I would’ve taken 6; as long as I have ActionScript 2, I really don’t care for that type of work. While it was a little disconcerting to change your deployment scenario in the middle of the project, I understood the needs. As a design driven project, they were planning to shoot & utilize an immense amount of video footage, taking major advantage of Flash Player’s superior reach & usage of digital video online. Specifically, they also wanted the On2 codec in Flash Player 8 vs. the earlier Spark. The ability to have better looking fonts with dynamic kerning control was a nice side benefit. Obviously, Flash Player 8’s runtime filters gave the designers a lot easier time to convey whatever design they wanted, easier, without having to do production art to convert a PSD’s implemented effects to Flash. They still had to for some, but at least it was easier now.

    “A color burn with a white fade & blur on this transition? Ok, can do.” No After Effects required.

    But what of 9? The biggest to me was the work flow improvements with the Photoshop import. That is one of the biggest bottlenecks in development and I think Adobe looks to be doing a fantastic job there.

    But what of Flash Player 9? I can think of no feature in Flash Player 9 that any agency would take advantage of. Strong typing, from my experience, does have value in shorter time frame Flash development work, but doesn’t have the return on investment like it does in larger scale Enterprise projects. After you wax a branch of classes you’ve just done because the design changed, you start to question if you should really be working that hard to make the code scale when it’s lifespan is measured in potentially minutes.

    You don’t typically see software developers in the agency world for a reason, specifically front-end. If you do, they don’t last long. Either that, or their style has adapted to the strenous and under-appreciated role. They lose the ego and pretense that goes with what’s “perceived” as good programming practices. To me, when you’re under a deadline crunch, a lot of the OOP & design pattern precepts are meaingless; if you can get stuff done, on time and as designed, who really cares “how it’s built” if the app will never be maintained? When first time design impact vs. maintainability drives your product, strong typing, encapsulation, and various other best practices earned in blood over the years in Flash Development quickly fade away into being meaningless ivory tower concepts that don’t apply to your world.

    Frankly, I don’t know how they do it. I know WHY they do it, but I don’t know HOW they do it. These same “developers” who work side-by-side with designers, creating massively complicated engineering works in a fraction of the time it takes traditional software developers, and expected to change said code on a whim. Code done in minute time frames isn’t typically as maintainable as code that was developed with the appropriate time. These are the same types of developers that stand the most to gain when agencies start doing Flash Lite work in the US. By the time they do, we’ll still be the atypical USA with the majority of phones deployed with Flash Lite 1.1 on them, supporting basically the Flash 4 style of coding. Most of these guys and gals can tackle that no problem since the ones I’ve had experience with have the no fear mentaility. Loosely typed, flexible ActionScript 1 shines in these areas and complements design nicely. I managed to inject ActionScript 2 into our project because the scope of the data services we were dealing with demanded it. That’s a fancy way of saying I’m now spoiled, and am incapable of going back to older, but still valid, ways of development. If the code isn’t as flexible as the designers, it’s thrown out; there are no negotiations. Developers are on the low-end of the totem poles at those places. They are there to serve the designers with their mad coding skillz and knowledge how to incorporate said code into design.

    …so where does that leave ActionScript 3? As of this writing, Flash Player 8 is just slightly above the 90% penetration rate according to Adobe; 9 is about 40%. As such, most consumer facing agency work will continue to publish to 7 and 8 until 9 hits the 80% mark. What then? Just because Flash 9 might default to publishing to Flash Player 9, ActionScript 3 (guessing here, don’t know for sure), does that mean they too will publish “because they can”? Remember, Flash Player 9’s key component is the incorporation of the new ActionScript Virtual Machine, AVM for short, that takes advantage of ActionScript 3’s strong-typing to make code execution screaming fast compared to past iterations. This in no way positively impacts design rendering speed. I’ve only seen the new Garbage Collector, implemented in Flash Player 8, negatively affect animation speed in Flex, not Flash.

    We’ve already established strong-typing has little place in most agency work. There is more incentive to use strong-typing now inActionScript 3, because beyond the easier debugging of code, you actually now are rewarded with fast running code for strong-typing things. Most agency work does not have a lot of code, nor is that code doing anything processor intensive beyond tweening code, which again, is display related. Some of the public Rich Internet Applications work I’ve seen in the industry is definitely developed with Flash as opposed to Flex. I’m seeing a large influx of traditional web & software development firms using Flex for their existing work because it’s approachable to them vs. Flash. As such, there are still smaller software development firms utilizing Flash for development work. To me, they have little incentive to keep doing so. Flex’ workflow is superior for that type of work than Flash is. Even when Flash 9 is released with ActionScript 3, you won’t get all of the coder benefits one gets in Flex Builder 2. One could argue some of the public facing development work done using Flash was done that way because Flash makes it easier to incorporate specific design elements compared to Flex. I’d agree, but if your project is development driven vs. design, I really fail to see the gain. Seems to me you’d save more time in development that would offset the design incorporation time. Either that, or they are just learning Flex to see what it can do and offer them, and are thus sticking with what they know till the time is right for a new project. Cool, I can understand that. As Leif pointed out last night, I’m extremely impatient. Prudence is a good move in this case, even with all the hype surrounding Flex.

    Regardless, I still can’t see the reason why AS3 is in Flash. The only tangible reason is, going with the above prudence argument, that smaller shops don’t want to jump to Flex immediately for their development work, so will continue to be slightly behind the bleeding edge, and thus will stick with Flash for another 1 year to 18 months; depending on project schedule & in house developer training / competence of the new Flex tool set.

    Others could argue Flash is faster. Hrm… define faster. If I want to check the length of a string, print out key codes, or parse some data, I’ll definitely be using Flash for that. Setting up a project in Flex Builder just to do those simple thing is a pain in the arse. Additionally, strong-typing gets in the way. Granted, you don’t HAVE to in Flex, and can ignore all of the warnings, but even so, certain non-casting in Flash allows you do quick math that is impossible in strongly-typed Flex. Again, you don’t have to cast… but why go to the trouble? Just publish for ActionScript 1 in Flash, and get things done, faster. I’ve seen like… apparently 2 use cases for ActionScript only projects in the past year. One in particular was strongly defended as being relevant, and having no need of the Flex framework for a GUI-less project. Ok , I can buy that. I can also buy it’s 1 use case, being an exception to the rule. At the end of the day, it seems for quick and dirty apps, prototyping, or just good ole small in scale Rich Internet Applications, you’d use Flash vs. Flex. If I had my choice, I’d use the latter, but it’s really industry specific at this point.

    I still think the prudence argument is weak. The only other valid argument is specific towards public facing applications, as opposed to being deployed on intranets, CD-ROM’s, devices, etc. Most public facing projects quickly determine that Flex is not right for them.

    “I’ve added 1 Button and 1 Text box to my Flex app and it’s 118k!?”

    That answers pretty quickly people’s questions if Flex is right for them on some projects. A lot of us nowadays get off easy targeting broadband customers, or Intranet deployed apps. A lot of people don’t have that luxury. It was one of the biggest frustrations of the early Flash frameworks in that while the initial hit of the framework was harsh, about 60k, the rest was really small because they all shared a lot of common base classes. Still, the initial hit was still too much, combined with slow initialization times.

    Those days are over, but the requirements for smaller apps isn’t. I’m seeing more and more AJAX / DHTML / non-Flash sites nowadays that load slower than Flex apps do. Why? Initialization is debatable, but filesize is not. For example, Plum.com, a social collection site, takes 7 seconds to load on my gaming PC. The initial page is 31k, and the homepage alone without clicking on anything downloads a total of 634k worth of assets, all in 14 server reqests (why do server requests matter?). How does this compare to your Flex app? Obviously, this is but one example, and there are many good ones, but the key point here is that Flash is chosen over Flex because you have more control over the filesize of your component set. Flex can be shrunk, no doubt, but it wasn’t made for modem users.

    …so, I guess ActionScript 3 is in Flash 9 for prudent customers, and those who wish to harness the power of ActionScript 3 for creating smaller SWF’s? Not sure how big the component framework Metaliq and Grant Skinner are working on for Flash 9’s release, but we’ll see. This was one of our requirements up in Detroit; filesize was our 2nd priority over correctly implementing the design, so I can see how it’s valid.

  • XBox 360 Handle

    My handle:

    Ch33z n CrAkaz

    Hopefully after I beat Chrono Cross, Tales of Legendia, Radiata Stories, Final Fantasy 10×2, Final Fantasy 7: Dirge of Cerebus, and Final Fantasy 12, I’ll get a Wii and Playstation 3 and post my handles for them. For now, too many games to beat.

  • Flash Player Can’t Read Ur Stuff & Access T3h Internets @ T3h Same Time

    Can’t sleep, must blog. I’m thinking of rigging up a dart frog blow dart gun next to my office desk. I can basically lean forward to my right, pull a nylon + silk, 1 inch thick drape rope, much like the Adam’s Family did to summon Lurch, and I’ll promptly be knocked unconscious with the dart protruding from my neck. Insomnia sucks. Might as well put it to good use. I was accused of having a similar setup in high school, except, instead of a blow dart, it was red velvet curtains that would part, and a salt lick would slide down; a massive slab. Salt licks are stationary blocks of salt left to attract dear; typically used by hunters. Instead of salt, however, it was a massive slab of solid caffeine that I apparently licked every morning before arriving to school. This wasn’t true, although, red velvet curtains sounds h@wt! Drinking coffee at 14 isn’t such a good idea; note to self for future teenagers.

    …anyway, Flash Player. Flash Player 8 had this (yet again) new security model put into place. They call it a “sandbox” so you think it’s this happy place to keep honest people honest. Basically, a SWF can (only) now:

    – contact interweb sites, but not local files
    – load local files, but not internet sites
    – do both with a modified configuration file installed on a user’s computer in a special directory

    An EXE, aka, a Projector, is exempt. If it’s not, you’ve got a virus, abort, abandon ship, JesterXLs’ and women first.

    Granted, you “can” theortically get the 3rd option to work via Settings Manager, but I’ve never heard of anyone publicly getting it working. Using that tool myself makes me cringe. It’s easier to just ask someone that trusts you to run an .exe you made for them via a 3rd party Flash Projector. Unfortunately, a few people who published CD-ROM’s in the past without such projectors had their content break when their users updated.

    I believe the Flash IDE allows this via the special player that it uses when you do a Test Movie ( Control + Enter). I could be wrong.

    I DO know that Flex Builder 2 utilizes the config files I mentioned. It basically writes them to exempt your bin folder. That way, you can load XML files locally for configuration stuff AND have that same SWF access various back-end services, either local, or on the web. When you do a new project, it’ll point this config file to our bin directory, thus making a SWF in there capable of having a wonderful time… like Optimus Prime or Gman for example.

    What if this ISN’T written? You’ll get a security error. You can compile SWF’s to do one or the other in Flash 8, as well as Flex Builder’s mxmlc. For both, you’ll need an EXE, or access to the user’s box. Naturally, the 3rd never happens for most of us. In development, though, it’s all us. I’ve seen this fail for the first time, today.

    We’re not allowed to check in bin, html-template, .settings, .project, and .actionscriptSettings into CVS, which I agree with. However, apparently when you do an import project in Eclipse, it doesn’t do any Eclipse magic without the main project files in there. Even “Adding Flex Nature” to your newly created Eclipse project doesn’t seem to add the entry. If you delete the project, and then re-import with the goodie config files in there, it apparently goes and writes the config file. Example path on PC:

    C:\Documents and Settings\[username]\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust

    Why should you care?

    If you start testing things in Flex Builder, and it starts bitching that your SWF “isn’t allowed to access” either local files or remote files, call bs on FB, promptly add the entry, and reboot your browser. The last part ensures that Flash Player reloads the .cfg files and knows who’s allowed to break the laws of nature. For me, there were 2 entries in 2 files. The flexbuilder_plugin.cfg and the flexbuilder_plugin.fbr files. The first is easy; you just paste the bin directory’s file path. The latter is… weird. Just copy and paste the one above it.

    Granted, you’ll hopefully never have to do this. I only write for the poor sod searching late at night on Google for ytf his stuff isn’t working.

    More specific information (still relevant to Flash Player 9).