From this tweet: http://twitter.com/azaaza/status/6508524118 I reach a website which is made completely in Flash (at least the front end).
alt text http://img704.imageshack.us/img704/3116/screenshotvz.png
It looks fantastic and it could have been written with HTML + Ajax, but I guess ( because I don't know much flash my self ) they site owners felt more comfortable with Flash and thought it would be easier ( once again, I guess this happens when you have thousands of flight hours with flash )
Judging by the status bar, it seems that most of the images and text are downloaded dynamically ( otherwise the flash file w开发者_开发百科ould've been too heavy )
Question(s):
What type of webapps should consider do all the frontend in flash?
Would it be easier? Yes/No, only if you suck at HTML+Ajax but you excel at Flash?
Is that for everyone?
When it should not be used?
I guess that an extra benefit is that you don't have IE+FF+Opera+Chrome+Safari compatibility problems
Would this be the next programming model for webapps front end?
Short answer: Don't create 100% flash websites. There are many compatibility and user experience problems.
To elaborate on this....
What type of webapps should consider do all the frontend in flash?
- Portfolio, temporary websites linked to an event... In my opinion it's ok to create a "full flash website" if the aim of the website is not to provide any information but more impress the user.
Would it be easier? Yes/No, only if you suck at HTML+Ajax but you excel at Flash?
- Well if you're good at flash it'd be easier to develop
Is that for everyone?
- No. As a web developer I can do flash, but I don't like flash.
When it should not be used?
- Imho, never. It always bother me when I reach a Flash website as it's annoying to find anything. It is also not accessible at all from devices like iPhone.
I guess that an extra benefit is that you don't have IE+FF+Opera+Chrome+Safari compatibility problems
- You have cross platform compatibility instead. Also people without flash can't access your website.
Would this be the next programming model for webapps front end?
- I highly doubt it. The new uses of html+javascript allows to create dynamic website without using flash.
Reasons to hate pure Flash sites:
- Doesn't work with mobiles / cell phones
- With most Flash sites it's impossible to bookmark a page or share a link to a page in the site.
- Keyboard shortcuts almost never work as expected.
- Weird scrollbars and other clever interface elements.
- Bad for SEO. I think Google has just started to index Flash content.
- Any visitor with a disability is going to have a hard time using a pure Flash site.
That's it for now.
Most of the answers here seem to be people stating that they "hate" 100% Flash sites (not only dislike or not recommend, just HATE like "omg flash sux lolz" kind of hate) and then providing a list of some really weak (and sometimes just untrue) arguments as reasons for that. Although I've addressed some of them in the comments, let me write here a recap of what seem to be here the biggest arguments against full Flash sites and why I don't agree at all with them:
- SEO and Deep linking/Bookmark Problem
SWFAddress. 'Nuff said. It has been around for years, but people still believe that it's impossible to deeplink or bookmark flash content, obviously because they have NEVER bothered to check it, or developed a Flash site and faced the problem (which has been solved for years, like I said). What I find funny is that most of the people seem to recommend/favor Ajax/javascript+XHTML to build dynamic websites... But Ajax content ALSO can't be deep linked, or bookmarked, or indexed by google, unless you use a workaround... which works for Flash content too!
Then, why many full flash sites out there don't implement it? I don't know, maybe is not necessary (like for a game site, an advertisment site... most of The FWA sites) or it could be just a lazy developer (see below).
- Accesibility:
First of all, Flash is very friendly to users with disabilities. You can check the adobe Flash accesibility page but I'll explain: Flash excels at presenting visual and audio content. It is really easy to build controls that change the font size, the contrast of the page, etc. for users that need it. I won't go as far as to say it's as easy to implement as applying custom stylesheets but it's really not a burden/hassle... if you need your site accesible, put your mind into it and implement things right (which is true for all technologies).
Also, disabilities don't only mean short-sighted or color-blindness, for example in my work we provide video on the web in sign language with syncronized text (not subtitles, a full wall-of-text) for deaf people and I really don't think it would be easier to implement using any other technology (and bear in mind I don't say it would be impossible).
- Mobile/Iphone:
To make things clear, it is just not true that Flash content does not run on mobile (that's what flashlite is there for, isn't it?). It is however true that, as for today, many systems (including the iphone) do not support Flash. Is this such a big problem? I don't think so, and please let me elaborate. If I build an awesome XHTML website optimized for 1024x720, with great javascript effects and pretty pictures, I assure you its going to show up horrible on a mobile device (if it even does). I attended a mobile web conference where it was said that the size of a website for mobile should never exceed 20kb... so good luck with that.
Most important websites implement an special site only for mobile, obviously in plain HTML... which is exactly the same you should do for a full Flash site. As for Flash on the iphone, when Flash CS5 comes out and suddenly Flash movies can be compiled into iphone applications, I really see no reason for apple to hold down the iphone flash player any longer. Although it doesn't really bother me, as I said, because I believe the way to go is a mobile-specific version of the web (or even iphone-specific).
To summarize: I find that most arguments aganist Flash are just grudges people hold aganist Flash, which are based on myths that have been around for years but really don't hold true anymore. Many of the arguments apply just the same to bad XHTML/Ajax sites, so most of the time, critics refer to just complains aganist poorly-built Flash sites, so sucky/lazy Flash developers are the ones to blame, not the technology (and the fact that there are many Flash developers out there that come from design and/or don't have a programming background doesn't help at all).
I'll now answer the proposed questions from my perspective (that of a Flash developer):
- What type of webapps should consider do all the frontend in flash?
From the top of my head:
Sites to showcase or advertise a spectacular product, like a car, clothing etc. When you want to impact the user with awesome views and interactivity, Flash is by far the best.
Artists porfolios: webs for photographers, musicians, etc. where the artist's work has to be integrated in the site.
If you are a Flash developer/work for a Flash developing company, building a full Flash portfolio site makes a lot of sense doesn't it? ;)
In general, any site that is more about user experience than data. Please refer to the master Keith Peters from bit101: Flash, what is it good for?
Would it be easier? Yes/No, only if you suck at HTML+Ajax but you excel at Flash?
Depending on your needs, Flash very well could be the only tool. Some of the things that are not complicated to build in Flash would be a nightmare to develop in XHTML. Anyways, if you suck at HTML+Ajax, you shouldn't be developing web apps, should you?
- Is that for everyone?
Hell no. Even I agree that a web consisting of only full Flash sites would be a horror for everyone (except for adobe, I guess).
- When it should not be used?
I would say that when the site you're building is none of the above :P Absolutely not when text (information) is the most important part of the site.
- I guess that an extra benefit is that you don't have IE+FF+Opera+Chrome+Safari compatibility problems
Yes, it really is, not only an "extra" benefit but a really huge one.
- Would this be the next programming model for webapps front end?
This is a tricky question. I really don't see this is a war between 100% Flash/Flex vs 100% XHTML+Ajax sites. Flash/Flex is not there to substitute HTML, but it is a great complement to it. Always use the right tool for the job, and use any technology (or mix) you need as long as you use it wisely. I find it would be equally foolish to implement the wikipedia or your personal blog in Flash, as to build some really spectacular theFWA-style site using XHTML+Ajax.
Sorry for the huge text, and thanks for reading! Looking forward hate comments ;)
Personally, I hate websites that are nothing but a page with a flash movie on it. They degrade TERRIBLY for things like mobile browsers, not to mention a lot of the time they either a) use Flash for no good reason, just pointless visual effects, or b) violate UI standards by implementing custom UI widgets that don't behave as one would expect, et cetera.
I would say this is never a good idea. 100% flash sites impair usability (no browser-provided text resizing, can't use tools that automatically read text) and you need extra work to make your site be well positioned on search engines (altough Google has done some work to solve this).
The main problem with flash sites is that people without flash installed can't use your site! This instantly rules pretty much all mobile users (although arguably you should have a different site design for mobile users anyway).
It does depend (to a certain extent) on your audience, however if you want to reach a wide audience then you should provide an alternative html based site for those people who don't use flash. My view is that if your going to produce a html version anyway, why do the same work twice?
With a vast number of users accessing the web via 4 square inches of mobile phone screen or 20 square inches of netbook, assuming your user is sitting in front of a large screen with a powerful graphics processor installed is just plain silly. (I know you can customise flash for small screens but in practice it seldom happens or works as expected!).
TO say nothing of any sight impaired customers you may have been trying to reach!
Stick with standard html and css and let the browser handle any unexpected presentation issues.
Everyone here seems to agree that Flash is the worst thing you can do when it comes to developing something for the web. I have to disagree a bit.
Of course, Flash is almost always the wrong choice, when it comes to standard websites, which can be quite easily done in standard HTML and CSS. But when it comes to applications just being accessible via the web, its quite a bit different.
So, my recommendation would be, that if you are going to develop an application, which just happens to be accessible via the web, Flash is probably the better way to do this (and Silverlight or JavaFX would be too, if they were available on most browsers out there). Of course, most of what can be done using Flash, can also be done using HTML/CSS/JS, but they are just not made for that purpose.
Flash is kind of breaking the way the web works. People use it for a number of reasons:
- They're doing something that would be impossible or prohibitively expensive without Flash (like 3D or some games, video)
- They don't know how to do it with Ajax/JS, or they don't know how to do it.
- A client says that it needs to be done in Flash.
You do see a lot of cases where the Flash adds nothing to the User Experience of the site, but some sites genuinely do something inventive with it.
You need to make an extra effort when you use Flash to provide access to people with disabilities/site problems, and for search engines (but this can also be a problem with ajax sites too), as well as enabling the back button and allowing bookmarks. Most sites that have a frivolous use of Flash usually don't make this effort.
If you identify an area of your site where you decide Flash provides the best solution, then use it, but just be aware of all the drawbacks.
To me, this is less about a particular technology and more about how accessible you want to be. I had built a website around 5 years back which ran only on the latest version of IE, required JavaScript, and ran only on certain resolution and window sizes. While it looked snazzy on my desktop, it fell flat on its face at a potential job interview where I wanted to showcase my work because the interviewer was running it on a laptop.
The learning I took from that experience was that if you want to build anything that might have to work outside of a very well-tailored environment (which is all web apps and company/personal portfolios), you have to cater to the lowest common denominator.
When you are debating the Flash vs. HTML route in your mind, ask yourself what benefits you will potentially gain out of going the Flash way and whether those benefits are worth losing potential customers over when they cannot view your content. In some cases it might be worth it (video or graphics-intensive games come to mind). But most of the time, you'll find that HTML suits your needs just fine.
All Flash is bad because of:
- Difficulties when using mobile
- Difficulties for visually impaired users (Text resizing or screen readers)
- Difficulties with search engine indexing
In my eyes the number one reason not to do Flash only sites:
You are going to reproduce a lot of the functionality the browser (and your OS's standard UI elements) already provide and you are never going to do this correctly:
- text selection will not work
- therefore copy & paste will not work
- text search will not work
- page up / page down / the mouse wheel / clicking into scroll bars will not work
- the browser history will not work
- users will not be able to create deep links
These problems above affect every single user of your website, even if they're not visually impaired, don't use an iPhone and have Flash installed.
Use Flash for single elements on the website that cannot be done any other way.
精彩评论