js meetup, jon boutelle: Flash or Ajax?
Jon Boutelle of slideshare.net spoke at the JS Meetup last night. He reported a refreshing perspective about the choice between Flash and Ajax on websites today: you quite possibly need both. He made the analogy to having a hammer and a saw -- you need both to build a house. (By the way if you haven't checked out slideshare is is way cool. See a collection of Jon's presentations or mine). Notes below:
Keep Flash on a leash, only use it for what its really good at
- you have to work extra to get SEO -- slideshare puts the transcript of slides at the bottom of the page
- Jon finds that load time on average is worse in Flash (He note: Javascript can be fat too. I find it depends what you are doing -- raw script execution and http requests are much slower than the browser, but you can bundle up a bunch of code & graphics in a SWF and get better performance. Still I wouldn't choose one or the other based on performance.)
- advocates Flash nuggets -- I love this term!
- Full screen is nice -- use it for good, not for evil
- invisible Flash -- you might not even know you are using Flash. Used in some Javascript libs
- - graphics goodies: fonts, vectors, multimedia, recording audio/video, multimedia editing, widgets (don't worry about layout, but SEO sucks)
- - upload progress bars
- - sockets! comet is cool, but server-side push -- libraries w/ Ruby (443)
- - local dataObjects "super cookies" -- you can ask the user to save 1GB
- - Flex: 125KB download for the framework
Javascript cheap tricks (not quite AJAX). Javascript 101 -- you don't even need to hit the server (although maybe you should if obscured stuff is seldom used)
- tabs (conserve real-estate)
- Accordians (aks Tab sliders) -- like tabs only sideways
- Microlinks - expando-tabs
- One second mutation -- animated transition: control the user's attention, they see that the small thing becomes the big thing
- Popups -- use with discretion, since you occlude part of the screen
Javascript Cheap-ish Tricks
- Malleable content (e.g. edit in place)
- progress indicators
- One second spotlight, famous yellow fade popularized from 37signals, tests well, makes people happy
- Temp message: show message, fade away: don't leave a permanent mark on the page (sometime doesn't test well since people miss it)
Conclusion:
What the world needs is Ajax/Flash cross-over artists. Flash doesn't kill people, people kill people. Can't we all get along?
Q&A
Q: geni.com -- could that be done in Javascript?
Answer from the audience: zooming would be hard in javascirpt
Posted by Sarah at June 6, 2008 5:50 AM