Skip navigation

Sign up | Lost password? | Help

Hello World

Practical programming... and stuff...

About Flash and RIA's

, ,

I've been working with Flash lately, or more precisely, Flex 2. Flex is like Flash for programmers (more on that later in this post)

Not so long ago, I also tried Flash Lite, which is a lightweight version of Flash for mobile devices.

What started as a tool to create annoying animations and unusable interfaces has gone a long way, and is now a quite serious contender for creating content.


Of course the above notion is not completely true. Annoying animations and unusable interfaces are just what I personally remember from the things created with the earlier versions of Flash.


Flash as a technology has matured a lot and has a very large market share these days, so you can't no longer say no to it because of poor support. And considering that even mobile phones have Flash support... talking about which, Flash Lite 1.1 is a horrible thing to work with.


Flash Lite 1.1 is basically Flash 4 with a thing or two from Flash 5. You can create Flash Lite 1.1 content with Adobe Flash 8 and newer (correct me if I'm wrong). So what's so bad in it?

ActionScript.

It does not support functions.
It does not support arrays.
It probably does not support some other useful feature I can't think of at the moment either.

Both can be "hacked": You can use named keyframes as functions and a certain eval-trick to create "pseudo arrays"

Using named keyframes as functions is not particularily difficult to do, but it's not as simple and clean as having proper function support. Pseudo-arrays are a blatant hack: You use eval() to create variables like array_1, array_2,...,array_N which can be used kind of like an array.


I don't know about Flash Lite 2, but the 1.1 version is quite "raw" in my opinion. Of course, the problem with ActionScript in 1.1 is caused by the fact that ActionScript in Flash 4 (and 5) is this bad. In Flash 9 and Flex 2, it's a completely different matter.


Along with the authoring tools, speed and features, the scripting language of Flash has evolved. From the horrible mess that I described above, it has changed into a full fledged Object-Oriented language in ActionScript 3. It reminds me a lot of C# which is a fact that made me instantly like the language.


There's also Flex and Flex 2, which are a completely different way to create Flash apps. Instead of the traditional animation-based interface in the Flash authoring tool, it is much more programmer oriented. You don't have a timeline or a canvas where you can draw shapes. Instead, you get a proper IDE. You also get a HTML and XML like language called MXML which you can use to create the interface in your application and a lot of ready to use MXML components like buttons and textboxes. This and the design view makes creating interfaces in Flex a very similar experience to creating interfaces in IDE's like Visual Studio 2005: Simply drag and drop things in the designer and add code.

The Flex SDK is going open source, so this might mean an increase in the amount of sites using Flex. Considering that Microsoft has released it's Silverlight, which competes with Flash, this might be a very good move from Adobe. On the other hand, Silverlight is lacking in features, doesn't work in as many browsers as Flash does and isn't widespread at all...



I don't like the idea of using JavaScript for creating RIA's (Rich Internet Applications) like Google's Spreadsheets and such. I don't think Google Gears is great. But what I do think is that Flash is perhaps the only good alternative for creating RIA's at the moment. With ActionScript 3, script speed should be even less of an issue and with tools like Flex, it should be much easier to create good interfaces with Flash because of the components. Currently the problems lie in the Linux version of the Flash 9 plugin which has some issues and the fact that Flash and Flex IDE's aren't very cheap to buy, but hopefully with Flex going Open source, we will see a free Flex IDE which should be more than possible, considering that the current Flex Builder 2 IDE is built on top of Eclipse.

What will the future bring?

Web bugsPreventing cross-site scripting attacks

Comments

Anonymous 23. September 2007, 13:45

rooticzek writes:

The only one problem with the flash was that google and others didn't index swf files. But today with "new" flex and flash comes Flash Search Engine SDK which brings more usability for flash web pages.

drlaunch 23. September 2007, 16:12

I really hate Flash, with some clear exceptions.

Video (YouTube), Games and Movies (Newgrounds), Music (Last.fm).

A website interface made entirely in Flash makes me want to puke. But if it's limited entirely to the pure rich application features, I guess it's OK.

NoteMe 23. September 2007, 18:16

I totally agree with drlaunch. It can be used on a page to enhance the visual browsing experience, but 99% of the pages out there doesn't. If the whole page is not made in flash, you can be sure that the flash on that page is a video or just ads.

To be honest I am not really pro any plug-in at all. I wish it all was integrated into the browser. But that is maybe just me. But I can't stop swearing every time some plug-in doesn't work, or even worse...steal the keyboard focus making me use the mouse while browsing.

If it was not for the videos, I would have stopped using it a long time ago. I hope <video> can help out on that. But I think there is a long road to walk before that happens.


- ØØ -

zomg 24. September 2007, 11:30

When it is possible to create something like you can do with Flash without a plugin, that will of course be the best option. But I doubt that will be any soon, and I really don't see a problem with Flash if it's properly done.

What's so bad in Flash UI's anyway? The UI components in Flex for example look good and are just as usable as anything else.

You can do "different" UI's in Flash too, but it's difficult to get it "right". I think a good example of getting it right is the Honda F1 team website

NoteMe 24. September 2007, 16:52

I have to disagree again. The only thing that is good about that page is the graphics, but it is just as useless as a TV commercial running on a TV screen next to me. What I don't like is:

- The waiting for it to load. If this was a page I went to every day, I would be fed up of that intro already.
- After clicking on something, I no longer can use Ctrl+Tab to go to the next tab in my browser, nor use my arrow keys to scroll up nor down.
- I can not copy paste any of the text on the page.
- I can not search for a particular word on that page either.
- As far as I can see, if it was not for their index page (the only one not being flash), I bet no search engine would even index the page, and you would not have found it in the first place.


This page is as far away from the openness the web has always been, and how I want it to stay.

- ØØ -

zomg 24. September 2007, 19:49

I believe the point of the site is to be a commercial for the Honda racing team and I think it works perfectly fine for that.


The loading was almost immediate here, but I guess it is a problem if it's slow.

The clicking thing is a valid point, but I think the browser should handle this, provided it's possible - I don't know about the inner workings of the Flash plugin.

Copypasting can be done if needed - blame lazy devs.

Search point is valid and I can't think of any Flash site where you can do that.

I would've found it, it was mentioned on an another website because of the intresting user interface it had. :wink:



The page is more designed to impress and to appear nice and such for a "common" user, but it's a good example of what you can do with Flash.
No, I would not recommend anyone to make a site like that. For a website which is not supposed to be flashy and "TV commercial'ish", plain old HTML+CSS is better for many reasons, including the ones you pointed out.

If you want to do something different, Flash is a perfect tool for that. Also, DrLaunch mentioned games - I think that is one of the best uses for Flash. I'm actually working on a game in Flex 2 :smile:

NoteMe 24. September 2007, 20:11

The loading was almost immediate here, but I guess it is a problem if it's slow.



I am talking about the intro. It has a timed intro, like a TV trailer, it is cool 2 or 3 times, after that it becomes like the commercials between series on your TV.


The clicking thing is a valid point, but I think the browser should handle this, provided it's possible - I don't know about the inner workings of the Flash plugin.



Plug-ins are like totally separate applications. So no, it is not browsers fault. There is no way for a browser to know that if you press the arrow keys it is an event for the plug-in or the browser, so it could possible break the flash file if the browser captures the event for the keyboard anyway. Just like different apps in Windows.

Copypasting can be done if needed - blame lazy devs.



It is not necessary the designers fault, but rather the technology letting them do it. What about all those people that wants to hide the information so it makes it harder for people to steal it? It would raise the number of pages like this quite a bit if Flash became the standard for web design in general. Just think about a blind person going to that page, he must have thought his screen reader broke.

I would've found it, it was mentioned on an another website because of the interesting user interface it had.

Google would go broke if this would be the future web p:

If you want to do something different, Flash is a perfect tool for that. Also, DrLaunch mentioned games

Agreed, though I don't play a lot of games on the net, I do quite a bit of game programming my self, but then in DirectX not Flash. At the time Flash is the best option for games on a web page, but hopefully only until the 3D canvas [1][2] is out there in the free.

zomg 24. September 2007, 20:26

Plug-ins are like totally separate applications. So no, it is not browsers fault. There is no way for a browser to know that if you press the arrow keys it is an event for the plug-in or the browser, so it could possible break the flash file if the browser captures the event for the keyboard anyway. Just like different apps in Windows.


Ah, of course. Thanks for clearing that up.


If you think about copy-pasting and the screenreader issue with Flash.. it should be possible to actually make it usable with a screenreader, Flex gives the option of generating an "accessible" .swf, but then again, I have no idea what it does or if it actually helps at all.


What comes to the 3D canvas and such, unless JavaScript gets fast native functions for performing the math needed in 3D games etc., it's not going to work. I'm pretty sure AVM2 (the Flash ActionScript3 engine) is a lot faster than JavaScript at the moment - Take TankWar Online or Opera Command as examples, they are just 2D, simple graphics... but they both slow down etc. on slower PC's.

Here's some AS2/AS3 3D demos and they work quite well at least on my PC.

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies