Configure player

Close

WWDC Index does not host video files

If you have access to video files, you can configure a URL pattern to be used in a video player.

URL pattern

preview

Use any of these variables in your URL pattern, the pattern is stored in your browsers' local storage.

$id
ID of session: wwdc2003-706
$eventId
ID of event: wwdc2003
$eventContentId
ID of session without event part: 706
$eventShortId
Shortened ID of event: wwdc03
$year
Year of session: 2003
$extension
Extension of original filename: mov
$filenameAlmostEvery
Filename from "(Almost) Every..." gist: ...

WWDC03 • Session 706

Designing a Distance Learning Solution with QuickTime

QuickTime • 1:03:35

Distance learning is one of the hottest trends in education and corporate communications. This session presents the case study of how one developer worked with major institutions to identify requirements in presenting distance learning across the Internet, and the development process of creating that solution with QuickTime.

Speakers: Glenn Bulycz, Steve Bannerman, Chris Kawalek, Steven Erde, Jeff Jameson

Unlisted on Apple Developer site

Transcript

This transcript was generated using Whisper, it has known transcription errors. We are working on an improved version.

Hello, I'm Rhonda Stratton, and I'm your host for this session. I work in the QuickTime group, and this session is Designing Distance Learning Solutions with QuickTime. Now that we've gotten the legal junk out of the way, I will be short and introduce Steve Bannerman, who is the CEO of CashStream, and his company has designed what we think is a pretty interesting distance learning solution, and he's going to talk about that, and he's got some other speakers to help him out.

We'll have questions and answers at the end, so if you can hold your questions to that point, and when you do have questions, line up at the microphones. I think you guys know the drill by now. Line up at the microphones, and we'll take those questions at the end. Okay? Thanks. Thanks.

So first of all, I have to point out that when we turned our slides into Apple, it actually said "Designing a Distance Learning Solution with QuickTime," and they changed it. So we can actually, we know our grammar and we can actually write, but for some reason it didn't show up that way.

So we have a few speakers for you in this hour and a half session today, because I really didn't think that you wanted a marketing guy to get up here and talk a lot about marketing, so we're not going to do that. But I do want to sort of start off the presentation by giving you a little bit of context to sort of give you a sense for why we are what we are and how we got to where we are right now.

Because you know, you don't just sort of wake up one day and decide you're going to build a distance learning solution, you know, and what the market requirements are going to be and how you're going to implement that. But we're going to spend most of our time with Chris Kawalek, who is our CTO, and he's going to talk about the product and the challenges and, you know, the advantages and all those kinds of things of using QuickTime. And then we're going to have a lot of fun, because we've invited one of our customers. A very distinguished customer, Dr. Steven Erte from Cornell University's medical school, to give you a sense of how he actually implemented our product in his distance learning application.

So we're going to spend a lot of time in demo land. We've got a couple of demos. One of them is actually live, so we did our sacrifice to the demo gods beforehand, and we'll see how that goes. So when you look at the e-learning market out there, e-learning takes place in a few areas, not the least of which is the classic extend the classroom distance learning applications.

But e-learning also takes place in corporate America in corporate training applications, and also really is extended now into what we consider to be corporate communications, where people are actually holding internal meetings using these kinds of products and stuff like that. And you can see that this market is actually poised for a tremendous amount of growth.

So when we first started this product, it was really born out of a request that I got when I was working on the QuickTime team from a friend of mine at the Mayo Clinic, who said, you know, I've been trying to put presentations on the Internet using this real producer.

And I've been trying to put presentations on the Internet using this real producer. And I've been trying to put presentations on the Internet using this real producer. And it just doesn't work. It's just not reliable. Is there anything based on QuickTime that I can use that's more reliable and cross-platform? And unfortunately, at the time, I said, well, no. So what do we do?

So I decided that we were going to go and I was going to join this company. We were going to build this thing. And so we built it to the requirements that the Mayo Clinic gave us for how they wanted to implement a solution. And we decided, all right, do we productize this thing, or do we just treat it as a one-off?

And when you look at the landscape of this market, it became really obvious to us that we wanted to productize. We wanted to productize it because there were some tremendous opportunities. But the opportunities are not just in sort of the growth of the market, but the way other people are actually attacking that growth.

So when you look at the growth of the market and the way this kind of a market has evolved, people used to compare the sort of cost of ownership advantages of these kinds of products against travel. And it's like, okay, well, it's a lot cheaper to do this kind of stuff online than it is to get on a plane. Well, that was sort of the first generation of these kind of products.

And then you're looking at the knee of the curve where there's an opportunity for second generation and third generation products to come in and say, well, okay, you don't really measure this against travel anymore. You measure this against the total cost of ownership for first generation products. And you realize you're spending almost as much on those products as you were on travel because of the nature of the beast. And I'll talk more about that in just a second.

So really, we come in in that sort of second generation where we have an opportunity to take a market that's already been validated, where some of our competitors have already been validated. We've already gone in and said, okay, people believe now that this is a good idea. And how do we take that and make it a cost-effective idea and really drive the price down and the functionality up?

So, just to sort of prove that this market has been seeded and this market has been validated, Forbes magazine just recently, like last month, named WebEx the fastest growing technology company in all of tech. And so, this is a company that throughout the sort of dot-com bust has really been growing very, very rapidly. And so the whole category is really starting to grow, but we think the explosive growth is going to come from these next generation products.

[Transcript missing]

All right, so Castream Enterprise is the name of our product, and I'm finished now with the marketing stuff. I'm sure you're all glad to hear that. And so at this point, what I'd like to do is bring Chris Kawalek, our CTU, up and have him sort of go in-depth into how our product works and what it does. So thank you very much.

