May 142008
 

Recently we have seen a lot of progress with the capabilities of Javascript to leverage the capabilities of HTML to do things that was previously only possible using Flash.
Thanks to for example mootools and jQuery you can now create sites that looks like they are made with Flash with nice tweening animations, and of course AJAX have already for a few years been an option to update the content without reloading the page.
Does this mean that the future of Flash looks bleak?
Somerandomdude seems to think so, and points to some of examples if the impeding demise of Flash. John Resig’s Processing.js and experiments with HTML 5’s video element.

 

First of all, does any of these developments offer improvements over what Flash have been capable of for years?
Maybe if a site that is heavy on information but you might want to jazz it up a bit with some nice transitions.
When it comes to presenting text HTML has some advantages, mainly due to the browser integration.
Using the browsers built in search or select and right click to google a phrase for example.
Usually those advantages are greater than the possibility to embed font outlines with Flash.
But most implementations I have seen of for example slideshows and menus does not offer any advantages what I can see. Implementing them in Javascript still performs worse, gives you less possibilities and makes it less accessible.

 

When it comes to video on the surface I cannot see any reason why a video playback native to the browser would be preferable.
Of course one could argue that since you have a limited choice of compression formats with Flash it would open up to more options there. But to deploy content you will still have to make sure you use a codec that is included with a majority of browsers. It remains to be seen if it will mean much of an improvement in practice, and personally I do think that h264 is quite satisfactory.
All the above is true for the HTML5 audio element as well.

 

Of course the technical merits is only a part of the parameters that decide the acceptance of a technology. There are a lot of developers that really dislike Flash for various reasons and they are just really happy that they now can do the same things as has been possible for a long time with Flash.
The fact that it can be more tedious to implement and performs worse is not as important as various factors like avoiding proprietary formats or using a environment they are already accustomed to.

 

But even if Flash is not necessary to do a lot of things that previously was it’s exclusive domain to me it seems like it’s constantly gaining acceptance with developers.
Flash is still quite far ahead of the capabilities of DHTML/AJAX and how long will it take before HTML5 is widespread enough to make it a viable option?
Flash is still developing rapidly and the new versions of the plug-in is spreading extremely fast, so by the time HTML5 capable browsers is widespread enough probably 95% will have the Flash 15 plug-in installed.

 

I think the main issue here is the different ways in which Flash and HTML is being developed.
A lot of the hate against Flash is based on the fact that swf is a proprietary format, and even if that is not entirely true any more it’s certainly not based on an open standard.
And that what makes it possible for it to stay on the cutting edge, and that’s why the capabilities of DHTML, XHTML, Javascript, SVG etc. always is one step behind.
Even if I prefer open standards in theory it just doesn’t seem to work as well in practice.
Rather than being impressed how HTML and Javascript is catching up with the capabilities of Flash I’m continuously surprised at how slowly it’s happening.

 

I have been fanatic about Flash since I first discovered it in 1999, and I really have trouble being completely neutral even I try. But IMO Flash is not going anywhere. With AS3, AVM2 and FLEX a lot of new possibilities has opened up that DHTML will not be capable of any time soon, like for example decent 3d engines, socket connections and sound synthesis.
Overall I do see a trend though that the web is getting less and less fixated with certain technologies.
On the server side we have seen Python and Ruby gaining acceptance. MS will be trying with Silverlight to present an alternative to Flash and HTML will be able to compete as well.
But it’s not a war where anyone has to die…there is certainly room for more than either ASP, perl or PHP on the server and HTML, Shockwave or Flash on the client, which pretty much used to be the case.

Share/Bookmark
Dec 192006
 

Well, the word in itself maybe not, I just made that up myself.
But as you probably guess I’m talking about using Flash and AJAX together.

After my last post that also involved Flash and AJAX, “Right tool for the job…or right job for the tool?”, I came across the following blog entry: Ajax and Flash Together
Some good examples of AJAX and Flash integration and I couldn’t help to ask myself a couple of questions.

