Doubt on Flex as the best option (2): Flash Player is cross-platforms/browsers?!

Main concern: better QA on Flash Player, make it more cross-platform/browsers and backward/forward compatible.

Flash Player is cross-platforms/browsers“, I think it is a successful marketing wording deeply printed in every SWF developer brain. In fact, Flash Player does not 100% running the same in any platforms/browsers and even minor Flash Player versions.

When people said AJAX have to deal with a lot of cross-browsers problem, they are not truly modern browser JavaScript developers, it was the old story in browser wars (IE4 vs Netscape 4), to access a layer, we have to even use different script. The situation has changed, JavaScript is running “the same” in modern browsers (IE6+, Firefox, Safari, Opera), except the problem mainly due to the weakness/wrong support on CSS in IE and Opera. If you develop AJAX application and not using DIV+CSS (tableless) layout, you are quite easy to make it run perfectly in cross-browsers.

AJAX developers understand their own problem and more concern users, they will testing their applications thoroughly between different browsers, but SWF developers are different, they trust Adobe, they trust Flash Player. We only test in one browser+one Flash Player minor version during development. It cause us into a dangerous situation when production.

Here are some of the Flash Player differences:


If you argue it is a problem Flash Player deal with browsers and what is the difference I argue that DOM+CSS deal with browsers? Overall performance are cross-platforms/browsers in AJAX/SWF but those minor flaws cause no difference between AJAX/SWF developers.

Here are some of the Flash Player differences:

Changes in major/minor Flash Player version

You should check Ticore’s blog (Chinese), he wrote many cases Flash Player is not backward/forward compatible:

Have you forgot every time Flash Player tighten its sand box? Sometimes it affects our previous work online (not local content):

Every major Flash Player upgrade introduces tons of new feature, but in between minor version, Flash Player has also improved with new features, bug/security fixes, so if you target for a major Flash version users, you have to be careful with what minor version they get, too:

You should also check Adobe site for every Flash player major/minor version released, what existing contents have broken or any previous problems have fixed:

Finally, EOLAS case (not Adobe/Flash Player fault) caused SWF developers have to work back on our old works by a sudden mid-night call from clients? Flash Player is cross-platforms/browsers? Flash Player is backward/forward compatible? LOL, we faced the same situation as AJAX developers…

Follow up

Doubt on Flex as the best option (1): TileList reload everything on scrolling

Main concern: Flex component is not good enough in user experience and functionality completeness, one example is TileList.

I do not agree Flex is the best option for building web application instead of AJAX. I will start blog a series in “doubt on Flex”, which I think Flex may be a rapid developing tool for developers, but it is a developer-oriented self fish tool, which sacrifice usability, web standard and make a lot of hurt to users.

If you said SWF is the best choice as presentation layer in web application, I am sorry I cannot agree, too. The biggest weakness of SWF is the text handling ability, which is never success than using HTML+CSS. Then I find Flex is weak in present image, too. I use TileList and itemRenderer to load external image, which is the common practice for every Flex developer, but I find that TileList reload everything on scrolling, if you try TagTV or pikeo, you will saw the problem, this problem has asked in Flexcoder list, but no solution yet.

If you check any HTML photo thumbnail list page, when you scroll down and scroll up, will you find the images had disappeared and need reload again? No! TileList is just an useless component in Flex.

Yes, Flex is just a tool favor developer themselves but sacrifice users.

Follow up

Others’ articles

Update 2007-1-27
Ely Greenfield from Adobe updated a post on how to make cache in Image Component in Flex framework hack, just like what HTML/CSS developer have to do CSS hack everyday?! They claim the extensibility of Flex framework is opened to developer. As I said before, developer have to put extra effect to solve the usability problem in Flex, because Adobe is provided you a just enought to use component, we, developer have to help Adobe to finish those what they claim is stable, robust framework to a usable quality?! That’s why they can provide an enhanced version of Flex builder and framework (they call it Flex3) but still target for Flash Player 9.

Thought on Japan Flex User Group Study Session

Japan Flex User Group is the most successful and largest user group in the world (check Adobe Developer Relations manager, John Koch’s article). They held Flex2 study session, discuss and share Flex2 development experience. Yesterday (2006-12-21) I join “Flex2 Study Session (12th)“, this was the first time I attend their gathering, the gathering was hold in Adobe(Japan) Tokyo Office (Google Map), it was also my first time to other Adobe Office.

The session was divided into two parts, the first part was Flex Builder development tip sharing, talking about cross debugging, Framework analysis and source code quick view technique. Study session was like a lecture, but it was not formal, attendants can speak out their idea anytime, the discussion environment was good. Study session was different from the user group gathering I attended in Hong Kong/Taiwan, even different from MAX (HK/TW). The study topicwas very small and focus, so talked in depth, it liked experienced developer debating, for example, they have talked about the difference between Java breakpoint and Flash breakpoint. The remain attendants can learn a lot during the process.

The second part was an introduction to Apollo, this was my first time to see Apollo in live. The speaker presented how to use Flex Builder to build Apollo application, demo Apollo alpha windows, irregular shape window, File I/O, HTML render, use Filter to blur or even distirt a HTML page.

