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