web animation 2 :: scripting

Avatar

interactive arts + media :: spring 2008

ShareThis

category: uncategorized — posted by: daniel mackey

ShareThis

Posted using ShareThis

week fifteen » project two presentation // analysis // review

category: weekly notes — posted by: daniel mackey

final project // object of your choosing ::

  • submit url in comments
  • upload the source files to FTP on edu.danielmackey.com (see below)
  • get ready to present your project to the class
  • turn in your notes/diagrams/paper

presentations

  • walk us through your project
  • how is it built? what classes did you make? how do they work?
  • explain how you used the 2 technology requirements

week fourteen » flex ria’s // adobe air // working time

category: weekly notes — posted by: daniel mackey

homework

  • project two due next week
  • class feedback email

source code

what’s an RIA?

before we get into what flex is and what it can do, we should take some time to examine what a RIA is – a rich internet application. the term RIA has been around for years and carries a lot of baggage with it, but essentially what an RIA stands for is a web-based (browser) application (tool) that behaves more like a desktop application than a website. so that covers the IA (internet application), but what makes it rich?

the word “rich” in relation to the online world does not refer to the total net worth of google, but rather it’s “rich” interface – ie. lots of graphics, animation, video, audio. another calling sign of an RIA is it’s ability to perform updates to the display (screen refresh, new data) without making a full new page load. it provides a much faster, responsive user experience that can mimick the speed of a desktop application.

now, not all RIA’s are flash/flex based. AJAX, a combination of asynchronous page loads, javascript libraries, and XML http headers, can provide a similar RIA experience without using flash at all. there are AJAX libraries out there, such as script.acoul.us, prototype, yahoo user interface (yui), google web toolkit (gwt) that can provide similar features/components that a flash/flex RIA can, so it’s possible to pull off a similar application experience in AJAX. some web frameworks, such as Ruby on Rails have built-in hookups to these libraries (scriptacoulus and prototype) to make using them easier

it’s worth noting at this point that when you venture out into the web world, you will find two general camps of people – those who push flash, and those who push non-flash. there are valid arguments on each side of the fence, and there are projects that lean themselves to one form over the other. here’s a simple redux of some of the pros/cons of each technology.

flash/flex

  • pros: really rich, consistent across all browsers, self-contained, advanced effects, can handle more complex application logic on client-side.
  • cons: very difficult to search index (SEO), complex solutions for “deep-linking”, lack of built-in support for back-button functionality.

ajax

  • pros: easy to search index (SEO), uses existing browser-based technologies (back-button works, linking works), no additional plug-ins needed (ie. flash player installation).
  • cons: limited richness, can be buggy in different browsers, limited effects, application logic must be stored on backend because source is viewable.

so, now that we know what an RIA is, let’s see some examples.
• adobe’s kuler (flash)
• google docs/maps/gmail (ajax)

more…

week thirteen » advanced animation // drag and drop // working time

category: weekly notes — posted by: daniel mackey

homework

  • read Animation AS3, chapter 7 (pdf)
  • work on project two

source code

advanced animation

easing
oh, the blessed ease – making our transitions ever so softer. last week we lightly touched on the built-in easing equations/classes originally developed by Robert Penner. the easing classes that are built-in work wonderfully with the Tween class as well as other 3rd party tweening classes (TweenLite/Max or Tweener), but fall short when it comes to any custom motion you plan on defining with your application.

the key to easing is proportion – moving a smaller amount of the total distance over time, or a percentage of the total distance over time. the key to easing is in that sentence - difference over time. we can calculate the difference by subtracting the current location from the target location. then we take a fraction (percentage) of that distance, and move that amount. the next frame/second, we calculate the next difference and move a fraction of that. since we’re dealing with time, we can use an ENTER_FRAME event or a TIMER event.

 more…

week twelve » principles of animation // animating w/ code // oop animation

category: weekly notes — posted by: daniel mackey

