WWDC2000 Session 304
Transcript
Kind: captions
Language: en
please welcome Kaz ohta good morning
welcome to the Greek a majority session
my name is castle top myself and people
people will talk about the interactive
aspect of systemic discussion I was told
that the there is simultaneous
translation going into Japanese which is
my primitive language so I'm kind of
curious how many of you actually
understand Japanese which raise your
hand Oh quite a few well i guess im
gonna try speaking Japanese ohayo
gozaimasu nihongo de tema shoka well i
don't think the translation goes the
other way around so I'm in speaking
English anyway I'd like to spend few
more time talking about some of the
halibut overviews of interactivity so in
this step that we see the interactivity
has already gotten a lot of exposure how
many of you went to be keynote on Monday
yeah good word Steve Steve Jobs showed a
demo of our new fully immersive panorama
production mention how how about the
victim overview session on Monday
afternoon very good word Tim shaft talk
about the interactivity and Jim Batson
showed a few very interesting examples
and i'm sure those of you who went to
the suburbs technology and scripting
session yesterday were amazed with the
stuff Matthew Peterson fit together
which actually pushes the interactivity
technology too extreme I'm sure nobody
in the Christian engineering team had
imagined that you could do that much
with cryptic so I think you already have
gotten pretty much good idea about what
a QuickTime movie can do in order to
deliver interactive user experience so
what we're going to do in this session
is to pick a few specific features and
take a closer look and then talk about
how you can take advantage of it so what
we're going to talk about is the kinds
of user experience you can provide
through the drive 50 features and we
also going to talk about some of the
tools and techniques you can use some of
these things are already available to
you so you can try them out today and
some are things we're working on right
now of course we try heard so that these
new things becomes available to you as
soon as possible but don't try them at
home
so for those of you who are already
familiar we'll see some of the details
of good times these are kinds of things
we call interactively and how those
pieces fit together can be shown
conceptually as in this diagram we have
the foundation of quicktime core at the
very bottom and we have a few services
which provide additional interactivity
through your media and we have a set of
standard interactive media like sprite
/br object and the air panorama and on
top of all of these we have the newbie
controller which works as the interface
to the users by having the standard will
be controller here we can provide
consistent user experience across
various kinds of busy and I think you
learned some of the techniques you can
support streaming movies better in your
way back application and I think Kevin
Coughlin did an excellent summary of
some of the techniques and tips and
techniques in your application and the
important thing is that the video these
things which love streaming which
supports streaming movies better become
things works for interactivity movies
better so please remember so what is the
interactivity here's how we define it it
is not driven by time but written by
event diversifies users a good example
is a slideshow like this it goes forward
and backwards based on your actions to
the keyboard or mouse for we must
control the bus like this
the other thing is an even interact and
sorry immersive experience the key
element here is that the media we act in
response to you or actually real time a
good example is the Kristen beer
panorama where you can change the view
in panorama face interaction and one
more important thing I'd like to talk
about is an ability to navigate through
a media composition one of the strengths
of cook time is to be able to combine
first kinds of big year into a single
composition or single container and in
that case it is a natural consequence
that you would like to have control over
combined video in that case the way
those media are composed is specific to
representation the presentation has to
provide a way to control this video this
is where the interactivity comes into
play you can think of a presentation
which has a couple of video clips each
of which has its own katoa the embedding
I mean movie embedding is something you
can use in order to provide discuss be
to use experience and we're going to
talk about movie everything later in
this session
now I like to spend a few more minutes
talk about the level of interactivity
which will help out classifying world
Rangers interactive user experiences and
help us set the right focus of course
please use Express examples of media
which have least level of interactivity
or things like traditional TV
broadcasting and cinema you basically
sit back and relax in front of your
screen and all you do is to push one of
the few control problems and I think
you'd want to have a large cup of soda
and popcorn I guess you'd call it a
couch potato style is that right well i
think that the in this case you need
potato chips instead of popcorn at that
doesn't real man and surfing the net
would require a little bit more of
interactivity nothing will happen if you
were sitting stationary in front of your
computer you locate the links on the web
page and then click them in order to get
things going I think that we choir use a
little bit more calorie so I just you
want to have a couple pieces pizza in
addition and things that require the
highest level of interactivity and
engagement or video game because it was
likely that the you were leaning forward
towards your screens and tightly holding
your control device I don't think you
have time to you know but something in
the middle of the game so this may be a
kind of serving experience
okay okay so where the QuickTime focuses
we think our focus is mid to high level
of interactivity our goal is to provide
the level of interactivity which goes
beyond the traditional web browsing
based on hypertext we'd like to have
that level of interactivity with more
dynamic kinds of medium and we want your
experience not to be so starving and the
other thing is the media composition as
i mentioned combining multiple kinds of
media into a single container is very
one of the strengths of quicktime and we
continue to focus on that and you can
add some sort of interactive behavior to
your media objects through world actions
and i think this is the another bigger
of an advantage of Krypton and of course
the primary means of sharing your media
content is the internet so we continue
to working on book in this area so that
you can provide more interactive
experience through the internet so what
exactly you learn in this session we're
going to talk about a couple of the
interactive features you can have access
today the first thing is the some of the
tricks and techniques you can use for
increasing video and flash and the other
thing is the movie embedding in which
you can you can do some interesting
things combining your medium and then
we're going to talk about a couple of
new things we are working on right now
the first one is the extension to or
Panama and projection engine for which
tape showed a demo on Monday
no and the other thing is the extension
through word action which helps your
movie to communicate with the server
we're going to show some demos using
weblogic this topic so I'd like to have
Rick grampian to come up and talk about
some of the techniques you can use in 30
and flush all right thank you cause good
morning so I'm a Content guy in the
QuickTime of team working on interactive
stuff and I wound up right today I'm
going to be talking about things that we
can do already stuff that you can go
home and work with first off existing
quicktime VR panorama is an object
movies the since we released quicktime
VR the main thing that we've stressed is
the ability to do these 360-degree views
from the inside and the outside pretty
much referring them as scenes or
panoramas when you're looking from the
inside and we've referred to the models
of objects when you're looking at a
thing from the outside in and lately
been sort of trying to point out that on
the web with all the product we're going
on thinking of objects and products is a
really good approach of course panorama
zor scenes can be up things that our
products for sale such as houses and all
but generally speaking the stuff that
you're selling with this sort of an
activity would be probably keeping hold
or well cards you can't hold but there's
a lot of work down the cards as well the
other major things that we use and the
interactive parts of QuickTime are
sprite movies which consists of mainly
bitmap artwork or sometimes vector
artwork as well that winds up getting
downloaded and used and transformed and
so forth as opposed to having multiple
frames in a movie and flash tracks which
involved Mac immediate excellent
graphics engine allowing us to do vector
based artwork that's quite sophisticated
and composited in interesting ways with
other quicktime media types and then
finally we build wired movies using any
and all of these technologies adding
actions to the various different
elements adding URL links and other
sorts of things adding a deep
interactivity in many ways the kind of
stuff that a few years ago we really had
to use dedicated authoring environments
and playback environments for but now
with quick times interactivity which it
can happen anywhere a big deal about VR
movies on the web has been people
complain about their size especially
with the object and a big issue with a
lot of it is actually more of a
perceived speed than an actual speed
we've got various different ways of
adding preview tracks and and reordering
the data in the file so that it will
come down as it comes down you get to
see a really meaningful representation
of the scene or the object right away
would be panorama as we've got preview
tracks so you get a low resolution view
of the whole thing and then the tiles
come in alternating in front of your
main view so that very quickly you get
to see what's there and hotspots are
active almost immediately as well with
objects very people take advantage of it
with objects we can reorder the views so
that as the object comes down the first
four views of the front back left and
right so that you can see all the sides
of the object pretty much immediately
and then as more data is downloaded it's
the panning nearly becomes smoother you
see more and more incremental views
between them so these are ways in which
the slightly larger sized file can wind
up giving you a much higher quality
experience for the user and the sort of
thing that you can only do with the
photographic media that that we are the
photorealistic renderings or
graphic media that that we make up the
our movies with as opposed to any kind
of a 3d sort of VR kind of approach and
then there's a lot of interesting things
going on with adding value to the air
movies the you we can add links to the
hot spots that can be simply URL links
or we can do more sophisticated things
with links and frames and so forth
people are adding sound and maps to help
navigate and just building them into
more complicated presentations either
using HTML and various sorts of
techniques like that or by using the
QuickTime interactivity that that we've
got to build movies that are
sophisticated and can play right in the
QuickTime Player or anywhere else the
QuickTime plays so I guess I just talked
about the fast or exporter a bit the
fast start export is a free component
from apple which available in our
developer tools section drop it in your
system folder and use it with with
quicktime player pro to export your VR
movie where there's an object or panel
and or as long as we're single node and
and get those sort of fast our benefits
that I was mentioning the there are
approaches to do it for multi-node
movies using first off you can take a
large multi-node movie and run it
through a third-party tools which is
deliverator or converter to which are
from VR tools to provide the sort of
same preview tracks and so forth but in
my mind that sort of defeats some of the
power of the internet and all because
you will still be users got to download
the entire movie to view it and if it's
a multi-node file and they don't choose
to visit every note they waste a lot of
download time so it's simple to link the
multi-node movies as single separate
nodes using the URL links within your
page and then the users only do the
nodes they will go to they get the hot
spots pretty much immediately upon
seeing a preview track and you can have
a pretty responsive
internet experience there so let's go
over to this demo machine and look at a
bit of this stuff first we'll start off
by looking at some straightforward
examples of VR movies
and these movies that will be seeing our
high quality objects done by one of the
premier Car photographers as soon as we
get this browser to load there we go so
David photographic says for instance
he's that he's put a VR object right in
here a rather an unusual VR object into
his a main VR page you'll may recognize
if you spent time looking at out at the
various sites on the web his work such
as the this PT Cruiser by Chrysler and
all he's done it right somewhat
non-standard view here that looks like
that one that's more of a normal
rotation this one is insanity ok so he's
done some interesting crane work here to
make it rotate around but these are the
sort of views with the high very high
photographic quality that you're really
only going to get at a quick time and
then we can look at things like a
multi-node here with which that involves
an object as the starting point and then
he's got some panoramic views in here as
well so we've come around we can check
out the engine come around zoom in on
the interior and then all the way around
it and it seems is downloaded here he's
given us the t1 version we popped inside
and view the interior of the vehicle
with a standard panorama we can even
shut the doors to get the view with the
door shut or pop back outside
we have vieras obviously excellent for
architectural work here he's done it
without the previews that we saw the
grid beforehand we've got zooming in and
so forth so that's some basic sort of VR
work now to look at stuff where we begin
to extend the extend the experience by
really building it into a more complete
interactive sort of thing I'm going to a
site done by Dennis Glicksman of French
VR author in which he for a bus
manufacturer he's got a number of
different approaches here so this one
well we run T ones it was hard or t3 or
whatever it is it was hard to tell but
there was a preview track there for a
moment the tabs loaded on over it so
quickly let's pop two another view and
he's got a map over here with JavaScript
kind of stuff going on it to determine
what node you're going to see so this is
a good example of using the quick time
we are with existing HTML approaches to
try and to make for a much more
interactive experience which is giving a
lot more information to the user than
just then than just the panorama on its
own as a as an example from there sort
of go up the pass a little bit into more
something a little more complex we'll
see an example here done by a company
called brick another French company and
this one they've got
sound and multiple panoramas as well as
some directional sound here that they
added probably with the squamish tools
as squamish media makes a tool called
sound saver for adding directional and
ambient sounds to see our movies and
down here they have another QuickTime
movie this whole rectangular region at
the bottom is another QuickTime movie
which is interacting with the panorama
above which can be changed either
through I think there's a hotspot links
in here right and the movie down below
doesn't change but it continues to
interact with or the compass is there to
control which we can click on click on
the map change much maybe not so this is
again we're not in a separate player but
we've used multiple QuickTime movies
talking to each other with inter movie
communication to really up to interact
with experience make it less than just
let's look at that movie there
another good example of that by a
Swedish developer a lot of European
stuff going on it's pretty fascinating
here is is this movie where we have a
frame set up with to QuickTime movies
one on each side there and the QuickTime
movies are then going to control the the
frames and load another quick time
moving in the middle here which is a
pretty complex one with where the movie
is embedded the VR movies embedded into
a sprite track which has got the meters
for this sound and roll over information
sect and again a controller here you
click on info and get some role of
information about I believe will get to
me just like we can click on these
people and get information whether they
are it doesn't see them on them the
movie on the right the compass is giving
us feedback similar to the one we just
saw so this is an even more complicated
example of in a movie communication and
then they've done and they've got some
other things like actual sort of cooked
on games there yet how you move this I'm
going to die there we go west corner
this is also write movies Nestle and Oh
animated I believe they're building
their stuff mating with live stage pro
which you guys probably here in a
certain amount of f so that's them a
quick view of that sort of thing and and
I think see let's look at let's go a
little further here and this one from a
German developer and two min a handful
and he is building his interactive
experience with this is all one big
QuickTime movie it's launching in the
browser but it could just as well be
playing in the player and he goes he's
got a number of segments of movies that
jump from one to the next they're
loading different tracks at different
points here but this is here we gotta be
our movie that's mast and most the
corners around it he's got a track on
top with an alpha channel providing for
a non rectangular frame that's something
I think is really unique to what we can
do is the ability to layer up the track
to do that sort of mask and we hit you
know not only can we break out of the
423 window that people seem to think
video has to be in but we can make it a
non-rectangular as well and
compositionally be much more interesting
the sprites over here allow for panning
and so forth and then we can navigate
the different parts of the hotel this
way I believe that we go outside here
and he's got linear movies of beach
activities and so forth which are also
going to play framed like that this is
clearly a high-bandwidth demo so the
arrows don't do anything mr. fraim have
changes name but the ideas that you know
you've got an interactive environment
here that it's a really the sort of
thing that trouble you're sweet
rebuilding and director or something
finally a last one also by tillman
handful of active film and Germany this
is a simple demo but it shows something
I'd like to show about just combining
these different media types and we start
out with a walk through into the store
we get to the end and he uses an H an
action at the end of movie to tell it to
load a different movie it's a panorama
the interior of the store got an object
in front of us that has a hot spot we
can click on once it's loaded here we
click on that object
the object movie is there composited
into a frame of the panorama so that you
get the object in place as opposed to
being a real during place we got out of
it all and there's a way to jump back
into the store and pan around there
alright so maybe we'll go back to the
slides now so about /a few of those
movies had some flash elements but
mainly that was bitmap work Mac media is
an excellent job of developing a really
first-class graphical engine for doing
vector artwork this is great because of
the small downline footprint also you
know so many of the creative artists out
there have a lot of work and skill with
projector artwork programs like
illustrator and freehand that they can
leverage into doing work in them in
flash and it's even becoming a bigger
deal with Adobe releasing their live
motion which will allow people with
familiarity with the adobe sort of tools
to do leverage that into doing motion
gret and the motion graphics people use
after effects and all to leverage that
into doing flash work as well so i think
the flash is just going to keep going
and we've announced support of the flash
for format and we're going to keep
working with it it also we've done a
fair amount of work to make the flash
movies composite really nicely with
QuickTime they all the transparency that
you get in a flash track can in a flash
movie can is there in the flash track
when you've imported it into quicktime
and if you layer it with other clips on
media you can set that transparency to
alpha you get with all that selective
transparency and partial transparency in
your composition there and you can have
things play through it at all so it does
a lot of working do the animation there
and not only and again I think that's an
exciting thing about the adobe live
motion thing is that
the power of the work that doe be done
with after effects and all in developing
animation tools will be available now
for as an alternative approach to the
flash authoring tool so there's going to
be two good tools now for doing
animation with flash also it scales
beautifully and you can build dig
interfaces with QuickTime using flash
elements that don't take any more time
to download them if they were scaled
small so you can quit having to think if
you're saying is going in a small window
you can have a nice big window which may
be the video you've got to worry about
the bandwidth because you're going for a
modem speed but that doesn't mean that
your presentation has to be small and
then flash has a fair amount of
scripting in it there's the various
actions to allow you to do various
different things with flash elements but
then that stuff is carried across in
quick time when you bring a quick to
flash movie into quick time with the
actions those get maps to quick time
zone actions and you get the same
interactivity there and you can get into
combining it with other media types and
adding further interactivity to the
flash track as well so you may have been
hearing I'm big on combining the media
types I have multimedia background and
doing the cd-rom work and all and I'm
really excited to be able to really make
these things as complex as possible and
use the elements that you need use the
technologies you need for the elements
that they make sense for so we've got
the sprites that I was talking about
that are great for having buttons and
bitmap kind of things or doing stuff
that's that is best done a bit mac
bitmap artwork we've got vr4 doing
quicktime VR for doing the scenes and
the object and flash providing a good a
good scalable animation tool that's
vector based and then all these other
kinds of QuickTime media as well like
the streaming media whether it's fast
start streaming or or the rtsp streaming
whether it's coming off of a regular
HTTP server
or or up with quicktime streaming server
and then text and other things all of
these media can very nicely go together
in QuickTime one of there's plenty of
ways to control these different elements
once they get put together with
interactivity it's very possible to use
QuickTime now to create very custom
players which will play with a very
minimal amount of the branding from
QuickTime which which a lot of content
developers really want they want to have
their identity be the thing that gets
put forward and pretty much once you
finish seeing the QuickTime q load you
can take over the presentation from
there and have it be you're saying the
way you want it to be and then use the
QuickTime wiring to make these into
wired movies and make them really do a
whole lot so let's look at a little bit
of that see
so the Swedish accompanied by Sark I
showed earlier has done something which
is perhaps not the going to be seen as
incredibly that it's not like a mtv
panic demo the positional one where the
City Council of a small town decided to
use the web to broadcast their at their
council meetings and they've hired the
company to build an interface for this
so they using movies off a streaming
server which this is this is an archived
but it was done live and the move the
track on the Lex here with the text
track can allow you to index around
within the presentation the agenda is
shown here the there's information about
the different parties involved they've
got interactive control of the movie in
a straightforward way over here and
there is a setup for a commentary here
the users upon clicking looks good of
text here and I guess it says click here
to launch into a form for sending
sending an email to the presentation as
it's going on to discuss to add their
input so this was a very interactive use
of a quick time to get some some work
done then we'll look at a couple of
things so this is a flash track a couple
of flash track than a VR movie we can
pan around here and view this stuff
we've got flash composite over a good
time movie over the VR movie and with
animation going at all we've got
interactive buttons over here which are
in the flash track which end actions to
see our movie to change to a different
view this is just sort of it
a simple our example but you could get
much more sophisticated than that's what
I mean there's no nothing going on here
with spending actions from the VR movie
to the flash track that could easily be
done where we could do things based on
pan angle or hot spot clerks or whatever
to make stuff go on in back in a flash
track to change what you're seeing there
give information about the view this is
consists of three primarily three tracks
there at the background which is flash
and the VR movies layered on top of that
and then there's another flash track on
top which is set to alpha if you want to
just put together a movie with a
QuickTime track on top of flash track
you can very easily do that in the flash
for authoring tool importing a QuickTime
movie and working with it there and then
using flashes publish settings to
publish this quick time and that will
make the flash track and QuickTime
tracks with that whatever good time you
had imported if you want to get into
this sort of thing where you're layering
it up then you need to assemble it
somewhere else I did that in live stage
Pro which allows you to bring into VR
tracks the flash tracks and so on layer
them up to their graphics modes and and
add things like the actions on these
buttons which change the note it will be
our movie from point yes this is a
simple demo then that so that's a simple
sort of player I think we'll go from
here back to the slides and I'll talk
about another way that we can get more
sophisticated with our players the thing
that happened there was we had to we had
to have the media for that was being
played in the player really be an
integral part of the presentation we had
to author it all together and had to get
the rates all to match and so forth in
4.1 we added movie tracks through the
movie media handler which allow you to
make a new kind of track in the movie
you which uses for its immediate another
movie and these movies can be linked
together without their time basis being
slate in other words we have separate
clocks finally and that was something
that in the past was always necessary to
go to a separate authoring and run time
the environment where you could have
multiple movies and then there was the
other thing about this is reference
media it doesn't have to be built into
the movie and it could be referenced in
a number of ways so we'll have a demo of
that this movie was shown earlier in one
of the QuickTime sessions as an example
of putting something into I shall to get
a non-rectangular mask but it was just
dropped in there as a movie that the
movie itself is quite a lot going on
with it we've got the movie region quite
obviously has got a movie track and then
which we can control and give that
forward stop play step forward i just
downloaded these movies before the
presentation threw them in the folder
here and name them content one content
to i can have up to eight movies here
with the names got set up with those
sort of names and they get you should
control sequentially by this right here
which chooses what track is getting
which which it's one we tracked but it's
a number of different references of
control personal bosman determines which
which reference were picking and will
get the same one over and over again for
the rest of the click because i only put
two movies in we also intimated this
player something where you can change
the interface just for fun so that's an
example of the kind of player that you
can't bill I think it'd be pretty hard
to build anywhere else and you can
deliver in QuickTime obviously this one
is non-rectangular you would want to
have them these days more
in terms of appearance of you can make
it work better but that's how that can
work shortly so if we go back to the
slides now as the final thing I want to
talk about is something that a lot of
content developers have worried has been
worried about for some time which was
the ability to reliably detect whether
QuickTime was installed on machine in
the browser before they delivered Khan
gave the user to content and we've
incremental e added a number of pieces
with JavaScript people can do a fair
amount of testing I've always been able
to in some of the browsers in the
Netscape browsers and so forth and with
activex that we just add an activex
piece which will allow you on Internet
Explorer on Windows to check and see if
QuickTime installed Aaron as well as
checking what version which was really
the last problem that you had and people
have been working on scripts put it all
together now so that you can when a user
hits your page test and see if they've
got QuickTime what version of quicktime
in do something elegant about it don't
give them a oh you need to pick this or
that just send them off get quicktime if
that's what you want to do give them a
low bandwidth version if that's what you
want to do but you don't have to worry
about people getting a broken plug-in
icon you can really do elegant
well-put-together presentation so in
summary at quicktime dr's got a fair
number of good things to streamline it
better for the internet than the
majority of the content you see there's
free components from us and some
third-party developers are taking
advantage to help out with that flash
and sprites are a good way to make
movies which don't have a whole lot of
download time flash even better it with
sprite see you can make your movies too
big if you're not careful but it's
definitely make lighter weight movies
been a typical linear presentation we've
got the wiring to make them all do
important stuff together and finally
with QuickTime detection we can provide
a clean experience for professional
developers to present to their users
so from there we're going to go to
embedded movies and Shaun Allen will
tell us more about all that thanks
Heather I'm Sean I'm going to be talking
about two things today first thing is
embedded movies this new feature with
QuickTime 4.1 it's just there's a lot of
things you can do with embedded movies
but that aren't maybe obvious it's the
quick times always supported multiple
spatial tracks so in a way a lot of
people ask well don't you already do
sort of multiple movies at once but the
time basis there are all synchronized to
the same cloth so that would be one
major difference so some of the
advantages of embedded movies one thing
is that it's sort of like frames in a
web page I mean frames you can download
just part of a web page so with a movie
with embedded movies you can bring in
just part of a sub movie basically that
also gives you you know read wrong
you're not redrawing the whole movie so
you can swap things in you can have less
redrawing happen and it also lets you
factor out sort of reusable components
like you can create movie controllers
that are have custom looks and reuse
them with you know any movie that you
want to I mentioned multiple clock so
you can have say Eric just showed an
example with a movie being loaded and
controlled within the same movie there's
also some technical implementation
things that are going on with the moving
media handlers that make it nice to
actually go between two different movies
in a row so the movie tracks is what is
used to
to implement this movie media handler is
a new media handler with 41 basically
each sample defines property since the
movies are complex I mean they have
spatial audio and timing properties
there's properties and moving media
handler that you can set to deal with
all these things and another thing about
the movie media handler is that it has a
list of data references so basically one
media one sample and the movie track can
have a whole list of the movies and you
can just tell it okay I want to use this
movie at this time so that's how you can
swap things in and it's actually dynamic
as well so if we take a look at a sample
movie here this movie the whole slides
one movie it's got four tracks the first
track to movie tracks we've got three
samples so that could reference three
different movies and then we got a
background picture right track and a
flat track the yellow timeline shows
what's actually alive or active so we
see that you have multiple movie samples
oh you know in a way that's sort of like
a hypercard page or something it's it's
at this time that is current you only
have the background picture and the
first movie alive to go to the next time
well the first movies gone but the
second movie sample activates and in
addition we now we can have a sprite of
course these things can be layered how
you want and arranged on page however
you want in the movie of course them and
then a third time we describe sargon and
we have flash so if we kind of zoom in
on the movie layout here we see that
well the first movie sample actually is
referencing a movie that has a video and
audio track now notice there's two
timelines now because these don't have
to be slave together you can actually
have them independent so that
sub movie can have its own clock and can
be controlled via wired actions if you
want to start and stop it change the
rate and so on you can opt to actually
slave the time basis if that's what you
want to do so a movie sample as I
mentioned has multiple data references
so here we have a movie sample is pre
authored to have three different movies
that it can reference just by changing a
property that you it's also dynamic so
we can add another movie will be showing
some demos later of how this can be
useful but at runtime you can actually
add or replace any data reference and
its list and then you can actually say
hey step the current movie to that since
the all the movies are data reference it
can be pointing in sequence two
different to the same media actual if
you want so it's not it doesn't have to
be all loaded into memory so the movie
media has some settings that you might
want to check out if you're building
movies like this basically you can optus
slave properties the time the duration
meaning the samples already got a
duration and the movies got a duration
so how do you do a scale it's like as
adding scaled and quicktime player audio
properties can be slaves like the volume
or the balance graphics mode can be
slave so just get steps to the parent
movie and then there's some settings for
spatial dimensions as well and i'll be
showing you some examples of that later
so actually now so if we go over to the
demo machine
so first of all I'm just going to show
you
is a simple movie that just has color
patches and these are the sizes of the
movie tracks in this movie and then
we're going to take of our mascot here
and we're going to basically see what
happens to him when we reference him as
a sub movie using various scaling mode
so i can close those down i'll leave
that one up so first of all those scroll
mode is in some ways probably the most
what you'd expect the most it basically
does not scale the nested movie but does
clip it so here we see that that's going
on second mode still actually just
stretches the movie to fill the entire
thing so here's he's very full down here
it's not so full over here the sample
code out on the website right now that
you can check out that lets you build
embedded movies and actually play with
all these different settings so meet
basically we see that it gets stretched
until it meets an edge and slice is
fairly similar except it'll stretch
until it fills the whole region and gets
cut off
okay so another simple demo is if if we
have a flash movie and a separate video
movie people for a long time have wanted
to sort of have video on a TV and an
animation and the problem was always
well we don't have a non slave time
basis so now now that we do can combine
these two into one movie so both are
being referenced notice that we have
control over the outer movie which is
where the Flash movie is the Flash movie
can actually control the embedded movie
of course you can stop the automatic
lock too so we support and flash we
support all the flash reactions right
now but to do this type of thing you can
also we we support on flash buttons all
of the foot time wired actions so this
is using wired action to actually tell
the nested movie to play in five
okay now one my demo here
so we've got this is actually a sprite
movie and we can drag around the pieces
the smuggles a photo model so I'm going
to create bubble here you're probably
wondering what is what does this have to
do with movie and movie since this is a
sprite track and actually down here at
extract it's a good question so what
I've added to smuggle is a take a
picture of mobile button so what this is
doing is actually in the in the wired
movie it's asking each sprite for its
position it's putting those positions
it's passing them to in this case a
hypercard CGI that's running over here
and what we get back is not a sprite
movie actually in fact it's a movie with
a lot of sub movies in it each sub
movies a picture this is actually and
he's got a funny year there let's take
another picture a side view here step on
this hat
yeah there you go so anyway
so this kind of thing is sort of
interesting because this file that's
coming back is a smile file so it's
really small all the media is actually
on the server so you could imagine doing
this kind of thing with I cards or
something like that where it's very
interactive client experience with a
movie and then you can actually send
this to a friend or something you really
wanted to so we briefly take a less we
briefly crash let's click actually
better
so moving a movie how do you create
these things you can actually you smile
like I just mentioned and what was being
returned there from the server was in
fact a smile file you can offer them in
a program like live stage fo or build
your own application the sample code on
the server and I want to quickly talk
about how the be a flash movie button
talked to the embedded movie basically
we have extended the targeting higher
hierarchy of wired movies so that you
can talk to embedded movies or parents
and so on so basically what you have to
have is a movie path anchor in this case
I'm showing that all these sprites of
the embedded movie are its anchor is
that movie and in this case all these
these movie tracks and that's right it
anchors off the root movie so if we
wanted to tell sprite one from right to
like onmousedown maybe setvisible to
fall we'd have the parent movie it would
go from the embedded movies track up to
the parent and then from there down
track one which will be the movie track
one sprite one so they're definitely
some advantages of using movie media
handler basically covered most of them
and running low on time so I'm going to
come back later and talk about some new
stuff but Bryce Wilson will be up here
to talk about some new stuff
good morning I'm here to talk to you
about something you might have seen
already showed us in our keynote
panoramic projection extension so far
what we've ad for you is traditional
cylindrical panorama as we introduce
several years ago provides a nice
immersive photographic experience but
you don't get to look all the way up all
the way down it's hard to explain this
so I actually want to go ahead and go
straight to demo machine one and for
those of you who might have not made a
10am keynote on Monday but managed to
come to a 9am session I suppose there's
some chance you even seen this so we
have some movies that were taken out in
Las Vegas well I shouldn't tell you that
but here's the eiffel tower by the way
it's Las Vegas that's the phil schiller
surprise and I'd sure like to be able to
look up there but of course that seems
to be a problem here so now and we can
and we can get up and see the moon and
get a little dizzy if we want so that's
really the fundamental introduction to
cubes and what it means it's takes us
where we haven't been before go back to
slides please
so what is this it's a new rendering
engine provides fully immersive views so
we can look all the way up and down and
in fact I'll show you a little bit later
we can do more than that and very
importantly in some cases there aren't
artificial bump stops at the top and the
bottom and I'll show you that a little
bit later too it can be a little jarring
when you're in an immersive experience
to be looking up and maybe there isn't
anything interesting to see that you run
into an artificial limitation we use a
cubic texture map as I mentioned I'll
show you some of the details of that and
a little bit as well and we want to sort
of make a point that this is in addition
to cylindrical panoramas there's several
reasons that this isn't actually a
replacement in many many ways it's just
the same it's exactly what you're used
to as far as the user experience and and
several other factors but there are a
few things that are different so just
like cylindrical panoramas we've worked
really hard to maintain very similar
playback speed and quality for
comparable content hotspots just as you
I've seen them now multi nodes you can
do links between notes within the same
movie use URLs in browser trigger
JavaScript anything like that and wired
hot spots as well which allow you to
trigger many of the interactive things
have been shown elsewhere in the session
we have fast start previews which gives
you a better user experience on the net
about ten percent of file comes down and
you have some version that you can
interact with typically we provide tilt
constraints which also show you in a
little bit sometimes you don't have all
of the content for various reasons
usually relating to capture and the file
format is amazingly similar as a result
many tools interact with cubic panorama
it's just the same way they do with
cylindrical train or Emma's if they
don't if they don't do anything that's
really specific to the cylindrical
format we it works out really well it
just worked
of exceptions as we noted before
starting with the second one first
actually you look straight up and down
that's sort of the underlying theme here
also there's real benefits in the file
format size especially in things such as
automotive industry and architecture and
there's few other examples as well
people have been working really hard to
use QuickTime VR to do high field of
view where you can look very far up and
very far down but you run into some real
issues with file size cylinders don't
like to go beyond about a hundred
degrees before every little bit more
starts to cost you a lot you wind up
with a lot of detail up in a lot of
detail down where it's not all that
interesting necessarily and it's just
buying you a few more degrees so I can
go back to mo show you a few of these
things first just to take a look at the
format this is just a cylinder exterior
view and we can take a look inside and
this is the cylindrical experiences many
people have seen it already hot spots
and take takes us right back outside
similar effect with a cube this is
different content this is what's
fundamentally going on is there six
surfaces involved and hop inside and get
the all the way up all the way down
effect and again we have hot spots it's
a multi-node movie you can mix and match
cylinders and cubes in the same movie as
it makes sense fast start we have a
hundred megabit network up here between
machines so trying to scale down for
bandwidth is a little interesting so I
have a tool here called deliberate Ertz
from VR tools not specific to VR it's
actually a very useful tool for variety
reasons it knows how to
understand how the your file is laid out
and deal with that you set up for
optimal fast start many of the
interactive media's it's not all of them
at this point don't really deal with
streaming well because streaming is
inherently time-based and interactivity
is not so fast start remains very
important to us here I can say pretend
I'm onto ISDN connection and show me
what this would look like coming down
and this is the grid in this case it
happens to look very much like a
holodeck and you can watch the tiles
coming in this is what you would get if
you don't put a preview in if you happen
to be watched looking at this over a
network connection in this case we have
some interesting content up here which
doesn't all come in on the first tile
and if you have a faster preview isn't
all there immediately there's an option
which I'll mention a minute to actually
change where the faces are located for
to help solve that problem so in this
case I went ahead and put a fast start
preview on it this one just is for good
visual effect might not choose to do
this I colorized edge detection I'm
sorry this one's list start low res same
thing so you can actually as the tiles
come in if we look here i'll be able to
see a little bit of a delineation
between lower resolution information
here and higher resolution down here and
this one shows the effect much more
common unless the edge detection
colorized so again this provides a neat
visual effect until tiles actually start
coming in but when they do it's a little
bit jarring
and there's one more thing that we've
worked on as well which is backwards
compatibility back to quicktime
four-point-oh so if you not everybody
updates immediately that's just how it
goes as much as we might like otherwise
and so rather than forcing people to
have to go get a new QuickTime you can
actually open these movies up in in the
cylindrical in a cylindrical viewer and
they behave like cylindrical movies in
some cases the content doesn't really
show it there aren't any real visual
effects in many cases that are very
obvious sometimes it's a little more
obvious here the the top of this
building for example this is supposed to
be round but the effect is much better
than can't play this movie go get a new
QuickTime of course you can make people
do that if that's what you want and go
back to the slide space so texture map
six phases of cube their ordinary 90
degree by 90 degree perspective views
you can get out of any render many
renders today support cylinder output
this is even simpler to search a
standard photograph smaller memory and
file footprints the memory footprint
being smaller is nice too as well for a
high field of view because cylinders
when you get up high you're eating
memory as well and as I noted cylinders
do still have their use primarily they
are backwards compatible much further
back they're proven and there's a lot
more tool support for things that do
care about cylinders and sometimes the
feeling isn't interesting or high field
of view such as outdoor scenes so this
is just simple side-by-side illustration
example again outdoor scene maybe all
the way up isn't interesting this is a
file size comparison and what we see
happen here is cubed stays constant
they've got six spaces for a given
quality of source image given horizon
sighs this is 2k pixels around and what
happens is we get across over at about a
hundred degrees field of view and by 135
a cylinders double the size 135 isn't
actually all that high and 160 which
some of the automotive content uses
we're up to almost five times the file
size is an equivalent cube and that file
size goes somewhere you have detail but
it's all the way up at the top so and
all the way down at the bottom and if
you're zooming in on the carpet on the
bottom of a car that's not near as
interesting perhaps is the dash and
what's going on here is this is a cross
section with cylinder on the Left cube
on the right you can see on a cylinder
the first hundred and twenty-five
degrees takes the same number of pixels
as the next 25 or to look at it a
different way you know 25 at the horizon
is use as far fewer pixels and I just
want to have one more demo here
so here's some kind cubic panorama taken
in la's Union Station and its really
nice good stuff to look at as we come
around nice ceiling but the floor here's
pretty nice too which is interesting but
oh my there's a tripod here so and
that's just a fundamental inherent issue
with doing photographic content is you
you have to be there trying to hide the
photographer and an immersive
environment is hard not too bad when you
can take it in sections but there's some
fixed equipment that just stays there in
this particular case because the floor
is interesting some creative Photoshop
work takes care of the problem and the
floor gets reconstructed or perhaps take
a picture just straight down and use a
little bit of work to get that in there
are some capture techniques that are on
the rise and perhaps that don't have
these issues not really addressing
capture at this point because we're just
looking at how they deal with some of
these issues in runtime here's another
one this is a lobby where this was taken
with a panna scan camera doesn't quite
get all the way down so we have a bit of
a hole in the bottom and you know this
maybe isn't interesting it's the stairs
you could Photoshop with instant carpet
whatever some people put in a logo or
perhaps you just there isn't that
anything real beneficial in coming down
here so we do have tilt them it's just
like what you would expect with a
cylindrical panorama where we can limit
the tilt down in fact I cheated the
first cylinder I showed you and followed
by the cube that was actually a cube
with limits on top and bottom to make it
look like a cylinder so in this case
there's some other things we can do as
well keeps do have all the information
all the way up and that we can actually
go a little far and the world gets
upside down so
which helps get rid of the stop up here
and then that's just to look briefly at
the bumpstops issue again here they saw
this movie a little bit earlier with
Eric and this is one where maybe there's
an anything interesting to see but you
just trying to do an arbitrary limit at
the top and and again at the bottom not
really missing anything the floor maybe
a little bit of the center console so
take a look here this is large and high
resolution so it takes a moment to load
this still has a bottom drop which maybe
isn't such a big deal but when you're
looking at you just you don't run into a
barrier at all again nothing interesting
and in this particular case we just
there's not only no boundary up at the
top but also in a car again it's just a
center console but there's nothing to
stop you at the bottom either and back
to slide please
so just real quick we're running a
little bit long here making cubic notes
images talked about 90 degrees field of
view the edge pixels of shared through
the center's the CD you got should head
file format information on it which
cover much of this information just like
a cylinder pano sample but there's some
backwards compatibility information in
there so that the older versions of VR
can read it there's a new field that you
say hey this is a cube new view atoms
which actually contain the data
describing where things are and
optionally where the individual faces
are which allows you to rearrange things
if that's interesting such as for where
the primary content wasn't that one
panorama standard face ordering and
clockwise it's just like cylinders which
allows us to to have that backwards
compatibility and can easily be changed
for example to a diamond face
orientation so in summary I'm going to
go ahead and hand this back over to
Shawn and he'll talk to you guys a
little bit more thank
okay finish the restart we don't have to
show that part oh the Flies really quick
okay I got 12 minutes and I'm going to
put it in the free let's see if we can
do that yeah okay right now we have
wired variables and also you can do is
basically hang off of a sprite track so
people who have wanted more than that we
basically want to do more in the future
so I'm working on some stuff that will
allow us to have named variables attach
it to any sprite or movie handle event
parameters have structures and even
local variables so how are we going to
do this we're going to actually
introduce an API cutie list is going to
be a toolbox API and it's going to be
scriptable so we're going to be able to
build the tire to go list in import and
export XML so we're going to actually be
able to deal with XML on the client side
some degree so these lists are going to
live on movies and tracks so they're
always available from wide scripting
there and also when you're in an event
handler you're going to be able to
access the events such as Mouse dot X or
something like that they're basically
like XML nodes that are going to be
living in the movie so here the movies
calling movie get element and we're
going to have some strings can actually
just say Michael or doubt read to go
down the hierarchy of the XML and again
mouse dot X over H anyway besides doing
Kiki list will be useful for other
things besides just variables and
structures and so on we're going to be
able to use them to exchange data from a
client to a server right now when we say
go to URL we can pass a little bit of
information up to like 5 12 characters
ago and what you get back is always a
movie well this is going to let you
actually say hey here's some information
I want information back if you've read
about our PC or something like that it's
basically passing XML and HTTP requests
and getting back
xml will be able to support that kind of
thing as well I'm just going to go to
the demo now
so we've done is set up a web object
server with media and in a database we
have some movies some images some audio
we've defined to basically API if you
want to call it that routines one is
search media and you can pass the type
and even a substring the search and X
web objects will handle that and what
that is actually returning is XML that
the client movie can take a look at and
you so we just launched netscape here
what I'm going to do is just paste in a
URL which is going to be handled by
webobjects so I've used source on what
came back i just did a search media for
media types video so from the databases
actually returned all this information
into the movie and the client movie can
actually get to all that through wired
scripting so we can actually find out
that here's the URL here's the ID
adoration for each element in the title
let's try another the other sort of API
that we defined was build smile so what
this is going to do is build a smile
file and we have a simple little
encoding here here it's just a single
element so if I execute that web optics
is returning a smile file and it's just
a single little video clip here because
I just asked for media id3 so let's just
do one slightly more complex one where
we have audio in parallel
so here whether object is returning a
little slideshow with several pictures
and some audio and it's got time
information that the only thing we
passed was originally the ideas you can
you know say hey what do you have to a
search or something like that and then
construct a movie but we only had three
images so it's already gone so we did
was we put together a crazy client-side
movie it's not quite finished but it's
exercising some of these new features
and the idea was it was going to be a
media browser so it can throw out for a
movie audio or images and so if we
browse for images today with the letter
F and we find this flower so that that
actually got returned through that the
list and see what it would have returned
was the URL so then we we did a set on
if for nested movies here and on the
first nested movie we did add URL and we
got that out of the XML it was returned
and now we we can actually see that
movie if we want to search for maybe a
different one you also notice we're
typing in text field peel here which is
something you'll be able to do in the
future not now and then basically I
hooked up a build it button which is
just building right now can movie that
should load in
and it's taking a long time so I'll go
back to slides oh there it is so
basically really briefly the exchange
lyst action that we will have let you do
in one HTTP request response loop lets
you ask for information I actually send
XML information and return XML
information back so I think I should
stop now so well looks like this session
was a little bit busy but I just wanted
to say I'm the closing new book that the
reverb interactive stuff is type of a
graduate integrated in quick time so you
always have access to them so i strongly
encourage you to try some of these
things up and then we're going to have a
feedback session in this afternoon so i
strongly encourage you to come through
that session and then we'd like to hear
from your youth you please thanks again
and then go your stretch of the copper