Goodbye and thank you, Flash Player, for all that jazz

July 27th, 2017

My adventure with Flash Player had started back in 2002 when I’ve explored the capabilities of this platform for the User Interface prototyping at Philips Research using Flash MX components and ActionScript 2.

 

 

One of my first commercial work was games development together with Sean Wood using Flash lite development for one Japanese mobile operator, later we’ve done together interactive maps app for Ayuquila river basin area for United Nations University.

My interest into the development of UI components using Flash platform had led to my collaboration with Judah Frangipane on Tree component with Drag and drop support.

Later I worked with Dmitry Leader on Re:mark application to be used by mentors for adding remarks to the reviewed documents, early days of the company that is now known as Grammarly.

Then we played with an idea on building audio player in Flash for ukrainian mobile operator Kyivstar and Anton Antropov.

In 2005 a group of ex-employees from Macromedia and Microsoft had established an startup in intriguing Ukraine to build on Web an user customized application built in Macromedia Flex 1.5 and later Adobe Flex 2, that’s how I did open an new chapter in my life with Flex UI framework.

I’ve spent with Flex UI framework almost 10 years of my development career, did a few talks at Ukrainian Flash User group, open-sourced InputAssist component, but after Adobe decision in 2011 to abandon the future development of Flex framework it become obvious that sooner or later every seasoned Flex developer has to move on.

Nowdays my choice of technologies for modern web application is React and Redux state container, Javascript with Ecmascript 6 touch, npm and many more.

Yes, we will say the final goodbye to Flash player runtime in 2020, but Web and UI interfaces will remain with us till the very end of our professional life.

Google offers Flash 8 based version of Google Talk

April 5th, 2007

In May 2006 Google had acquired small Gtalkr company that had it own IM client that was able to connect to Google Talk network.
And results of this Google acquisition from 2006 are clearly visible today in 2007.

And now, Ladies and gentlemen, please welcome, an official online version of Google Talk client from Google, released in 2007, done in Macromedia Flash 8.

To experience flash version of online Gtalk client, please visit the page http://www.google.com/talk/ and press button “Launch Google Talk”.

google talk

Flash 9 == Flash CS3 and Adobe CS3 package is going to be ANNOUNCED later at this month

March 6th, 2007

Accordingly to Macword.co.uk Adobe CS3 will be announced at 27th of March, 2007 at a special event in New York.

Although I do not have a precise information what is inside Adobe CS3 box, but the forthcoming renaming of Flash 9 to Flash CS3 gives me some hints that Flash 9 CAN be a part of Adobe CS3 package.

What do you think?

UPDATE: This is only an announcement date, the software is going to be actually shipped later in the spring’07.

Handling button events in Flash 8 by event capturing has some caveats

December 14th, 2006

The situation is as follows:

I have an extenal asset in SWF format with some “onPress” button event handlers specified.

I load this external asset via MovieClipLoader class into the SWF container and all those “onPress” button event handlers became unresponsive because of the SWF container itself has specified event handlers for another! button events – “onRollOver” and “onRollOut“.

Code for embedding external SWF asset follows:

var myMCL = new MovieClipLoader();//create an instance of MovieClipLoader
myMCL.loadClip("externalAsset.swf", "_root.image1_mc");
myMCL.onLoadComplete = function (targetMC) {
          image_mc.onRollOver = function() {
              trace ("onRollOver button handler works great, 
              but my onPress button event handlers are lost");
 }      
}

The article written by Trevor McCauley gave me an good insight to create an solution for this type of the problem, but I do not like the fact by itself that such a problem occurred =)

My solution is to substitute onRollOver event handler with onMouseMove event handler ( which is not a button event):

this.onMouseMove = onCustomMouseMove;
function onCustomMouseMove() {  
 if (bgd_mc.hitTest(_root._xmouse, _root._ymouse, true))  {      
  if (image1_mc._xscale < MAX_SCALE && bgd_mc._width == 215 && 
!myTween1.isPlaying) {      
   growImage();   
  }
 } else { 
  if (image1_mc._xscale > MIN_SCALE && bgd_mc._width == MAX_WIDTH && !myTween1.isPlaying) {
   shrinkImage();
  } 
 }
}

Current Flash Player 8 penetration rate has reached 50%!

February 1st, 2006

Flash 8 player released : 9/13/05

As of December 2005 Flash 8 player penetration rate had reached 45.2% in USA.

Compare it with the speed of spread of previous major Flash player version – Flash player 7.

Flash 7 player released.: 8/25/03

As of December 2003 Flash 7 player penetration rate had reached 28.9% in USA.

Bottom line:
( taken from blog of Emmy Huang, Product Manager of the Flash Player )
This is 56% faster than Flash Player 6 and Flash Player 7 in the first quarters of those releases.
And, based on the server stats from our hosting company, Akamai, Flash Player 8 has been downloaded over 1.4 billion times since the September launch

ServiceCapture – is your eyes to watch the data passed via Flash Remoting

September 23rd, 2005

I am falling into love with ServiceCapture tool that deserializes and displays all Flash Remoting (AMF) traffic in a simple-to-use interface.

Right, I admit I copy pasted the sentence above from the official site, but it is true.

serviceCapture gives a developer an good insight on how and what 🙂 data is transmitted between server and client by using AMF protocol. It shows the name of the service called, the name of the method of the data called, the all data being transmitted deserialized.

The tool shows also some performance data of the remoting call as well (data served in bytes, time spent on the call).

The tool has a reasonable price tag 34,99$ and I would recommend it to any flash developer who is using Flash remoting in his/her projects.

Display special characters in Flash – use URL Encoding

August 15th, 2005

    Recently I had to load the text from external source in Flash and from the design of the application I had to rely on LoadVars command.

    No wonder, that quite soon I came up with a problem that Flash does not display special characters like “+”, “%” or “&” if those characters are loaded into Flash via LoadVars. After a bit of research, I found out that LoadVars object method “load” operates with URL encoded strings to allow to include those special characters into string of text.

    A good reference table with URL Encoding table for special characters can be found here at
Flash TechNote URL Encoding: Reading special characters from a text file.

The more extensive list of Unicode escape sequence codes in PDF format can be obtained from Unicode.org.

Therefore in Flash,

  • Symbol “%” becomes %25 after URL encoded
  • Symbol “&” becomes %26 after URL encoded
  • Symbol “+” becomes %2B after URL encoded
  • and so on…

    In ActionScript code:

    this.createTextField(“result_ta”,1, 0,0,150,20);
    result_ta.embedFonts =false;

    var myData_lv = new LoadVars();
    myData_lv.load (“myText.txt”);
    myData_lv.onLoad = function()
    {
    result_ta.text = myData_lv.sp1_title_1;
    }

    Content of “myText.txt”:

    &sp1_title_1=Andrew %26 Stas have gained a 5%25 percentage raise %2b good vacation bonus

        As a concluding note, an extensive paragraph on how to work with special characters in Flash 6 and higher is written at PDF file:“Using ActionScript in Flash” (Page 118 “Working with text”)