Hello, everybody. I hope you're enjoying the show so far. I know I have. As Steve said, my name is Chris Kawalek. I'm the CTO of Castream. And I'm going to talk to you today about the challenges of designing a distance learning solution and how QuickTime can help you meet a lot of those challenges. What we're going to talk about primarily is the basic goals for distance learning projects. This will apply to any sort of distance learning solution that you may be designing or involved in, and how QuickTime can help you meet those goals.

One of the interesting things about Castream is that we rely very, very heavily on QuickTime. And I call QuickTime sort of an off-the-shelf technology because it's such a rich suite, or it has such a rich ability to do many different things, that you can implement it very, very easily in your application and get lots of functionality with not a ton of work on your part.

So in our case, we're using QuickTime for both the audio/video playback within our distance learning solution, the still image playback, of course, for the slides, and we're also using QuickTime data handlers, which I think people aren't really using that often these days, but we're using the QuickTime data handlers to actually download the slide media, and we'll talk some more about that later on, specifically how we're doing that.

So there's several design goals that you need to be conscious of when you're designing a distance learning solution. The most important thing is you need to synchronize audio and video with the slides. Now this doesn't seem like it's that big of a deal, but it actually is, because in any sort of live Internet broadcasting, there's some sort of inherent delay. Nothing you can really do about it. All the systems involve some sort of buffering to deal with latency that may come up and that sort of thing. And it really is a big deal when you're doing a presentation when the slides appear at slightly the wrong time.

If they appear a couple seconds before the video stream is talking about that slide, it really throws off the presentation and ruins the cohesiveness of everything. So it's very important that you can synchronize your audio and video with the slides in a very, very tight manner. That's something you absolutely have to accomplish with a distance learning solution. One of the things that we really wanted to accomplish was the ability to display rich media slides, which include things like Macromedia's Flash, progressive QuickTime movies, QuickTime VR, those sorts of things, in addition to just your standard still Keynote or PowerPoint. slide sort of thing.

You need to be able to do both real time and on demand video. It's fantastic to be able to have a live tool so that people can meet and watch the presentation, but a lot of times, I mean, in our global economy, in our global world, it's not convenient for people in other countries to view the presentation in real time. So it's really nice to be able to archive that presentation. It really opens up your audience so that many more people can experience it when they otherwise wouldn't have an opportunity to.

Obviously, it has to be easy to use. It's very important for the system to not be an inhibitor for the people that are trying to use it, because a lot of times, these people don't really care about the technology. They just want to give their presentations. They want to disseminate this information, and they don't want the tool to get in their way.

So they're used to working in Keynote, and they're used to working in PowerPoint, and they don't want the actual broadcast of that stuff to become something that's terribly time-soaked for them, really, because it takes them away from their core competency, which is designing the presentation. It has to be cross-platform, of course. Mac OS X, Mac OS 9, and the last few versions of Windows is very helpful for all the different markets that you have to be in for a distance learning solution.

So on the multiple markets thing, each market has sort of its own requirements that you need to be adaptable to. So for instance, the K-12 market has lower equipment budgets and access to much lower bandwidth generally. So your system needs to be able to scale down to handle that. That's where you're supporting things like Mac OS 9 and older versions of Windows and things like that. That's where it becomes very, very important.

It also becomes very, very important to be able to have very low bandwidth slides by using things like Flash, which is a vector-based thing, so you don't have these gigantic QuickTime movies. You need to have the flexibility to be able to still be a compelling solution with very low bandwidth availability. Now, in higher education, you do have great bandwidth, and you tend to have newer equipment, so there's less restrictions there. It's a really fun market to work in. So your system also needs to be able to scale up.

You need to be able to take advantage of that higher bandwidth so that you're not giving these people who have access to huge pipes, giving them presentations that they feel that they would be getting on a 56K modem. Corporate training is an interesting market. They generally have good bandwidth for corporate training, but one of the most important things that corporate trainers need is the ability to share their screen, to be able to do real-time training. And that's something that you need to adhere to or at least come up with some sort of solution for the people in that market. And for corporate communication... You have varying bandwidth and firewalls to deal with.

And the main reason is that when you're doing corporate communications, you have no idea where any of the people are going to be who are watching the presentation. They could be on the corporate land. They could be at home. They could be in a hotel room somewhere. So all these sorts of things lead to vastly different firewall configurations and vastly different bandwidth availability.

So you need to be scalable. You need to be scalable within the context of a single broadcast. That's really important so that you have multiple ways to view the broadcast for people who might have multiple different kinds of broadcasts. So you need to be scalable within the context of a single broadcast. That's really important so that you have multiple ways to view the broadcast for people who might have multiple different kinds of broadcasts. have multiple or different amounts of bandwidth available to them.

Some other requirements. People obviously need some way to communicate, whether that communication is back to the presenter or amongst themselves, and we'll talk a little bit more about how we handle it in Caststream later. And polling is a very, very important thing. Being able to assess your audience, get a sense of where they are, or if you're doing a learning thing, you can actually test them, get that information back, and use it in some sort of constructive way. It's very, very important to be able to achieve those goals as well.

So, of these things I just talked about, we have a couple of boxes here. We have the stuff that QuickTime can help you with Box, and the stuff that QuickTime can't really help you that much with Box. So there's a lot of stuff in the stuff that QuickTime can help you with Box, which is pretty cool. QuickTime can help you display your audio and video. QuickTime can help you display your rich media, and I should also have added in there that you can use QuickTime to display your still media as well, JPEGs, GIFs, bitmaps, all those sorts of things.

QuickTime has a great system for handling live and on-demand content. QuickTime is, of course, cross-platform and very, very good in both cases on Mac and the PC. And QuickTime has this media download capability through the QuickTime data handlers that I mentioned earlier. So there's a few other things that you do need to achieve kind of on your own where QuickTime isn't really helpful. Synchronization, that's something that obviously QuickTime does really well internally in terms of synchronizing audio and video, but you do need to come up with some sort of system for synchronizing the slides. So that's something that you need to come up with.

