WWDC2000 Session 304

Transcript

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