Here we are at the next computer, and we want to look at two things. The first, of course, is what it's like to actually build a mission-critical app, and we're going to do that here. But before we do that, I want to show you what it's like to work in the next computer's productivity environment, an environment that has much, much better networking than PCs and Macs, and much, much better productivity apps that let people work together as groups and really increases their group productivity and collaboration. So let's take a look at that first, and then we'll get to building an actual custom app that can interoperate with these off-the-shelf productivity apps. So let's take a look. For those of you that have never seen Next Step before, Next Step has your menus, your windows, and a thing over here called the dock, which you can move out of the way if you want to, and the dock is really useful for keeping the applications you use most often in constant view, always on the top. So I can grab an application like this X terminal emulator and just click it into the dock here, whichever ones I find the most useful to me, and the dock will always stay on the top so I can find them very quickly. Also, please note that when I move around these Next Step windows, the entire contents of the window comes with me. This gets extremely important when we have color images. If this was a Macintosh or a PC, moving around these full color images would take until next week for them to all repaint. And so rather than just moving the outlines, moving the entire images along with us really is a fantastic benefit if you're working in publishing or some other area that demands that you use color imagery. In addition, rather than just having the option to quit things, because we're a full multitasking system on top of Unix, we can hide things. And I push hide here and those pictures all hide behind their icon, which happens to be over here in the dock, and I can click and you can see how fast the graphics in Next Step are. Now, this is the application where I find all of my files and other things. I'm going to hide that for now, and we're going to use the mail as the spine of our demo here. This is standard Next Mail, which is bundled with Next Step, and these are all the mail messages that have come in. And when I click on one, as you see, its contents is put in this window down here. We have smooth scrolling throughout the system. You'll see that a lot as well. In this mail message, I have postscript of any font or size. I have graphics. I have a signature. And above here, I have a picture of the person that sent this mail message, in this case myself, the date and the time it was sent, and a bunch of buttons. As an example, if I want to forward this mail message to somebody, I can hit compose, and I can just push forward and it will put the contents of this mail message in here, as you can see. I can reply, in which case it will reply to me. I can look up addresses on the network. I can go back here and I can look up, let's say, a group of people. The whole marketing department I can send this to. I can CC the marketing department. And I can even add voice annotation by clicking on what we call lip service. And I can record something. Hey, can you check this out and let me know what you think? Thanks, bye. And I can insert it. And you'll see the lips are inserted here. The recipient just simply clicks on these lips and plays the message. Hey, can you check this out and let me know what you think? Thanks, bye. And almost all of the Next Step applications can be voice annotated just this easily. You deliver the mail by just pushing this button right here. And we found that this mail system is so easy to use that executives can use it without reading manuals, which is sort of our test of ease of use. This person wanted to include a color photograph in their mail message so they just scanned it in on any one of the several scanners available and dropped it in mail. Next is fully drag and drop. So if I click on this, I can just drag out this image and drag it into another application if that's what I wanted to do. Now, in addition to just speech, Next Step supports full CD quality sound. This happens to be a picture of my young son and we can actually play music here. And it's nice to know that your system is capable of it. Now, what about applications? Well, when we want to send an attachment, what we do is as follows. Let's go ahead and send a spreadsheet. We say, check this out. And so we can read this more clearly. We'll bring up our font object. And this is an object for controlling all the fonts in the system. I happen to have a lot of fonts in here. I can simply set Helvetica to a bigger font by pushing this. Or I can go down and get a font that I really like, which is Stencil. It only comes in bold, but I'll say Stencil 36 point. Check this out. That'll make sure it gets read at the other end. And now I'll go to my file viewer, which is where I have all of my files. And I'll click on spreadsheets. And I'll just go grab a spreadsheet and drag it down into the mail window. That's all I have to do. And it puts it wherever the cursor was. So if I want to put another one between the words check and this, I just put my cursor there, go grab another spreadsheet and drag it down. It just sticks it in there. And I can have as many different documents of any type that I want, as many lips with voice annotations as I want in any mail message. And I can put another space here if I want to, whatever, and just deliver it. And the recipient ends up with something that looks like this, where the spreadsheet in this document in this case is just embedded right between some words and above a picture of a Ferrari. And they just double click on it, which launches the parent application, in this case Lotus Improv, and brings up the spreadsheet. We don't have time to demo all of Lotus Improv, but it's a pretty remarkable spreadsheet. Okay, so that's Improv. But more importantly, we got our Improv model right through the mail without any real headaches. Now, we have the same for WordPerfect. Here's a WordPerfect document that I just got in the mail. As you know, our version of WordPerfect on the next computer is the most advanced version of WordPerfect. And in addition to that is TotalWizziWig. What you see is what you get. So here's our document that is totally compatible with the other versions of WordPerfect, and yet I can see everything. I can take the picture, I can move it around, and we'll see the text instantly reformat. I can ask to make the text three columns. Now my picture's a little too big, so I can resize the picture here to make it a little bit smaller. And I can move it from this column over to this column, or I can put it between these two columns if I want. And people that see this after using WordPerfect on other platforms are amazed that your documents can really look like this. I want to show you another feature of the next environment. I'm going to pick a word like preserve, and I'm going to go over here to this menu called services. Now, the services menu is rather unique in that it appears in every application, but the contents of the services menu is not owned by any one application. It's owned by NextStep. And any other application can register themselves as a service, and the appropriate ones will pop up in the services menu of all the other applications. So as an example, I've picked the word preserve and WordPerfect, and I go up, and one of the services is Webster's Ninth Collegiate Dictionary and Thesaurus, which we bundle with NextStep. So I say define in Webster's. It'll launch Webster's, throw that word in, and in a second or two, the definition and the thesaurus for preserve will pop up on my screen. And here's the definition, and there's the thesaurus entries. And we'll come back to this again in a little while. Okay, now what I want to show you, a little bit of the networking. When we designed NextStep, we looked at the networking that workstations had, and it was substantially better than was available on PCs or Macintoshes. However, you had to be a rocket scientist to figure out how to use it. So we asked ourselves, could we use this much more powerful workstation networking, and yet make it even easier than a Macintosh to use? And we think we accomplished this, and let me show it to you, and you can tell me what you think. Now, this is a message that I've gotten from Gary. Hey, Ross Pro was in the Wall Street Journal last week. Just go over the network to my home directory. I'm on the marketing server to see the Digital Librarian bookshelf with last week's Wall Street Journal issues. Now, the Digital Librarian is an application that we also bundle with NextStep, where you can drop any text you've ever written into it, your policy manual, your love letters, what have you, and it will build a keyword index to let you find stuff very quickly. And what we've done is we've put some Wall Street Journal data into the Digital Librarian from January, and Gary is asking me to go over the network to find his home directory and to take a look at it. Well, how do I do that? I go back here to my file viewer. Now, everyone on the next system has a home directory. This is my home directory. It's where I put all my stuff. And Gary's asking me to go find his. He's on the marketing server. Well, to go out over the network, I go back to my computer, and I have this globe right here. And I click on this globe, and it shows me everything on the network. And so, I go into the demo server here, and it'll show me the different departments. And I go into the marketing department, and sure enough, there's Gary. Now, everyone else's home directory shows up as his little neighborhood, so I don't get him confused with my own. And sure enough, in Gary's home directory, there's the Wall Street Journal bookshelf. Now, notice that every time I clicked on something, it put a copy of it in this little horizontal scrolling window up here. So, I can see the entire trail, or history, or path that I've traversed to get there. Out of my computer, over the network, over the demo server, in the marketing, into Gary's home directory, and to the digital librarian bookshelf. Now, if I want to go back to marketing, I just go click on this like a button, and boom, I'm back there. And it's incredibly fast to navigate around the network this way. In addition to that, it's kind of like tuning a radio station on my radio. I've just finished tuning the radio station, i.e. finding Gary. If I'm going to listen to this radio station a lot, I kind of like to program a button, just like I do on my car radio. Well, I can do that. What I do is I just take Gary's home directory and drag a copy of it anywhere up here on what we call the shelf, and it programs a button for me. Now, my home directory is put up here automatically for me. So, if I get lost, or if I want to go home quickly, I just go push on it, and blammo, I'm home. But now, if I want to go back to Gary, I just push this. And whether Gary's next door or in Tokyo, I'm back to Gary's system. And you can see how fast it is. Okay. Well, now we're on Gary's system, and we click on the Wall Street Journal, and it launches the Digital Librarian, the parent app that created this data, and up pops the Digital Librarian. And I happen to know there's about 1,300 different articles in here, and I can find the ones that have the word Perot in them, and it'll find just one. Out of 1,300, I click on it, and I can view it right here. And I can click up to the title, and this is Executives Divided on Bush's Trade Trip. This is when Bush went to Japan. Let me go look up Bush here. Out of these 1,300 articles, how many have to do with Bush? 106. I don't really want to look through 106 articles. How about Bush and Japan? 45. How about Bush, Japan, and GM? 6. Well, I can look through 6 articles, and you know, I can click on one. You know, here's Bush, and the title of the article is Automakers Hobble into the New Year. So as you can see, I can find things very quickly. I can take a look at another one here. Asia trip may yet win new verdicts successful debacle. Okay. So here, again, let's take a look. Let's look up the word debacle. What does it mean? Again, I can go to services, and just define it in Webster's. And in a second or two, I have the word debacle defined. Now, take a look at this. I got a mail message which said go over the network to Gary's home directory and find this document created by the digital librarian. I went and got my file viewer, traversed the network, found Gary, programmed Gary's home directory up here on the shelf so I can get back to it, found the digital librarian, launched it, found the little window which had all the articles in it, traversed or searched over 1300 articles to find the ones with Bush, Japan, and General Motors, looked at one in a viewer, picked the word debacle, and defined it in Webster's. All these applications are running simultaneously, and as you see, they work seamlessly together without the user having to play system integrator. This is what the next environment is all about. This is the power that just doesn't exist on the desktops in corporate America today that people are longing for. As you know, we'll be bringing next step out for the Intel 486 family of processors early next year, and it's exactly the same stuff you're seeing here. Okay. Now, let's put this all together even more. Steve, our autumn newsletter has been a truly collaborative effort. Each person has the files in their home directory. Ralph has the template on his son, Vicki has the headline on her next, Kevin has the text file on his PC, and Cynthia has the picture on her Mac. We want to do some truly collaborative work on this newsletter. There are some new communications features we've recently built in the next step. The two that we're going to highlight here are networking to connect next step automatically to PC networks running on Novell and Macintosh networks running on Apple share. As you know, next step ships out of the box with full workstation class networking, TCPIP, NFS, et cetera. And so you can take next step computers and just hook them into Sun networks, DEC networks, et cetera, and they work seamlessly. We got requests from our customers to make the same thing be true for Novell networks for their PC existing PC lands and Apple share networks for their existing Macintosh lands. And so we did the work working with Novell to get their netware fully integrated into next step and we wrote our own Apple share to get it fully integrated again into next step. So let's take a look at how this works. Ralph has the template on his son. I go back to my network and I look at my son's and I go into the creative department and sure enough there's Ralph. And here is that frame template. Frame is a high end document processor that runs on Next, really good product. And I click on it and up will pop a template which has a place for a headline, some body copy, and a picture. So I'm going to click where the headline is supposed to go. And in addition to that, I think I'm going to put Ralph up here on my shelf just in case I want to get back there in the future. Okay, Vicki has the headline on her Next. Let's go back here into the marketing department and sure enough there's Vicki. And Vicki has an application in here called TouchType. TouchType is sold by Adobe, only runs on Next and allows you to beautifully kern headlines. Well, first of all I'll put Vicki up here on the shelf. Now how do I get that TouchType document over into the frame document? On the next computer all I do is I drag it and drop it. And these two applications will communicate with each other and decide that they want to image TouchType's post script into this area of the frame document, all automatically. These application writers never talk to each other, it just works the way it ought to in the next environment. Now I'm going to click on where the text should go here. I'm going to go back over to my mail window and it says Kevin has the text file on his PC. Now we start to get into some amazing stuff. We go back to the network and we just click on this Novell Network logo here. And automatically I am working in Novell NetWare through the same seamless user interface that I've grown accustomed to in Next Step. And I click on Novell here and I click in the marketing department and sure enough there's Kevin. Now NetWare doesn't let me give Kevin a nice fancy little house but it does let me give him a folder. And sure enough here's that text. So let's put Kevin's folder up here on the shelf and let's just take that text and drag it right over to frame and drop it in. And frame asks me how I want to treat line endings and I don't really care. And it will take that text and it just grabbed it over and over the Novell Network and dropped it right into frame here. And now I click on where the picture is supposed to go and I go back here and it says Cynthia has the picture on her Mac. So I go back to the globe here and I click on it and I go into Apple Share. And I think they're in building one upper. Nope. Building one lower. There we go. And here's the Macintosh server. Here's the marketing department. Here's Cynthia. Why don't we put Cynthia up there on the shelf here. And sure enough here's an EPS file, an encapsulated Postscript file. And I simply drag it over here. And by the way this is a live demonstration. The text is really coming off a PC. This EPS file is really coming off a Mac which is why it takes a second because the Mac is a little slow to give it up. But there it is. All over native Apple Share protocols. And so now we've created our frame document. We can go ahead and get rid of the borders here. With a collaborative effort from someone who had the template on their son, someone who had the headline on their next, a third person that had the text on their PC, and a fourth person who had the picture on their Macintosh. And if I want to go back and review all those files, here's Ralph with the template on their son. Here's Vicki with the touch type document on their next. Here's Kevin with the text on their PC over NetWare. And here is Cynthia with the picture on their Macintosh over Apple Share. We're not aware of any other computer that can do this and create this seamless integration from three different worlds of networking. The workstation world with Next and Son, the PC world with Novell, and the Apple world with Apple Share. Now I want to show you something that's also new for our 3.0 release of Next Step, object linking. Object linking works between applications and over networks. So let's take a look. Here's our new employee handbook except for the org chart. Please object link the current chart in so it will always be updated. So here's my employee handbook right here. And I'm going to now run another application, which I will get from another part of the network here, which is a simple drawing package, which has a chart on it. And what I want to do is I want to cut and paste this chart into my employee handbook here so that it will, but in a way that it will always be updated whenever the author of this chart changes the org chart. Sounds pretty simple, right? So what I'll do is I will select all in my drawing package and I will make a copy. And then what I do today on every other system is I come over here and I would say paste, except that paste will paste dead data in. So rather than do that I will go down to my link menu and say simply paste and link, which will paste in linked data. Very, very simple. Now this data is normally updated every time the source is saved, but since I want it to update continually for this demo I'll bring up the link inspector, which allows me to open the source or update from the source or break links. And I'll also be able to set it, after I select the link over here, I'll be able to set it to update it continually. And now that means when I go back to my source here, let's say I pick the president and I go get my color object here, which lets me select colors. Let's say presidents like to be blue. Notice I have drag and drop color by the way. I just drag up and drop the color in here and notice that it's updated on both documents. Let's say this vice president wants to be over here this color. This vice president wants to be a tan color. Let's say this vice president doesn't make it maybe. This vice president here gets promoted. As you see, no matter where the source document is, if it's on another machine across the country, this document that the data is linked into will be updated instantaneously. Okay. One or two more things. As you know, Next has, was the first environment to incorporate fax into it. We have full faxing built into the entire Next environment. You can fax from any document. Normally when you'd fax, if I want to fax this document here, I'd go to print it and I would simply pick a printer here and say print. But instead, I can select fax here and I can pick one of my address books and in this case I'll pick the Colorado School of Mines and I can just push fax. And when I push fax now, the same exact postscript that put this image on the screen or would have created it for the printer will image this document at 200 dots per inch into memory, which is the international standard for Group 3 fax, compress it to the international fax standard and send it out through one fax modem. And the faxes that you get at the other end are total whizzy wig. What you see is what you get. They're gorgeous. And in addition to that, I can share one fax modem for everybody in the building. And one fax modem will work for about 50 people. So I can use the built-in networking and built-in spooling to have one $500 fax modem enable an entire building full of people to send and receive faxes. Now what about receiving faxes then? Well, when I get a fax, we have a little fax reader program that's bundled with Next Step and this is what they look like. I can send them around the mail system and I just double click on them. My little fax reader program is launched and up will pop the fax. This fax is from George Fisher. He's the CEO of Motorola. And here's a fax like this and they're beautiful as you can see. This was taken right off the fax modem so it saved paper at the receiving end and was sent around the mail system to one or many people. Now what I'd like to do is show you how we build these custom apps. And I'm going to run an application called Interface Builder. Now think of Next Step, which is Next's object-oriented development environment, as an object-oriented cake. I'm about to show you just the frosting on the cake. Many people have tried to copy this frosting, but what they found out is without the object-oriented cake underneath, it just doesn't work. And this is the way all of our developers build their applications. They first say I want to make a new application. Interface Builder gives them a new menu and a new window. And then they go over here to these palettes of objects. And we have palettes of objects starting off with menus. So I can just drag things down into my menus here and it adds them. I can add custom menus here and I can type. This is a custom menu. I can move that to the top if I want. I can move quit in the middle. Whatever I care to do, I can bring down a color menu, etc. This is how we build menus. I can simply drag panels and pull them off to gain additional panels or windows. I have a bunch of controls here, buttons, sliders, etc. I can drag buttons over here. I can make buttons bigger. I can make lots more buttons if I want to, etc., etc. But I just want one for this. And I want to label this button search. And I want to bring up my font object. And I'm going to use again my favorite font, stencil, maybe 24 point. And I think I'll make my button a little bit bigger here. So now I have a search button. And we're going to build an application that uses a backend database. A backend SQL database like Sybase or Oracle. And we're going to use a new collection of objects, which we have added to Next Step 3.0, that make writing applications that use backend databases even faster. And it's called our database kit. And the database kit has three objects in it. One that represents the database and the model of data in it. The second, which is a table view that allows me to view that data. And so, and we'll get to the third in a minute. So I've got a table view here. And now I'm going to go look inside my database. And this queries the database and shows me all of the different databases that I've got. I'm going to pick one called departments. And here's all the different tables in the database. I'm going to pick one called department name. Now I want to make a connection between the department name table and my table view object to view it. And all I do is I drag it and drop it on and it automatically makes that connection for me. And I'll get inside this and just stretch this a little wider here so I only have the one column. Now I want to connect this button to the database object so that it searches for data. And all I do is drag a line down to the database object. And the database object is dynamically interrogated and these are all of the messages that it can understand from a button. I'm going to pick fetch all records and make the connection. And now since interface builder is only making connections between objects, it is not generating any C code or anything else, I don't even have to compile this. And I can just say test this interface out. And here's my WACO menu and here's my window. And now when I say search, I will be asked to log into Sybase because I'm using a real live Sybase database for this demo. So let me log in here. And instantly all of the data in the department name is queried and put inside my little viewer here without writing any code. So let me go ahead and quit this. Let's go make this more interesting. You're all familiar with what master detail is in the database world. It's where I have a master, in this case the department name. And once I pick a master, I want to learn more about it, which is the detail. So let me stretch another table view out here. And now I want to learn more about the people inside that department. So I'm going to go back to my database here. And I'm going to pick employee. And I'm going to pick last name here. And let me drag last name up into this. And why don't I drag first name up here. And I'll put first name onto the second column there. And maybe manager here. Let's drag the manager up. And maybe salary. And maybe their phone. Okay. Let's get inside here. And let's make a few of these wider. Alrighty. Now let's go grab some additional information about the people that we're going to select in that department. Maybe let's grab a few fields here. And let's stretch them out. And let's go back and make them maybe stencil 18 point. And I don't need them to be quite so tall here. Okay. Let's go back to employee and maybe let's put their title in. Now by the way, for those of you that are fluent in databases, you'll notice that I'm actually doing joins across multiple parts of the database here, all automatically done by the database kit. And let's go back and let's go back to location and let's pick the employee's location and let's put that in the second field here. Now, I also have a way to display images. That's the third object in the database kit. And we'll go grab this and stretch it out a little bit. And we'll go back to location here and we notice we have a photo. So let's go ahead and drag up the photo in here. And I also have another photo of the employee, which we'll put right here. And let's go back to department and we'll pick employee and we'll go do a join to another part of the database where the photo is and we'll just drop the photo in here. So now, hopefully, if I've done everything right, I can space these things out a little bit, center them. If we've done everything right, I should be able to go test this. And when I say search, in addition to fetching the department name, I should also fetch all the people in that department, the picture of the department. And when I select a person, their photo will come up, their title will come up, but their location will remain the same because their department's in the same location in this database. Office of the President is in another building here. Many more people, so scroll bars come and go as necessary. And as you can see, we've built a very simple but important database application here in just a few minutes. So these are the kinds of things that we've tried to make very, very easy. In addition, the database kit does something else remarkable. We've written it so that there are adapters that click into the back end of the database kit architecture. And today we have adapters for Oracle and Sybase and Teradata with adapters for DB2, Informix and Ingress on the way. Once a developer writes their application to the database kit set of objects, you can actually switch between Sybase or Oracle or any of the other databases without changing a line of code in the application. The database kit insulates the application developer from whatever back end the customer may prefer to use. Okay. The last thing I want to show you today, actually second to last thing, is the fact that some companies have legacy applications built in DOS as an example that they have to run that were built by their MIS department, let's say, that will never be rewritten. It turns out you can run DOS applications in a window on Next Step because of a product called Soft PC by Insignia. Now, I've learned just enough DOS to be able to demo this to you. It's quite intuitive. D-I-R here. There we go. One, two, three. And here's one, two, three running in a window. And I may find out, I may be able to bring up a file here. Slash F, it's a wonderful user interface. R, one, two, three. There we go. So here's an example of a one, two, three worksheet running inside a PC window right alongside your good applications here. And again, you can cut and paste between these things and have as many PCs as you'd like. It's a true multitasking PC. You can do the same thing with X windows as well. The last thing I want to show you today is a little bit of the graphics power that's built in the Next Step. This is a simple application that was built in two days just for demonstration. And the reason I'm showing you this is just to show you some of the built-in graphics power in the Next Step environment so that developers that want to create graphically rich applications can do so without writing a lot of code themselves. So I have an image of a forest. I'm going to put a Ferrari on the forest here. And as you can see, I move it around. What I really want to do though is get rid of that black rectangle. I want to say that everything around the Ferrari is opaque, or sorry, is transparent. The Ferrari itself is opaque except for its window, which is semi-transparent. And in the Next Step environment, I can do that. And as you can see, you can see a little semi-transparency there on the window. I can put Donald Duck here and also eliminate Donald's black. And I can even put Donald behind the Ferrari here. And you'll notice again that semi-transparency behind the Ferrari's window. All that's just built in. I can take the Ferrari and move it behind one of the trees here. And as you see, again, all of this just works. One of the other things that we've done with Next Step Release 3.0 is we've actually built in some three-dimensional graphics. We have built in Pixar's RenderMan photorealistic rendering software which can produce the most photorealistic rendered images from 3D models. In addition to that, we've built in some real-time 3D graphics, interactive RenderMan. We've taken photorealistic RenderMan and made a version that will run interactively on the screen. And so I can bring up a cube here which I can take and actually put behind these 2D images. And I can actually then rotate it. And this cube is being rendered in real-time as we watch it and being composited onto a 2D image behind the car and behind that last tree. Now, we believe that over the coming years, three-dimensional graphics may play a very important role in business as we try to visualize more and more complex data in ways that we can assimilate very rapidly. But in any event, the purpose of this last thing was to show you that to build very rich graphical apps in Next Step is no different than anything else. Most of the work is already done for you. So that concludes the demo I wanted to do. And I hope you get a feeling of how rich the Next Step environment is, how easy to use it is so that mere mortals can use this very, very powerful piece of software and how it's possible to create and deploy mission-critical custom apps in a fraction of the time than ever before possible and to do all three simultaneously. Thank you.