In what way does it affect me as a user if the buttons controlling flash is in the HTML page or part of the swf?

Looking at Yahoo finance and Google finance I really have difficult to see that the user would have advantages or disadvantages from an AJAX mix compared to only Flash.
The only case would be if there is browser incompatibilities with JS or that they lack the flash plug-in.
Obviously buttons is no good without graph and vice versa, so not having to rely on two separate technologies being available as expected is better. But to me it could just as well be one big swf…I would not notice any difference apart from when I right click.

On the google page I can agree that it’s neat how it highlights the headlines to the left when you click the corresponding box in the graph. Using HTML for those headlines makes it possible to completely retain their visual identity, even if the result in Flash could be made very similar looking.

In what way would it affect me as a developer having to implement one over the other solution?

I cannot see that it would have any advantages when developing to move buttons to control the graph outside of the swf.
Anyone who can make the graphing app can in no time add the buttons instead of making a handler to respond to JS calls from the HTML buttons.

What have I missed?
In what way does combining Flash and AJAX help the user in those examples?
In what way does it help developers?

Dec 082006
 

I’m glad to have discovered that someone made an effort making a script similar to my backbutton and deeplinking solution for Flash.
Maybe old news to many of you, but since I get some visitors here looking for such a solution I thought I mention it.

http://www.asual.com/swfaddress/

I haven’t got a chance to try it out and only had a look at the info on their web page, but it seems to be a very good alternative to my own script.

Oct 072005
 

I’ve done a little update to my system for enabling the back button and providing deep linking/bookmarking functionality for Flash sites and applications.
It’s now using Macromedias JS integration kit for Flash to JS communication.

Click here to download it.

Try the system here.

I was hoping I would solve issues with some browsers that it was not working with previously, but since there is more issues than if the browser supports the setVariable command to pass data from JS to Flash it seems like it will be very difficult to get a few browser/OS combinations to work.

Basically I found two different methods of approach.

One is using Rober Penners hidden frame method.
That’s still what the system does for IE, but using an iFrame instead instead of a regular frame set and removing the need to create actual HTML files to load into the frame by using document.write().
With FF I did not have much luck with that approach.
Just using JS to write into the hidden frame worked fine and made the back button work, but when trying to also update the hash to enable the bookmarking everything started going wrong.

The other approach is to at regular intervals check the location.hash and if it’s been updated cause a change of state in Flash.

Both approaches have various problems on different browsers.
For example Safari apparently will not record a history event when you use document.write() to update an iFrame.
Opera 8 will not record a history event if you update the hash, and after experimenting a bit with writing into the iFrame I gave up on getting it to work with that method.

It would be great with a system that works for every perceivable browser and OS, but as long as the system fails gracefully it’s at least not doing any harm to implement and as it is now it will cover a vast majority of users.

So far I tested and confirmed it working with FF 1.0.6 and 1.5 beta 1, IE6, NS8 and Opera 8.5
Opera 8.01 does not show the hash and back button fails, but at least deep links are working.

I would be very interested to hear from mac users in particular to find out if NS, Safari and IE still is not working.

Sep 262005
 

Some nice additions to the big names making serious use of what flash can offer lately.

The most impressive that been blogged a lot about already is the IKEA matrix kitchen.
Clever and skill full piece of work that really uses the internet as a media in an efficient and inventive way.

The even bigger news that even more people blogged about is Googles adaptation to using Flash to deliver video.
It seems like a surprise to many people since it somehow seemed like they have an aversion to Flash considering the efforts they made building AJAX contents.
Maintaining separate versions for different browsers to get your RIA applications working I guess is something you only consider if you don’t consider Flash :)
And using a proprietary video format that requires user to download and install your software can of course be seen as a similar attitude trying to avoid Flash at any cost.
But now they have finally come to their senses it seems at least.
Of course the service itself it’s not anything revolutionary to get excited about. It’s video, in flash. The big news here is the big name.
That google uses Flash can seem like a seal of approval for serious large scale deployment of Flash content.