homework

  • homework: read “Animation” Ch 6, 8 & 9. (pdf)
  • work on final project

source code

principles of animation

it may be a gross simplification of true animation, but from a purely technical point-of-view, animation can be boiled down to the movement and transformation of some object over time. it’s purpose is to convey motion that may mimic or exaggerate real-world motion. most of you have worked with the flash timeline using motion and shape tweens, guides and keyframes to handle animation. some of you have even already ventured into the world of controlling animation with code using the Tween class or simple ENTER_FRAME event listeners.

more…

week eleven » xml // css // external data

category: weekly notes — posted by: daniel mackey

homework ::

source code ::

so, we’ve talked about making our objects more independent and having them communicate using events. we’ve talked about having them have their properties and methods be encapsulated inside themselves only. we’ve made some great ground on making our flash projects much more flexible and reusable. today, we’re going to add even more flexibility by feeding our projects with data from XML, styling it with CSS, and adding params/variables to the SWF from HTML. each of these tools will give us greater control of what our flash project shows without having to reopen our flash files and re-compile the applications.

more…

week ten » xml // css // dynamic data (cancelled)

category: weekly notes — posted by: daniel mackey

homework ::

  • read Foundation AS chapter 11
  • project two planning work
  • please post a link to your video player extension in the comments
  • please scan/digitize your planning for your final project and email them to me at dmackey@colum.edu, or post in the FTP dropbox / week 10. check your email for FTP info.

source code ::

so, we’ve talked about making our objects more independent and having them communicate using events. we’ve talked about having them have their properties and methods be encapsulated inside themselves only. we’ve made some great ground on making our flash projects much more flexible and reusable. today, we’re going to add even more flexibility by feeding our projects with data from XML, styling it with CSS, and adding params/variables to the SWF from HTML. each of these tools will give us greater control of what our flash project shows without having to reopen our flash files and re-compile the applications.

more…

week nine » working with media // player controls // video

category: weekly notes — posted by: daniel mackey

homework ::

  • read Foundation AS3 chapter 7
  • continue working on the video player built in class
  • project two planning notes/documents

source code

working with media

as we learned last week, both audio and video assets, if not very small, should be loaded externally, meaning that they are not compiled into the original .swf file, but are loaded in once the SWF requests them. we use the NetStream and NetConnection objects in order to access and control these media files. let’s spend a little bit of time understanding each object’s role when dealing with external media.

more…

week eight » working with media // embed vs. external // audio

category: weekly notes — posted by: daniel mackey

homework ::

  • read Foundation AS3 chapter 8
  • project two proposal due week 9 (after spring break)

source code ::

working with media

the flash player owes much of its existence to it’s ability to playback media (audio and video) in the browser. when web first got audio, it was usually in the form of cheesy MIDI files being autoplayed on Geocities websites. i remember the first time i went to a webpage that had audio, i had forgotten i even had speakers attached to my computer (most of my music played through my boombox or cd walkman). MIDI was chosen because it had a very small file size but lacked in it’s authenticity to the actual audio file it was pretending to be. other means of early web audio were wav files embedded with quicktime players.

both of these early forms, however, had one fatal flaw – the exposed the actual audio file. as more people plugged into the web, getting music from a webpage was a simple as right-click > view source and grab the audio URL.

flash media players took that option away from “would-be” takers. since the .SWF file did not expose any code or assets, users couldn’t find where the audio files resided, whether they were embedded internally or streamed externally. all of a sudden, bands jumped on the bandwagon (ha) and made flash websites that contained audio players to showcase their music without “giving it away.” there are now tons of audio (and video) flash media players that offer a variety of interfaces, functionality, and flexibility. sites like myspace, virb, last.fm and purevolume all use flash as their main tool of distribution of music without exposing their artists to “pirated music.”

more…

Protected: week seven » project one presentations

category: project, weekly notes — posted by: daniel mackey

This post is password protected. To view it please enter your password below:


Next,