Chat and polling are both things that you probably need to implement on your own. I've seen some pretty clever wired sprite movies that can do this sort of stuff, but generally it seems to be better to handle that kind of thing on the application level instead of at the QuickTime level.

So here's Castream. Here's the Castream UI. As you can see, our fearless leader, Steve, is in the video window there. So what if we had to design Castream without QuickTime? What would we be left with? It's kind of an interesting question. Well, first of all, here's the Castream UI as it stands today.

First off, we'd of course lose the video window. That's the most important thing that we're using QuickTime for. It's handling the live streaming and the on-demand streaming. So that would be gone, as you might expect. But we also lose our slide window, because the slide window is also handled by QuickTime. This is where we display our JPEGs, our GIFs, our bitmaps, our progressive QuickTime movies, our QuickTime VR movies. All those things are handled through QuickTime in that slide window. And the last thing that you might not have expected is our banner area is also handled by QuickTime.

So we're utilizing QuickTime there as well to be able to support any number of media types that you might want to put into the banner area. Generally, people tend to put animated GIFs there, sort of like a web banner kind of thing. But you have the flexibility to use Flash or whatever you want in that banner area. All those things are handled by QuickTime. Fortunately, we do have QuickTime, so we have a UI that looks a little better than on the last slide.

So why do we choose to use QuickTime? Well, as I'm sure everybody here knows, QuickTime is a very high performance video architecture. If you have a machine that's playing back video and you're playing it back with QuickTime, you can be guaranteed it's playing back as good as it can on that machine.

QuickTime has the ability to do scaling on the fly very, very well, which is really important in a distance learning solution, because the types of media that you end up with that you want to broadcast to people aren't necessarily designed for the presentation. You could be pulling a QuickTime movie from here and a Flash thing from here and slides from here, and you need to be able to scale those things in real time so that you get a cohesive experience on the player side, and QuickTime does an excellent job of doing that.

QuickTime supports a wide variety of media types, as we all know, just all kinds of things. Of course, Flash, JPEG, GIF, all the things that I've been talking about over and over again. It's well supported and marketed by Apple, which is a fantastic thing. For instance, a lot of times, Apple will do revisions to QuickTime that don't necessarily require changes in our app for us to utilize those changes. Obviously, whenever a new version of QuickTime comes out, you have to do some sort of QA to make sure that everything's working properly. But a lot of times, you just get stuff for free.

And that's a really, really exciting thing to be able to base your product on. Of course, QuickTime is completely cross-platform. It works fantastic on the PC and fantastic on the Mac. And data handlers for media download, that was a no-brainer for us to be able to use the same code to do file downloading on both the Mac and the PC.

Why wouldn't you want to use QuickTime? Well, basically the biggest concern we get is that some Windows users will need to do an install. And this is not such a huge thing. Most Windows users are used to doing some sort of installation for any sort of product, as opposed to on the Mac. Most people are more accustomed to the drag installs.

So as part of the PC install, you can easily throw up a dialog and tell people they need to install QuickTime and run the QuickTime installer. It's not a huge issue, but there are some people who do complain about that every once in a while. And it is unfortunately the cost of being able to utilize this fantastic architecture.

So I'm going to talk one by one about the various portions of the Castream UI. First, we're going to talk about the video area. So what can you display in the video area? Well, you can display any movie that's accessible via a URL. So this includes all the standard media types I've been talking about, JPEGs, GIFs, and those sorts of things. But it also includes things like ref movies, which is kind of convenient, multi-data rate ref movies, which allows you to have, say, two different live streams going on, one for 56K modem users and one for broadband users.

There's also lots of really clever things you can do with ref movies as well. You can do audio-only movies, of course. You can do audio movies with picture tracks, which is very convenient. So if you want a really, really low bandwidth sort of way to do your live presentation, you can have an audio-only feed and stick in a picture track of the presenter.

So even maybe users on even 288 modems could be able to view a presentation utilizing that. And then you pair that with multi-data rate movies, and you don't have everybody sitting at the lowest common denominator. You have everybody having a customized. experience based on the level of bandwidth that they have access to.

And of course it can handle streaming, RTSP or HTTP, or progressive, which is interesting. A lot of people tend to forget that the QuickTime progressive download fast start feature is a really, really fantastic alternative to doing a full-blown RTSP stream. So you could certainly use a progressive QuickTime movie in the slide area, or in the video area in CastStream, and it's a very useful thing to be able to do if you don't have access to say a QuickTime streaming server when you're doing your on-demand archived presentations.

So some of the common issues for the video area, firewalls are obviously something that you have to be concerned of. QuickTime handles that very elegantly with an HTTP fallback feature. New in QuickTime 6.3, just within the last couple weeks, is the ability to automatically set up the transport, which is handled by this new sheet in QuickTime 6.3.

Some other common issues in the video area are lack of bandwidth. That's obviously something that does come up a bit. You can deal with that by doing things like audio-only feeds, audio with picture tracks, like I mentioned, and using multi-data rate ref movies to help you customize that experience for each user.

So the Cash Stream slide area, also based on QuickTime, allows you to display any QuickTime compatible file accessible via a URL. So this is all sorts of still images, JPEG, GIF, PNG, PICT, BMP, every obscure format that you can think of. All different kinds of video, RTSP and progressive. So most people tend to do progressive videos in the video window.

They'll take some sort of video that they use in the classroom or whatever and encode it and display it as a slide. But you could also do another live RTSP stream in the video window if you wanted. So that allows you to set up, say, multiple cameras at an event and have a camera on something and a camera on something here. And you can switch between them through the course of your presentation, insert those slides wherever you want.

And it's a very convenient, cool thing to be able to do. You can use some of the specialty media types, of course. QuickTime VR, Wired Sprite, and Flash. There's all kinds of things you can do with those technologies. And, of course, everything scales on the fly in the slide area. So if you have slides that are 640 by 480, they will automatically be scaled down to the proper size or scaled up if necessary.

