WWDC2003 Session 722
Transcript
Kind: captions
Language: en
hi everybody let's get started I'm Glen
bullet on the QuickTime team you're in
advanced QuickTime interactivity OneNote
housekeeping note the feedback forum for
QuickTime ever-popular has been moved
not to cupertino but to the marina room
so our speaker today you know really
doesn't need an introduction in the
QuickTime world Michael shafts and some
amazing work and is recognized as one of
the leaders in in delivering and helping
developers create applications and then
also helping content folks put out the
most interesting interactive content
there is you know he's the only person
here who got special dispensation on the
shoe requirement and so he's allowed to
wear special sneakers so I'll let him
get started and if we could keep the
questions till the end and during the
Q&A if you would please use the
microphones and tell us you know your
name and what company are with and speak
really closely to the microphone so that
the translators can accurately translate
your question and Michael can answer
appropriately thanks Michael with my
loud note back there good excelente so
we are going to be talking about
quicktime interactivity today and what
advanced means i've come to realize is a
bit of a range shall we say so i'm
actually going to start off maybe not
quite advanced we're going to work our
way over to there all right so i'm going
to start off with the tool what i use a
whole set of tools i should say but the
tool that I use to integrate media is
live stage probe the current version for
one is a personal favorite of mine and
it's a personal favorite of mine for
many reasons but I personally am
somewhat lazy so i really hate to work
hard on something that I've done many
times before probably many of you are
the same way and so totally hip got
together and they thought well how can
we make developing quinter quicktime
interactivity easier but still let
people like me
do all sorts of strange and crazy things
to it and the idea came about to do what
we call fast tracks and fast tracks
allow you to create advanced
interactivity but not have to be a
rocket scientist not have to be a
gearhead or a script monster and let me
show you some of this stuff I'm going to
start off by creating a skin fast track
and I can do that a couple ways I can
click on this bar right over here that
will bring up a a editor for doing work
with skin fast tracks and automatically
quicktime excuse me quicktime live stage
pro has already put in some default
Media not some of my personal favorite
media so I'm going to bring in some
other media look I've got special media
just for this event WWDC theme down here
and you'll notice I have a folder down
in my library window called skin now
it's a couple ways I could do this I
could bring in my media one piece at a
time and I can say well is this a window
shape note is a drag area nope is it my
skin background yes definitely and right
away it gets replaced or I could bring
in the entire folder fast track for
skins has a close button it's very
valuable to put a close button if you're
going to use the skin no close button
confuse users confuse users are rarely
happy so what I'm going to do is I'm
going to grab on to this whole skin
folder I'm going to bring it over here
and I'm going to drop and poop
everything gets swapped out for me I now
have a new new close button I'll grab
that and drop it over here and I've got
a new full screen button and I'll grab
that note the stage kind of rolls around
for me and you'll notice that as I move
things around there's a lot of
information about what's going on and
these are new features to live stage pro
version 4 we thought go figure designers
would like to have this information
rather than have to calculate it out on
their calculator so I'm going to zoom
out and a lot of these in
instructions are just like you would
expect from Photoshop if I hold down my
spacebar I get this kind of what I call
an active scrubber and just like in
Photoshop if I hold down my option key I
can do the toggle between zoom in and
out we've tried to make the tool as much
like the tools that you're already using
as possible reason we don't want you to
work any harder than you have to there's
a lot of space and quicktime
interactivity let's focus in on the
things that you bring to the table that
are unique and not have you jumping
through all types of new hoops so once i
have done this i can close that out and
i can see my stage over here and zoom
out on that one as well scrub around and
zoom back up now that's good that's a
help but what about the rest of the
stuff that I may want to do well okay
someone took away my outline that's bad
because amongst the many things that I
am is forgetful so I'll be able to
handle it but we might skip a point and
I might come back so what I'm going to
do here is I'm going to grab another
fast track this one dealing with linear
media linear media control I could
either create it from here menu and I
can come my own here and say plus going
to let me do a playback controls fast
track believe it or not I have used the
application but we have built in a lot
of redundancy so there are different
ways of working with live stage pro just
as there are different ways of dealing
with quicktime so I've created a linear
control that has has a beginning go back
to the beginning rewind stop play fast
forward and end and all those are
pre-scripted for you so if i look at my
stage I can grab on to my linear
controller and drag it around or as I
showed you some
prematurely I can just grab on to a
control and move it around in here and
it will automatically resize the track
for me once I've done that I'm going to
bring in some not surprisingly some
media that that I'm able to play I'm
going to find some video and then I'm
going to bring out the hip bot he's
brought out quite a lot so I dragged him
on the stage and again you can see all
these annotations now I'm going to do
something that I've done myself
accidentally a number of times those my
knowledge Oh Jim you are a savior thank
you very much so I bring back in close
button and I'm going to try this out so
I press the play excuse me i press the
preview which does a preview inside a
live stage pro and you can see i can
drag this skin around and now I go over
and I click on the close button and
nothing is happening and i've done this
i can't tell you how many times have
done this wrong and the reason is that
my drag region the region that allows me
to drag the window is a key component to
a skin so what I'm going to do is I'm
going to turn on the stage show me where
that drag area is and you can see it's
right here at the top right where I put
my close button so first mistake that or
the first thing you want to check for is
when you're placing your controls is are
they in an area that the window is going
to be dragged from if so move them
because they won't work I'm going to
grab this I'm going to put this right
over here and drop it I'm not going to
do too much aligning because I bet you
folks believe that I can align things
and you don't want to watch me doing it
so once I've done that let's do another
preview and it builds that back up again
and in a moment I can both drag and of
course i can close but i don't actually
want to close quite yet
when you use these buttons just to prove
that it can be done sorry Ryan I didn't
max that out before you kill me okay so
I've got these all the way up and you
can see these works just like they
should and that close button works now
that would be great except for one thing
let's say that I was trying to learn the
product I actually wanted to understand
not only how the product worked but I
wanted to learn how to do this stuff
myself what we've enabled you to do is
click on a fast track and ask it to be
decompiled now no bits are going to go
flying off the screen so no one has to
go running in any panic and notice it
changed my fast track down here from one
color to another and it also changed its
icon over here to show me that this is
now a sprite track will be talking some
more about the timeline on the bottom
when I open that up I can see each one
of these control and exactly how they
were scripted so for instance if I want
to know how we're doing the fast forward
I can just click on it take a look at
the script and find out that onmousedown
I'm doing this script not going to focus
on this particular script right now I'm
going to just focus on the fact that you
can use the product at a high level for
building fast tracks and we have a
number of features that that can be
built just in this drag-and-drop fashion
and then once you get comfortable with
them you can dive in and learn for them
or you can easily eat also use them as
the basis for extensions that you're
going to do and far from just being a
basics for beginners these are great
basis for cutting down your time and
production and i'll be showing some
other methods that we've built in to
tote into live stage pro for making
things faster and easier as I've often
times told Steve Steve Israel sin being
the lead architect of live stage pro we
on live stage pro to drive like a sports
car like that need BMW car don't want to
actually drive like one of those big
diesel trucks all right so I've showed
linear media and fast tracks a lot of
new features came in on live stage 4.1
and I would be remiss if I did not tell
you that there is a special discount for
all of you folks out there and any
attendees of this session guia
calculated it out I think it's a sixty
percent discount or some odd from the
list price what I'm going to do is show
some of the new VR features inside of
live stage problem going to grab on to
let's do this cubic right over here i'm
going to drag and drop that actually i'm
going to kill that and i'm going to turn
off a six-stage there's two different
ways of viewing the stage in my mind in
live stage pro you can have it as a
sixth stage in which case if you have
already designed out your skin and you
know exactly what the sizing is going to
be you can enter that sizing right in
here and it's all locked down handy but
oftentimes you want the flexibility of
having a dynamic stage where you can
just move things around freely in the
stage will automatically adjust for you
I like dynamic things so I'm going to
turn off sixth stage so I've turned off
fixed size and I don't want an extra
background put in so I'm going to turn
that off as well I'm going to grab on to
this cubic and I'm going to drop it in
there okay we've got a cubic it marks
down in the timeline that it is a VR and
I have one node in that I can go out
here and stretch its duration which
occasionally you want to do if you're
trying to match it up to audio that's
going to be in the background I'm going
to open it up and we have a brand-new VR
editor with more features than I could
tell you in several hours so I'm going
to focus in on some of what i believe is
a keys first off
I love a number of the stitchers that
are out there however when i create vr
it's not always going to be used the
same way each and every project
sometimes I'll want it to be one way on
one project and another way on another
but I'm not going to want to go back to
the original stitcher and redo all that
work so what we did at totally hip was
we looked at where that threshold is and
what we figured was one of the things
you'd like to be able to do is set in a
new initial view so I'm going to have my
initial view be pointing over here it's
very difficult to do once I've found
where I want to be able to zoom in a
little bit I'm gonna set that as my
initial view automatically get set and
now when i open up this movie this will
be the first view that i see even though
the original stitcher put it out in a
very different view the next thing that
we wanted to be able to do was create
hot spots inside a VR so that you could
have a beautiful stitching but you could
put new hot spots based on the
particular project that you needed to
get done so I'm gonna switch over to hot
spots this particular VR already has a
number of hot spots and you can see them
right up here they have both ids and
names the ids can be very helpful when
your scripting you can enable and
disable them and the names i'm partial
of words myself so i like to be able to
see that and work at that level i can
also set the cursors that are associated
with excuse me the cursors that are set
from that hot spot when I mouse over I'm
going to do a turtle for mouse over i'm
going to leave the other two alone so
now i'm going to create a new hot spot
look around over here and i'm going to
create my hot spot right over here i
have different tools that i can do that
i'm going to create just a simple
rectangle put that right there and that
pretty much obscured
whatever was behind it so I'm actually
change the opacity so I can see better
my actual content once I've done that
I'm going to change the type of action
associated with that hot spot I've got
different actions that I can do I can
link to another note there's only one
note in this VR right now so I'm not
going to do that I can do a go to URL
which will either trigger a browser or
trigger a new movie or the ever
favorites blob which is not a 1950s
movie but rather the ability to have
arbitrary actions associated with a spot
actually going to do a go to URL here
and notice again I guess we could call
live stage pro the slacker aid
codependent maybe I hate to look things
up but I oftentimes forget syntax so
we've got all the different syntax for
go to URL right here for you and I'm
going to choose one for a browser and is
everyone watch me type know raising
hands so I'm going to skip actually
typing in a URL and you have you folks
were all trust me as that will actually
do the right thing I'm going to close
that up for a moment and then what I'm
going to do it didn't actually mean to
close it up I'm going to do some fast
tracks associated with VR now this stuff
what I'm about to show these fast tracks
this just that probably eight months ago
would have been advanced quicktime
interactivity who have been stuff that
we would have gotten deeply in the
scripting of how do you actually do that
not these first ones which are just
controls say yes i would like some new
controls same type of thing here i can
get new controls and bring in some new
media again the folders can be used in
order to get production i'm going to
grab on to a pan left folder I can do
them one at a time
well that's the down image this is the
up image this is the over image or I can
click on my control and I can grab on to
a folder full of images in this case pan
right just drag it and drop it and it
does all three of them for me at once so
I've got those two out there and I'm
going to turn off I share i want kilt up
and down to be there actually want all
them to be there so i'll just leave them
alone ordinarily in a real project
course i would go through and replace
all these so they have the same media
but i'm not going to do that right now
so at that point i have my BR and i have
my BR controls so if I preview this I
can tilt up I can pan around and of
course they still have my old controller
we have the ability to set just about
anything you could ever want to set in
quick time and then some so I'm going to
go through i'm going to say ok leave
that cutie be our controller there what
i'm going to do is grab that same skin
track creating a new skin track you see
my BR right there going to go grab it
drop it poop and now i can adjust my vr
I can grab on to my fat checks so I can
use all this notice I've done no
scripting which if you've been to some
of my previous talk is impressive so I
grab this and I drag this stuff around
everything's been dragged and dropped to
this time and now because I'm doing a
demo I want to actually do something a
little bit beyond that i'm going to go
out and create a compass that will
follow my movements around so i do that
and it asks me quite politely whether i
really want to do this and
feel certain that i do and automatically
I get a new compass now the reason why
we're always supplying default Media is
because we want to encourage people to
experiment interactive quicktime has so
many different ways of doing things that
it's valuable to do experimentation it
is shall we say a cultural experience do
this kind of experimentation and we
don't want you to have to go looking for
media just because you need media we're
going to pop it right in there and then
if you have media you're certainly
welcome to replace it in this case I'm
going to leave this media alone the next
piece of functionality has been
oftentimes requested by users we want to
make a map off to the side of our VR and
we want a few things we want to be able
to put nodes on that map so if you click
on the map they'll go right to that node
and we also want to be able to have some
compass indication right on those notes
now if I have one node I have a very
boring map so what I'm going to do is
I'm going to bring in a second node and
I'm going to actually create a
multi-node right inside of live stage
pro you are never able to do this before
before if I want to create a multi-node
had to go back to my VR authoring
environment create a multi-node export
it come back over live stage pro look at
it and see that everything works now
that's gotten a lot easier all I have to
do is come over to my library this by
the way is my library window will be
talking some more about that a little
bit later and I'm going to grab an
object movie now an object movie is
going to be combined with a cubic movie
to create a heterogeneous multi know so
I drag this over and it says I can't
drop it there mm-hmm nope can't drop it
there but ah there you can drop it so I
drop it notice that all of my fast
automatically adjusted their durations
because I had added this in it's a big
drag for users when they get everything
set up and they have their control or
set at a duration of one second and they
bring in their three-minute video and
poof the controller lasts for one second
and then it's gone which is wonderful
functionality if you want to use it but
if you don't it can be awfully
disconcerting when your controller
disappears so I've brought that in open
my window back up and notice i was able
to switch between the different notes i
can also do that with a manual and
switch back over to my cubic and now
back over to my object movie I could
switch back and forth and work with
cubix cylinders or objects even
multi-state objects which we'll be
talking about some all inside of the
same editor without any fuss for months
now you'll have to stretch your
imagination just slightly because i'm
going to be having a map which is going
to point off to this object movie and
i'm going to create a new map fast track
which is okay once again we've popped in
some media for you I don't know where
this actually is this map pops up often
I'm going to place it now again much
like Photoshop if i switch to my resize
tool which he tells me is the letter T
which matches up with the key that would
be used in Photoshop I don't actually
use that particular key in Photoshop so
I never know that and now if I hold down
my shift key it will constrain my aspect
ratio so I have justed my map i'm going
to place it and now I've got two nodes I
have and I click on it and drop this
anyplace on my map that node represents
the node associated with the cubic and
this node over here is a
associated with my object ordinarily of
course if we were building a map like
this they would all be similar kinds of
things she may ask why did you grab the
hip-hop movie then and I wouldn't really
have a good answer except i like the hip
bought object all right now those are
both pretty cool pieces of functionality
I've got my map and I've got a compass
would take a look at this drag that
around I look around my compass is
moving right over here it looks like I
should have set the transparency mode on
that and you'll notice that also the
node right over here is indicating where
I'm looking as well I can set the North
spot on this VR so that North is north
and now if I click on this note I
automatically go to my object and now I
have completely different type of media
in the same space that's cool i like
that close that up sound spatial sound
been done it's raw somewhat tricky to do
strictly on a scripting basis pretty fun
to decompile and take a look at what
we've done to actually implement that
but we've wanted to make spatial sound
easy for you click on sounds fast track
it's going to create a new one it's done
it now I don't have any sounds in my
sound list at this point so I'm going to
use my handy dandy library close some of
these things out since I have less
screen space than usual here's my sound
and I'm going to bring in two different
kinds of sounds the first kind of sound
I'm going to bring is actually going to
be a MIDI soundtrack and I'm going to
use that as my ambient sound so this is
a sound that's not gradual or sudden its
non directional I always want it to be
playing I could adjust the volume if i
want you i want to draw
put down a little bit so it doesn't
overpower everything and plop that right
there and now since it's non directional
there are no spatial components to this
the next sound I'm going to want to do
and all of your cell phones are turned
off right now right the next Island I'm
going to want to do is this cell phone
ring and cell phones can be non
directional when you're at a place like
this and everybody's cell phone is going
off but I actually want them to be at a
specific place pop over to my cubic and
I want my cell phone to be associated
with this heavenly statue right over
here ah my bad i should have created my
soundtrack in my cubic and i didn't do
that so without further ado I'm going to
use my timeline to kill remember no
electrons were hurt while I do this I'm
now killing my soundtrack and opening
back up again I wanted to be in my cubic
when I was having this experience so I
create a new sounds fastrack and yes as
you just saw you can have different
sound spatial sound associated with
different media and once I do that I'm
going to go back out and grab my
in-flight switch that back to
non-directional come over to my cell
phone drag and drop now I want to be
right here when this sound happens so
I'm going to grab this I'm going to turn
it to where i'm currently facing this
arrow indicates where I'm facing and I'm
going to spread this out i can set the
extent of the sound when am I going to
start to hear the sound in the pan
direction and I can also set it how much
tilt do I need well I want it to always
happen so I'm going to stretch that tilt
over the entire extent of the movie so
once I've done that I'm going to change
that from gradual too sudden
and now I'm going to preview that ok
first we can hear the key listen very
closely yes the MIDI that was non
directional so as I look around here I'm
getting this lovely media experience I'm
able to have my media map show me where
I'm pointing and then when i come across
here i can be interrupted by a cell
phone just like real life you can't get
any more immersive than that all right
now I could dive down into the debugger
but that would be the old brutal
advanced Mike but we're going to we'll
get there okay so we're going to close
that up so we saw a lot of advanced
functionality and VR and except for
showing that i could decompile I've done
absolutely no scripting that does not
mean however that live stage pro doesn't
have scripting chops it definitely does
and in our next couple pieces I'm going
to showcase a couple you can see this by
the way before I show those I wanted to
show a really lovely piece I just love
this piece notice we have a skin we have
a cylinder VR that we can look around
we've got controls that were able to
roll over and move around and we have a
map that we're able to check things out
all this functionality is now pretty
much drag and drop that's pretty
impressive
which goes to show that human beings are
getting caught up with sooner and later
I guess there's a new movie coming out
of that's going to show us that the
machines will rise to so I'm going to
open up super fluid and we'll be talking
more about this piece we're actually in
a few moments going to start to look
underneath the hood of things a little
more detail what is involved in hardcore
advanced and when I pop in here we have
really many of the same things I've got
a controller that I can move around I
have a volume slider we have behaviors
that allow you to create this kind of a
slider without any scripting knowledge
and if I click on one of these pieces
the automatically loads in the ER and
now is panning around this system is
actually set up to pay attention to how
much activity on doing notice when I
clicked on this the immediate stop to
now I can control it but the idea was
that if the user is not doing the media
gets progressively more psychedelic and
that was the intention of band you know
sometimes you want to just sit back and
chill to what's going on and as you can
imagine if I go full screen on this ah I
put the wrong version on this one the a
real full screen would actually go full
screen but this will do since I have a
very large monitor here notice that as I
haven't done anything then the media is
now getting more and more excited it's
adjusting the fov or the field of view
giving a pant and as I move around it
gives me control a lot of what advanced
interact quicktime interactivity is
about without paying attention to the
user if i switch over to the finder i
happen to my movies
shrunk itself down when I come back to
the media poop it brings itself back to
life he we were thinking about the doc
and and the Expos Asia just along with
ski so the same same type of control
that you would expect from a quick time
experience I can drag this around and
play with it some things you might not
expect from VR the ability to change its
graphics mode so now I have a somewhat
more psychedelic experience let's go see
Hollywood friends we all have friends in
Hollywood right and I can of course turn
these things off assignment did I go to
an x-rated one and was pretty sure I
didn't foot let's go to monsoon because
that's a little less controversial and
the idea that the band really wanted to
get across here was this kind of
kaleidoscope between music and space and
one of the ways that we were able to
capture that was to use cubix in order
to in case this notice it's now realized
that hey myk's talking so it's going to
go off and start to entertain you but we
also realized that we could express some
philosophical points on this media such
as the ability to feel fenced in so you
notice we've dropped a an overlay over
the entire UI still working and once
again I can be in control
or the movie can be in control and just
in case you want to know whether you can
do to overlays at one yes indeed you can
or i can reset you now overlays and all
the rest of this media is great but if
you have to download all of the media
associated with superfluid in one very
long push it's going to be very
unpleasant so we've done a couple of
things on this one those overlays in
there are a number of them here are all
dynamically loaded quicktime starting
with version 6 introduced the ability to
dynamically load sprite images in
addition to all the other wonderful
things that sprite images because
sprites could already be getting their
media from such as video tracks or flash
tracks or even URLs that you've
hard-coded now we can actually
dynamically load those in so all the
media associated with the overlays are
loaded on user request only and then
cashed so that if I ask for at once I
don't have to go back and reload it a
second time and think that's all I want
to say about superfluid a very fun piece
o
one last thing I wanted to say now we
hate this feature so I i will point that
out right away but I happen to love it
the idea is that when I am closing
something I don't necessarily want as a
content creator just to let if you'll
excuse the expression let the user just
vanish so in this case what we do is we
fade out the music show a logo and once
the music is all the way faded out poop
the movie goes away all right now this
this piece since I've been talking about
what he doesn't like this is some of the
stuff that key does like he was very
involved in this piece I think this
don't know it was obviously done for
Acura but I don't know what company
actually did this but you'll notice
there's a number of hotspots around and
as I move around i can select one of
them i want to select on the dashboard I
do a transition I pop up new media the
Yankee robos music system in the TL
type-s includes am/fm stereo I could see
a tensioning still to the misery DJ user
is able to move things around be the
radio display but they'll know where
they come from notice the lines that are
indicating where this feature comes from
select further points inside of my VR
did I say this was all created with live
stage pro by the way supposed to say
that a certain number of times per half
an hour and I can do all the types of
adjustments that you would like to do
right as they are relevant and there was
a wonderful talk given here yesterday by
Lori Schwartz and Mark sand oh yeah and
you know Mark pointed out that each of
these little details in and of
themselves is not rocket science it's
not incredible how did the attention to
those details it makes the experience
down here in the gut feel something
immersive something unique something
that you want to get involved with and
as a antidotal evidence because I'm
actually able to release the actual
statistics we did a series of studies
for retention on these things how much
activity did did people do when they
were actually using these environments
and you would be staggered by the amount
of time that people actually spend on
these if they're actually able to
interact with them and that includes
straight out video just putting it in a
skin already helped on user retention
having all the branding be consistent
help them keep on message then if they
were able to look at background
information other things relating to
that media we could keep them for an
hour plus that's pretty impressive all
right now this next piece also shows off
some new live stage pro functionality I
mentioned that live stage pro now works
with multi state VR does everybody know
what multi-state VRS cure so much ahead
of me John I didn't know what it was I
looked at this thing I'm a multi-state
dr that means what well let's take a
look at what it means
nice er object movie I can roll it back
and forth I can tilt it that's nice ah
another state aha a third state a
wonderful piece of functionality all in
the same space all in the same media
container the ability to have the same
object at different state not a big
surprise I don't know why I didn't
figure it out so how do we do that let's
go out and take a look at what he has
done I have over here a sprite track and
notice as I pull this up some people in
the back of the the roads are happy and
some people who are worried that I'm
going to pull out the old scripting
monster start to lean back in their
seats and indeed you're right so I've
clicked on on this and I can see the
different tracks that I've got this one
here named sprite one with an untitled
sample shame on you geek I'm going to
open this up and I'm going to first
change this to be a nice name state
modifiers now does anyone know why I am
well I should have not allowed to ask
you because you have to go to microphone
the reason i am so fastidious about
naming these things with real names is
because invariably some amount of time
goes by and then the content owner
either calls me up or sends me an email
and says I want you to change or extend
or fix something that has a bug and I
look at it and if I haven't put in
reasonable names then I have to hunt
around for what I've done I don't like
to do that and I'm betting you don't
like to do that easy either so I'm
encouraging you all to use names in
order to make your projects easier to
understand so what have we here we've
got digits 1 digit 2 digit 3 very
interestingly named
and if i look at mouse click aha
everybody knew i was going to pull out
the old script now notice some of the
nice functionality we've gotten for is
the ability to get more screen space
when you need it right over here he
hasn't put in any comments and I can set
the DS going to punch me several times
after making fun of them so many times
but I'm going to put a comment over here
and that is if the state is not current
and you'll notice that if I had all of
this typing change the you want me to
change the color i will certainly do
that but let me show you this first if i
had it in the original way i would not
be able to see that content and i would
get to get scrollbar happy now i don't
like scrollbar happy so I close these
things off as appropriate and then I'm
able to not see it but I can because I
can go over to my preferences just in
like the last few months that I don't do
the old OS 9 thing and come over here
and I can come over here and say editor
and I can change all these things so
that is comments and notice it's color
is gray and I can come over here and say
well let's make it orange and kind of
bright and notice Mike ah that's a bad
choice because it happens to us to be
similar to our constant but I could
change the color of my constants as well
so once I've done that what he's doing
here is he's finding out the current
view state and then he is setting the
image index he's not doing it by name
he's setting the image index by number
and if this were me boy am I in trouble
because he's bigger than me i would say
view one on and what i would do is come
right over here and put this dollar sign
which indicates that is a part of a
definition and i would save you won you
won underscore on and now i would be
using a symbolic reference to my image
now there's two advantages to this the
first advantage is the one I've already
mentioned that projects are easier to
work with the second advantage maybe a
little less noticeable let's say that my
graphic artist says you know I don't
like that background i'm going to put in
a new background and i want you to put
it right here and i drop this in if I've
hard-coded my index if these numbers
change my project breaks if on the other
hand I do them by name then no matter if
i take this one and pull it all the way
back here it still works I like things
that work alright so we've taken a look
at the our view states oh I should
mention one other thing a common
question that we get is are those
actually variable at runtime those
constants that we put out and as the
word indicates constant no they're not
what happens is we take a look at the
name we find out what that number is and
that's the actual value that goes out
there I won't name any names but I did
get a very amusing email from somebody
in New Zealand a former quicktime
engineer who couldn't understand why he
was not able to change this variable and
I was amused but I'm amused easily okay
now I want to show the same person to
give you some indication of who that
might be a tool that I use
lot with the Liberator excuse me with
lot stage pro which is the Liberator and
what I used the Liberator for is working
with media that I'm going to actually
deploy I'm going to take in original
exported from live stage movie I'm going
to drop it on deliberate ER and it opens
up to windows the first window is the
actual movie content this piece by the
way was shot the BR was shot by janie
Fitzgerald and the skin which ordinarily
would be a skin accepted in this
environment was done by Robert West and
in here i am able to do a number of
amazing things useful amazing things
time-saving amazing things what I'm able
to do is simulate what the different
download rates would be like now right
now we've got a hundred days internet
intranet and things are good John Alper
was downloading something and he said
various expletives that I'm not allowed
to repeat on this microphone but they
were all happy exploitive but most
people still today have this kind of
experience remember this was the
original output from live stage pro
movie yes that is a very nice blue cube
yup okay we're loading you'll notice it
shows the percent of the movie how much
K has been downloaded and the number of
seconds this person has endured this
experience ah i have a blurry be are
very nice okay I've oh yeah I have a
piece of good vr coming in here I'm 93 k
into this and I'm seeing a lot of blur
I'm not a very happy user this is not
the kind of QuickTime interactive
experience that we really want to have
what we want to have is an experience in
which the preview track comes in and
that's what this book of its reason it's
blurry it's not because of QuickTime
it's that in order to get a fast
download quicktime supports the ability
to have a preview tracker uvr notice I'm
190 k into this thing and I'm still not
seeing any of those beautiful controls
that Robert West did for us where are
they well that brings us to our second
window this window over here is our
media map it shows every every block of
media out there so I can come over here
stop my machine crash almost passed out
I kicked my movie resource up here I see
a whole lot of free space and some very
fine quicktime engineer is going to
explain to me why that free space is
there and how I can get rid of it
totally someday but that day is probably
not right now i can see that i'm getting
some VR samples out here and if I come
all the way down here why look there are
my control but they're at the very end
of the file do I want them to be at the
end of the file nope I want them to be
coming in exactly when I want them to
now flash supports the ability to say
well you can have it any way you want as
long as it's either back to front or
front to back which way do you want not
so in quick time in quick time I can
decide exactly where I want that mediate
to come in I like to call it
choreographing the media arrival now
there are a few things more dull than
watching Mike dragged around blocks of
media but i'm going to show you how i
can do it yes there is a block of media
moving and now i'm going to drop it
right down over here and it wouldn't let
me actually showed me on the little hand
but i was not paying attention so the
little hands saying yes i can drop it
there and once i do it moves it for me
now that piece of media will be loaded
at that particular time excuse me at
that particular position in the actual
file rather than everybody want to see
my address book I'm going to close that
one out and I'm going to show what i did
in order
to deploy this media pop it back over to
the deliberate ER again I have the media
open I'm going to will leave it actually
at a duel right now I'll put it back
down onto 33 to be fair and now I'm
going to simulate what that experience
would be like having moved by media
blocks around after just three point
nine percent or so I get my preview
track i have now my skin so I have my
user only eight percent into the movie
already has full context as to what's
going on and those things already work
that's pretty hot in terms of control
over your deployment media The Liberator
is an awesome tool so if you haven't
checked into it and you have web-based
delivery I highly recommend it and if
one additional feature i want to mention
but i was too much of a coward to demo
is the ability to work with locked
content across multiple people so for
instance g and I have done projects
together and he's in Vancouver and I'm
in Los Angeles Los Angeles I'm in La
Honda and if he wants to pass me media
that is copy protected ordinarily that
couldn't be done because once it's copy
protected it's how the Liberator allows
you to do a challenge in response so
that you can actually work with that
copy protected media across multiple
people tremendous tool doing a lot of
things if you use it please give John
summers feedback on how to make it
better it is a onward and upward tool
all right does anyone like that
deliberate oh I'm pretty damn impressed
ok so right down here I've got
applescript structure and what I want to
show here is the fact that live stage
pro in version four internalized the
need for all of you to be able to create
automated projects up in the boom days
when all of us were making money in the
boom days which will come back again
someday I did what I called boutique
where right I could spend all the time I
wanted working on something because it
was supposed to be a one of now when I
actually need to make some money I need
to be able to make something and use
that template over and over again and we
have the ability to do that if you
create a project in live stage Pro you
can record every step you do you can
then go back in and do any editing that
you want to do and then you can create
if you would like and I'm sure you'll
want to we create a droplet that will
give you the ability first I need to
locate this droplet I only really need
to do this once and put my desktop 722
[Music]
there is my template I choose that okay
and now what I'm going to do is I'm
going to take some media
I'm going to do this from media where I
know where it is I'm going to grab a
couple of videos I'll grab three videos
and drag it on to my droplet it goes off
very dutifully notice it's doing all the
adjustments for me it's processing that
its output it it's doing the next piece
ching ching we like that less caffeine
more money okay and where did those
things go well they're right over here
all in a folder neatly output for me and
ready to go back all right zooming right
along one of perhaps what time am I /
alexander 54 minutes I'm in deep quantum
one of my favorite aspects of QuickTime
is the fact that it supports third-party
components and don't get me wrong the
folks at Apple are some of the brightest
and most enthusiastic that I've ever met
however they don't have every idea out
there and they don't have the ability to
use every engineering dollar that Apple
has and that means that third parties
need a way of being able to extend quick
time in a nice robust way Apple's done
this they've created a component
download program and this allows
somebody to develop a component that
does let's say 3d and allows them to
deploy this actually on apple's servers
so that when a user hits some of their
content in a quicktime environment it
will go out to the Apple server grab
onto that component and download it and
then the media can be used
now I'd like to say that's a very easy
thing to author and I would like to say
that and it is pretty easy but it's not
super easy and so I want to show
actually how that can be done because I
was scratching my head for a while and I
figured maybe you folks are to the first
thing that I do is I create a what I
call a gate movie let me first go
cripple my player so I need to quit out
of this I'm going to remove the
component that does axial 3d right here
a truly amazing environment that I love
my kids love they don't actually get to
build anything in it but they love the
little things that I build with it and I
moved it I do the same thing every time
you'd think that I would figure this out
sooner or later but I'd be wrong so I'm
going to pull this out of the folder and
now since my quick time has not been
launched when I go back into it it won't
know anything about actual 3d and when I
launch this gate movie it says hey the
component is missing should i download
it by all means please do it goes out
there and after a moment or two thank
goodness for networks
chugga-chugga-chugga Dave singer pointed
out the value of watching progress bars
in a meditative way now being legalistic
first they have to tell me about all the
things that I must accept and you must
accept them too and now because they
want to scare the pants off me they put
up a dialogue that says you have
installed software that may not be
available to currently open movies now
that would scare me because if I'm a
user I want to go right on through to my
media I hate opening things up again
but I'm going to say ok and notice my
movie down here said hey don't worry no
need to close it's all handled I click
on this and in a moment I have my axle
3d content now i'll show how to do the
gated movie in a moment but i want to
show off a little bit of actual 3d
because i don't know how many of you
folks have seeing this stuff pretty
pretty cool so i can spray paint
particles in my world I'm spray-painting
leaves very in Toulouse living in the
woods myself that's cool i like that i
can also change those leads on the fly
spray paint some more in that that
rendering change some more i can even
see them in wireframe i'm going to grab
this i'm going to give it some wind so
now those particles are being affected
by forces in the environment forces
stronger than you or I and being blown
away now imagine trying to create these
with sprites even Matthew Peterson wood
quail at such a prospect but wait
there's more I can also dynamically
change the color of thing and it's only
because i'm lazy that you can only
change the background we will actually
we've already posted no no that's that's
all we will be posting in tomorrow it's
not only this project but we will also
be posting another project which gives
even more degrees of freedom you can
control more things and both the axial
project and the live stage project will
both be available from stage door and
stage or is a fantastic resource on the
totally hip website where you can get
check notes and sample projects and
inspiration and mailing list archive so
to show how nice that axle looks when
it's larger notice that I've increased
the size of my movie and everything
still looks good now my bitmaps over
here they don't look quite so good
anymore because I did that intentionally
but my axle content being vector-based
looks great I believe we we have yeah we
do justin is in the audience aww I would
like you to give a hand if you would to
Justin Justin created the media handler
for this and the OS 10 version of the
authoring environment and it is hot way
hot that's remind avenue okay now I
promised that I would show how the gate
movie was done and true to my word I
shall go in through live stage pro and
pull out once again the script holism
notice all of my tracks are named and so
are my samples so when I open this up
I've got one thing and it is the cover
which is this track right here all the
rest of this is just graphics to grab
your attention and once I do that I look
at the script and on frame loaded what
do I do well the first thing I do is I
go out and that was Steve Israel sin
getting back at me
true there are no comments but look how
nicely formatted that code is anyways
what it's doing here is it saying first
go out and check whether I've got an
importer for Axl now if you're wondering
well how do I know these names blood
sweat and tears no actually you can get
this stuff out on stage door I would
like to say there's a really easy way to
find out this information but I can't
Francesco's not even head there is an
easy way oq script really styling I can
show something else the Q script
reference which I use a lot if i type in
component if I would spell component
correctly no silent are in there thank
you and we have load component oh I
probably have to go up to the index so
if i come into here and I search down
deep enough hence it's not easy I would
be able to find it right in this
handy-dandy window I use this a lot the
ability to kind of look around let's see
whether I can find axle no see if i can
find video oh so indeed they are no
those are them them are those okay if
you're really interested to how to see
this in the reference guide hit me after
and i'll show you don't actually hit me
though so that after I've determined
whether or not the component is there
I'm checking to see whether it has a
version number that's greater than 0 if
it does then I flip the image that says
hey image is ready axel loaded and ready
quick to continue if on the other hand I
don't then what I do is I flip the image
to need to load indeed need to load
component missing please download okay
then I do this down here set idle delay
to 60 now what I'm doing there is I'm
saying to the environment
hey I'm going to want to check something
periodically to see whether that
download really happened so if I pop
over to my idol handler I can see the
counterpoint to this the idol handler
once the second goes out there and says
hey is that component there yet and once
it is then it turns around excuse me if
it's not there it invokes it directly
and says load component go get the
importer for Axl if you were to ask me
about these two numbers I would have no
really good answer so please don't it
embarrasses me once I've done that
that's going to actually pull up that
dialogue that was doing the component
download and then a way it goes once
I've actually found it then it's clips I
didn't actually show that part once it's
actually found it then it is going to
set the image to loaded and I've got my
image in a way I would go into the movie
itself that way the user is able to use
third-party components without having to
reload anything into their environment
and close that up so all of that the
component download stuff and the actual
stuff will all be on stage door tomorrow
zoom effect zoomify is another
third-party component that we support
directly in live stage pro you're able
in zoomify to have a VR environment
cubic environment much like qtvr but
notice as I look around things are a
little blurry once I let go boom things
come into play now if this was all it
would do well I'd rather have qtvr
however what about if I wanted to zoom
in to my control boom this
media is being dynamically loaded so
that I get a higher resolution as the
user actually does it muy cool live
stage pro is able to control I don't
know why it's doing that it started
doing that and and I just say okay live
stage pro is able to control all these
things just from actions including the
ability to do some things that you
couldn't actually do in qtv are like
roll the camera right and roll left this
is for the roller coaster fans in all of
you and the reason it's able to do that
is there is an actual Open GL space
behind it so they're really knowing that
there is a 3d space that they're working
with very cool plugin my hat's off to
what they've been able to do there so is
that really hard stuff to code inside of
live stage pro positively not those
actions are very straightforward I have
a sprite check that has two kinds of
sprites in there has a monitor sprite
which actually does all the updating of
where things are in terms of pan and
tilt and roll and whatnot and then I
have an operator that just pays
attention to which control was pressed
and then it performs that action so here
we can see the kind of actions the kind
of actions that we have so say if we're
zooming in zooming zooming in pretty
straightforward stuff so if you've got
VR that you want to get one of these
kind of progressive environments zoomify
is something to really take a look at
and live stage bro is the environment
for integrating all of your quick time
you
and I know I missed my calling and
marketing okay now all those things were
pretty cool and we liked it we had fun
what you're saying come on Mike that's
not truly advanced and I'll say well
really it was pretty advanced to me but
there's more in some original quick time
which is eluding my brain at the moment
five thank you quicktime introduced the
ability to work with xml well actually
we're introduced the wired ability to
work with xml more correctly put and i
gotta tell you when i when i heard about
this well i started drooling and other
things but i was pretty excited he saw
me get going and what we're able to do
with that is actually exchanged to the
server a lot of information in a
structured way so I've created a little
skin here and over here you can see a
cutie list notice it's structured data
I've got a list I can drill down into
this and over here I have the
representation of that less i'm going to
put in this is a little chat program
that basically got written over a
weekend and i'm going to put in a name
i'm going to put in a little message
and notice i put that little apostrophe
in there now when i actually send that
I'm pressed enter you can see the XML
the yeah the XML that was sent up to the
server and right over here you'll notice
that we're putting in some I guess it's
not really a tag for they call these
things what he said what was that in
entity well that's the nice generic word
so I can put in entities that represent
some of the characters that would
confuse XML at we excuse me which would
confuse HTTP GET which is the underlying
mechanism that is being used to pass
information back and forth then close
that window up but there's more one of
the things that everyone who's ever
worked with quicktime in a serious way
and in a browser environment has wanted
to do is let me pass media let me pass
data into the movie please you can do
that now first let me show you what kind
of stuff I'm talking about let's say I
had a playlist that i want to play this
kind of bad example in some ways but
it's a good example for my purposes i
wanted to pass in something that looked
like this from the browser maybe spit
out from a database dynamically into a
web page and then pass into the movie
beginning in quicktime six you have the
ability to pass these in so I've got a
little text file out here which is a
example that I wanted to use and I'm
going to use a freeware application done
in France called page 0 as I mentioned
it's free wonderful program and it
allows me to build up all of the
information that I would want to embed
in a page so if I go over to cutie list
I can say yes I want to pass a cutie
list in there and I want to import a
list
there it is now it's in there and now i
can say show code keep missing that grow
and now i can see all of my object and
embed tag and you can see that i have a
parameter called movie cutie list that
actually allows me to pass structured
data volumes of it if you want
structured data into your quicktime
movie tremendously helpful and the last
thing I wanted to show and then I'm done
is a piece that myself Janey Fitzgerald
and Robert West kid in it uses xml and q
qi less quite extensively it does a
complete tour of the los angeles metros
red line you have flash track down in
here that i'm able to zoom in on and
move things around right now i'm in
north hollywood going to drop that audio
track down a bit i'll look around over
here i have a hot spot as i can see and
when you can see up at the top right up
here it indicates what that hot spot is
that's the flash track actually i click
on that if you listen closely you can
hear new audio being associated with
this particular node now there's a
hunter i think there's a bow hunting 26
or 128 nodes in this piece now if i had
to represent all that hand-coded I'd be
very old very frustrated and very bored
three things that I don't want to be
right now instead what we did was we
created an external representation
simple XML file and we read that in not
only that so all the audio all these
images down here even wear on the
map IM is all represented in that xml
file this also gives me the ability know
if it's this trouble eastward so i click
on this it reads in the other xml and
now it's doing it in spanish notice it's
going to adjust the map full it loaded
in new images down here and adjusted
that map from reading actually having
already read and cashed the xml
representation of where on the map i
would be moving to this is a very cool
piece i wish it was online and I could
show it around it's not quite yet as
soon as we're able to get it on line we
certainly will but in case you're going
to ask it's not notice it moved over
here I can also click on a map and it
will go instead of going from platform
to platform it goes on to the street
level so another thing that's
represented in the XML is what's the
street level and what is the platform
level some of these stations have four
nodes some of them have seven notes some
of them have nine this run on 13 notes
so you can imagine i need a very
flexible way of representing data
structured data is well represented in
xml what a great match one last thing i
would like to show about this is I've
kind of moved around going to pop over
to Hollywood and Western has turn off my
hide spot hot spots is I'm actually
doing a few things behind the users back
first off I'm tracking everything you're
doing every control you're pressing
every station you go to every knows
you're going to I'm tracking it all and
I'm putting it all into a cutie list and
no I'm not sending it to the CIA but I
do have the ability to upload that and
analyze it and that is very helpful
information for designers but it also
gives me the ability to say go back aha
it's switched stations for me and put me
at that note go back again yep now I
went to that other station go back again
it's back to universal city now and now
it's going to go from node to node
all the way back to where I started in
definite go back because I'm
representing it all as qg let's
internally thank you
[Applause]