Steve Jobs on Dynamic Web Applications: Act 2 of the Web


What Jobs talks about
Jobs frames the web as entering a second act: first came the browser and static publishing, and next comes the server and dynamic services. He argues that the biggest opportunities on the web are not just flashy browser features, but applications that generate pages on the fly from data and user input.
He uses FedEx tracking, search engines, car shopping, and catalog shopping to show why static pages break down when information changes constantly or when there are too many permutations to prebuild by hand. His answer is WebObjects, which sits on top of an HTTP server and assembles pages dynamically from databases, files, and scripting.
The keynote matters because it previews a core idea of the modern web: data-driven applications, personalization, and server-side generation. Jobs also shows real deployments at companies like Reebok and The Sharper Image to make the case that this is not theory, but a new model for commerce and enterprise software.
Jobs speaks throughout; Richard Thalheimer of The Sharper Image joins for a brief closing segment.
In his words
“Act 2 of the web adds something very big to the browser.”
“We believe the server will be the epicenter of the web Act 2.”
“It has to be built on the fly.”
“There are way too many permutations of things to build all these web pages by hand.”
“You cannot build applications like this with most of the tools out there today”
Key points
- Act 1 of the web was the browser and static publishing; Act 2 is the server and dynamic services.
- The web's real power comes from building pages on the fly, not hand-crafting every page.
- Dynamic systems are necessary for catalogs, search, package tracking, and any site with many permutations.
- WebObjects can sit on top of existing HTTP servers and generate standard HTML for any browser.
- Jobs pitches WebObjects as a faster way to build large web applications with scripting and compiled languages.
- He demonstrates live examples for Dodge, Reebok, and The Sharper Image to prove the concept.
- He argues that every web server should be turbocharged with dynamic capabilities.
Full transcript
For last, the gentleman I'm about to introduce needs no introduction. Steve Jobs, co-founder of Apple Corporation, now the chairman and CEO of Next Software Corporation, is going to talk to us about the future of the World Wide Web. Please join me in welcoming a true pioneer in our industry, Steven Jobs. Thank you. Is this mic working here? Yeah, great. We get to spend a little under an hour together today. I really appreciate the opportunity to tell you about what we're doing.
And at Next, we've been around since our 10th year, and we've built about a $60 million software company, a medium-sized profitable software company, off client-server software, helping people do mission-critical enterprise applications. And the web has come along, and like everyone else, we looked at it at first and didn't know what to think. But when we finally grokked it, we jumped on it and found that a lot of our technology and a lot of our know-how in building enterprise apps work perfectly on the web. And we've come out with some products called WebObjects that are doing really well. And I wanted to go through them a little bit with you tonight and try and give you our perspective on the web that has led to these products and the kinds of things that we're doing with them and some of the customers we're doing them with.
Now, the first thing is we started off with a radical pricing philosophy on WebObjects, for our company anyway. We followed the Netscape model and now the Microsoft model and many other models. We're giving away free versions of a product that is surprisingly powerful and then trying to sell even more powerful versions on top of that. It's working really well. As a matter of fact, we've given away over 20,000 copies have been downloaded off our website. Now, this is server software, remember. It's not client software. It's server software. And that's a lot of copies. And as you notice up there, Windows NT is about almost 12,000 of those 20,000 copies. So that seems to be our most popular customer base. So let me start off by giving you our perspective on the web.
We believe that Act 1 of the web has been the browser in static publishing. Most of the things we hear about, read about on the web have to do with something new happening on the browser. And that's wonderful because it needs lots of improvement. And these are some examples of just some static pages that you can view with a browser. Static pages, meaning that some human being creates these pages with some web publishing tool. They put them on their server and they don't change until another human being comes and changes them. Most of the pages on the web are like that. Here's Microsoft's home page as an example. Here's Intel's home page. And this is the way most pages are on the web. Here's one of my favorites.
And until human beings come and change these pages, they don't change. Now, most of the action on the browser has to do with enhancing its user interface. If you said the user interface of Windows is this big, is a square this big, then the user interface of the web is a square this big in its capabilities. Substantially less powerful than the UI of, let's say, Windows today. And what most of the activity on the web is, such as plugins or such as Java or ActiveX, is to expand the UI of the web browser to be as powerful as that of, let's say, Windows. And we're making a lot of progress. And it's really exciting. But most of the news we hear about the web has to do with this.
And so that's what's happening on the browser and will continue to happen. And we'll see Netscape and Microsoft duke it out to see who can expand it the best and the fastest. And that'll be fun to watch. But we believe that Act 2 of the web adds something very big to the browser. It adds the server and dynamic services. We believe the server will be the epicenter of the web Act 2. Because as you recall, the apps reside on the server. And dynamic services are going to be the next logical extension of just static publishing. So let's explore what that is. What is this stuff on the server? If enhancing user interface is what's happening on the browser, what's happening on the server? Well, typically, again, in static publishing, what we've seen is you could metaphorically take a book and rip it into pages or construct those pages individually and put them on an HTTP server.
And anyone who asks for them gets them. And that's what we have today with ninety nine point nine percent of our pages out there. What happens if the page you want doesn't exist? Now, how could that be, you might say? Well, let me give you an example. Federal Express has a cool website, the package tracking website, right? Probably most of you have been to that. Track the package, you type in your package number. It goes to four mainframes, finds out where your package is, gets all this data. What does it do? It does not give it to a bunch of gnomes who then hand craft a page for you. The computer builds the page for you and sends it out. It has to do that because obviously the page to tell you where your package is didn't exist before you sent the package. So the page has to be built on the fly. Took him four months to build that app. And it's a very simple app, but it's a dynamic app.
It's built on the fly. And you can think of you start to think of hundreds of examples about pages you want that don't exist. You may not want to view a whole catalog. You may want to answer five questions at the beginning and only see 10 percent of the catalog that you're interested in. But every permutation of every item in the catalog would be too big for somebody to do by hand. So it has to build it on the fly. If you've got a catalog and or a whole bunch of information you're displaying on your website and you want to insert some new things in it and it affects 3000 web pages, the last thing you want to do is get in, update 3000 web pages by hand. You want the computer to do it. And that's what this dynamic services is all about. So here's an example of FedEx's package tracking one right where it comes back and shows you where your package is fully dynamically. Here's another example. All of the web index engines, WebCrawler, Lycos, et cetera.
Obviously, they're being updated. They're not going to build every single page for every single search you might be interested in. They build them on the fly. Takes a tremendous amount of crafting to do that. A lot of Perl code. It's not pretty. So how can we do this a lot easier? And that's what WebObjects does. What it does is you add WebObjects on top of any HTTP server. It can be one from Microsoft, one from Netscape, one of the public domain ones. And you put the components of every web page, pictures you might have, text you might have, in a database or in flat files. And with a scripting language to tweet it together, WebObjects on the fly will make tons of decisions and build your web pages for you. Let me give you a demonstration of this because it's hard to grasp.
We built a website for Dodge. And if I could get the lights down, I will go ahead and show that to you right now. This will be the first of several demos we're going to hopefully do today. And I hope they all work. So OK, great. So this is an example of Dodge's website. And I've got all the cars that they make here. So I'm going to pick them all, the Viper, the Stealth, and all these guys. The price ranges from $8,000 to $90,000. Oops, I just cleared my form. Sorry. All the cars, all the price ranges to $90,000, and then all the models. And I'll sort them by model type. And I'll say display the cars. Now, this information is being parsed by WebObjects. It's doing a database access.
It's pulling all of this information together. And it's building the page. Keep these lights down because they know what I look like. I'd rather have you see the screen. And it's building this page and shoving all the cars that Dodge makes into them sorted by model number. So here's the Avengers first since they begin with A. And then the Caravans since they begin with C. And then, you know, the, you know, some, oops. And then Neons and, you know, you follow it down here. Ram trucks because they begin with an R. And then all the way down here to, you know, the Viper because it's a V. And so that's kind of cool. I could go back and say, you know, this is kind of neat. Sort this by price and display the cars. And it will take that same data and obviously rearrange it differently and build a new web page on the fly for me here and send that web page out.
And now the Neons are first because they're cheap. And, you know, there's a cheap truck in there and, you know, a cheap Avenger and another cheap truck. So it's sort of by price. And I can say, okay, I'm interested in Neons. So let's go check out those a little bit more. And it will show me some more information on Neons here. And, you know, this is interesting. It'll show me the lime green one, you know, and it'll just go back and build a page with the lime green picture on it, obviously. You see where it shows me the price and the options up there. So let me go ahead and pick, you know, package B. And it'll go ahead and put in package B and add it to the option total up there and check it off. And, you know, I can say put in – you notice how package – by the way, you notice how package 25B on the bottom is grayed out because, you know, it's a subset of B.
And so I'll pick the other option package. And I'm up to $14,000. And now I can say leasing, go to leasing, and it'll take that $14,000 price and put it in the leasing and show me all the other fields. And I can say how much my down payment is and maybe I want to finance it over 60 months and, you know, calculate the amount and it'll go calculate the amount for me. And, again, all of this is being built dynamically. And the cool thing about this is rather than taking four months, we built this app in two days with WebObjects. That's how fast it is. It is to put all this stuff together and most of that time was the aesthetics So that's an example of a dynamic application and as you can start to see There are way too many permutations of things to build all these web pages by hand and just serve the one that they ask for You have to build them on the fly You have to build them based on the customer Telling you more and more and more about what they want or what they can do or what they don't want and then you help them Navigate through the morass of information you have to get just what they want Does this make sense to you? I hope so Okay, let's go back to the slides and then so we have three versions of this The base version does everything you just saw to build the Dodge demo or anything you want Matter of fact, we have an application called the virtual showroom And that comes with that for free that you can build a virtual showroom just like that We then have another version The pro version which allows you to add your own objects in addition to use the rich set of object Frameworks that we ship with web objects so the base version you get a rich set of objects, but you can't add your own the pro version you can add your own and It needs a compiled language because if you're gonna add these objects and you don't just want to stitch them together You want to make new objects?
they have to run fast because a lot of people are gonna be banging on them a lot of clients and so you need a compiled language and Then we have a third version which is the enterprise version it's got some very cool technology in there for building enterprise scale web apps in it and Very sophisticated ways to talk to databases, although pro talks to databases as well and So we believe this is what's going on in the server side of the web these dynamic Services are going to be the hot new thing and not just putting whizzy things on the browser You know little little animations on the browser with Java. That's wonderful We we do it too But the the cool stuff has to take place at the server where you're responding to the user Doing tremendous amounts of processing at the server and then creating these web pages and serving them back out So What we the reason we decided to give the base version of web objects away for free is because we think this should be Essential on every web server every web server should be turbocharged this works with every web browser Every web browser works with web objects. We're just serving standard HTML. It works with all HTTP servers and It runs on NT and Solaris and next step So as you can see in this thing we have scripting languages for web objects and compiled languages for web objects Pro What are those languages? We have our own web script, but we are also adding JavaScript and visual basic as scripting languages and Later on this year compiled Java as the compiled language Because we really believe in those languages and we want people to have a choice of what they're going to use so if you go get a web server from Netscape
Or you go get one from Microsoft just go to our website download web objects for free layer it on top of your server and start building dynamic applications instead of just Those static ones that are everywhere and don't really do I think what the next generation of applications is going to demand So like talk about some people using this stuff now Merrill Lynch is using this to build some very very large applications that are going to be rolled out internally and then externally Motorola is using this for some major intranet applications Disney is using this For some things we can't talk about Dreamworks is using this for all of their internal production management applications for their entire studio Fannie Mae is using this to roll out some major applications to their customers Reebok is using this and we're going to talk about that in a little bit and lastly the sharper image We had a great experience with the sharper image, and we're going to be showing you some amazing stuff as you know they are the largest catalog merchandiser and They have about a 200 million dollar business selling some some very cool stuff, and we'll get into that in a minute So matter of fact let's get into it now let's go back over here and I will Show you what we're doing for two of these customers Reebok and the sharper image. Let's start with Reebok Let's get the lights down, please so you can get the best view possible here Yeah, let's get them all off if we can Okay, so this is a website that is Running for Reebok here
And it's planet Reebok and the purpose of this website that they wanted to accomplish was they want to help people find cross training shoes That's their whole marketing thrust so you say great. Let's go into planet Reebok, so we'll click here and It's asked me to pick a goal. What do I want to do? Do I want to lose weight improve my muscle tone increase flexibility and reduce stiffness enhance overall health and fitness? I could pick all of the above I guess, but I'll pick enhance overall health and fitness and Then what it does is it asks me to tell it sort of you know where I am like in cardiovascular one says you Never or rarely participate in continuous physical activity I could pick that one strength You know you you're comfortable you comfortably perform one set of 15 to 20 reps for 8 to 10 of the major muscle groups of Body two to three I'll lie and say yes I do that and then flexibility you always stretch most you all pick three on this one so you just you know pick one two or three in each of these categories and you notice how it throws the view program button up when you pick three because it knows that it just shoves that in and So then what it'll do is it will ask me to choose the activities that I'm interested in so you know there's dance and boxing And you know bike and I'll pick bike in running and treadmill I'll pick my strength my weight machines free weights and body sculpting oops Sorry weight free weights. That doesn't really matter. I guess and then flexibility. I'll pick yoga why not and view shoes, so it's going to show me shoes that have nothing to do with who I am but
Okay, so it's assembled a bunch of shoes based on what I asked and it can sort them by you know alphabetically or price or Or by the shoes themselves, let's see view shoes. Oh there. We go. I thought they had none for a minute, okay? So here we are and as you can see they've got you know shoes starting with the Avenger And you know it's they got a lot of shoes for me, and and they have different matches You know they have like four matches or three matches or two matches So I could say I could go back up to the top here and say you know I'd really rather you You sort this by you know how many matches let's say and we could then compare the shoes So I could say sort them by the number of matches, and it'll resort at all and give me a new list Okay, and now I've got five matches, and then I could pick some I said add to compare list And I'll just pick three here I'll pick the top three and then I'll say compare shoes, and it'll go get more data on those shoes and Build vision. I hope you get the Understanding that you could never build all these pages by hand It's just too many permutations of stuff to ever build by hand you and plus when something changed you'd have to update 5,000 web pages you could never do it. It has to be done dynamically and again this app was built in about a Week you know by a few people so it gives you a feeling for I mean does this does this look a little different than The stuff you see on the web every day. I hope so you'll be seeing this on the web shortly, so This gives you some feeling for you know for what Reebok is doing and there's a bunch more stuff in here But but in the interest of time I will I will move on Let me now go to
the sharper image catalog Now you're all familiar with the sharper image. I'm sure many of you own their their products. I certainly own a lot of them and So this is a sharper image catalog, and you can go in you know to the product Section and go to any product you want but we're gonna do something you know more interesting Which is this gift finder and so we could go into the gift finder and I know some of this is small to read for The demo, but it's just fine when you're looking at it So here's their gift finder and what you have to do is tell it what you want so likes I like gadgetry and fitness. I don't care about the price, and I'm a baby boomer and So go ahead and get me some gifts and It will go ahead and search everything and build you know dynamically construct a web page, so here's triple action getaway chair Oscillating foot massage massage chair you know Let's see you know giant lava light And now here's another little thing up at the top. I can say how many items you want per page You know so it's got two pages I'll just pick you know up to 20 per page, so we'll rebuild the page and put all the items on one page So I don't have to flip pages, which is kind of nice and So you know here's the rest of the items here, so you know what am I?
I'll pick the massage chair and now let's go find out more about the massage chair So you know here's the massage chair and You notice that there's there's three pictures of the massage chair, and you know here. I've got You know I can order it, and here's the prices. Oh, I was playing with this price is nine hundred ninety nine thousand dollars It's I that's not really the price and so as you can see you can get around this thing Pretty quickly and order all sorts of stuff, and we could you know go look at a bunch? Of other things if we want to but let me show you one thing before we do I'm gonna bring up a question arises. How does how does the sharper image manage this website?
They've got tons of new products coming and going they've got prices that are changing on a daily basis What do they do? Again, if you had static web pages and you have a price change or you have 20 to 8 price changes today You're gonna have a staff of people doing nothing but modifying web pages for price changes So, let me go ahead and show you how we do that we wrote another web app and it is Called the web database administration app. So let me go ahead and log in here real quickly And It's a web app built with a lot of the same components So what I'm going to do is say okay the product I'm interested in editing is in health and massage so I'll click on that it'll show me all the health and massage products and the massage chair is right here and I'll say edit this product and It will go grab that Product and its data and it will let me make some changes on it. It'll show me the pictures etc, etc So I could say instead of layout three I'll pick layout one right and I'll change the price to maybe instead of basically a hundred thousand dollars I'll change it to thirteen dollars and forty six cents. I will update the catalog Right. Oh, this is swell Well, golly, let me try this again All right New web browser Bookmarks sharper image administration tool Oops
Yeah Yeah, what's that okay, I think I just got the key here Okay, let's try again massage chair edit product So All right, I don't think I need all these and let's try again update catalog Okay, and now if I go back yeah, well I'll even go back on this one here I'll go back up to the home page of the sharper image And We will go drill down and see if that page has been updated So let's go into the product catalog. That's the fastest way to get there Health and fitness will go the same way. This is the you know, the real browser here not the editing tool And I'm gonna pick the massage chair and What we will see is we will see that it changed the whole format of that page to include one picture on the right and our price of thirteen dollars and forty six cents now again Yeah Let me show you one other thing that you can do One of the things we will say is Let's go back here and say that for colors
We want Blue Red oh Let's say yellow Yellow right blue red and yellow and we'll update the catalog and now we'll go Back here and we will again we have to go back to the home page and start a new session and go back to the product categories and health and fitness And we will go back to massage chair and now if we look down at the bottom of that what we should see Is a pop-up with our colors in it That we can specify so this is how easy it is For someone like the sharper image to update dynamically created pages Every time this page is created now the color choice will just pop up in it very very simple stuff And I think that we are entering a new a New type or a new age of the web act to where you're going to see much much more dynamic applications And you're going to need much more robust tools to build those applications with you cannot build Applications like this with most of the tools out there today, and that's what web objects is designed to do So it is my pleasure now to introduce the founder and the chairman of the sharper image Richard Thalheimer who is going to say a few words on The long-term relationship we've had together and what we've been able to accomplish
Thank you Thank you Thank you the most interesting part of this process for me actually Was the fact that I originally saw this presentation with the Dodge And I was so fascinated by it and that was about the first week of April So I wrote a letter to Steve and I said this is amazing. I've got to have this for the sharper image and Here we are today Three weeks later, and I've never honestly in my life Seen any company move as quickly and for that I have to congratulate you and express my admiration because I can't believe it And For me personally, it's just really fun. You know the sharper image has been in business about 15 actually 18 years now and The catalog has been a very important part of our business we spend about 35 million dollars in the past year Sending our catalog into the mail We could send obvious. I mean you know this much better than I do we could send a thousand times the information This way and instead of sending it to 2 million people a month, which is what we do with our catalog We could send it to pick a number 10 million or 40 million people a month So to be able to do that with the catalog That's a hundred times bigger is so fascinating that for anyone in the selling business Whatever your product is it is an entirely new age of selling because now you can take all this information And send it out at such an enormously smaller fraction of the cost
The problem was until now there was no way to organize the information in an intelligent fashion at a reasonable price I mean Josh who does it for us used to say to me I'd say when are we going to have all 400 products on our catalog on the web? They say well as fast as I can type them in but each one takes me a couple hours Well now that's not true so it's an amazing advance and an amazing discovery and one that's I'm in awe of and I can only congratulate you and thank you for letting us be involved with you Thank you Thank you very much, it's been a pleasure working with these guys because they're going to pay us in free stuff so We were a company that likes stuff, so it's good So we would we would love to talk to any of you that have some some web needs out there And what's really fun is we're all just getting started in this whole web thing I know it seems like a while for some of you that have been in this But it sure feels like it's just getting started And I think we're moving into a whole new era with dynamic websites And I'm sure we'll we'll have lots more to talk about another year, so thanks for letting us be with you I Do that the the internet bowl which features prodigy copy serve in America online
Pitting their wits against each other is taking place in 15 minutes in meeting room J across the street at the Convention Center and Thanks again to Stephen Jobs Oh
Transcribed from the audio with OpenAI Whisper. Timestamps link to the video above. Errors are possible.