Obviously, bandwidth is a concern. So we do recommend if your slides are too large that you actually do scale them yourself ahead of time just to save the bits. But if you're less concerned about bandwidth and more concerned about just getting your stuff done as quickly as possible, then scaling on the fly is certainly an adequate solution.

And lastly, we have the Casting Banner area, which is very similar to the Slide area, actually. It also can display any QuickTime compatible file accessible via URL. It can do all the still image types as well, video, both RTSP and progressive as well. Specialty, QuickTime VR, Wired, Sprite, and Flash. And it's often used for animated GIFs. A lot of times we do have people also doing Flash in this area because it's such a lightweight media type and you can do so much more than you would be able to do with an animated GIF.

So we're also using the QuickTime data handlers in Castream. We're using both the HTTP and the FTP data handlers for downloading slide media, which allows you to place your slide media either on an HTTP server or an FTP server, whichever you'd prefer. It's cross-platform, and it's sort of a browser paradigm.

You pass off the URL to QuickTime, QuickTime returns you a file, and then you can do whatever you want with it. It's very, very convenient. Here's a URL to some sample code about the QuickTime file transfer protocol. So we're going to move over to the demo machine. I think I'm still wired over here. Yes, I am, which is fantastic. And we're going to show you CastStream here.

I'm just going to adjust something here. See if this works. So this is our vice president of operations, is that correct? Jeff Jameson, who's going to be talking to you for a little bit about some of the rich media content that Castream can display. Okay, Jeff, we're ready to go. I'm just going to send him a message here.

[Transcript missing]

All right, so just let me know real quickly, Chris, that you can actually see and hear me okay, and we'll go ahead and get started.

Okay, great. Alright, well hi everybody. My name is Jeff Jameson. I'm the Vice President of Operations here at Cashdream. Hope everybody is enjoying the show today so far. Wish I could be there myself, but as it turns out, Chris and Steve need some help with a live demonstration here today, so here I am. So, real briefly here, I'm going to spend about 15 minutes. I'm going to talk about what exactly Cashstream is. And then I'm going to show you some rich media examples and how we utilize QuickTime inside our distance learning application. So let me jump right into things here.

So you know, before I get started, I want to apologize for any redundant information. I'm sure Chris and Steve have kind of talked a little bit about this already, but flare with me and I'll just go through it for those folks who might have missed it. So what exactly is Cashstream?

Well, Cashstream is a QuickTime-based enterprise solution for e-learning. We synchronize live audio and video in this window here, with rich media presentations in this window over here. Cashstream supports both live and on-demand broadcasts, which means while you're seeing me here live today, I could just as easily be recording this and archiving for later on-demand use.

Cashstream is also scalable from almost all Internet connections, from 56k modem all the way up through Internet LAN. And most importantly, Cashstream is completely cross-platform. Again, because we leverage QuickTime, we're able to display a various amount of types of media to the viewers, regardless of what platform they're on, whether that be Mac OS 9, OS X, or of course all the iterations of Windows, 98 NT, 2000, etc. So how do you create your media for use with presentations inside Castream?

Well, the good news is that you don't have to learn any new tools for Castream. You can already continue to use the same authoring environment that you're already familiar with, whether that's Keynote or PowerPoint or even Photoshop. And again, because we're leveraging QuickTime, we're able to display some more exotic media types like QuickTime VR, interactive movies, and Mac Media Flash.

So let's jump right into some examples here of what we can do inside the Media Window. First thing I want to talk about is Flash. Flash is a very popular media type these days in the web, and it's popular because it's not just a static slide. It's not just a bunch of graphics and text.

It actually has motion. It typically has animation of some kind and moves around, and that just generally grabs your attention. And of course, you know, being vector-based and whatnot, it makes for very low file size, so it's great for low-end use, for low bandwidth users. So let me show you an example of Flash real quickly.

This is a depiction of Hurricane Floyd moving up the eastern seaboard here. As you can see, this slide already is much more compelling than the slide before it. It doesn't just have text and typical graphics and whatnot, it has animation to it. You can see the hurricane that's moving up the eastern seaboard here. But we decided to take that one step further, and Chris, if you haven't already, take a look in the upper right hand corner and you can see some buttons up there. There's a stop and a play button.

And we've added some interactivity for the users. So go ahead and play with those buttons and you'll be able to see that you can manipulate this animation and move the hurricane up the coast. Now this is a really powerful thing. You know, it's great to see the animation and have control over this, but inside an e-learning space like this, this is a really great thing. Because, you know, due to cash stream technology here, this actual slide is cached locally on your machine.

So you're able to manipulate this slide and click on the buttons completely independent and free of any viewer or moderator control. And, you know, that's a really important thing. You can learn at your own pace. It's something that's very easy to do. You know, and you're able to play with this button in any kind of environment.

So, you know, a great example for use of Flash in an e-learning tool like this would be, for example, specifically if we were to utilize this slide, perhaps I would be a senior meteorologist, and you guys are all a bunch of meteorologists, or maybe I'm the National Weather Service of some kind, and I want to give a demonstration on, you know, the latest hurricane update, or maybe this already happened, and the hurricanes passed through, and I kind of wanted to talk to you guys about, you know, what exactly happened.

And because you have independent control over this, you can actually manipulate this slide, you can stop, you can play it while I'm talking to you and describing things along the way, you can make notes if necessary, and that type of thing. You know, another great use of Flash is some type of tutorial.

I had seen this really great interactive piece on an electronics company website, similar to that of Good Guys and Circuit City. And this was a tutorial that was really designed to help folks learn how to set up their surround sound speakers. And they were able to simply log onto this interactive piece, and it showed a depiction of a living room environment.

