WWDC1997 Session 300

Transcript

Kind: captions Language: en ohayo gozaimasu good morning my name is Peter haughty and the architect for Apple's QuickTime technology I would thank all of you for coming here so early in the morning in Chinese there's a very famous greeting that almost everyone says which is have you eaten or eat j-pop way in the quick time team on the Interactive Media Group we have a new greeting we've developed over the last two weeks which is have you slept done a lot of work to prepare for this presentation hopefully it'll go okay we're going to talk about the QuickTime media layer today this is Apple technology for delivering media for delivering media anywhere kandi market this isn't a point solution this isn't a new solution this is something we've been working on for six years if you come to the Developers Conference you've seen it get better and better with each passing year the scalable technology it's absolutely appropriate to use for internet delivery it's just as appropriate for creating television shows and today it's being used in all those spaces it's made up of diverse technologies it's not just QuickTime it's not just sound it's not just video it's MIDI it's text it's 3d it's virtual reality and as we'll see today a bunch of other kind of strange things what is it a lot of these things we deal with a bunch of standards standards are important but they aren't everything we have to we have to take advantage of the standards where they exist we have to build on top of them to make them better cook time runs on every hardware and software platform we think you care about quicktime 300 ships simultaneously for macintosh system seven system eight in fact it will probably still run on system sticks will ship for Windows 95 windows NT we've demonstrated it running on the SGI and sun platforms and we are actively looking at other platforms as well a lot of demos today in order to get through them I can't do this on my own so what I'd like to do is invite up to the stage one of the original members of the QuickTime team the inventor of the QuickTime file format Jim Batson otherwise known as The Wizard of quick and time [Applause] so our job with Quicktime is to make your job easier to provide the foundation for doing great media so that you can provide the great tools the great user experience the great interactive multimedia experiences the users are looking for if you're creating content every day you're working with literally a dozen different file formats Photoshop QuickTime movies WAV files AIFF files you are dealing with all kinds of data and interoperability as a reality if you're a developer creating a tool that means you have to support all these file formats what a drag try to figure out how to parse an AVI file it just takes forever the documentation is all wrong Thank You Microsoft you can spend your lives trying to figure out all these different file formats it doesn't make your applications different it's something you have to do we're building all this stuff into QuickTime so you don't have to do it you can focus on what makes your application different and for users this will mean that every application has access to all kinds of different files and will add value to existing standards so I'm go as we'll show you in a minute we can use avi files under QuickTime but we can do things with them that nobody else can so we're going to do now take a look at demo we'll be using a number of different machines for demonstrations today including Macintosh and Windows please do not get the impression because we show something on one computer that it only works on that computer everything in QuickTime 3oh works on all platforms start with the demo here first of auto format support we're running as just a movie player looks a lot like some say Macintosh movie player you're probably familiar with already Tim's going to do is open up three different sound files in AU file from the internet a WAV file which is of course standard on Windows platform and a FF file which is standard on the Macintosh platform you see he can play all of these using exact same controls the exact same API it means it doesn't matter what format the sound was and you can just use it of course there are some nice things you can do with QuickTime that you can't do normally on Windows for example play two of these sounds of [Applause] buildings windows is not there's no built-in ability in Windows to mix audio in fact even in Microsoft applications if you try to play two different WAV files it tells you you don't have enough hardware strange thing as you do you just need better software so audio is of course an important component is something that's often overlooked in multimedia is still images still images are absolutely critical for doing overlays for doing all kinds of different things so with QuickTime 25 we introduced some capabilities to work with fills and gyms this can open up a whole bunch here in a simple viewer application we have we have support for ice all that Jim run throughout the text right here keep everyone's going to photoshop this is actually a gift it's very tiny gift over the map here's a target image SGI you are our favor for pictures quick draw pictures Macintosh pictures okay we have a JPEG another Gib and a BMP so what does this mean your application with supporting just a couple calls from QuickTime you can draw all these file types whether it comes from SGI whether it comes from photoshop whether it comes off the web and gif or jpg format and we continue to add new things in quicktime 2/5 those are all formats we supported in QuickTime 3 oh with added Targa we've added BMP because those are important on the Windows platform in particular later this year working together with live picture we intend to add support for flash pics to QuickTime so there's new emerging standards come out if you support QuickTime your application is positioned to take care of them to take advantage of them immediately you don't have to keep chasing standards wasting your time trying to implement file format support of course good times is best known for its video capability so let's take a look at the different video formats it supports of course important to remember the QuickTime is the best format for storing your video and so we work the QuickTime file of course but there are for better or worse other ways to store video one of them which is of course very important on the Windows platform is avi which is Microsoft's video for windows format we have here an avi file now there's some things about AVI files that as Macintosh users you may not know there is no system level support on Windows for editing avi files if you want to do it you have to parse the file yourself play it back yourself write everything out with QuickTime we can edit avi files just like we had it QuickTime movies so let's just do that just make a simple selection and paste it in Jim Sun is taking a wave file which is the windows audio format added it in to an avi file actually performed editing on two data types which are not native to QuickTime using QuickTime on Windows so we're not tied to a particular file format now another file format that we support that wasn't on our original list of plans is the flick file format an animation format that you have quite a bit in a das world and this sort of little bit of an interesting story behind our flick support we see here that works channel to set that playing which is we have a person on our team who wanted to write a file importer pretty much for his whole life near as we can tell for QuickTime and he chose to do the foot file format because his name was of course Chris flick so anyway that's why you got a free foot file importer out of it so the the lesson here is to please name your file formats after members of the QuickTime team so we'll write this report for you okay now there are another popular video format which is MPEG to use quite a bit in the consumer space Jim's going to show you here is we have our own pic software running on Windows today the sax game software which shipped on Macintosh earlier this year to making this available in the Windows platform as well but our impact software has some sort of unique features such as editing that aren't available from other MPEG players what we're going to do now though is move over to a powerboat and show you a unique application of our MPEG software what we have over here is a power book 3400 and an MPEG camera from Hitachi which Jim is holding up this camera has a PCI board a PCIe hard disc which Jim can pop out of the camera record straight to MPEG and pop into power book now of course it captures MPEG video and we can play the MPEG video directly from the hard disk but also has a still image mode where it captures JPEG images and since QuickTime can deal with JPEG images we can display those but even more interesting it has a mode where it combines a single still JPEG image with MPEG audio now these are both things that QuickTime can do we've done is adaptive software for Hitachi so that when you open up one of the MPEG audio files it automatically connects it to the correct picture so that instead of user having to assemble these two things QuickTime does it for you automatically so Jen will just play this San Jose Tech Museum of innovation a monument to the great accomplishments and the even greater egos of Silicon Valley so this is something that we just shot this morning on the camera but you can see is the QuickTime we're able to take the MPEG audio and the JPEG and put it into a QuickTime movie so again applications that use QuickTime not only can take advantage of advances in file format but also in advantages of new hardware such as digital cameras which are becoming increasingly important we can do now is go back to slides for a moment it's sort of interesting to note at this point if all the QuickTime was was a bunch of software that did what you just saw it would be good enough that most of you should be using it already we are now ten minutes into the presentation we got a lot more stuff to cover a lot of the stuff that you've seen the file format support is stuff that you'll be paying for QuickTime will remain free licensing for Macintosh and for Windows so you can just build this stuff in there's no reason not to use it [Applause] now five years ago when we started in QuickTime we were targeting the cd-rom market cd-rom was just coming out and we wanted Apple to have a great solution for playing back video from cd-rom we've got a little bit further into that and had great success in cd-rom space and the people in the professional video space started to use our technology but it wasn't quite up to the job over the last three or four years we've worked very closely together with the key players in professional media space people like media 100 Targa radius to address the issues that need to be taken care of for that market key issues our interoperability has to be able to move files between different tools in the past you would buy a hardware board and the software and a file format would be all one solution you couldn't move between different tools now you can because of QuickTime just about every major video professional video solutions uses QuickTime when we went to the National Association of Broadcasters convention three years ago I remember it was very painful we showed QuickTime and they laughed and we learned we listened to what they had to say this year we went back we won the Pick of the show from television and broadcast magazine a magazine that a few years ago wouldn't have even looked at what we're doing [Applause] like to do now is show you a demonstration which is a video we made we edited this entirely on a Macintosh using video lyrics to do board and using software such as Adobe Premiere for capture radius edit sound edit and so forth working with a variety of tools this video needs just a short introduction we sometimes have a hard time securing rights to professional footage so pretty much what we did is set up a camera and sort of film what was going on in our office last week I think from there the video pretty much explains itself so if we could please switch the video over we're there we'll play this video and I'm sick and tired of trying to solve this jerky video problem on Windows what I need is a musical break [Music] hello hi Gil look Peter I've been looking through this openstep documentation and I can't seem to find anything about quick time I know you guys probably put times to be everywhere well you better not already nationally or put time should be nowhere thank you what is it this time get this phone call to kill what you want now put time on Rhapsody how are we going to do that I don't know what's the other port in the blue box [Applause] [Music] the appropriate mindset they ponder their options there are early attempts for superficial restricted to appearance and industrial design really cement board factors proved refractory outmoded notions of conservatism were abandoned at the team undertook experiments in radical information some members risking the loss of one identity to accommodate the other perhaps too eager for change took hasty and dangerous measures they just didn't get it yes the lesson to merge is not just to assemble but to buy the results still like the merge is not justified but to fuse they called upon the transformational power and fire but the merge is not merely to transform in the final analysis to merge Jeanne absolute unity to become as one thank you it's probably appropriate at this point in time to point out that we really do love Macintosh I'd also like to thank dr. Emilio for offering to be in this video before seeing the end of it so what you can see and what I hope you notice during that if you didn't think you were watching a QuickTime movie but we were playing five megabytes a second through that Macintosh through a quick time we're playing straight to the screen and people go straight to tape with QuickTime they go live to air on some occasions and you're going to be seeing more and more that that means is you're building on an industrial-strength solution when you choose QuickTime now there are there are other there are other emerging standards in the digital video world and if we don't keep track of them if we don't keep pace with them will fall behind quicktime won't be the best solution anymore one of the most important emerging standards in a sort of prosumer and professional space is DV these cameras digital cameras are on a price range of about two thousand dollars these days they're pure digital they use firewire and Apple invented technology to transfer the digital data into the Macintosh this is changing the industry because it's making higher quality of video available at much lower cost unfortunately most of the computer industry has looked at this and is worried because they think they have to go out and create new applications specifically to edit DV and QuickTime team as you can see we're a little lazy we try to find other solutions what we discovered was TV is just video so it ought to just work it ought to just work with existing applications so we work together with a bunch of people doing DV including Adaptec we like to show you a demonstration of what we've achieved thus far in QuickTime 3 oh what we have here is a Macintosh running Adobe Premiere this is a version of Adobe Premiere it has no specific support for DV we've got a firewire camera out here the gyms going to do is do a simple video capture using Adobe Premiere I'm going to move out here so you had some motion we're gonna see anything there you go guessing like oh yeah yeah please capturing it's transferring the digital data in from over firewire into the computer doesn't preview it at this point mm-hmm we have a can piece of footage yeah let's switch to the can footage we would have seen is attaching it over firewire what's nice about the transfers it's purely digital there's no digitizing going on so there's no noise introduced into the signal but we would have gotten was a file which is just DV data not a QuickTime movie but we can open it in any application so now what's nice about QuickTime TV supports that can support software only TV is a lot like JPEG or MPEG and requires a lot of process our processor power to playback we've built high performance optimized version of the DVD coder into QuickTime so that any additional hardware users will be able to view and edit their DP content because it's QuickTime there's nothing special about editing it I can edit TV just like I can edit movies just like I can edit avi files it's important to see here is again that we can adapt to these new technologies we go back to slides down please a few years ago QuickTime had a hard enough time playing one channel video one channel sound the machines have gotten much faster we needed to find some new way to burn those cycles the hardware guys now can support two or three channels of video simultaneously so we want to be able to do things with that so we've built into QuickTime 3.0 effects and transitions architecture so let's take advantage of new hardware coming out close in the video area and also in the software area in the past special effects and transitions of Lac standardization different interfaces are used in different applications you can't move effects descriptions between applications QuickTime will solve that we're working together with a group of people in the industry to define how effects are described so they can move be move back and forth between applications seamlessly this is going to have a major impact on the way people edit video using computers today and of course we've built into QuickTime not only support for hardware but a rich set of software only effects so if we can go to demonstration now please we'll look at this on the Macintosh there's an organization called sim fee which takes care of all the television standards they have a really fascinating book that defines 120 standard video effects if you were doing a new application to support special effects and transitions you'd have to sit down and write a hundred 20 different transitions just to be able to say you support simply standard with QuickTime 3 oh you don't have to write any of them they're all built-in so Jim is showing you the random simpie wipes where each time he plays this video it chooses a different Cynthia effect as you can see these are sorts of the standard things that you'd be used to it is actually taking to channel 2 video only in software and mixing them together using different effects of course the simple apps are useful they're important but they're not sexy we want to do some things were a little more interesting got another effect here we'll be building a number of other kinds of effects in such as dissolves we're opening up here that uses a gradient this is the technique that's used by a lot of people in Adobe After Effects for example we open their own one what it lets you do is take an image map and apply it to a transition so you'll see here in a moment there we go is an effect which is quite different from the kinds of things you're used to seeing it's being rendered only in software to providing a very unique look so these sorts of things your application will be able to take advantage of seamlessly with QuickTime it'll mean that all kinds of effects not just the standard ones can be moved between applications without any problems now another effect it's very popular very common is chroma key where you have something shot in front of a blue screen and then you composite it over some video quick times been able to do this in the past that the performance hasn't always been as good as we would have liked it so as we were looking at effects who went and improve the performance chromakeying so we have here is when the videos videos you've seen before with stuffed animal chroma keyed and table called it's the dancing turkey technology this is all well and good on the Macintosh so let's take a look at it over on the windows computer there's a company called Intel you may have heard of that produces micro processors and they know quite a bit about optimizing code for them if the techno technology called India India and racket is currently only available on the Windows platform we've worked with hotels to integrate India with put time the nice thing about QuickTime is it provides access to unique capabilities that their software supports that the system software on Windows is not supported in the past so we've got here is a video and you can see by itself it's pretty boring it's black for a lot of it and then moving into it there's just sort of this dancing guide first I'm going to show you is that India actually supports copy protection on your content so if we go and close this movie right now we can only see part of it if we go to the QuickTime control panel which looks a lot like the QuickTime control panel on a Macintosh and we go to the access Keys we can add in the password for this particular piece of video password is quite simple in this case close the control panel up and we'll open the same movie again now you'll see is because the access key is available we now see all of the video but what you'll also see as we play over the transition why can't you live against man 1 the India was actually compositing those two things together using QuickTime special effects architecture in real time using their software India technology so we're pretty excited about here in the QuickTime is actually being it's providing new opportunities to people near those platforms and hopefully encouraging them to bring their great technology the Macintosh platform as well because it's so easy to do so we talked about video we've talked about the special effects capabilities of QuickTime let's move into the multimedia space for a little while if you've come to the Developers Conference over the last few years you've probably seen us show demonstrations of our sprite technology we first introduced it in QuickTime to one to be honest it hasn't been adopted the way we had hoped rather than blaming you we went back and listed what we were doing decided we needed to add some more features we needed to make it do something that you couldn't do so easily on your own there are a lot of changes subscripe stuff in QuickTime 3 oh it has amazing media integration capabilities easy to combine with quick-draw 3d for example easy to combine with video it's a great data type for the internet we showed some of that capability during Elin Hancock's demonstration we're also providing authoring capability for sprites for the first time with a plugin for director so that you can take your director score and convert it to a quicktime sprite movie you can download that off of our website today like to do show your demonstrations some of the movies that we've made these were all made with director we'll start out on the Windows machine first I'd like to show you is our transparency capabilities then we'll just play this what you'll see here is we've got a cloud switch the bit-depth what we're able to do is enhance what director is able to do on its own for example it doesn't support an alpha Channel but when we create the QuickTime movie from a director animation we can add an alpha channel so that cloud is casting a real shadow on that logo that's behind it the scope is really transparent the way smoke should be in the real world and that's something almost impossible today to do with other animation engines we can model other real world effects such as a bubble we can take some rendered fire that we have things such as rendered 3d objects now rendered 3d is fine this is pre rendered but Apple has this really great cross-platform 3d technology called quick-draw 3d so we should be able to use that here so let's open up another version of this movie and replacing the Goblet would be too easy can be a standard demonstration what we've done is replaced the cloud with a spinning Macintosh watch the drive slot when it comes around the next time let's write lightning from your Macintosh so the ability to combine 3d seamlessly along with video with your sprites very important very unique capability of the QuickTime sprite engine quick times right server reasonably small data type but there's ways to make these things even smaller a picture of a cloud that's used in animation is reasonably small just a sprite that says I would like you to draw a cloud here and doesn't contain any other data is even smaller what you see here is a rendered cloud there is no data behind it there is a fractal mipmap generating this dynamically what this means is the data size of this is equal to just the picture plus a couple of extra bytes to say I want to cloud means it for Internet kinds of delivery you can very easily add animations add other capabilities without having to increase your data size take another look at an example of a render who showed you fire before which was sampled this is rendered fire Coketown gives you the ability to turn put any movie on fire without having to add any extra data to it we've built a number of different kinds of renders into QuickTime to enable low bitrate delivery very unique looking now on the Internet you're always trying to get some data right then Apple has had great vector technology in its products for a long time quick-draw GX is providing an amazing ability to create bitmaps excuse me to create vectors just like PostScript will continue that tradition vectors are great because they're scalable it's Jim resizes this Apple it doesn't get jerky this is using a vector technology we've built into QuickTime 300 available of course for mac and Windows this Apple logo is 1.7 K it's smaller than a bitmap would be for downloading this but it's scalable to make it any size and it'll look great in a fancy alias so there's no jaggies on the edges it's a really nice simple use technology and we provide the ability to convert quick-draw GX shapes into this painlessly for those of you using GX like to show you an example done by Larry software using our sprite track combination with vectors and tween track you see we have gradient support in our sprite sprite engine and our vector engine so this entire movie which is entirely appropriate kind of thing for webpage it's about using between stuff is about 12 K it's very small we're actually working on making it even smaller it will scale play fat great on any machine and it's entirely appropriate for web and multimedia delivery something you can do again with 410 300 let's go back now to slide it's also important to mention here that almost everything we're showing we're going to be explaining in detail during some of the breakout sessions over the next couple days put time on the Internet a little while ago we figure out the internet is very important last year we shipped simultaneously for Macintosh and Windows the ability to stream QuickTime movies from any web server works with Netscape Navigator works with cyberdog works with Internet Explorer as you can see this from the sprite demo we've been working to make our support to the Internet even better by introducing more low bitrate data types into quicktime so that you'll have more choices of how to use QuickTime technology on the Internet I'd like to do a show you a couple demonstrations of the ways that we are providing improved capabilities on the internet with QuickTime start out on the Windows machine correct so we're going to show first QuickTime video data types have not traditionally been tuned to the web we have added input times real cinepak was designed for cd-rom JPEG is designed for professional uses other people are doing things such as h.263 width or 261 we've added two full-time 3.0 support for h.263 so that built into quicktime is a low data say low data rate video format as low as 2k a second you can broadcast you can send video using QuickTime now the thing is that's great for 28 8 modem but different people have different connections different speed connections when I go to a webpage and not in that webpage has multiple different versions on it very confusing for me I see this web page that was very beautifully designed it click here for 2880 click here for 14 4 click here 41 this is not a great user experience QuickTime 300 has a built-in control panel it lets the user specify what their connection is the system-wide setting that your application will be able to read from as well so you don't have to provide that as well now when we reload this web page since we've upped our network capability it automatically comes up with a higher quality bigger version of they moving you can put some we're really trying to address the whole problem we're not just trying to provide a good video solution but a fully integrated solution something that addresses the needs of the graphic designers and the webmasters so that they don't have to put up multiple versions of the same content of course we're working with people like Taryn interactive update their media cleaner pro product so that it will be able to automatically author these but you'll just say I would like these three different versions hit a button go away have some dinner come back and it'll be done now we've done some other things take a look at the sprite movie I'm sorry yes so we're going to switch to the Macintosh channel for those oh yeah okay with her thank you we've got here is a QuickTime sprite movie you don't see the play bar and what we use this for is an animated image map something you can do on the Internet today you know if animated gifts or you can have image maps but you can't really combine both in interesting ways with QuickTime sprite engine in three oh and we click on one of the different logos we automatically go to the page associated with it we go back and click on for example motorola we go to the motorola page so again some very practical simple things please you know these aren't this is not an example of a technology you know such as for example thermal that is saying we're going to reshape the way the entire web works it's the technology that recognizes what the web is today and tries to improve it in very simple in useful ways take a look in a way that we can use it slightly differently but the same basic technology by coming over to the Macintosh what we have here is a QuickTime movie that contains a quick-draw 3d model so again an example of integration in the QuickTime media layer now we are not in a browser right now but we have built the URL URL linking capability into QuickTime itself not just into the browser so when Jim clicks on a different piece of the truck what actually does is launches his browser using a great little piece of technology called internet config and takes them to a associated webpage then it goes back to the truck and clicks on a different place we'll go to a different web page so we can associate different links with different pieces of the model this could be embedded in web page or this could be separate what's nice is your application for example give a cd-rom can be connected back to the internet back to a browser without you having to do almost any additional work at all [Applause] now this has been an example of how you can go from movie player to a browser to get to the Internet the thing is we thought it would be kind of cool if we could just bring the Internet to movie player movie player is kind of our application of choice we don't actually like to run anything but that in the MTW shell on our machine so what we've got here is a very small movie that Jim is just going to do a get info and to show you hopefully just a few K which is not actually a movie but a reference for your buddy 300 bytes just just a reference back to a website so he's going to open that in movie-player this is just the same old movie player' what you're going to see the rest of download a small version of this movie that you would have scanned before now it's going to change that data rate and again show you the system level service here on the Macintosh as well so we open that stain movie and movie player will go back to the server and get a different version of it because now we have a faster connection [Music] this is actually doing some breslav download we are connecting back to an HTTP server so get this movie and download it as user requested this means that you can support progressive downloading in your application with literally no changes today now we thought that was kind of nice but we also wanted to do one other thing QuickTime has all these layers that's why we call it the QuickTime media layer so this IO layer the thing that we use to go read from an HTTP site or an FTP site is a public API so if you want to go and read some data from a website in your application you can actually call QuickTime to do that it was just about four lines of code in your application you can go and fetch any URL it's out there in the world so QuickTime is getting to be a pretty bizarre technology that draws pictures and light you know goes and gets web data but it works the same on Macs same on Windows ok so come back to slides thank you come back to slides and talk for a minute about some other Internet issues what we're doing today on the Internet is called progressive download lots of people especially those out there selling big fancy file servers and web servers say the QuickTime isn't doing real streaming today what it's doing ain't no good it's just not right because it's not real streaming that's true it isn't real streaming but the QuickTime plug-in solves a bunch of problems including no firewall problems working off of any web server so you don't have to go buy a special web server just because you want to put up a couple videos these were really important to us we wanted anybody to be able to put video on the web not just people who have big fancy servers however if you have money those big fancy servers do have some advantages including the ability to do broadcasting or multicast to multiple people we have been working on adding streaming capabilities to click on this is not something that we will ship for QuickTime 3 o we will ship on top of QuickTime 3 up now why does it matter that Apple is adding streaming capability why is it different if QuickTime supports streaming then if other vendors support streaming the answers are simple everybody's using QuickTime to edit their content today there's no better file format for storing video there's no better file format for storing multimedia in general you should be able to take that click on file put it on any web server and have it stream with QuickTime streaming technology you'll be able to do that no more wastin time converting something to stream it the other thing that's very important is for years QuickTime is recognized there are a lot of other data types to cut besides sound and video you're still the stream sprite you should be able to stream 3d to be able to stream MIDI you should be able to stream text back you should be able to stream anything you can put in a QuickTime movie and that's what our intent is to give you the ability to do so you don't have to think about what are the limitations of my delivery engine QuickTime streaming will give you the ability to stream anything the QuickTime can do I'd like to do is show you a demo of an early prototype we've been working on a QuickTime streaming I've got a Macintosh here we're connected to a streaming server in the back strangely enough written entirely in Java there's a couple things got a QuickTime movie on it and what we're going to do is open that QuickTime movie and you'll see it's streaming in here it takes what's going to happen now is Jim's going to hit the play button makes the connection back to the server requesting it to play takes a moment for it to get started it buffers up a few seconds of video and then what you see is this QuickTime movie of an old Apple commercial streaming in live so this is using a h.261 codec which is very typical for streaming today on the Internet you'll notice the play bar is a little different if you don't have full control over the string because the streaming servers at this time don't support those protocols we gray out those controls so you don't have to worry about it we can also as a typical QuickTime movie adjust the size of the movie it's actually something most streaming guys don't let you do today for some strange reason can also adjust the volume using standard QuickTime controls scaped over there so we hit in and movie so that's showing how you can stream a QuickTime movie but there's something else that streaming is used for on the Internet and that is for broadcast multicast in fact I believe this session is being multicast we've got is another server in the back of Precepts server which is broadcasting a standard RTP stream which we are able to tune into using QuickTime streaming technology and again we're doing this just an existing application we can adjust the volume we can resize it just like any other QuickTime movie but this means that any application using QuickTime is able to tune in to network broadcast of multimedia data again without any changes same on any platform and of course it takes advantage of varying network quality scalability slipstreaming pop one more demo I'm sorry I apologize integration is kind of important though as I said we're not just going to give you a streaming solution we can give you the ability to combine it with other aspects of the QuickTime media layer we've got here is a QuickTime VR scene a walkthrough something you've probably seen done before but it's a little bit different this time what we're going to do is ring doorbell we go and we're going to go through the door and actually when the door open it's using a QuickTime video movie to display that will go through if that's this room here you can see the standard prop down on the floor there the television we click on that television we tune back in to that web broadcast from that pre step server right in the QuickTime VR scene so we are able to combine VR very easily with these new technology such as streaming and you will be able to do this as well without any compatibility woes without any kinds of problems to create unique rich multimedia experiences that can't be created using any active or direct technology [Applause] we've talked about Macintosh we've talked about Windows let's talk a little bit about foot time on some other platforms if we can go back to slides please I said quick time has become a very pervasive standard in the last year Silicon Graphics is actually standardized on QuickTime as their preferred method for storing digital media we've worked together with Silicon Graphics to make sure the curtain remains a great container for professional quality media so looking graphics has a lot of background then we've learned to locking them companies like site X and media 100 have standardized on QuickTime it's a format for storing their digital video now site X and Silicon Graphics don't use click on software on their platforms today but they use the QuickTime file format because they know that it's the best file format that's out there QuickTime is so flexible that people just go there to make sure that their products are interoperability each platform has unique capabilities Silicon Graphics platform is great for authoring it's really not you know your ideal delivery platform that's why we do Windows 95 and a Macintosh version of QuickTime so QuickTime will have different different uses different primary uses on each platform what about this other platform what's this Java thing that's definitely important platforms just like the Internet that's very important what are we doing about it we're going to make sure that QuickTime works in Java just we expect it does that mean we're going to rewrite QuickTime in Java no QuickTime is on every platform QuickTime gets excellent performance in every platform we will make sure you can write applets to take advantage of QuickTime those applets will work on any platform the QuickTime is deployed on of course that means that work in the yellow box it'll work in the blue box work on Mac OS it'll work on Windows to be able to write application to take advantage of foot time in Java now some people have asked why we haven't done this earlier and the answer is because market hasn't been there to tell us what exactly we're supposed to do it's not our approach to just put out something to meet the latest buzzword when you do that you end up with lots of different products with confusing name and version numbers that roll up to version 5.0 way before their time and developers have to constantly learn new technologies put time for the last six years excuse the same api's if you wrote a clip time application following our guidelines six years ago it's to be able to play just about every movie we've showed you here today with no changes we want to get our ideas right so that you don't have to keep relearning things and so that they work so we're taking our time on the Java stuff we will deploy something this year but we're waiting to hear from developers on what exactly that should be not our job to tell you what it should be it's your job to tell us so we have feedback forms with these things I hope you'll come and tell us what you think we're doing we should be doing let's move on to another platform one that you probably heard a little bit about at this show perhaps today you saw in the video we tried some different techniques to get QuickTime to actually work on Rhapsody when it came right down is what we actually thought maybe we should write some code so we did that why is pretend interesting on Rhapsody it's just another platform why what's the big deal you would expect QuickTime to be available in Rhapsody you should expect it and of course it will be there but what's the unique aspect of Rhapsody is going to make having put time on Rhapsody very interesting I think we've all been impressed with the app builder demonstration for the next platform has how easy it is to construct simple tools or even complicated tools very quickly one of the biggest problems we have the QuickTime today's had so many features that it's hard to get tools written quickly to let you take advantage of all those different features so you're seeing in QuickTime 3 oh here we have dozens of new features if each of you would just pick a few of them we might have enough tools using traditional techniques using rhapsodes app builder we should be able to create tools very quickly for the naval users customers authoring people to create great QuickTime content using the latest features very quickly so really the graph sees can be a fantastic authoring platform for QuickTime from the very start and of course because Rhapsody is really an industrial-strength OS with great multitasking memory protection a native file system we expect to see performance benefits I'm not going to tell you what they are yet because we don't know what we expect they're going to be there let's take a look at this you've seen a little bit of it before during the show show you a couple things that are maybe a little different you can switch to the next machine about the QuickTime logo look pretty nice that they're actually next to the next logo so what we're going to do is open up a video movie one the pretty much is necessary to prove that it's QuickTime just open this here classic QuickTime clip and see that video you know it must be clicked on but what's important here to see is that we are actually porting all QuickTime including the user interface element earlier during the show they showed you QuickTime they haven't shown to you with all of the user interface widgets of course we'll have a native look for the next platform so that will fit in and looks just like we should but we'll also have options to use the stands to turn controls as well it's also I think a really great indication of how solid wrap C is going to be and how portable to put on code bases that were able to get this much working so soon but this is just sound and video and what we need to do is take a look at to really see how we're doing at moving click on the rhapsodies look at some things that aren't so traditional we've talked about sprite so let's look at that a little bit more here's a sprite movie when you may have seen at least a picture of an Mac week we can just play this you see it's using another of our special effects the ripple special effect is actually making this fish ripple not pre-rendered but calculating that on the fly it's in clicks on the video or on the sprite excuse me it can actually create waves in the water so all of this technology [Applause] all of this technology moves to Rhapsody including sound now we'll be available when you get ratcheting when you expect it to be and it will work just the same don't worry about new api's cliff ten api's are the same everywhere the same is the point where you'll always be able to call them ugh and have it work so yeah it's good to have nice animation that's the quick time on Rhapsody now we like to talk about for the remainder of discussion its QuickTime interactive this is really sort of the essence of what the QuickTime media layer is about it's really the ability to combine all of the different technologies that we have video sound 3d virtual reality into a single multimedia experience we add standard ways to use interactivity into QuickTime why would we do this we need a single solution a single place where all the stuff can live we need easy ways to do this we don't see alternatives out there today that provide that what are we trying to accomplish a couple different things but almost all of them are focused at the developer the first one is to make sure the authoring tools can work together if you're creating a multimedia presentation today whether it's for delivery over the Internet or whether it's for delivery on a cd-rom or on the desktop platform the first decision you make is what tool you're going to use and once you make that decision you can never change your mind and you can never use any other tool there's no interoperability between any of the multimedia authoring tools today if you use Apple media tool or use hyper card use director use em Factory all great tools for certain purposes but if you're doing a real multimedia presentation you actually probably would be better off using different aspects of each one our goal in QuickTime Interactive is to provide the same flexibility in multimedia authoring that we've created for video authoring where you don't worry about what tool which tool you're always going to use you can use premier for part of your job After Effects Photoshop sounded it and it's a seamless process this makes creating content much easier it means that users will have a good reason to have multiple tools not just one and for developers what this means is you don't have to write a player application for every platform that you're targeting your multimedia your multimedia presentation most of the shipping delays in multimedia software today is in the player not the authoring part players are just tedious they're not fun to write QuickTime is a built-in player for multimedia presentations now all this sounds a little abstract I think the easiest thing to do is actually just show it to you we showed you a little bit of this last year and frankly I wish we were shipping it this year but we discovered that Windows development is a little harder than we had anticipated here's a slide that scheduled out a little bit but was still still aggressively pursuing to put some interactive and you'll see exactly what we're doing here do this demonstration on a Macintosh you like to do first and show you an example of something that we put together it says just a QuickTime movie open under QuickTime interactive and movie player you'll notice there's no play bar because you don't just play this movie you play with this movie so Jim is going to do one of the first complaints that we get from developers is I don't like the standard puts on movie controller I need it to look different Pro 10 Interactive gives you the ability to easily create controllers so Jim's got down here a little pretend interactive movie controller Wow in a burn now it was just some audio controls over here so we can just two audio tracks we can bring down the sound we can bring up the narration Travis you're gonna yep hit the tree this don't like this right you can also realign the video region standard control if we don't like the way these things are arranged we can rearrange it we put the audio controls on top of the player can we move these around customizable for the user as well as developers and a bird not so we can use the sound as well which is important on here so I can talk what you see here is a couple different things full interactivity using some pretty sophisticated kinds of knobs and controls completely customizable of course and video being combined what you can't tell from this and we're going to show you here in just a minute is that there's no code behind this when we created this we do not write a single line of code to actually do any of this controlling when I saw the next demonstrations that Steve Jobs did at Macworld he made a great point which is line of code which you debug the least it causes the fewest problems that works belong if it's one you never write and so QuickTime Interactive we're trying to follow that paradigm and make sure that as many things as possible are just built-in it's just work with data-driven approach as opposed to scripting so what we want to do is show you an example of how we created some of these controllers without having to do any scripting instead of recreating that example what we'd like to do is show you how we can control a 3d model so we've got here is a chair one of the standard 3d models you probably seen and built into QuickTime interactive is the ability to control a 3d model as you'd expect still a little jumpy but basically they're so 3d is a standard data type as you'd expect in QuickTime interactive so we can control it but we don't have what we'd like to do is connect up a slider that controls the rotation so let's go grab another standard part a slider and Jim can show you that the slider actually works here just on its own if he goes into play mode there you go what we like to do is connect that slider to the chair we're going to do is take a look at a little confusing but bear with us take a look at the properties of the chair to bring up it's sort of an inspector if you will and go down to the rotation we'll take the X rotation parameter what we're building here is a little patch Bay so we want to do is use the X rotation parameter from the chair when we use the control output from the slider so we've got these two values and we're just going to patch them together and we're going to configure that patch to describe that the slider moves from values 0 to 1 but this rotation should move from 0 to 2pi so they go through full rotation now you see is when she hits ok that those things are connected and it just works you can patch any properties together with any kind of scaling you want in QuickTime interactive you can in fact do automated things where you can attach this to time and have the chair rotating by itself again without writing any code this application we're showing you is an application that we're developing for our test purposes this is not intended to be a professional multimedia authoring tool but what you'll find is that as you saw it has some capabilities which tools that are out there today can't match another thing that we think is really important when you get multimedia content today you get a picture and then you maybe get some scripts and get a bunch of pictures here we've got some pictures from last year we need to do is get to this year's picture would you drag this in drag and drops pretty typical but what you'd expected that to just be a picture that we then script but it's a full object or has sounds associated with it it has multiple frames the video and it has a behavior when we click on it it goes to jump this makes it really trivial to create clip objects that you can reuse in any application and I said that this application was something we're using for testing Apple is fortunate to have right there used to be rebooting well had to happen Apple is fortunate to have an addition to a great max bug an application called HyperCard hypercard was the original multimedia authoring tool so what most of us learned how to script on so scripting language most of us prefer to use if given a choice hypercard has been stuck in black and white for a while what we were looking at is a way to take advantage of HyperCard we first thought about using HyperCard is a way providing way to save a hypercar movie into quicktime interactive so that we can deploy those cross-platform that seemed like a great solution and that's in fact what we do with apple media tool we can save an apple media tool project to HyperCard - excuse me - quicktime interactive and we can deploy that on any platform but we want to step further with HyperCard we actually use QuickTime for everything a hyper card stack is no more hyper card is a QuickTime movie editor everything you're doing is operating directly on a QuickTime which means a HyperCard gets integrated color because QuickTime has integrated color HyperCard is great video support because QuickTime has great video support HyperCard facts become cross platform because QuickTime is cross-platform we're going to do now hopefully show you hyper part so it's working just fine a moment ago so we'll do is just drag we're actually got a sweet set up down the hall where tomorrow from I believe 11:00 to 2:00 we'll be going through some of this in more depth if you want to see some more details for QuickTime interactive but what we'll do is bring in the kangaroo we need to switch the authoring mode here you see it really is like HyperCard nice to tear off palettes just like you would think they should be just in color now bring the kangaroo in mm-hmm you can see the same kind of roof comes from two HyperCard has the exact same behaviors so here's the something unique already which is one form of scripting and animation moving between two different authoring tools something's not usually possible but let's do some things that are a little bit more specific to HyperCard which is bring in a picture as a button we like to do is now have that button controlled kangaroo wouldn't be hypercard unless they were hyper talk so bring up the script editor and Jim's going to put a simple script in here the thing you have to realize here is everything in QuickTime is components so just like I told you before you'll be able to use our internet data handlers to read data in any application into the internet you can use the hyper talked scripting language from any application because it's built into QuickTime interactive so it can be a standard scripting language as part of what you do and Jim is scripted it so that we clicks on the penguin it controls the kangaroo so we're controlling something that wasn't even created in this particular application so far we've only done things with one card with one Scene we really need to be able to do multiple scenes so we're going to bring in a button which is already pre scripted to go to the next card create another card and bring in another picture and another button and we go back to play mode try this out we use a couple different things first thing is that it doesn't always work right the first time but after that it's fine what we are doing is moving between cards we're using visual transitions the visual transitions are important the visual transitions are the same technology you saw the floor in the professional video demonstration we have this technology called QuickTime media layer and we can reuse pieces of it in different ways we don't need a 3d technology for the 3d market and a different one for the internet market we use the same one because our technologies can span those markets we don't build an effects engine which is specific to the video market and then another one which is specific to the multimedia market we use these technologies and then leverage them highly so you don't have to keep learning new things and you can take advantage of these technologies in any place so hypercard now has all the cool current access to all the cool transitions that we showed you before ok so let's take this out of hyper Cardon you'll notice we didn't click Save because you don't save in hypercard it just automatically does it for you as you go let's open that hyper card stack and movie player let's go and do that just to show you that what HyperCard was operating on the whole time it was a quicktime movie all the same behaviors penguin still works hangar still jumps and still get garbage the first time when we transition to the next start something to point out here that's equally important is because we have QuickTime supported on the Internet today through the QuickTime plugin I can go and stick this on the HTTP server and it would work in any net browser as well it's a great solution for delivering all kinds of interactivity the great solution is a front-end route for applications as well we have a lot of people looking at it as ways to control applications not just to deliver multimedia we've got here is something we've put together again using a couple different things using hypercard using Photoshop using some 3d programs using CGI make all combining one thing everything you're seeing on the screen right now is pretty much not controlled by code except for just a couple tiny little places almost everything's automated the animation engine that's built in can take care of doing these sort of character loops of walking or shooting the gun without you having to do any code you just say I would like it to be walking left now and it automatically switches to that loop so Jim can drag these characters around not quite yet if he clicks on them you can also use the keys to move them to change the positions so the H JK there you go so we have complete control rooms from the keys we also assume of showing you just a moment ago can have controllers that control these patched together the same way the 3d controllers work so there's a joystick we can move those Martians around we got one on the other side Martians name is taro by the way for those of you wondering and again this controller all of this motion is completely controlled without scripting the only scripting you've seen so far really is when you roll the mouse over the joystick it has a set visible to true and when you roll it away it has a set visible to false and that's it so we created a simple scene here yeah that's interesting but let's take a look behind the scenes it's a little bit of what's controlling it so what we're going to do is turn on like the sort of secret behind the scenes view but you can see down on the bottom right is a pan knob and as Jim moves that it controls the speed of the animation the animations are controlled by a clock it's pretty reasonable click on those great timing services the foundation foot time is time so we take advantage of that in the animation clip services so we can speed things up slow them down so that's controlling each individual animation but you see that master clock in the sky we go and adjust the speed on that it controls both of them so we have the ability to control the speed of individual elements but also to have a world clock to controls all of them and all of the timing is patched together again without having to write any code your applications can easily generate QuickTime movies to control these sorts of things if you have presentation packages anything that's putting out data set QuickTime interactive is a great way to deliver those rich animation capabilities great control capabilities high performance supported on every platform so we think liftime interactive it's going to really sort of cement the QuickTime media layer together it's going to provide a way in a single movie effortlessly combine 3d er streaming video and different kinds of controls and to do it easily we think java's great in fact we will support Java and clicktime interactive so that you can use Java scripting if you want to we also support C for scripting we also support hyper talk these are all important but we think that having to write fewer scripts is the most important thing so that's what we're aiming for so we can go back to slides [Applause] so it's actually really great for me to be able to stand up here and talk about quick time today because one of the things that's really really nice about it it's a well-established standard I don't have to stand up here and tell you about what our plans are to compete with other technologies and other vendors there is nobody else to do anything like this out there because you've had the good sense to choose McIntosh you get to use it first you get to come here and like see it all the developers conference before anybody else but that technology will be available on every platform that you need it for you can do your offering tools on Macintosh you can have make sure that that content will be delivered on Windows be delivered on Rhapsody be delivered anywhere it needs to be delivered QuickTime is not a b-grade solution QuickTime the state of the art we're doing things that nobody else is doing we're doing things other people are trying to do but we're doing them better by choosing QuickTime by choosing the QuickTime media layer you are not getting degrade solutions you're getting state of the art that stuff that's out there and beyond that we make sure all those things work together so you don't have to you know you have to think wouldn't it be interesting if I could combine video with VR we've already done that it works so you don't have to suffer through the integration nightmares yourself the services reach across all markets interesting thing is products created for one market using QuickTime sometimes end up getting used in others so because you use QuickTime you have the ability to easily reach across market segments as well as platforms and as you can see from the demonstrations we're showing you we're continuing to absolutely aggressively move these things forward we aren't standing still we've been working on this stuff to the last six years we continue to work on it we want to make it the best technology that it can be it's really a platform for delivering media we want to hear your feedback we want you to come to the other sessions that are going on for VR 3d and QuickTime today and tomorrow we encourage you to come to the feedback forum and tell us what you like and what you don't like place to thank you for getting up so early this morning I'd like to thank my team for putting this stuff together like thanks a crew for making it all work and that's about it thank you [Applause] [Music] [Applause] [Music] [Applause]