ARFS
Why you should NOT use Flash on your website

Back to main page

Article by Raphael Champeimont (Almacha).

Why not use Adobe Flash

It is not a web standard

HTML, XHTML, CSS and ECMAScript are web standards. That means that an organization (The W3C for HTML and CSS) has written a specification, which is a document describing the language. For example, the HTML 4.01 specification says that the <h1> tag means "begin of level 1 title". Standards are important because different vendors can implement the same standard. For example, with browsers, if an author writes a website using HTML, the different browsers (like Firefox, Internet Explorer, Safari, Opera...) will be able to display the website because they all implement the HTML specification.

The problem is that Flash is not a standard, it is a language developped by Adobe (Macromedia before), which also writes the program that is necessary to read it. While HTML, CSS and ECMAScript can be read directly by a browser, Flash requires the Adobe Flash Plugin to be installed. If a website uses Flash, you are obliged to install this program (you cannot do like with browsers, choose the program you want).

It requires proprietary software

If you use Flash on your website, you oblige people to install proprietary software on their machines. This is a problem because:

Use of Flash is discriminatory towards some users

Making a website in Flash goes against the real progress of the Web

Modern Web standards: HTML with CSS

With HTML 4, a new idea was introduced: semantic HTML. HTML 3 was used to describe the meaning of pages, but also their appearence. Starting with HTML 4, authors should now use HTML to specify the meaning of their pages. For example, HTML 4 lets you say "here is a title", "here is a paragraph", "I want to insist on that word", "this is a list" but not "this is writtent is red", "this is italics", "this is written with a big font". For this latter things, a new language was introduced: CSS. CSS lets you say "when I insist on a word, I want it written in red", "titles are written in blinking blue with an orange background", "links are pink and underlined".

This new concept has many advantages:

Going backwards?

Future HTML version, HTML 5, will go further in this "semantic Web" way. But using Flash to write your website goes the other way, the way of everything based on visual appearence, against interoperability and modularity.

Writing a website completely in Flash is bad design

Even for users able to use Flash (using a supported arch and OS, and a visual browser) it can be annoying tu read a website written in Flash for the following reasons:

What you should use instead

For content: HTML (or XHTML) and CSS

The best is even to use semantic HTML as desribed above. HTML is a widely implemented standard. A website written in HTML will be readable by anyone, whatever the type of browser (visual, speech synthesizer), the OS (GNU/Linux, Windows, MacOS, OpenBSD...), the architecture (PC, Mac, SPARC, cellphone, PDA...) and the software (Firefox, Safari, Internet Explorer, lynx...). For the visual style you should use CSS.

For interactivity: ECMAScript and CGI

By CGI we mean any sort of server-side programs that generate dynamic content. CGI lets you write programs that give the user a page with content generated dynamically for him. CGI programs can be written in any language (PHP, Perl, Python, Ruby...). For exemple wikis use CGI programs to display content.

ECMAScript (often called JavaScript) is a way to create more direct interactivity, by embedding programs directly in the HTML code using the <script> tag. This is used in what is called "Web 2.0" sites. ECMAScript is already a standard, and its interaction with HTML objects in being specified in the future HTML 5 standard (but it already works!).

For complete applications like games: Java

If you want to write a complete program, you could use a cross-platform language like Java, which allows you to write applets (program embedded in HTML pages). Note that this is completely inappropriate for writing the content of a website (it would have the same problems as Flash). This is more for example to write games playable directly on a website. Java is better that Flash for this because:

For video: <object> or simply a link to the file

If you want to make a video available you can insert it on a HTML page using the <object> tag. You can also simply make a link to the video file. HTML next version, HTML 5, will provide a new <video> tag to improve video embedding.


$Id: flash.cgi 183 2008-04-01 19:09:50Z almacha $

This page is in the public domain. You can copy, modifiy and redistribute it freely.

Available languages: