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.