Category Archives: Flash 7

Flash 7

FlashLite Helper Classes for Download. Pt 2. NetworkBroadcaster

Following on from the simple BatteryBroadcaster class posted last week I have put together a second helper class for FlashLite, again built in ActionScript 2, so it should work for any FlashLite 2 or FlashLite 3 project. The NetworkBroadcaster class centralises all network and signal related events, and broadcasts any changes to listeners on 2 separate intervals. One for general signal levels, the other for “other” network status events, for example changes in network generation support.
Continue reading FlashLite Helper Classes for Download. Pt 2. NetworkBroadcaster

Detecting Screen Rotation in Nokia N95 Browser

Continuing my work with Web Development for Mobile Phones and other Devices I updated my very simple early FlashLite 2 tests that I showed on in screen shots on my N95.

In those posts I discussed the problem of detecting screen rotation detection on the Nokia N95. I could not get the FlashLite player to register a change in Stage size when switching from portrait to landscape viewing modes. I have since added a little JavaScript function that I thought might be able to detect this change in lieu of the FlashPlayer not working.

Unfortunately all methods I have attempted so far to register a change in orientation have failed. The browser does not seem to support the onResize event which I assumed would provide the answer. This limitation appears similar to information I have found from iPhone web developers that have encountered similar issues.

SmugBlog Makes Reference to it on there site. There is also a couple of links to a Framework that provides a work around of sorts using an interval.

joehewitt, the developer responsible for the facebook I belive, has published the iUI as a google code project.

In addition to the resize problem it seems that the FlashLite 2 player within the browser does not offer support for the FlashVars parameter of the Embed and Object tags, it also does not appear to support appending variables on the SWF path name. These limitations would not allow values to be passed into the SWF file at run time.

A final test I performed was to export my test movie not as FlashLite content, but rather as Flash Player 6 and Flash Player 7 content with ActionScript 2 support. The thinking behind this was that this would offer me some lowest common denominator for publishing mobile flash content on a broad range of devices. Sony’s PSP of course uses the Flash Player 6 as its platform while Nintendo’s Wii uses the Flash Player 7. Both versions of the file ran within the FlashLite 2 Player. Although no the IDE did complain about using FlashLite specific FSCommand2 functions. In addition there was some issues with the image loader in the Flash Player 6 version of the swf when loaded by the FlashLite 2 player, the image was rotated through -90 degrees for some reason.

Balthaser patent .180 reexamination

As Mike over at Flashgen.com and also Aral Balkan reports it seems someone is looking to contest the ridiculous Balthaser RIA patent that was reported a while ago by a number of Flash developers. I have also been contacted by Oliver Lorenz with regard to providing more information and certainly urge anyone that wants to beable to continue RIA development without the potential of infringing on this patent.

The issue I have with the patent is its broad and sweeping coverage of very common interface and application GUI design systems. As an example reading one portion of the “Summary of The Invention”.

When editing a component, the user may modify a number of features associated with a component including, but not limited to, the volume of an acoustic component, the link between a menu entry and an associated component, the font, font size, color, or effect of a text field, or the layout, size, transparency, rotation, color, position, or level of any graphical rich-media component. The user may modify these components by means of a slider bar or a textual input field. In addition, the user may modify the volume of a sound component by means of up and down volume buttons. The user may undo modifications made to a component’s parameters. The user may also modify the position of a graphical rich-media component by a graphical input field, by clicking and dragging said component, or by text fields. When the user modifies the position of a graphical rich-media component by means of clicking and dragging said component, said component may align itself to a grid point or a guide line. The user may also modify the style and the Uniform Resource Locator (URL) of a component linked to a menu entry.

Unless I am mistaken the recently posted link to Netvibes would actually infringe on this part of the patent. In that the user can select ‘panes’ or ‘graphical rich-media components’ of the netvibes application and alter there position within the application by clicking and dragging them to a new position.