Some points I found interesting:

  • Irregular shape Apollo application, the outside place underneath is still clickable. If you try other irregular shape application before, it may be actually rectangle window which underneath is impossible to click.
  • HTML page is added Filter, or even distorted, it is still operable, JavaScript can still running.
  • File I/O is completed, it can browse, list, read, delete files. It supports Binary, too. Therefore, you can write your own encoder, decoder, create your own file format.
  • However, File I/O is too powerful, if Adobe can solve security problem, Apollo cannot release.
  • The installation of Apollo application and runtime is very easy, using Flash Player to install. After installation, you can create icon on the desktop and adding shortcut in Start Menu Program Files, look like desktop softwares.
  • Apollo support hybrid of HTML+SWF, it is HTML embeds SWF or SWF embeds HTML.
  • Flex2 application, it is not necessary to use Apollo embed SWF to convert to Apollo application, you can just change mx:Application tag, add some window setting, then convert to Apollo application.
  • Apollo runtime file size is about 5Mb.
  • Someone asked is it possible an Apollo application communicates with othere application. No information yet, but I guess it is possible thought Local Connection. There was a C# talk with Flash example before.

Other photo (sorry, photo quality are not good)

▲ From JR Yamanote line (山手線) Osaki Station (大崎駅), follow the foot bridge, come to Gate City Osaki (ゲートシティ大崎)

▲ Buildings near by

▲ Large podium and lobby

▲ Arrived West Tower

▲ Outside West Tower lift lobby

▲ West Tower lift lobby

▲ Walk out, found Adobe carpet, step on the logo…(:P)

▲ Found Adobe Office is similar to Hong Kong one, same color tone

▲ Posters in Adobe Office

▲ Direction sign

▲ Enter the room, there was lot of people ready, somes bought their notebooks, too.

MXNA should add a smart category for AJAX

Web developers concern AJAX, RIA developers concern AJAX, User experience designers concern AJAX, Flash/Flex developers concern AJAX, Apollo developers concern AJAX. Adobe+Flex do not oppose/compete with AJAX, Flex is go beyond AJAX and embrace AJAX. There are quite a lot of post in MXNA about JavaScript, AJAX, CSS. Do you agree MXNA should add a smart category for AJAX?


Adobe loves black color

Main concern: color is also a important factor affect user experience.

Have you ever noticed recently all the Adobe Flash/Flex application/sample, apollo sample, showcases. the background color are all black?

▲ Apollo Tunes

▲ Apollo Media Library

▲ Adobe Digital Editions


▲ Scorpio (CF8) sample site

▲ It is an exception, but color style is dark, too. (Media Search, Future RIA shown in MAX)

Adobe CS3 Video Workshop

Adobe Tour Tracker – 2007 Amgen Tour of California

Yes, black color is a wow factor to audience. But if it is a real application, do you consider it is so tried for the end users facing a black, dark application every day, even they have to use for a long time continuously? White text in black color (and designers love small font), it is hard to read and hurt our eyes, too. Developer may not a good designer, they may not know how to choose a good color combination for their application. Adobe, please acts as an industry leader, do not make a wrong impression to end users / developers, that we choose Flash/Flex/SWF as application media, because of fancy effect, wow factor, “cool” color style. Please consider accessible, usability as the most important factor!

In fact, Kuler is the worst case. If Kuler is a tool for designer to choose color combination, and Adobe is a designer software company. They must learn from how color book is used, it must has three colors card board: white, black and grey for designer to test their combination, where Kuler is lack of. Moreover, black is a very outstand color, it will afford people the feeling to the rest of colors.

▲ Windows Vista

Black color theme in Windows Vista. Yes, Microsoft is running the wrong direction, too. Adobe and Microsoft want to stand out from the successful MAC OS X shadow, so they must choose an opposite color? Luckily, we still have a good human interface guideline to learn from Apple, do not learn from Adobe and Microsoft, they are lost. Our world is colorful, there are many good color combination outside. Please take a look those Web 2.0 sites.

Other Reference

I got certified for Flash Lite 1.1 and Flash 8, Flash Lite 1.1 exam was very hard!

Someone asked in MMUG(HK) about Flash certification(Chinese link), so I checked Pearson VUE, discovered Flash Lite 1.1 and Flash 8 certification are released. It is the first Flash Lite certification, I was curious and so made an exam appointment. For Flash 8, due to the requirement of Certified instructor, when new software version exam is released, you have to take it(Chinese link). I do not have chance or necessary using Certified instructor to teach, so no motivation for me to take Flash 8 certification. However, the original price for each exam is USD150, take it in Hong Kong, you get a 50% off discount, it is HK$583 (about USD74.7), it means you can take two exam for one price. In order to collect all Fash certification series (I was MX Developer, MX2004 Developer certification), finally I took both.

Note, Adobe have two authorized test partners: Pearson VUE and Thomson Prometric, do not go to Thomson Prometric. Its Flash Lite certification has no 50% off discount. It is the original price: HK$1163! (But Flash 8 is HK$583)

About the two exam and the testing centers, I have some comment:

