Why your Flash website sucks
glyphobet.net
glyphobet.net
We want to compete against established desktop software. UI is critical to us, and there's no way that an html-based UI is going to be as slick or performant as what we could do in an installed program. So the prospect of getting a richer and (presumably) easier to program UI out of Flash was very enticing. Yet in the end we decided against it.
What settled this in my mind was asking, How central is the web to what we're trying to do? Do we want our app to work roughly the way a website does? Is it natural to model it as a series of "pages" represented by URLs, connected by hyperlinks, and so on? Or is this an artificial imposition on our problem?
In our case, the question has a clear answer: making our product work roughly like a web site is key. In fact, the more it works like a website the better: our users need to navigate complex graphs of information, and the web is the established model for that. We want our new stuff to work in a way that users are already familiar with (albeit from a different context, namely web surfing), so as to keep their learning curve as low as possible.
So "webbiness" is an essential part of our product, which should therefore speak the native language of the web. The last thing I wanted to end up having to do was write an ad hoc, informally specified implementation of half of a web browser in Flash. Users would know that they weren't looking at "real" web pages, and it wouldn't feel right. So when I hear about people hacking their Flash app to support URLs and so on, I feel relieved we didn't go down that road.
On the other hand, the decision we did make has caused our programming efforts to become swamped by the minutiae of divs and doms and Javascript. We're hacking a platform that was never intended for what we're building. That sucks, too. And it has slowed us down. But I will say that making this work, and work well, in a web browser has been exhilirating.
Edit: the other thing I wanted to point out is that this webbiness criterion also holds if you look at the successful Flash apps: games, video, photo editing, and so on. These are not problems where it would make sense to structure the solution like a web site. I'd be interested in hearing counterexamples to either side of this.
I actually think the mixing of content and interaction that web applications have become is incredibly powerful - I think the idea that we'll prefer desktop style buttons and widgets over text links is wrong, very very wrong. And I think that's where most of the reluctance for flash apps comes from but people don't recognise it. Also web pages progressively load by default and thats important.
On a purely programming tip, actionscript 3 is a joy to program in. The flex components are good.
This excellent quote summarizes the article nicely, and explains why good graphic design is so often at odds with good user experience design.
I think the author of this article is being unnecessarily mean with the author of that website. He has a point, but that's not the way to tell it IMHO.
I don't want to live in the world, where I will be forced to install Java(FX), Flash and Silverlight (all fatty runtime downloads) in addition to perfectly fine HTML/CSS/JS.
Think of how much pain will it be (already is) to introduce new and innovative web-hardware, like an iPhone. You'll be at mercy of Adobe/Microsoft/Sun to release their stupid players for your architecture. And yes, by the way, Adobe prohibits you from reverse-engineering their player.
I understand the sum of personal choices can generate a problem for the general population, but in any case you can't attack the individual choices: you can't either regulate them by law (as in many other cases where individual choices get regulated for society's common well), or just let them be.
You're right that one can't fault a guy too much for picking the tech. he likes best, but it's hard not to have a certain distaste for someone who's actions, however slightly, move us closer to a day when we'd be forced to use proprietary tools/protocols/servers to perform most tasks on the Internet.
As developers with this view, of course, all we can do is work to make the 'open' alternatives as attractive as possible. Calling people 'assholes' isn't helpful. Cathartic, though.
I unistalled my flash player, and it would take a compelling application indeed which has no HTML/CSS/JS equivalent to induce me to reinstall it.
if you are going to adapt something for a new media, you should do it because you can provide an exponentially better interface than HTML can provide.
HTML sucks at vector graphics, file unloaders, consistency, user interfaces, animation (although this is getting better), creating playful experiences.
Flash on the other hand flash is a perfect complement for HTML, its good at vector graphics, file uploads, consistency, user interfaces, animation, and playful experiences.
Both flash and html suck at taking advantage of any computer built in the last 2-4 years, and are missing the emerging web of 3d, and semantic applications. Cross domain policies are making it harder to design web apps than it needs to be.
Sure if you only have text and images, you might want to use html/css instead of frustrating your user, but there are many sites which fully utilize flash in an efficient manner.