In this example, because there is no specific technology linked to the patent claim, any RIA in any technology, Flash, Ajax, Appolo, XUL Runner, HaXe, Sparkle, add any other future technology here….. These systems would all be in break of the patent claim.

And this is just ONE of the EIGHTY THREE different claims in this patent.

Very worrying I think any developer would agree. Everyone involved in Internet application development, in my opinion, should take a serious look at this patent. Think about ANY work they have done or seen in past. The work they are doing today. Then consider the possible implications of future networked development. If you know of anything that has been posted, exhibited or shown publicly that can bring this patent down, it is in every ones interest to make it known to strengthen the Magix reexamination.

And remember we are not just talking about flash applications or work here. If you remember or are aware of ANY online application, in any technology, be it DHTML, Director, Java or anything else. If it used any, all or even one of these systems to allow user interation then it may well be enough to show that Mr Neil Balthaser did not invent these systems, and certainly has not right to lay claim to doing so as he has in his patent application.

10 years of flash, my how things have changed.

It all started at university. Microsoft or MSN Australia I think it was, that was the first ‘flash’ movie I saw. And it changed everything I had seen on the web until then. Of course unlike everything else on the web at that time there was no way to see how they had done it. Or at least you would think 😉 . A few moments in a hex editor to remove those pesky 10th and 11th bytes, if memory serves, that was the ‘copy protection’ and we were off and de-compiling, perhaps the first flash de-compiler was actually UltraEdit? 😀

As you will have seen Mike Jones (FlashGen.com) and I are meeting to take notes, share war stories and generally reminisce the ‘Good OldSkool Days’. To find out what files we still have, and even which URLs are still live (Flash 3 (alpha) circa 1997/8 btw JD produced by Spooky & the Bandit – you may remember them :p)

Keep your eyes peal for more news as events unfold….

ActionScript 3 & Flash 9 Compatibility Info

Previously I have mentioned concerns with regard to compatibility of Flash Player 9, ActionScript 3, Flex 2, and the recently released Flash 9 Preview. After digging around last night for information on how to get cracking on some Action Script 3 development I found this information on LiveDocs regarding the compatibility of the various flash SWF formats and ActionScript versions.

  • A single SWF file cannot combine ActionScript 1.0 or 2.0 code with ActionScript 3.0 code.
  • ActionScript 3.0 code can load a SWF file written in ActionScript 1.0 or 2.0, but it cannot access the SWF file’s variables and functions.
  • SWF files written in ActionScript 1.0 or 2.0 cannot load SWF files written in ActionScript 3.0. This means that SWF files authored in Flash 8 or Flex Builder 1.5 or earlier versions cannot load ActionScript 3.0 SWF files.

    The only exception to this rule is that an ActionScript 2.0 SWF file can replace itself with an ActionScript 3.0 SWF file, as long as the ActionScript 2.0 SWF file hasn’t previously loaded anything into any of its levels. An ActionScript 2.0 SWF file can do this through a call to loadMovieNum(), passing a value of 0 to the level parameter.

  • In general, SWF files written in ActionScript 1.0 or 2.0 must be migrated if they are to work together with SWF files written in ActionScript 3.0. For example, say you created a media player using ActionScript 2.0. The media player loads various content that was also created using ActionScript 2.0. You cannot create new content in ActionScript 3.0 and load it in the media player. You must migrate the video player to ActionScript 3.0.

    If, however, you create a media player in ActionScript 3.0, that media player can perform simple loads of your ActionScript 2.0 content.

The full information can be found here:

Programming ActionScript 3.0 > Overview of ActionScript Programming > Introduction to ActionScript 3.0 > Compatibility with previous versions

The Dark Art of the XPathAPI

I’ve personally been using the XPathApi in flash for a little while. I don’t remember how I came across it initially, but I do know that I use it in almost every project I have worked on lately. However it has been bought to my attention by a colleague that not everyone has fallen across this most handy of classes. Below is information and links to help you get the most out of the XPathApi class in flash.

Continue reading The Dark Art of the XPathAPI