Ajax and the Ken Burns Effect
An anonymous reader writes "IBM DeveloperWorks has an interesting project posted that shows how to design a client-side slide show using the 'Ken Burns Effect.' From the article: 'If the Web 2.0 revolution has one buzzword, it's Asynchronous JavaScript and XML (Ajax). [...] Here, you discover how to build XML data sources for Ajax, request XML data from the client, and then dynamically create and animate HTML elements with that XML.'"
"In his documentaries, Burns often gives life to still photographs by slowly zooming-in on subjects of interest and panning from one subject to another. For example, in a photograph of a baseball team, he might slowly pan across the faces of the players and come to a rest on the player the narrator is discussing. ... This technique came to be known as the Ken Burns Effect, even though he did not originate the technique, and has become a staple of documentaries, slide shows, presentations, and even screen savers."
Ken Burns effect in Ajax: Use good ole DHTML and XML to whip stuff around on your screen. Or as the link says "I animate the images with random slow moves, zooms, and fades to give a pleasing version of the Ken Burns Effect without having to download Macromedia® Flash or any other heavyweight animation tools."
Funnypics
It's Exxxcellent.
The use of AJAX technique in that example is spurious, at best. It's almost sad, really, since that's probably the only reason this article was accepted.
Slashdot - where whining about luck is the new way to make the world you want.
Yes, AJAX is great. Of course, the XML bit of it gets in the way, it's simpler to just grab the appropriate HTML or Javascript code directly from the server. Why write something that outputs in XML, then write client-side Javascript to re-interpret it and run javascript code or create HTML? XML is just a complication for most tasks.
Speak before you think
I still definitely refrain from Ajax like hell. The concept of delivering the load to client's computer whereas being subject to limitations of the visitor pc, and the risk of not being able to deliver the content as wanted or even at all, is one too big to take. Processing everything server side, and printing out just plain old HTML formatted result to a client pc, thus bypassing all overzealous anti-virus, privacy, anti-spyware and security software and any limitation the client pc has, is the surest thing to do, dont you think ?
Read radical news here
Where are the sepia tones, jazz soundtrack, and pedantic voiceover?
Tom
Innovation makes enemies of all those who prospered under the old regime... -- Machiavelli
Ken Burns effect? What, it takes 10 hours to get through the thing?
This is poor advice. First you GET. Did you even look at the article?
Alan
Render the page server side as an image? So you presume the client has image capability?
I think that for to long we have tried to include everyone. Bending over backwards to support crap browsers with broken functions just to make sure nobody was left behind. Well fuck it. At a given point you must just be able to say, "upgrade or our site won't run".
If you don't the price is going to be that other people can move ahead and use new technologies while you are stuck with an ever dwindling but always present group of people who still use the same software from a decade ago.
Ask yourselve if this is normal in the real world.
Old cars can't run on modern petrol. Yet how many gas stations keep an old pump around for cars from before WW2? Try to get some polaroid film from your average camera store. A lp player from a highstreet electronics store.
Get the picture? So why on earth are we still worried about people using browsers 2 generations out of date.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
First, I will say this is a pretty slick piece of work. But the actual rendering (download the example and give it a shot) is nowhere near as smooth as what can be accomplished with an iPhoto slideshow, or with Flash.
I'd guess this is due to inefficiencies in the browser itself. I've seen similar issues when I've played around with animating multiple text objects (moving, resizing, and changing opacity) in the past.
#DeleteChrome
This is why Gmail has an alternative to the Ajax interface , and you can switck to HTML mode , and it just removes the AJAX dependant features :e r=15049)
* Filter creation
* Settings (Including Forwarding and POP)
* Spell checker
* Keyboard shortcuts
* Address auto-complete
(from http://mail.google.com/support/bin/answer.py?answ
Google really sets a fine example here by letting users choose what kind of interface they prefer , even though they could easily just ignore these users, as I personaly dont know anyone that uses this feature . Making a dual interface for AJAX applications on all these fluffy Web2.0 sites is a good idea , specially for mobile/light clients like that 100$ laptop
My Starcraft 2 Blog
it's tough to show you what this looks like in a browser, when i'm plainly viewing it... WITH A BROWSER?
wtf?
This comment is fully compliant with RFC 527.
They're onto something here, but they botch a very important step: what they do with the XML once it's returned. Instead of generating the HTML through Javascript as they do, it makes much more sense to use XML transformations.
I've taken the dive into Ajax recently to do dynamic in-page searching. For a web-app I develop for my work, on a particular page the user needs to select a client (from the thousands we have in our database). I have a spot on the page where they can provide search criteria for the client they want to select. I perform the search with Ajax, display the results, and the user selects which client they want to pick.
I've found the the step of displaying the results can be slowest step. At first, I had the Ajax function return a JSON associative array containing the data. I would then loop through it and create the HTML I needed through Javascript (much as they do in the linked example).
However, if something along the lines of hundreds of records were returned, the client's browser would freeze for a period of time (depending on the performance of the client's machine) while generating that HTML. This became unacceptable.
The superior way to display the results is with XML transformations. Beleive me, it's a monumental difference, and if you're doing something like I was, you should look into it. Have the Ajax function return XML, then use an XSLT style sheet to transform those results into the HTML you want to display. It's super fast, and worth the trouble.
On my home server (may be a tad slow), http://toveling.dyndns.org/kenburns/
This is the animated equivalent of chartjunk. It does not improve a bar chart to make the bars look like Cuisinaire rods instead of rectangles. It does not improve a slide show to move and zoom the pictures in random directions.
This is a silly demonstration of technology for technology's sake.
"How to Do Nothing," kids activities, back in print!