I chose Hong Kong Mong Kok Grand Tower(香港旺角雅蘭中心) Unisoft(軟硬體), a very bad test center. The center is also a private high school for F5 students, many naughty students talk loudly in the corridor. The room next to my exam room is a classroom, the teacher was scolding to the bad student. The noise was so disturb and made me cannot concentrate on the exam.

For the two exam, I was faced a real challenge. I did not have any preparation before, from the pass two Flash certification exam experience, I think it is quite easy to pass, just it is hard to get 100% all correct. Now is different, is it because Adobe and Macromedia are merged, the certification is merged, too? There is no more Flash Designer or Developer certification. The exam is mixed two areas question, question for designer is up to 60%, some Flash IDE functionality, shortcut and trick. I never use or have not use for a long time. How can I know or remember? Obviously, for SWF developer role. Adobe has shifted to Flex already.

Although it is a Flash 8 certification, no or very few questions on new feature about Flash 8, no Filter question, no BitmapData question. Developer questions are few, so no more chance for asking new ActionScript? Finally, 70 questions, I answered 67 right (95%, pass requirement is 70%), the worsest result among three Flash certifications.

For Flash Lite exam, I think it was very very challengeable (i.e. very hard). It asked many question on mobile, fscommand2 usage. It was not as I thought just a Flash 4 examination. Some questions, it was about Japan situation, for people from other region, I felt so meaningless and unfair. It asked some Mobile industry jargon (oh, it was really not a Flash exam!). Asked you what GSM(Global System for Mobile), GPRS(General Packet Radio Services), SIS(Symbian Installation System) stand for? So what if I know? It will make Flash Lite development look more professional like?

The hardest part was asking you some wrong development practice or coding, ask you what will happen or error when running in handset. Only experienced developers will take exam, experience developers know how to avoid stupid mistake, so have they experience such situation in handset? So, if you develop Flash Lite for games, seldom use fscommand2 to communicate with mobile. You only have one handset to play, and it is Nokia handset, your swf is just running in standalone mode. You are not able and experience enough to take the exam.

Finally, 65 questions, I answered 44 right (68%, pass requirement is 65%), barely enough for pass, shameful T_T

Websites should not build in Flex

Informative, consumer site (aka non-application) should not build in Flex:

  • It is no point to build a HTML+AJAX style website, which user cannot save the “page” to their hard disk.
  • Build in Flash/Flex is not an excuse on: no deep link for bookmark, no back button support.
  • No deep linking, user cannot bookmark it, easily forward URL to friend
  • Although Flash Player 9 claims it is 10x faster, it is still response very slow in slow machine.

Websites should not build in Flex:

Other Articles

Thought on “Controlling Physical devices with Flash online” workshop

Last night (7th November, 2006), I attended a seminar arranged by Microwave International Media Arts Festival in Hong Kong, this year theme title is “Animatronica”. The seminar speaker is an American-based Korean Jin-Yo Mok, he showed some his experimental and research on interactive Flash with physical devices through XMLSocket.


He talked mainly about his project “Music Box“.


User can click the point in a Flash interface online, then the physical music box rotate and generate sound/music like traditional music box.

He has worked on this project for two years in New York University, one year is research and preparation. Before the seminar, I thought he was pure Korea growth artist, but I am wrong. I always question why creative cannot growth locally? People must go outside and inspired by Western? Or only Western society has the chance for people to explore some thing, which may be stupid, meaningless, and not for money?

Just my two cent opinion today, btw, his work is really interesting.

Can anyone confirm Flash Player 9 is really work on Mac IE?

I have installed the lastest Flash Player 9 in Mac(PPC), but I cannot watch any Flash 9 works, e.g. those entries in Flex Derby, my own Flash 9 works in Mac IE (No problem in Safari, Firefox, Netscape and no problem for Mac IE to view Flash 8 content). It just show a blank white screen and when I “right click”, it said “Movie cannot load”.macie_fp9_01.jpg
Although I am not a Mac IE user and M$ had stopped Mac IE already, but I just want to make sure Flash 9 is an ideal solution for deploy truely cross platform, cross browser application.

I guess, is it the AC_OETags.js not work in Mac IE?

Adobe said: Flex2 is for creating Ajax-style applications. OMG

I just come accross the Adobe Flex product site, when I read the overview, it said:

Adobe® Flex™ 2 is the most complete, powerful application development solution for creating and delivering cross-platform rich Internet applications (RIAs) within the enterprise and across the web. It lets enterprises create personalized, multimedia-rich, Ajax-style applications that can reach virtually anyone on any platform. Enterprises can use Flex to quickly build and deploy applications that improve the user experience, boost the bottom line, and analyze data to enable better business decisions.

When AJAX blows around the town, I always see some website said AJAX can create Flash style websites / applications. The music chair is changed, Adobe think Flash is left behind AJAX and AJAX is a target what Flash should follow ?!

If Flex2 is for AJAX-style applications, the client must ask, then why Flex2? why we not stay at AJAX? Adobe, please think another better marketing text for promoting Flex2. Thankz.

Update 2006-7-12
The site have removed AJAX wording already