WWDC2000 Session 300
Transcript
Kind: captions
Language: en
so I'd like to bring up a good friend
longtime associate Jim Batson quicktime
team one of the founding members
quicktime team he's going to help me
with some of the demos you know him well
so quick time has had one of the best
reputations in the industry when it
comes to quality of the software we
produced and I'm I am really proud of
this this is something we've worked
really really hard on over the years and
a big part of the way that we
accomplished that is through a very
aggressive feeding program now somewhere
along the way in the last few months in
the frenzy of all this stuff we've been
doing we seem to drop the ball and a
couple of release is a QuickTime got out
the door without any feeding and you
guys you're very passionate you let us
know really clearly and frankly how you
feel about that so we decided to make a
movie to commemorate this learning these
old hard lessons all over again and we'd
like to show that to you now I'm done
programming it for today Nicko relax
with some quick time TV ha
[Music]
hey Jim what is it this time I just
updated a quick time four point one
point one and it broke my website yeah
right yeah well what are you gonna do it
back whatever
[Music]
you've got to see oh oh oh no
[Music]
Blackfeet Lucy all see you see
this one has a little star this one had
a little car they like a lot of teams
that are yes some are red and some are
you some are old and summer
[Music]
thank you one of the great things about
the QuickTime theme is there's some
really creative people got some good
editors the last one it's really right
so um may we not forget this hard lesson
for another nine years can you go back
two slices so you're probably interested
in how you can get involved in feeding
we have decided to make some changes in
the way we're doing our seating to make
it easier to reach more of you more
efficiently more effectively and
effective immediately we're moving the
whole seeding program for QuickTime over
to be in line with the the regular apple
seating that is done elsewhere in the
company these days the easiest thing for
you to do is to go up to the developer
website and you can get the details you
can sign up it's not going to cost you
anything and we've also got these
mailing lists you can find them at loose
calm as a about a half a dozen of them
and you can find out what's going on how
your other peer developers are doing
with the various speeds and it should be
a good form to to make a great product
going forward the guy who is going to
keep us honest in all this is a guy
named Jeff blow he's the QuickTime
technology manager here at Apple and so
if you have any questions or issues or
concerns feel free to send him an email
and he'll get right back to you so this
show seems to be about Mac os10 um
you've seen a lot of QuickTime in the
keynote session this morning
unfortunately you're probably not going
to see a lot of QuickTime a lot of
chromatic OS 10 in this session the base
message I want to bring to you today is
that quick comment Mac os10 is really
like quicktime everywhere else we've got
the same api's the same features the
same bug it's all the same stuff it's
all there in DP for you've got the disc
you know I encourage you to go and play
with it and let us know what you think
we're going to be working on it
throughout the rest of the summer as we
wrap this up and hopefully come fall
we'll have a great a great piece of
software there that you can base your
applications on Mac os10 on so we've got
only one session focused on Mac OS 10
and I will confess that that session
isn't entirely about Mac OS 10 but the
reality is there's just not that much
that you need to know about mac OS 10
for quicktime on 10 it's ok let's talk
about some of the details of the
quicktime technology area a little bit
about what we've been doing over the
last year since we got a chance to get
together one of the key areas that we
are focused on with quicktime is an area
of content creation of course Apple
computer is completely focused on
content creation these are our customers
these are our core customers creative
people working in education consumers
design and publishing professionals who
create content for a living we are doing
innovative work in a number of areas and
the first one I want to talk about is
sound manager not say a lot i'm going to
talk a little bit more about mexican
town manager on mac OS 10 is getting a
major facelift and we're adding some key
capabilities that developers in the
professional audio tools space have been
asking for for years that i'm really
pleased to see that we're moving ahead
with this the goal here was to provide
some industrial-strength foundation for
your professional audio applications
that starts at the hardware level we are
going to build provide a whole new
hardware abstraction layer that's going
to provide low latency io for your cards
hardware-based synchronization for much
better timing true multi-channel in and
out so you can have you know eight
parallel channels running without having
to bypass all the
operating system d able to do that and
we're going to also increase the
resolution of all the pipes will be
talking about higher sampling rates
deeper bits resolutions as well as
floating point processing pipes and will
also be adding a plug-in architecture
for effect this is pretty good stuff in
the middie area will also be providing
for the first time some standardized
low-level IO managers for MIDI we've
never had this standard on Mac OS 9 as
you know most people end up relying on
things like OMS or free midi and on Mac
OS 10 we're going to provide this basic
infrastructure and it'll provide the i/o
and the timing services we're also
making a significant upgrade to the
quicktime music synthesizer to go along
with these new MIDI and sound
capabilities we're going to introduce a
whole new music synthesizer that slays
MIDI files that's compatible with the
latest in MIDI standards dls too and
we'll have some new sequencing api's to
make it easier and more powerful than
ever to add sequins music to your
applications and I hope you'll be happy
I think this stuff is in DP for some of
the stuff is in DP for now and we'll be
feeding the remainder of it as the
summer plays out and I invite you to get
involved we've got three sessions at the
show that you should come and take a
look at if you're interested in these
technologies and check it out so pro
video these days pro video is basically
about these three things we're talking
about really high data rates we're
talking about being able to handle
multiple streams at once so you can
create complex composition and because
these people professionals are concerned
about their time we're concerned about
being able to provide real-time
capability Apple has been working in
partnership with matrix and pinnacle to
introduce two new very interesting
hardware software combination that you
might have seen if you went to the nav
show since many of you probably weren't
there I want to tell you a little bit
about what we're doing the first company
that I want to talk about is pinnacle
they're introducing some new hardware
that's going to provide it unbelievable
prices the capability to be able to do
HD format video that's uncompressed high
definition format video this is data
rates about 120 130 megabytes per second
on a Macintosh running with QuickTime
and final cut this is an amazing and
amazing development the monitor costs
more than the rest of the in the total
cost of the rest of the system it's
really one really wonderful development
we're also working with matrix on a very
low cost very powerful system to enable
you to do real-time effects dual stream
processing of DD streams and standard
definition uncompressed video and I'd
like to have Jim help me show you a
demonstration of what we're doing there
all this stuff is built on top of the
QuickTime effects architecture that's
been in the system for the last couple
of years and so if you want to take
advantage of these capabilities when the
when the hardware starts shipping is all
you've got to do is support quicktime
and you'll be able to do this final cuts
calling the standard API and all it
takes come as I demo for please great
okay so we're just running a copy of
final cut we've got this matrix card in
the system not a series of press edit
video clip
you
now as you know final cuts got a very
powerful capability for adding effects
and controlling effects rendering inside
of the clip that's Jim to add some
dissolved normally when you do this
you've got to now wait for a while well
Final Cut renders this but with the new
hardware and cook times effects
architecture you just roll back to the
top
[Music]
[Applause]
[Music]
[Applause]
pretty neat so that's a pretty pretty
good effect it's kind of the bread and
butter effect for editors do you have
anything a little wackier I'm gonna
bring up click here we've got two video
tracks one called lake scene and the
other one just water ripple water
ripples just you know straight on top of
the lake scene so you can't see the lake
but when we put this effect on top of
the water ripple what's going to happen
is the water ripple frame is going to
zoom in spin around and flattered but
flying around a bit and once again it's
all green at the top and it's all real
time so the cdte you know to DD street
and fin and one out and of course is
screaming I through and you can even see
the transparency through that pretty
cool pretty cool thank you now can go
back to slide please so that was an
example of using QuickTime creation
environment decks architecture to do
professional quality video creation now
as you know appleton working real hard
over the last year to make consumer
video creation a reality and we've been
working with a lot of developers in
other areas that drive that forward as
well quicktime authoring being being
just another part of quicktime it's not
just a macintosh feature it's something
that we support on all the platforms
where we where we take quick time and
this architecture was designed in a
scalable way so it's not just something
that's going to be required or just used
by professionals Sony's created a very
innovative product that's based on
quicktime that they ship on all their
vaio products now and we'd like to show
you that leveraging many of the same
sentence features that were used in the
matrix demo just a minute ago can we go
back to the demo machine go to the
laptop so this is an application called
movie shaker
so we're going to first thing we need to
do is a drop some median so we just
reduce the screen size okay here's a
folder with just some QuickTime movies
and it just drops right in and this
becomes a content that we can use and so
we'll just pick one of these guys let's
take the road one cuz he's pretty easy
you just see pretty well and you have to
play button see something wrong let's go
around normal quicktime controller stuff
movies and take a look some effects and
you have a preview mode here so you can
look at bubbles it's all pretty cool
because it's all Swift files these are
all flash animations and obviously in
this context in the consumer context the
goal is not so much workflow and process
and speed and stuff like that it's more
about fun and creativity and play
through and there's a result just right
away and we can also do some text and
the canonical text that he always had
and you can get a couple previews
there's a fade right you can just paid
it all up shrinking Rams fan so just
drop the fade right into one of these
effect ends here and they all get
applied at the same time so now we've
got the bubbles and the text and it's
pretty straightforward
okay then we move on to the shaker
remember anyway which is a lot of people
you know they just want to use the
content they don't want to spend a lot
of time editing so it's really nice to
just have an automatic way of creating
some interesting edits and sound effects
and stuff like that so we've got a lot
of different modes here to kind of go to
romantic romantic mode all the way up to
engage published oral mode so let's try
that one out and so we'll just shake it
and of course it takes a little time I'm
not too long so right now what's going
on is the application is basically
creating a wacky edit of the they're all
the clips in your input important bin so
now is this look down here so we can
look at the result
[Music]
ensuing all the cuts as the music lively
affects every time you're running to get
a different result it's kind of fun and
then they support they support features
in the application to be able to export
Esther you can post your videos on the
web and the Japanese are working really
hard to make consumer video a reality
and they've got a lot of creative ideas
it's pretty neat to see this happening
it's all built on top of foot time so
let's go back to slides please so now
I'd like to spend a little bit of time
talking about some of the interactive
features in QuickTime the first thing we
need to do is talk a little bit about
what is interactivity the basic concept
here is we've got a really powerful
engine for creating kind of linear media
assets video audio whatever we've also
built into QuickTime some very powerful
features to be able to allow you to
customize both the appearance and the
behavior of your media other people are
doing things with skins which is really
not the same thing that's about taking
an application and changing the way the
application looks but it really isn't
responsive to the media and it's not
able to modify the overall behavior the
application we think this is really
important we think that the thing ought
to be two skin the media not the player
so we've built some pretty cool
technologies to allow you to do that and
there's a there are a number of ways you
can access this the first one is through
the movie controller if you're
programming with QuickTime today you
know that the movie controller is
responsible for all the interactions
that takes place in the movie and
there's a lot of interesting things you
can do with that although most of that
stuff is probably not obvious if you're
not a programmer we've also built this
very powerful infrastructure inside a
quick time that we call wired movies
it's basically the capability to execute
code inside the context of the movie
playback and this is code which is
sort of like Java it's portable it's not
tied to specific machine architecture
and it has the capability to communicate
with other parts a quick time to be able
to send the vent and be able to modify
behavior based upon user input and other
events or conditions that are rising the
movie we've also built an incredibly
comprehensive set of interfaces to
quicktime from java so if you're a Java
programmer and you like to work in that
environment you can do pretty much
everything you can do with quick times
the capi plus some other things and then
of course quick times got a very strong
layered architecture and you can always
extend foot x y a new kinds of media
handlers new kinds of components or you
can override and extend those yourself
for on the existing one the the first
kind of interactive media that Apple
ever shipped was quicktime vr you saw
some interesting demos of that this
morning we're doing a lot of work in
this area now and I think it's pretty
amazing one of the things that didn't
come out this morning that I found to be
a very interesting story about proton VR
is that in the auto industry it turns
out that most of the car manufacturers
have standardized on quicktime VR is the
format for displaying their new car
models and what we've heard from the
photographers who go to these companies
and who are doing this work for them is
that the quality of the stitching the
qualities are rendering the ability to
provide clips at very high quality sizes
as well as smaller and easier to
download sizes makes it a very
attractive it turns out the dynamic
there is very similar to the dynamics
that we see with the movie trailers they
really care a lot about the quality and
quicktime VR seems to be the the one
technology that's providing that for
them we've got OD Acura BMW dodge ford
mercury and it goes on and on there
several others and a whole bunch more to
come it's quite interesting and I think
what we're going to see is we're going
to see this direction moving over to
other related industries airplane both
that kind of stuff it should be
interesting to watch it evolve so now
what we're going to do is we're just
going to go through some demos of
various ways that you can
work with interactivity ways you can
wrap your media with interactivity and
custom appearance in order that the
experience is sort of what the content
producer wants what the director wants
not what the application provider is
trying to deliver go ahead let's switch
the demo to please okay so the first
thing that we're going to start with is
the Lord of the Rings name curls the
great Rosen trailers Davis a 20th
century now what you can see here is
we've got the movie playing in the
middle we've got some interactive
buttons around the outside and this is
basically taking the media and provided
kind of a whole application environment
around it it was designed by the the
movie makers and you get the same really
high quality quicktime video playback
but you've also got this great
environment base yeah it's great
environment that provides the
interactivity and a customized
appearance this particular clip was
created with live stage pro from totally
hip probably the one of the more popular
tools out there for creating this kind
of interactive media okay we move on to
the next one so that's a that's an
approach that requires a little bit of
programming sort of drag and drop of
media elements in a little bit of
programming here's an approach which
takes kind of a lot of programming what
gives a very very interesting customized
behavior this is from a radio TV com at
the French company TV radio com the
French company and what they've done in
their interface is packaged up I think
it's 18 internet radio channel in a
customized UI so you get this nice
little interface just hangs out on your
desktop you can adjust in selective
Channel
that's the volume just the basic stuff
it's a QuickTime movie it's completely a
QuickTime movie author this job
particularly the NSA was really nice
thanks for 200 references okay this last
one comes from a company called tribe
works their products called I shell this
is a customized I shells taken quick
time and they've extended the
interactive capabilities by adding a
little bit of their own runtime and what
you can do with that if you can pretty
much create any kind of interface you
want you don't you're not restricted to
rectangular windows you can adjust all
of all the elements and there's no
programming required for this and so you
can go out and come and rate whatever
kind of media presentation you want and
you can access all the interactivity
functions and you can make it look any
way you want the ever this particular
one I guess has got several channels of
movie trailers we resist can ask but
access by turning the knob control the
transport controls of course very
powerful stuff if you're interested in
this you can actually go through their
website and download their tools they're
basically free for downloads and
evaluate them they have a very novel
kind of business model traverse calm so
that's all we're going to talk about in
the interactivity area we've got a whole
bunch more information for you as a show
this week we go back to the slide sleep
we've got a session covering quicktime
for java that follows this session today
and then on wednesday we've got a whole
session devoted to interactivity and
what you'll see there is some of these
examples decomposed in a lot more detail
and we'll talk about some of the other
things we're doing to increase the kind
of the quality and the degree of
interactivity in quicktime so now i want
to talk about quicktime and servers this
is an area that's been relatively new to
the quicktime scheme we've been working
with server based technologies basically
since we started doing the live
streaming stuff now the first question
is why do we care what a server is good
for when we thought about this we came
up with say a half a dozen basic things
that servers do really well that are
very hard to do from the client all by
itself access control if you've got
valuable assets sitting on a server
somewhere you don't want to just hand
over to the client and let them be
distributed anywhere without any control
around the internet servers are great at
providing access control they're also
great for coffee protection that means
you can take your clips and potentially
encrypt them and code them you have a
tight coupling between the server and
the client so that only only this
customized client can access the media
servers of course are great at counting
if you've got a lot of people hitting
the server doing accessing various kinds
of media the server's tend to be do a
much better job than a client of finding
out what's going on with all the various
clients in the world service also have
some powerful capabilities for looking
at the environment around them and
producing dynamic just in times media
composition and then of course servers
have always been kind of a hub for
community kinds of activities whether
that's you know email servers or things
like that and then servers are big
databases these are really important
concepts when you start to think about
what the server's mean for quick time
now the way the servers end up
interacting with quick times is really
simple the whole the whole mechanism
ends up basically being embedded in the
in the communication that goes between
the client and the server in simple
transactions relating to urls the client
requests the URL the server interprets
the URL and respond accordingly so
depending on what you depending on what
you decide to put in the URL you can
drive all kinds of different sorts of
behavior this is old hat for the server
guys but it's an incredibly simple
concept that has incredibly powerful
ramifications so with QuickTime today
there's basically two ways you can
approach customizing the behavior of
QuickTime through the server one of them
is one we've recently recently
introduced that's quicktime streaming
server plugins there's a very rich set
of plug-in capabilities for servers for
the quicktime streaming server that will
allow you to access accounting and
logging kinds of functionalities being
able to pre-process stream saml to
control access to the back-end data
access portion of the service incredibly
powerful there's a whole session about
this that you should go to and check out
if you're interested and then of course
there's CGI programming which is sort of
the diehard of server-side programming
client-server interaction and this is
basically custom applications that mask
masquerade as web servers and web app
because it's a great example of that and
I guess now that now that Apple's
handing that out for dirt cheap you
should get a copy and see what you can
do with its really really powerful the
servers basically interact with a client
by passing back media we process meet
movies of course we can also receive any
media that clicked on those how to open
so it doesn't have to be a dot MOV file
it doesn't have to be a QuickTime movie
per se it can be anything that we can
open and we also support smile which is
this text based dynamic language for
describing media composition let's show
you a real simple demo here let's go to
demo 2 is a stock pot demo so this is
this is a movie this is just a movie
this was created with live stage pro and
it's got a text field that you can type
into yeah this is the badman they never
like it when we don't introduce hardware
doctor this is not sell stock so anyway
what's happening here is the quicktime
movie contains a presentation framework
which is just the text entry field and
then the little help text there and then
when you enter your stock your stock
symbol and hit return it goes out using
a CGI CGI type URL to some Yahoo server
somewhere in such as the jif the gif
file and brings it back and embeds it
inside the composition very simple so
let's talk about things that get some
more powerful than that can go back to
the slide sleep so we need to talk a
little bit more about smile smiles one
of the fundamental technologies that you
can use to control the media composition
to be able to generate just-in-time
kinds of content smiles an HTML format
HTML like text format for describing
media composition to cover spatial
relationships temporal relationship and
it has the ability to refer to other
URLs and it provides capabilities to be
able to link link to those URLs it's
really really very simple do we have an
example of that yeah okay why don't we
go back to the demo machine then with
you so I'll show you a real simple one
right so here's a smile file I'm going
to drop it on to codewarrior first so we
can look at what the text looks like
okay so you know HTML this stuff looks
pretty familiar it's a xml based so you
kind of have here's the tag to just find
the whole thing right you've got a head
area and a body the head area the head
tag defines layout contains layout which
then defines the areas of the
presentation okay so right now we've got
the sea route layout which is the whole
presentation 55 you know 550 4 by 4 20
and inside that we've got a slide area
which is kind of offset into the middle
and takes up those phaser size of these
sources images down here in the body we
just have a sequence of images one after
the other each lat
taking one and a half seconds that play
in the slide area ok so just going to go
out to the finer here and then we're
going to just drop just double click
that file and now we have a movie and we
can just step through the images ok so
you just have a sequential set of images
the red is the color of the layout of
the root over here which change that to
something else the silver and they're
exchanged and then this is just a
sequential set of images ok but you can
add things in parallel so we're going to
do that I'm just going to cheat here and
just have the stuff past the end of the
smile and just copy it up into place so
we can do this quickly so now the
sequential section is now becomes its
own kind of unit and now the parallel
tag tells it to ok play those set of
images in parallel with some audio we've
got here so we can go ahead and save
that file and then play it and now only
played it and the background music
[Music]
and so as you can see it's it's a lot
like me early HTML days in terms of you
know playing around oh I can just go to
a text editor it's really easy just type
them slept in you can use QuickTime to
open it up check it out we're going to
go into more in depth on this tomorrow
at the server-side scripting session
over across the street ok so to help you
out find your way there we've put
together the smile document just take a
quick peek at this ok you can look the
the header is very small just very
simple layout and then we just sequence
a bunch of media to create our new
presentation ok so just go ahead and
open that play that for you and also
include some bedded text audio please so
you've got to find your way to stairs
and go out the front door ok so remember
Steve said to go and try it ok so it's
great go to presenting bowls and I say
the other day okay saturday with sign we
got to be careful about crossing the
street I want to get run over so hit the
button
[Music]
now much further go so hang in there and
don't get to leave plenty early so don't
get too tired for sure so okay so the
smile stuff is really important when you
want to talk about servers because it's
a text-based format in which all you all
know servers deal with text a lot better
than they deal with graphics this is a
very powerful way to describe the media
in a dynamic fashion this is the this is
the kind of mechanism that you get that
you're using when you talk about
inserting ads you basically have a smile
document which references the content
that is not the ads and then on the fly
they can send the CGI script to the ad
server and the ad server uses cookies
and whatever other kind of information
it has its access to to be able to
provide back a media reference which
might be a movie it might be a animated
gift it might be something else that
quick times can then render in line with
the other media pretty neat so let's
talk a little bit let's show the demo of
the QuickTime streaming server plugin so
this is a version this is a server-side
interaction that's enabled using the new
feature of streaming server plug in the
plug-in here basically has the
capability to keep track of what media
is being accessed so we've got a list
scrolling list here of scrolling list of
song and click on it it'll play the song
[Music]
and goes another one so what you see
here is just a text track the movie and
so what's happening on the kewpie kewpie
SS is that every time you get a hit on
one of these movies it runs a hit count
ok and then there's a special URL
popular you just have to click that and
that will let you just play the top
three hits that every one happens to be
listening to so the idea here that on
the server you can just save information
but even from the streaming server where
the data really is a sublime so that's
cool so and you'll learn a lot more
about that if you go to the streaming
server session later in the week so the
last demo we want to show you is one
that's called QT chat some of you may be
familiar with the guy named Matthew
Peterson he's a researcher up at
Berkeley and he has created some
outrageous applications using live stage
pro and CGI scripts this is a complete
chat program built in a QuickTime movie
this whole thing is a QuickTime movie
series online so what's happening here
is that he's using using wired wired
movie actions to be able to send
messages to control the interface and
then some of the some of the
interactions end up involved involving
constructing these URLs which encode all
the information that's relevant to the
chat back to the server and then he's
built a little a little server program
that manages the manages the membership
and manages distributing of the media
back out to the client so the client is
refreshes itself every every so often
and
except except the test pretty well I
mean when you start to see stuff like
this happening in the concepts of
quicktime movie you start to realize how
powerful these simple concepts become
when you pull them all together yeah
[Music]
let's go back to the slide so we've got
three sessions that will cover the
technologies we reviewed today got the
server technologies one whack you just
came back West repossession and a
streaming service session all on Tuesday
all in the Civic Center so before I wrap
up I just I forgot to mention one of the
things you know the folks at Apple in
the technical publications group have
been working really hard to support
quicktime over the last couple of years
and weird they've just finished up a new
book that you might be interested in its
called quicktime for the web i think
it's probably available over at the
developer depot and i suggest you go
check it out they've been working real
hard they've got a lot of new stuff
coming out just talk to support
quicktime so to wrap up the ecosystem is
really vibrant there's a lot going on
here we went from nothing in this space
to an incredible amount of activity in
just one year I can't wait to see where
we're going to be in another year
quicktime remains the premiere platform
for content creation and delivery and
we've got a new release coming this
summer you saw some of the cool features
in the keynote and when we start the
seeding program you'll see a whole bunch
more thank you very much for coming
you