You can click on the front of the room, and it zooms in, and it shows you the front speakers and that type of thing. And then you can zoom to the rear and learn about the rear speakers and that kind of thing. And that's a really compelling interactive piece in its own.

But now take that piece and bring it inside an e-learning tool like this one, and now suddenly it's a whole lot more compelling. You've got me sitting here actually talking to you live. So not only could you be actually manipulating and playing and interacting with this flash piece, but you also have me here.

I could be talking you through it. You could actually be asking me questions live, and I could be addressing those questions as such if need be. So that's the first part of the presentation. And that's a couple of really good examples of how to utilize flash inside an e-learning tool like this one.

Okay, so the next media type I want to talk about is QuickTime. You know, because we're leveraging QuickTime, we're able to display nearly all the media types that QuickTime displays, and that's over 80 different media types. From simple, you know, still graphics like GIFs, JPEGs, and TIFFs, similar to the one you're seeing now, to a little more interactive stuff like the flash piece you just saw. But specifically, I want to discuss some more proprietary technologies to QuickTime. Things that are really more exotic media types, like, you know, interactive movies, QuickTime VR panoramas, and object movies. So let me show you this of an example of one of those right now.

So while this appears to be a simple photograph of, you know, a beautiful shot of a boat on the water here in Bermuda, this is actually a QuickTime VR panorama. So Chris, if you would, go ahead and grab that with your mouse and move it around and you can, you know, take a look at the environment there. Now, you know, I'm sure all of us have seen QuickTime VR panoramas before, but this is probably the first time you're seeing it actually working inside an e-learning tool. And again, because it's actually here in the media window, you actually have me here to talk about it.

And, you know, a great example of use like this might be that I'm actually a travel consultant, and you've come to my website to attend a travel seminar specifically on maybe Bermuda. And I want to teach you about Bermuda, and, you know, I could talk to you over the phone.

I could even send you some brochures. But really, by immersing yourself inside this actual application, you've got me here live talking to you. I can address your questions. I can tell you, hey, I recommend a specific hotel, because, you know, you come out the door of the hotel and there's a dock.

You walk right out, and it's a beautiful view. And you're like, well, I can actually share that with you. I can have you and allow you to immerse yourself inside this whole scene. And so, you know, the opposite end of utilizing QuickTime VR panorama might be to use an object movie.

For example, let's say I'm a sales manager of a sports equipment company. And, you know, we've got a new line of shoes coming out, and, you know, it hasn't been released to the public yet, but we really want you guys, the sales reps, to get out there and start selling it.

Well, you're going to need to see it. You're going to need to look at it. You're going to need to hold it kind of a thing. So with a QuickTime VR object movie, I can actually show you the shoe. I can let you spin it around, look at it from various angles, maybe look at the tread.

You know, you're going to have to answer questions for the resellers who are going to want to, you know, know specific things. And maybe even I can do some really interesting things like throw in some wired sprite layers and maybe have some buttons there that allows you to show the different types of colors that the shoe comes in. So those are a few examples of some really neat ways of utilizing some more exotic QuickTime types inside an e-learning space like Cash Dream.

Alright, so the next thing I want to talk about is video. You know, video is becoming one of the most popular media types on the web these days. Nearly every website you go to, you see some type of link somewhere that has some kind of video to display.

And with Castream, you're able to display and show some really high quality video images in the media window here to my right. You know, video is so immersive, it's so exciting and enthralling. It really grabs people's attention. Every time you go see a movie at the theater, you just sit in there and you're really immersed and you find yourself just getting into this movie and you feel like you're a part of it. Well, we really wanted to bring that kind of feeling into an e-learning space with Castream. So, what we've done is we've, again, leveraged QuickTime to be able to display some really high quality videos here.

Now, you know, we're on the Internet now. We're streaming. And, you know, in actually using video for this live feed, it's a really simple thing. It's a really great thing. You're seeing me here at about 100 kilobits or so. And that works great for a talking headshot like you're seeing me in now.

Of course, if I move around a lot, that kind of thing, it might get a lot more pixelated and choppy. But fortunately, because we have this e-learning space, because we have, we leverage QuickTime in the media window, I can show some much more high quality, CD-ROM quality videos in here. So let me give you a demonstration of one of those right now.

My name is Steven Chase, and we are at the Townhouse Studios in West London. ♪ ♪ All right. So that was a really good example of some really high quality video, much more compelling than the video you're seeing me in here, again constrained by the Internet and the amount of connection that the viewer has.

So, you know, a great example of using that video, if you've noticed, that this video window here continued to play simultaneously with the video stream, with the other video you just saw in the media window. And I could have done some really interesting things there. I could have turned down the volume of that video and maybe walked you through it.

Perhaps I was, you know, an audio engineer of some kind and I wanted to share with you, you know, when I went to West London to see the townhouse studios and I met this particular audio engineer or that audio engineer and etc. That type of thing. And that's a really compelling way because I can show you some really high quality video there without having to worry about the constraints of being on the Internet and streaming to you. Another great example of video use might be, let's go back to the travel agent scenario. You know, I showed you the great immersive VR, but you know, you're still not certain.

So maybe I can show you some actual video that I've taken from the hotel. I can walk you through it step by step. You know, this is the lobby. This is the the rooms look like that type of thing. And even take you into some testimonials from particular folks who might have stayed at that hotel. So you can see that's a really powerful way to utilize video in an e-learning space.

So the next thing I want to talk about is assessment. And you know, assessment is probably the most critical function in any e-learning environment. With Castream, you're able to integrate real-time live audience polls. You can ask either single question polls or tests, or you can actually string together multiple questions to ask a multi-choice test or survey type of thing.

So let me show you how easy this really is to do right now. I'm going to pull up my poll control window here. And you know, I can either take the time here to do this the night before and prepare a whole set of questions and then load them in for my presentation today.