Peugeot’s use of flash is not all that exiting, although nicely done.
The animation work is stylish and well carried out, but a bit bland in my opinion.
Clicking on a key flying around to test the sliding of the doors is hardly especially fun and doesn’t make me feel closer to the product really.

It’s how close you feel to the product that I love about applications like the one IKEA done.
It shows the possibility that multimedia technologies like Flash give for taking communication to a new level.
A video or an animation can be extremely good at delivering an experience, but when people figure out good ways to use interactive multimedia it gives you a presence previously unseen.

A picture says more than a thousand words, but a Flash application says more than thousand pictures :)
And in IKEA’s case I guess it makes sense since it wouldn’t surprise me if the application actually use about 1000 pictures.

Sep 092005
 

I was looking around for some example code for how to implement full state management in Flash with both functioning back/forward buttons and deeplinking/bookmarking, but couldn’t find any.

So I decided to put together my own and make it available in an attempt to silence the many Flash critics who, rightfully in my opinion, think that it is a major drawback with pure Flash sites.

It’s only tested and working with recent versions of firefox and IE on windows.
Backbutton and bookmarking fails with Opera 8, but deeplinking works.
I’m quite sure someone with decent JS skills should be able to fix that though.
The problem is that “document[movieid].SetVariable();” does not target the swf correctly, which is a mystery to me since I have seen examples using the same syntax that does work.
Another solution would be to rewrite the code to use localConnection instead in which case most browsers should have no problem.

But for now at least you can easily have state management functioning for the very large percentage of users that use FF or IE, and other browsers should hopefully all fail gracefully and be able to follow deeplinks in to your flash site.
So there is no excuse to now implement state management into your Flash site now.

You can try the system with this little ugly example
Please leave a comment if you are using a browser other than FF or IE on windows so I can make a list of what browsers it is working on.

Get the download here.

Update:
I made a new version using Macromedia JS integration kit for communication between Flash and JS.
Get the download here.
It did not solve the issues with Opera 8.01 apart from getting rid of the JS error, and I doubt that Safari will work still.
So until I get some feedback on how it works with the Browsers that been problematic I’m not sure how much of an improvement it is.
I updated the example above, so try it out and tell me if it’s not working with a particular browser.
So far confirmed to be working is FF 1.0.6 & 1.5 beta1, IE 6, Opera 8.5 and NS8. Not working so far is Opera 8.01

Sep 082005
 

I haven’t found time to write in the blog for a few days.
The reason: www.dofus.com

It’s a very well made MMORPG done with Flash.
Check it out if you like to see what Flash is capable of in the hands of good game developers.

Aug 262005
 

BlixtBlog is a simple GNU GPL licensed blog system for flash that can also be used as a basic CMS system for a whole flash site.
It uses PHP/MySQL for the backend.