But I actually didn't do that today. And I'm going to put Chris on the spot here because I really wanted to show an example of how easy this is to submit a question. So Chris, if you would, simply type me in any kind of question that you can think of on the fly here, and I will enter it in, repurpose it, and follow it. to use to go back and question the audience here. So go ahead and type in any question that you can. Give me something here. What is the name? Computer. Okay, I'm just typing in my question here.

Yesterday. Alright. So I'm going to set up a couple of answers here. And again, I'm doing this on fire. And, uh, alright. So I put in a few different questions. I'm going to choose to show the results to you, and I'll explain that in just a moment. I simply update that question, I highlight that question, and I turn around and I ask it to the audience.

Now you'll notice that a new window just popped up above your player. That's a really subtle thing, but I'd like to really kind of point out something particular with that. We chose to do that intentionally, because if this really was a true testing environment, I might have wanted to test you on, you know, one of the slides that's in the media window right now. And I wouldn't want to have to take that, uh, media away in order to ask a question to the audience here. So Chris, if you would, go ahead and click on an answer.

Um, choose any answer just so, uh, you know, whatever. Okay, don't know I'm sleeping, of course. I'm sure everybody's sleeping there, right. But as you can see, as soon as Chris answered, it updated in real time back, showing 100% of the people here answered, don't know I'm sleeping. And of course, you guys are the only folks connected.

If we did have some other folks connected, you'd see that what happens is, is as people connect, as people answer the question, the, uh, the, uh, the results are updated in real time in a percentage, it's running constantly as people, uh, you know, sit there and submit their answer, and it would show, as it shows now, 100% don't know I'm sleeping, it would show, you know, 50% here, 50% there, that kind of thing, and so forth.

So, And again, just as well, because I asked a single question, if this really was a true testing environment, I could have chosen to check, uncheck the show poll results, and I would have presented the question to you again. It simply would have asked you the question, you would have selected an answer, and it would have said thank you very much and closed the window and goodbye.

And the next thing would have been a series of questions where I could take a series of, say, let's say 10 multiple choice questions, string those together, and, you know, go ahead and present that to you. And you'd go through a similar UI where it says question 1 through 10, 2 through 10, etc.

So what do we do with all the information that you actually, when people submit answers, what do we do with all that stuff? Well, the good news is that there's no big server on the back end. You don't need SQL Server or anything else to manage this. All the information is submitted back to the moderator here at my local machine. We capture things like the name and location that you entered, as well as the IP address of the machine that you're connecting from.

And all this information is saved into a simple tab-delimited format spreadsheet that you can easily export either on the fly during your presentation or when you're done. And bring it into any one of your favorite spreadsheet applications like Excel and whatnot. All right, so that is polling. So Chris, if you'll go ahead and close that window. Let me go ahead and let's move on.

All right, so we just recently announced version 2 of Castream, and I just want to touch on a few of the highlight features here and go through that real briefly. The first thing is that we now support up to 500 concurrent users. Each iteration of the server will support up to 5 simultaneous broadcasts, and now up to 500 users concurrently.

That means, for example, I could be giving a presentation to 250 people on this server, as well as someone else connected on the same server could be giving another presentation to 250 people, and so forth. We now offer a choice of window size of the media window. The media that you're seeing here to my right is 480x360, and we also have a smaller size at 320x240, which just helps reduce the ones and zeros for those folks on lower bandwidth connections.

We now support a great, great feature for some folks with disabilities. We have a slide text captioning feature. We recognize that there are some people out there that may have hearing disabilities, and so we allow up to 1,024 characters to be associated with each slide. Chris, if you haven't already, go ahead and open up your slide text captioning window using Command-T on your keyboard there. And you can see as that window pops up, there's a couple buttons there to increase or decrease the size of the font because, again, we recognize there are some other folks that might have additional disabilities as well.

So with CAST Stream 2, we also support now multiple moderators, which means that we can have actually two, three, or multiple different moderators at different locations physically. You know, I might have set up a presentation where I've got 20 slides, and maybe one through ten are my slides, and I'd like to pass it off at slide 11 to someone else, say, in Boston on the East Coast. And what I can do is simply highlight that person in my user list, I select him, I grant him control, and let him go through the slides. And as the master moderator, I can simply take that control back when he's done.

And finally, CastStream has a really powerful URL linking feature, which means that you can basically associate any URL with any slide. And it's as simple as setting this up in the slide properties in the moderator here. I simply type in the URL I want, and it makes it so easy so that when I get to this slide, a user can simply click on this slide, and it will open their default browser and take them to the associated URL. So Chris, again, if you would, please just click on the slide, and you can see it will open up his default browser and take you to, which is of course Safari, and take you to the associated site that I've set with this slide.

Now you'll notice that, you know, as the browser opens, you can still hear me in the background. I still continue to run flawlessly and seamlessly here with the browser as it searches out for the website. And this is a really great way to get people to kind of share some other materials that you might have for your presentation that's kind of out there on the web without them actually leaving the learning environment here. Alright, so those are the cash stream 2 highlights.

And that basically wraps it up for me, Chris. Unless there's something else specifically that you want me to go back and review, let me know. Otherwise, I will happily sign off. So is there anything you'd like me to go back to review specifically? No, we're good. All right. Well, thank you very much, everybody. Take care and enjoy the show.

All right. So there's an example of our distance learning solution. Obviously, if you're designing your own solution, you're going to have many similar goals that you're going to want to achieve. We have to be most familiar with cashier, of course, which is why it's easy for us to talk about it.

But Jeff did cover a lot in his presentation there, and some of the things I was going to cover, too. So I'm going to go a little bit quickly through some of my last remaining slides here, and then we'll get Dr. Steven Erde up here to show you some cool applications he's doing with Cash Dream. So can we go back to slides, please?

Thank you. So, what sorts of things do you need to be concerned about when you're designing your distance learning solution, other than the obvious things with audio and video and whatnot? So, you need to be concerned about slide creation. You need to be able to create slides in a variety of applications so that people can work in tools that they're already familiar with, supporting tools like Keynote, PowerPoint, Flash, Photoshop, Illustrator, Appworks. Those things are very important. Utilizing QuickTime allows you to basically have support for any application that can produce something that QuickTime can display. So, anything that can be played back in QuickTime Player, you can play back within CashRamen as part of your presentation.

In our case, we happen to have some actual integration with Keynote that we've done using AppleScript. So you export your Keynote presentation, and then you process it with an AppleScript and QuickTime Player Pro, which then prepares the slides for use with Castream. This is very convenient for people who do use Keynote. It allows them to retain the transitions and all sorts of cool things that you have as part of your Keynote presentations.

You need to be concerned about slide synchronization. As I mentioned before, the video is delayed by the live broadcaster. In our case, we came up with a technology called SyncSure to make certain that the slides and the video did remain in sync throughout a broadcast. That's something that you'll also need to sort out. And here's our SyncSure slide delay slider in the broadcast setup. You can set it anywhere from 0 to 30 seconds to compensate for the latency in your streaming connection.

There's also an additional SyncSure slide delay compensation in the player. This is really convenient for people who happen to be much further away from your broadcast point than others. So if you set, say, a four-second delay, which is good for most people, some people, say, in Australia might actually be experiencing a six-second delay. So they can actually add on to the delay if they want to keep their slides in sync.

Chat is very important because users need a way to communicate with the presenter or the moderator, to ask them questions and provide them feedback, that sort of thing. They generally need a way to communicate with each other. This is useful up to a certain number of people. It can certainly get out of hand if you have too many people.

But if you have a moderately sized group, allowing the group to chat amongst themselves is certainly something that is an option for you to do. It is nice to be able to turn that off, though. There are situations where you don't want people jabbering amongst themselves while you're giving a presentation.

So you can actually turn that off as a moderator. You have the control to do that. So in that case, the chat with the presenter becomes sort of a one-way thing, where you're typing in questions, it's showing up to the presenter, and nobody else is seeing those questions. It's also really convenient for the presenter if you want to pick and choose which questions you want to answer.

It allows you some level of editorial control. Chat can be globally disabled per broadcast, or individual users can close the chat window if it's distracting to them. So if you're not interested in being part of the conversation, you can just click that disclosure triangle. and close up the chat window and you don't have to see any of it.

And polling is very important, as Jeff spent some time talking about. Presenters need a way to poll the audience to perform tests, to assess interest, and to guide the presentation, which is an interesting thing. A lot of our users tend to create presentations that are much larger than the presentation they actually end up giving.

And they ask the audience in the middle of the presentation how they want to proceed. They get a sense of where they're at with the content, and they get a sense of what they really are interested in, and they go to that portion of their presentation. They have basically branching points that can go to. So that's a convenient use of the polling architecture.

So here's an example of a CastStream poll. In this case, we're talking about widgets, as you do. And I'm buying a wacky Widget Pro there, I guess. The polling system has no back-end database. The results are stored directly in the moderator application. This is really key because it's a little daunting for most people to set up some sort of back-end SQL database and all those sorts of things.

In our case, the data is stored directly in the moderator, and it can be exported as tab-delimited text. It's very, very simple for the user. You don't have to write a single SQL SELECT statement. And that data can be imported then into Excel or FileMaker, AppleWorks, or various learning management systems.

So, the last thing you probably really need to be most concerned about is your cross-platform considerations. Various markets need support for various platforms. Mac OS X obviously is incredibly important. Various versions of Windows is important. But if you're targeting education, you also do need to consider Mac OS 9 because there's still a lot of Mac OS 9 machines out there.

QuickTime supports the vast majority of desktops in the world, so obviously you can't go wrong there. In our case, Castrium is developed with Real Basic, which allows for Carbon and Win32 compilation from a common code base, which is an incredible time saver when you're trying to ship for six or seven different platforms at one time.

So here's some links to some documentation about the sorts of things we talked about. Obviously, the basic QuickTime documentation can be found there. QuickTime data handlers can also be found at this next URL. And there's an example file that I mentioned earlier, but here's that URL again. And an excellent page about AppleScript and QuickTime Player Pro, if you're interested in utilizing the AppleScript architecture to do some sort of integration of your app with another app. And that's it for me. Do you want to come up and introduce Dr. Erde? Thank you.

Thanks, Chris. And I want to say also thanks to Jeff. Jeff doesn't do demos every day, and we sort of put him on the spot to do this one. And I think he did a great job. So thanks, Jeff. So the next speaker that I'd like to introduce is someone that I consider to be very lucky to know. He's a very distinguished presenter. Dr. Steven Erde is the Senior Director of the Office of Academic Computing at the Weill Medical School at Cornell University.

He's also the Chief Security Officer. He's also an Associate Professor. He's an M.D. and a Ph.D., one of the smartest people I've ever met, and also one of our first customers. And I thought it would be really cool to invite Dr. Erde to the stage to have him give you a sense of how he's doing this in the real world.

You know, we can do demos, and we can talk about how this stuff works, but he had real problems to solve and real resources to apply to those problems. And I'd like for him to sort of give us a sense for how he's doing it. So, Dr. Erde. Thanks a lot, Steve. Thank you.

It's fun to be part of the Castream advertising team here. Well, just let me tell you a little bit about where I come from. Basically, the Weill Medical College is located in New York City. The rest of Cornell is in Ithaca, in case you guys know that. We have had a computer-assisted problem-based curriculum, which means that the medical students are actually challenged with problems as opposed to getting lectures. There are very, very few lectures going forward. I don't know what's sort of the makeup of this audience. How many of you are sort of higher-ed educators versus computer geeks? Any higher-ed people? Oh, good.