Main features:

  • Admin interface for easy adding of text, images and links and moderation of user comments.
  • Included state management enabling deeplinking, bookmarking and use of back/forward buttons in the browser.
  • Accordion style display of posts by subject and post by month as well as multiple categories of external links.
  • Generates RSS 2.0 feeds.
  • User comments with gravatar support.
  • Can be set to resize with the browser window or be used in fixed size.
  • User can resize text using ctrl mouse scroll or +/- buttons.
  • The package includes an example file of how to use the system for easy creation of a flash site manageable using your browser.
    Just configure what pages you like to have on your site and add your own graphics.

    Currently there is no HTML output generated, but that will be added in next release to enable search engines to find your content and deeplink directly into your flash page.
    Other planned additions is slideshow for photos and mp3 player.

    Get the download here.


    Click here to see an example
    of the system in use for generating a whole site.
    Also if you feel like testing making comments that is the prefered place to do it instead of posing a lot of asdsfdawasdf in here :)

    If you have any problems, discover any bugs or like to provide feedback please use the comment function on this page.

    EDIT:
    2005-09-01
    Now version 0.9.3 is up.
    It includes some very essential fixes, and you a strongly recommended to upgrade if you are running 0.9.2

    Apart from many major bugfixes a few new features was added:
    Possible to use embedded fonts.
    Display and loading of posts and comments split to pages.
    Ability to double up as a guestbook.

    Aug 222005
     

    I love debating Flash and got a bit inspired to make some comments after reading the recent post at Just Another Rant and discussion at slashdot about the merits of Flash vs. AJAX.

    It always seems to me that there is a lot of emotion involved whenever this subject comes up, and very little rationale.
    There is for sure a very strong resistance towards Flash among developers in general, but what are the basis for their resent, or as they many times label it them self, hate?

    Most of the top arguments is purely based on presumption, or is in fact criticism of the way people use Flash rather than issues with the technology itself.
    Of course that’s quite inappropriate when discussing the merits of a technology. You don’t see people blaming HTML for the massive amounts of appalling HTML pages out there, so why should Flash be blamed for bad use of the technology?

    Skimming through the comments in the discussion on slashdot here is some issues that was brought up:

    AJAX doesn’t require the user to download a plug-in as long as they are using a modern browser.
    That is of course true. But it does require javascript to be enabled, and from the statistics I been seing the amount of people with javascript disabled is probably higher than the amount of users without Flash installed.
    For the user I doubt it matters much what reason there is that they cannot access your site.
    If they really eager to enter the site and will forgive that it’s not instantly accessible it’s a matter of how easily they can get their browser set up to be able to enter.
    The Flash player installation seems to me a lot more straightforward for the average user compared to having to follow instructions on how to enable javascript on you browser.

    AJAX is not beholden to a single company who doesn’t release their player in an open source format.
    Again this is true, but a bit pointless argument.
    The swf file format is open source. It’s possible to develop swf files using only open source software, and isn’t that what really matters?
    To have a plethora of players from different developers to choose from would not be good thing from what I can see.
    That’s the beauty of Flash really, that because there is only one player it will be consistent, no matter what OS or browser people use.
    So IMO it’s the best of both worlds…OS tools for development but only one and therefore consistent way to present the result with.

    Flash movies must always run at a fixed size. The fluid nature of HTML is a huge bonus when it comes to creating RIAs–something that takes a long time to compensate for when developing Flash RIAs.
    I find it very easy to create liquid layouts in Flash and you have a level of control you cannot get with HTML/CSS, so I would say the opposite but I guess it depends on what tools you are more used to.
    And you don’t have to deal with browser inconsistencies which speed up development.

    If a page is made entirely in flash then a search engine can’t glean text from it when it comes to crawl it if all your content is compiled into a swf.
    Here of course we are talking about a real issue with flash.
    Or IMO rather an issue with the search engines, because I would think it’s their job to make sure that they can search the web, not the websites responsibility to make sure it constrains itself to the current limitations of search engines.
    I understand though that it’s technically challenging, and that several search engines is working on capability to index swf’s.
    But it’s really not that hard to make contents accessible to search engines, since most serious flash sites uses XML or databases for their content.
    A simple text version will do to give both search engines and for example people with screen readers access to the content.
    And solutions like ripple makes it even less effort.

    Text is unselectable (unless it has been set to ‘dynamic’ which it rarely is) so if people want to copy and paste something from your site then tough luck to them.
    This argument comes up quite often.
    On both static and dynamic text you can decide if you want text to be selectable or not. It’s up to the developer, but I must say that it maybe should default to selectable since there seems to be a lot of lazy or inconsiderate flash developers out there.

    Bookmarking, deep linking and back/forward buttons do not work.
    It can take a bit of effort to implement, and as a matter of fact I could not find any ready-made system that could handle full state management when making this site, and it did take me uite while to make a system that worked ok.
    And there is still work to do since it will not work on all browsers. At least IE and Firefox on windows I managed to get to work, which covers the large majority of users.
    I will put up the system here for download to help fellow Flash developers to solve this issue.
    So it’s is possible to do, but yes, it’s not immediate or obvious to implement, so I have to admit that it can be a problem.

    Ok…I won’t go on with more of the points that I feel need debunking now, because the list is too long.
    I will admit though to what I see as actual issues that cannot be resolved at this time

    Flash will not integrate with extra browser functions, like mouse gestures and dictionary or web search plugins for Firefox.
    There is really no solutions, since it doesn’t make sense to implement them in Flash when you don’t know what plugins the user has and how they are configured.
    And I don’t see those issues to be resolved in the forseeable future.
    I consider it a small price to pay though for the flexibility and consistency that Flash offers.

    Of course nothing is perfect.
    But Flash is as close to perfect as you can expect to come IMO :)

    It might not be appropiate to use in all instances, but it really comes down to three main factors:

  • If the technology have a feature set that is of advantage to the project.
  • The time and cost involved in development.
  • How accessible the end result will be.
  • Of the available technologies i think there is very little doubt that Flash is the most generous when it comes to features on offer.
    Probably that’s one of the main reasons why it’s so disliked by many as well. I sure also hate when some loud music starts up when I open a page, or some massive animations I have no interest in watching have to load before I can access a page.
    With the power comes responsibility…and unfortunately there is a lot of irresponsible developers, and not to forget, clients that want to abuse the technology.

    For a simple text page flash is time consuming and costly to use, that is certainly true.
    But as soon as more advanced interactivity is required it sure seems to me like AJAX is a lot more time consuming to reach a result that preforms as consistently as Flash across browsers.

    Like mentioned before Flash player penetration figures should be in a similar league as javascript enabled browsers.
    But with it’s consistent performance across different browsers I would say Flash is more accessible than an AJAX solution.
    If anyone have figures contradicting that I would only be happy to hear about them.

    Like I said it should be rationale that is the basis for what technology is considered most suitable for a project, not emotion.
    I love to hear rational arguments against the use of Flash. It encourages developers and Macromedia to resolve the issues.
    I might even turn into an AJAX developer one day….but somehow I just don’t see that coming.
    The more I look at the facts the more obvious it is that the future belongs to Flash.

    Aug 192005
     

    It’s nice to see more and more companies actually making use of the advantages technologies like Flash, FLEX and Laszlo provide.
    Many times when you discuss with the CSS/XHTML fanatics they seem to think that Flash is only good as a slimmer replacement for animated gifs or QuickTime video.

    It has for a long time amazed me that the web have been so restricted in the way it uses the medium considering the capabilities.
    It has the potential to be more exiting and involving than video and printed media, but in reality it’s rather been more basic and limited most of the time.

    Here is some sites that I think do a good job in showing the way in what the Internet is capable of.
    Most pretty much well known for anyone already interested in RIA, but I mainly wanted to compile a list of for people not so familiar with RIA applications.

    The Harley Davidson configurator
    Brilliant Flex app.

    Behr ColorSmart
    Laszlo seems very exciting and it’s nice to see a good example like this of it’s use.

    Colr.org
    Ok…I’ll include one AJAX app. It’s quite a neat little colour tool handy to play around with to find interesting colour schemes.
    Hmm…maybe should have used it before starting this site ;)

    Neave Lab Flash Earth
    Yes…I do find it more fun to play around with compared to google earth. Flash rules and AJAX developer is fools ;)

    Build your own MINI
    Another good example of a product configurator.

    Goowy mail
    Flash based webmail service.

    NIKE configurator
    Yet another good example of product configuration.

    Theban mapping project
    Egyptology site with a nice interactive atlas.

    Thats some favourite applications from my bookmarks.
    Please suggest more examples that I have missed out.

    Switch to our mobile site