Okay. So, this curriculum change was a major shift in medical education, and it's happened in quite a few schools in the last 10 years. Cornell had been Macintosh-based since 1984. We actually started doing interactive video disks with Mac Pluses, and that was through a grant with Apple, and it was a lot of fun.

One of the things that has recently happened is that we've opened a branch of the medical school in Qatar, and I have a few of my colleagues here from Qatar in the audience. It's going to be a combined undergraduate-graduate program, so the first two years are going to be taught by Cornell University faculty in Ithaca, and the medical school faculty in New York City, as well as faculty in Qatar, are going to be teaching the last four years.

[Transcript missing]

Can you bring up the demo machine? All right. Actually, I wanted to do that.

I apologize, this is a canned demo, but the bandwidth over the Internet wasn't as secure as I would have liked. Today we're going to talk about narcolepsy, one of the most dramatic of all the sleep disorders. 250,000 Americans have this rather debilitating disorder, whose primary symptom, besides excessive daytime sleepiness, is cataplexy. So this is his PowerPoint slides that we basically took.

That's right, we took offline, and you notice that the slide changes are going on as he's giving the lecture. When he clicks his synchronization, we can remotely change the slide. It's a really interesting topic, and the reason I want to show this is because the extra media that we have really makes the point of why this is important. It's an attack of REM sleep right during the daytime. So you're not going from slow-wave sleep into REM sleep.

But in this case, you're going directly from wakefulness into REM sleep, and it's rather frightening. Now these attacks are self-limiting. After they're over, the patient will get up and resume life, just as it were, before you told the funny joke and he or she got stimulated. I'm going to talk about two case histories with narcolepsy, people who have these cataplexic attacks. Most of you are probably not narcoleptic, I hope, but you're probably very tired after lunch. I have a senior citizen golfer who, in his retirement, loves to play golf.

But he says to me, "I've got one problem, Jim, and that is every time I get a great shot, I get so excited I have cataplexy and I collapse right in the middle of the fairway. It's a darn good thing I'm not a great golfer. I never finish 18 holes." Types of things that bring on cataplexy are not only laughter, but surprise, anger, fear, sexual orgasm. So you can begin to fall.

Think about some of the problems that these people encounter. This is what you get when you go to Cornell. No matter how many hours they spend the night before, within two or three hours of them getting up in the morning, they feel as if they had been up for 48 straight hours. It is very, very debilitating.

The other person I'm going to introduce you to is a woman who calls herself the laughing joke meter. She works on the assembly line at the Henry Ford Automobile plant in Dearborn, Michigan, and she has cataplexy. It's one of her symptoms. And she says, "Every time I come to work on Monday morning, everybody on my assembly line tells me the funniest joke that they've heard over the weekend. And the one who makes me collapse the longest is the one who wins the assembly line pool for the week." She has a very good sense of humor about this very debilitating disorder.

Dogs also have narcolepsy. In fact, we breed dogs for narcolepsy. It's a genetically linked disorder so that we can study those things. And we can study the things in the dog that cause narcolepsy so we can perhaps isolate the brain structures in the human and hopefully treat them so that they no longer have narcolepsy. That's a plug for our vet school, by the way. Here is my colleague out at Stanford, Bill Demet, holding a dog, Ginger. The dog is not dead. It's sleeping. It's having a narcoleptic attack. Ginger has narcolepsy, has cataplexy, has excessive daytime sleepiness.

Now, you can't interview the dog to say, "How tired are you?" You can certainly see this. We have a movie of the dog you can see. And just like the humans, laughter, surprise, sex, fear will bring on cataplectic attacks. In fact, here Bill is holding Ginger the cockapoo. And she was licking his chin and being very happy, now being held and cuddled as a laboratory animal. And she got so excited that the minute the shutter was snapped, down Ginger went, as you can see Bill holding her, in a cataplexic state.

Now, if you didn't know that, you'd be very upset about that. So, here's a film clip now. First of the dogs. Now, these dogs haven't been fed for about six hours. And the mere sight of food gets them so excited, they have cataplexy and they can't make it to the food dish. Then you'll see the golfer and then the woman who calls herself the laughing joke-meeter. You notice we've got to have the Apple logo in there. ... narcoleptic dogs have a tremendously exaggerated tendency to fall asleep.

A golfer excited by a successful golf stroke falls victim to a sudden attack of narcolepsy. He loses all muscle control and instantly enters REM sleep. Dr. Martin Scharf protects him from injuring himself. Narcolepsy is a lifelong sleep disorder whose symptoms are excessive daytime sleepiness and sudden sleep paralysis.

Although there are medicines to affect temporary relief, there is no known cure for the disease. After a brief time, the golfer awakes. Now the quality of the compression here is not what's causing this to be bad media. It's the original film. It's very old. ...who are familiar with her condition has an arcolytic attack brought about by an amusing story.

[Transcript missing]

I think I'll stop it now, since then you'll have to pay for a Cornell education. So, you know, this was a tough course for us. This is a really dynamic course. The guy's got media all the time. So we did a bunch of things. One is we convinced him to move his entire lecture to Keynote, which was a real tough, because he was a PC guy. But once he saw the rotating cubes, that was it. He was sold. That's all that mattered.

But by converting all of his media to digital, we did a lot of things. First of all, we preserved his archive, which is incredible. Second is we basically allowed him to give his entire lecture live from a single laptop, which is really also amazing. But we had the ability then to capture this. We videotaped the lectures, and they're compressed.

My project manager sitting in the front, John Ruffing, you know, he basically did his demo very quickly. We just got a hold of the 2.0 version recently. We needed the bigger window. We couldn't go with the smaller version originally. And it's a really tough course. I think it's very effective.

I mean, I could see everybody in the audience was not bored. Everybody was watching it. So it's a pretty good way to present this material in a fashion that we could not do otherwise. So as I said, I think it was a good solution to a problem. So that's it. Thank you.