WWDC1997 Session 200
Transcript
Kind: captions Language: en [Music] ladies and gentlemen senior vice president software engineering additive alien [Music] okay this is the last time you're going to see me today I promise so this afternoon session is to talk about Rhapsody it occurs to me that I didn't intend this but in the keynote this morning you could very well begin to assume that G actually Rhapsody is not important anymore what's important is Mac OS and yellowbox and all this other stuff and I hope no one goes with that message because recipe is very important to us we do expect Rhapsody beat to be the premier environment for both developing and deploying yellowbox applications and it is going to just be a wonderful operating system both on the PowerPC processor and on the Intel processor and this session is our opportunity to really take a dive down a little bit and tell you more of the details of rhapsody and the yellowbox for that matter so without further ado what I would like to do is click this button and click it again and introduce Ricardo Gonzalez who's the product marketing manager for Rhapsody thank you so first of all some music information the music that you heard was rhapsody in blue from Gershwin so probably some memories from the pad parappa I have some bad news and some good news the bad news is I'm a marketing guy and I heard that in this conference you guys don't like marketing people the good news is that I'm going to have only five minutes and three slides so I'm going to be the last marketing guy on your way to more technical information about Rhapsody so what I'm going to do is to do a little summary of things that probably we mentioned this morning to set up the context from a marketing perspective and then go into the technical things first of all what is Rhapsody for Bradley is the next generation operating system from Apple using technologies from Apple and next it's the second mainstream operating system joining Mac OS as an option for developers and users Rhapsody brings three key things to the platform the mature foundation from next step and these give us the Mac micro corner the open step API as a basis for the yellow and yellow box API VSD and distributed object technologies it also provide us with in industry-leading Apple technologies such as the QuickTime media layer with quick time quick draw 3d and QuickTime and QuickTime VR as well as color sink for color management Apple script and other technology from Apple and finally Rhapsody provides us with cutting edge network technologies such as UF the enterprise of the framers and web objects of key technologies that will be key to ensure that Apple plays a leader a leading and strong role in the internet internet space as well as in the corporate application development space so Rhapsody will be a stable and robust operating system with support for memory protection pre-emptive multitasking multi-threading and symmetric multiprocessing why are we doing Rhapsody to respond to direct customer needs and developer needs first of all from a customer perspective improve stability by delivering memory protection we are able to ensure that every app runs in its own memory protected space that means that applications that will not behave accordingly will not have any impact on other applications running on the system hi good profit three things to mention here is a superior filesystem as part of the core OS in UI architecture and support for multi processing even in the yellow bar in the blue box applications that will use intensive are your things will have the opportunity to run faster than in the core in Mac OS from multi processing perspective multi processing will be pervasive across the system from the core OS to the yellow box and that's an area where Apple will be able to really deliver distinctive superior user value to customers as a company as a systems company that delivers the hardwood us and that works in the design and development of the chip architecture will be able really to deliver the true power of multi processing so Rhapsody will be a system that will really exploit the next generation development sinner in the microprocessor architecture Apple finally hi Mac OS compatibility the blue box in Rhapsody will deliver a native for PC Mac OS environment that will allow customers to run current Mac OS applications and extensions from a developer perspective you asked about cross-platform and as we saw this morning you will be able to deliver yellow box applications on PowerPC Rhapsody on raspberry for Intel and even on Windows 95 NT and Mac OS so you will have one source code to develop to maintain feature parity and the ability to deliver the same application at the same time in several platforms to the marketplace efficient development we saw this morning how people were using default groups like interface builder to develop applications just by dragging and drop you will have a lot of Rhapsody efficient development tools frameworks that will reduce the time that you will need to have for developing your applications tower integration Java is fully integrated into the yellow box you will be able to run around the 100% java applications using your preferred Java framework like KFC or AFC but also by exposing the yellow box API you will be able to develop Java applications in the Java language and get all the power of yellow box what are the Rhapsody target markets initially roughly will appeal to users that require high-end system performance and throughput in particularly in markets such as the publishing market the multimedia market the internet intranet web authoring space the scientific and engineering market higher education and in and the enterprise in the context of corporate application development also Rhapsody will be a strong server platform attractive to customers in all current markets including education this is all for marketing let me welcome we're trying to let director of Radford engineering thank you good afternoon the purpose of my presentation is to give you a better idea of what is Rhapsody also what are the different product in the Rhapsody product line and when you will see all that occur for you so this is a picture of Rhapsody as you've seen that this morning a lot what I'm going to do in the next few slides I'm going to construct it level by level starting at the chorus and going up to yellow and then all the way to the look and feel not forgetting the Bluebird but before I do that I'd like to talk a little bit about the starting point it's been well documented in the press and what happened last December November December and the acquisition of paint one of the things that was widely written about is why Apple was next and there are many reasons there but I think one of the key reasons was the state of the art tool box and that come with next step and that's OpenStack and also when you look at the next step or the textural stack it's a very sound tag and I thought I what I mean is that you have a very strong layering of the components and this very strong API is between each of the layers and there's a mark API the unique dpi then the open step ap is among others so the advantage of having a strong layering like that is that you can upgrade each bug as necessary and this is something that we plan to do over time we will please like this upgrade if needed each each of the boxes and the other thing that we do is because we have a very solid architecture we will add new boxes and integrate new technologies that that Apple has had for a while now so rather than talk too much about the next step what I'd like to do next is ask remember whose product marketing for recipe to come on stage and do a demo of next step for you hello again so what we've got here is next step running on an Intel machine what I thought I'd do is just give you a quick tour of where we've been so what we've got on the screen right now is actually the workspace and file viewer and here is where we went through and would launch applications and so forth and there are a number of views that you can go through from an icon view which Mac people are very familiar with also to a browser view which allows you to traverse several levels deep and actually see the path follow along that middle row on how you got there and then the top row across the top is what we call the shelf where you can stick applications and files and folders up there that we'd frequently use and click on them to go to various places within the file system menus were vertical you can peel off sub menus and you can see command key shortcuts along the way switching between applications you can just double click them to bring them up here was a text editor that we had in here and as you can see I actually have a number of fonts loaded up on the system that one of the things the next step does very well is font support and you can see that there are tons and tons of fonts in here so we'll click them to bring them up change them we can also preview them from within the font panel it's a very scalable way of choosing fonts such that I can have all sorts of fonts in the system and I'll have to worry about the pulldown menu scrolling off the screen we also have a color panel in here but I can bring up some colors and go through and pick and just drag and drop those color chips onto the text and colorize it another neat feature we had was the ability to say type in some text I wish I had a dog and I can double click that word and actually use services which is a way for applications to message each other in this case there's an application called Webster which is registering a service so that anything I select I can say to find Webster automatically launches Webster's dictionary and here I can see the dictionary definition of a dog including a picture of what a dog happens to look like so it's very handy to have that application services is a way for applique to talk to each other and share common pasteboards and so forth other things in the system were a preferences module to go through and set system features for localization time date passwords Mouse settings display settings font settings I can change all the system level fonts and so forth here on the right I don't think I mentioned is actually the application doc it was a place to store applications that you use frequently just by dragging and dropping them and storing them on the dock kind of like this can we call it a dock because it floats above other windows on the screen just like a dock floats above water you could also hide the dock bring it back up and then down here at the bottom is the recycler icon which is kind of the hip cool 90s version of the trash can because it's not politically correct to throw your bits away you're supposed to recycle them now and actually previously a little bit of history that the first incarnation of that was in the operating system was a black hole icon that would spin but it's not really politically correct to throw your bits into space either so that's about it for where we've been back to you Burt Ron Thank You Jen okay well now I'm going to build up the stack a layer by layer so first let's talk about the core operating system that layer that sits just above the processor and the machine okay whatever devices you have one of the very strong component in that layer is not that's the microkernel that modern and small and it's pretty small it's about 30,000 lines of code which is to be contrasted with the entire stack which is about six million lines of code and by the time we add all the technologies like Qt ml and I suspect will be around 10 million lines of code this is what you have to have today to have a well connected operating system that supports a wide variety of devices and etc another important thing about mark is it it has virtual memory okay that's a no-brainer of course details desk support and what the task is it's a process that its own address space so that if that process crashes because there's a programming error so whole machine doesn't go down which is a requirement I think for recipe it has multiple credit support so you can have arbitrary number of threads per task it has messaging and all inter process communication is done via messaging so it is a very clean conceptual abstraction that's an read the lower level of the system and it is enabled for multi processors for symmetry 20 processors and in fact in in the past we've had some versions of Mac that were running on SMP and that's one thing we work and enable in the engineer future another important piece of that layer is the driver architecture when we were clearly in the in jail space and out of like two years ago when we were at next and because of that we had to develop an architecture that enabled us to write device drivers very quickly because in the Intel spacer which is a wide variety of drivers I mean every month is a picture looks different so we have a system that is easy to create drivers before and that's one of the attributes that we will preserve and enhance and one of the major enhancements we will do is to support plug-and-play of course to the true plug-and-play Apple's plug-and-play and then of course as Unix I'm sure you are all aware that there's UNIX in the university and there's some really really good things about UNIX and one of them is that it's standard and there's a lot of things that come free with unique yeah it's somewhat stand you have a bunch of tools you have a networking the support of arbitrary file systems I mean a lot of the experiments that in the university land and other non unique and it's a great opportunity stem for servers and there's also a very bad side to unique the user interface you have to lose some very obscure command to to use it and so for some people that's great but I mean this is definitely not my cup of tea so one thing that I can promise you that we'll do we'll keep unique totally hidden okay no end user will have to know anything about unique and and and none of you as developer will have to know anything about unique either but of course if you want to use Unix we'll make that available okay if you want to on top of the operating system there's this yellow box so you've heard a bit about it by now yeah color scheme here so the yellow box is open stead based so let me summarize some of the of the key points of the yellow box and again I mean you will hear a lot more but also basically in the various sessions ok Durand and my third is an introduction to the sessions really at the beginning of next there were some people who were part of the Mac team who left and who wanted to create a next generation tool box and that became next step then after a few years we realized that there were some shortcomings and maybe in some times we were using object-oriented just in a naive fashion initially so absolutely as we decided that we could do some enhancement and that became the open state initiative so if you want this is like two generations after there's a max tool box and what I mean by object-oriented is that when you want to add your own widget rather than starting from scratch you just take an existing view or or widget and you subclass and you start refining the behavior this is the leverage that object-oriented programming guides you when you boil down to just a short statement another key aspect of the open step yellow box open step four for yellow box is that that's a certain richness of features and for example we have like a text object which is very powerful or there's no limitation you can have the 33,000 characters in that textured legs if you want to also if you look inside it's made up of different kind of classes that you can set that so we believe that this text subsystem is powerful enough to enable you to write some layout programs if you want to do so just by refining a little bit c2 behavior the entire open step set of libraries the open step frameworks are fully international that means unique order of course but that means much more than Unicode and there's a support for localization easy localization and there are also different locales that are supported and there will be more obviously and different input managers this paper script is a big win for the publishing industry and what you see on the screen is what you get in the printer that's pretty obvious but one thing that it buys you is that if it wasn't around the screen and even though there's no prescript error so that means that when you print you won't have any error except if you use some device specific features of PostScript of course the lower level of open step is called Foundation which is slightly different from the MFC or microsoft financial classes because the NFC has the UI which we called foundation in open step it actually is a non UI portion of open step so that's kind of all the best of all things that don't touch the screen this is a substrate for us and we're objects so this is a very powerful substrate that enabled you to write programs without a UI in much faster as well in general the open step to dog give gives you a very high level of productivity because there's a lot of things where you don't need much code or no code at all as you saw this morning for the QuickTime demo and whether that was done in open step or on the web and last but not least but again you saw that message responding quite a lot it's cross platform and as of you know the couple years ago we started switching to the windows world and in fact I mean I did a year ago we were mostly developing on Windows and so so we will preserve and enhance the cross-platform aspect now there's a whole bunch of thing that we are going to do to the yellow it is to to open step additions to APIs that to get to the point of the yellow bug and one of the technologies which is great is a QuickTime media layer with a quick time quick time VR and quicker 3d so we will add that to the yellow box we will go as fast as we can to to add that and some of it is already there used to responding a demo of quick-draw 3d that's the first one that made it to to the yellow box there's a wide variety of technologies available at Apple that we are going to to leverage the color saying GX typography between which is a search by content and many others also scripting is one of the strengths that Apple has and what we are going to do there is we are going to integrate scripting or I should say script ability into the framework into the toolbox so that any application can by default and understand scripting and we'll also in terms of syntax to as far as we can towards Apple straight of course we will add more widgets this is kind of like the front part you just add widgets and makes the API really nice and and then all of you can reuse them and that's that's really always a fun thing to do so for example we'll add the outline view and that's going to be used also finder and in the toolbox so that you can leverage that and have the other angle yourself now because we were very deep we've opened step into the windows world we support a lot of data types that are standard on Windows and has a things that we are going to do now and that we've already started to do is to integrate a lot of data types that are coming on the Mac so what we will have in the Rhapsody platform in the yellow box platform is all the command data type that you're in control commonly both on Windows and the Mac and that's kind of part of the strategy of being you know as well as windows and then in addition as well as a Mac and I think having the union of functionality is going to be great in that respect and last but not least that's a look and feel so the thing we are going to do here is we are going to adopt mostly the Macintosh look and feel and we will take a few selected enhancement that we're next step but for it was the biggest part and it is going to look like an AK and in fact what I would like to do at this point is to show you the progress we've done going from next step to the next step you can feel to the Macintosh you can feel and I'd like to ask John to come back here and to Denver so what we've done in the last few months hello again here we have the latest version of Rhapsody running on this particular machine and I know that everybody's been anxious to see what we're doing with the user interface the caveat here is that this is still a work in progress it's going to change it's going to change a lot based upon feedback that we get from people like you what I'd like to do now is show you what we have so far and hopefully get some reaction from you and what you think the first thing is that the menus of course are now across the top and look very much like mac menus and down you can see a variety of options there and command key shortcuts and so forth they're also sticky and that I can click on them and they stay up on the screen very much like tempo here within the actual workspace is our file manager which is definitely a work in progress that our goal is to merge a lot of the functionality that the existing tempo finder has into this as well and we're not quite as far along there but you can see the starting of a little toolbar that goes across the top too jumpy places like your home directory check for disks create new folders open folders compress delete view and a variety of types such as list views or icons or browser views inspectors find panels processes and so forth so that's sort of the the window layout you'll notice that there is a very much a Mac look to the windows that are on the screen the little buttons up at the top this one makes it bigger and I can shrink it back down again there are also window shades just like the Mac has what else we've got icons that can sit on the desktop very much like the Mac has that you can double click things to launch them there such as quake that we had running on this machine earlier here on the right hand side is still the dock although it's likely that that will actually go away because we have the ability to stick things onto the desktop so I don't think the dock will be needed as much anymore so we have email running on this machine this is the next mail program that's been ported over and as you can see the look of that with a small toolbar across the top here are some movies and graphics and so forth that are in it this graphic is just a tiff file and I can take it out of the message and stick it to the desktop again there is the same look and feel for the windows that are on the screen let me bring up the text editor and let's create a new window here and I can type in a bunch of text I'll select that copy and paste it over and over a few times here and now you can see the scrollbar that we have an operation has smooth scrolling and every application written with the yellow box will have some scrolling in it you'll also notice that we have changed at this point where the arrows are for scroll bars on the Mac today and windows they're on opposite ends of the scroll bar and what you find is if you over scroll some times and want to go back sometimes it's kind of tough to go all the way to the other side so right here I can just kind of jump back and forth scrolling very easily so that's one idea that we're playing with right now and of course we want to get feedback on whether that's the right thing to do or not and most people don't even notice that it's actually there that's kind of a handy feature also within here I can show services running so I had an insertion point here I can say services grab and let's do a selection on the screen there's a screen grabber built into the system so maybe we want to get a copy of the UI here and I'll just grab the top part of the toolbar and so forth grab it auto inserts it into the text I had a hand another great feature of services resizing windows I can grab pretty much any corner of the window to resize it including the top make it larger and smaller and so forth that's about it for what we have now and it looks very much like a Macintosh of course except for this dock thingy that's sticking up there what do people think so far pretty good okay one of the the concerns has also been the whole display postscript imaging system and I first like to point out that the demo of quake that we had running on this machine was actually writing to display PostScript and it was going pretty fast and to talk a little bit more about how fast PostScript is it actually like to show you this particular demo that we do and this is the postscript screen test demo but as soon as we get the window server up and running on the machine we do this test to basically check it out and see how things are running and as you can see it's running pretty fast and in fact we haven't optimized it yet and so far our gauges have told us that is about 30% faster than opinion running on a PowerPC and this is all interpreting postscript code directly on the fly so I think you all will definitely enjoy working with PostScript and there's also the opportunity to write directly to screen we have api's to do that as well thank you son also what the graphics dogs tell me that this reverse Krypton PowerPC runs about 266 times faster than on a little writer another very important aspect of the yellow burg is the Java side to it and that's why this with little bit of split whenever we with wrote the yellow box because Java is an integral part of the yellow birds and that's what we wanted to convey in the graphics so what Java well jiraiya is a number of things it's probably about 90% height to start with but for then there is it's also some reality there is a different side to to the reality whenever there is and it's a great language to start with I mean it's it's a modern language or maybe it's so much better than than C++ through to my personal taste but it's simpler and it's also an applet okay so it's Java in a browser and it's also cross-platform okay so that's one of the big things with AWT which is a windowing user-generated toolbox in java that it's ported to all the different platforms so that's pretty much the basics of java is the ability to be cross-platform the ability to run Java call everywhere so in that respect we will be just a great player I should say just like anyone else so we have all the basic Java support and that means the java virtual machine and what we've done so far is we've taken the java when when a virtual machine from cern from java soft and we've posted it to to restudy this is where having a unique subsistent really buys you a lot because it took less than two men weeks to report to rhapsody so so we had that running like a month ago and in fact you saw that this morning I'm doing the Krieger 3d demo that was all in Java another side is a WT all the basic libraries for for doing widgets and and UI and we'll have all that in for Rhapsody there's a way we are going to implement a WT buttons is the same way they are done on Windows and I'm Solaris or wherever which is if you have a net ability button that's kind of button underneath which is an active button and so when you press a button it actually says press to the button underneath that's native so we will do the same and what we will use for the native button is an open tab button a yellow button now the power of that is that you'll be able to make a WT card and not give yellow curve so that means that you'll be able to have a view that innate ability view and you can make that with a yellow view you can have all of that kidding an interface builder palette exit right cetera another thing you'll get with a WT is the ability to run everything that's written in pure Java on top of a WT so that's a SP IFP LSD GFC all those you know acronyms and of course all the programs that you write to those libraries will run on recipe so that's kind of the basis but we do much more we are very lucky that the object model for Objective C which is what open step is written and currently and the object model of observer are very very similar that pretty much I want to when mapping so a technology that we developed about a year ago is a bridge technology that can take any framework that's written in objective-c and make it appear like a Java framework by doing wrapping around it so we are going to do that for all of the yellow box API that means that you can program to the yellow bird just using Java and in Java 100% pills are another trademark but the real thing so so this will give you another way to have applications written in pure Java and you'll have the ability to mix with what I consider the basic Java thing which is right to AWT we call that excited Java because if most of the work that you do is in the framework and you just have to cross the bridge and the bridge is very thin because they all like model are very similar and after that you are in a legacy that has been tuned over the years so I had to add a little bit of height there too for the slide so I think it's fair to say that because we'll have all the yellow box functionality we instantly have the best Java framework out there ok we can do drag and drop ok we'll be able to do color think all those technologies will be available for you in Java so what we will have is a continuum of different Java choices all the way from native yellow in C++ curve C whatever to pure Java ok and using access the driver if you want and you'll have the ability to write certain frameworks in Java certain in our relativity and make them I mean everything will be possible ok continuing in the building up of the structure and that's another colored box it's the blue box that's the Mac OS compared to a tee box so the first thing to say about the blue bird is that it is not an emulator we don't take like the bytes and kind of interpret them we actually run the macro s binary system binary so we just take the simple binary or I mean Mac OS 8 binary or 7.6 and we wrap it by trapping all the level calls and redirecting them to mark 2 to the operating system and that's that's a really great way to do things because we have back Faubourg compatible that gives has a high degree of profitability and off performance we expect to run most of the macro applications that way unmodified there are a few exceptions of course and the exception that the applications where we really have no other way not that by working harder we we can do it we we will do all that we can do to run all the Mac application so the exceptions are applications that talk to the hardware directly without using the low-level API and also the places where you have patches at a low level because we are essentially patching the system so having two patches doesn't always work and so example for that is each compression but that is there will be more examples of that but we still expect that most of the application will just run and if you don't believe that well I strongly recommend that you go to the hands-on lab that's a compare to ET lab where you can take your applications and run it on the Bluebird and hopefully most of you will be able to run your application okay last layer of the stack the look and feel this is not per se or an architectural level although there are some codes that deal with that but it's more an attitude this is an attitude that I think has been common to both a neck and Apple given the founder of those two companies so we really do care about the user experience and making it as good as we can and when big components for the user experience is the finder so what we are going to do there is we are going to take the microsite finder and we write it in open step to leverage all the functionalities like so services menu that John was showing you all those things we will take some part of the next step workspace like so the browser itself and the cup engine and and we will integrate that into the finder it's going to be a fairly small programming the the just a regular application in many respects uneasiness initialization is a little bit funky but for the rest is just a regular application so that means that it's replaceable so if some of you have particular needs or take for for for the workspace you can just replace you you you have another another application that you substitute and that's it it will just work also we'll make an effort to make that application extensible so that you can add functionality to views special documents or whatever you want to do there are also other elements for the advanced user interface and we will do more in terms of live widgets and live buttons and things like that more animation also we will preserve one of the attributes that there is next step which is you can drag a whole window and you see the content and also live scrolling that kind of thing I know health is really an important issue for for developers so our direction is to go towards HTML based help which should enable you to put some of your help on the web so that users can can go to even locally to some HTML pages or on the web for say release notes or updates or things like that I think this is very flexible one of the things that we definitely want to preserve and enhance is the Apple plug and play and by plug and play I don't mean the trademark I'm into the real thing okay there's a bag that you just plug okay you you're on the plane and then you have two people where portable you put a wire and that's it you have a network okay so I think networking is a great example of plug and play and you can generalize that plug and play applies to every time you have the subsystem whether it's hardware or software and you want to plug it in to get that functionality so that's going to be a big push and that we want to have okay so at this point the picture is complete okay you have all the layers now notice that at the bottom there's PowerPC and soso which is Rhapsody Rhapsody is ready for PowerPC in fact that's one of the products but they are over product under the Rhapsody names or Rhapsody umbrella and one of them is called Rhapsody for Intel by by the way also names are cotton Ames okay just like yellow into code name so Rhapsody on Intel is pretty much the same stack the only thing that you don't have is the blue box okay because you need PowerPC of course okay to run unmodified Mac applications and the other difference is that the processor is different rather than a PowerPC you have an Intel processor but pretty much the same is the same look and feel okay so all the same also we have this technology that we called hide binaries that enable you to ship a single application a symbol a single executable that will run on both platforms on both Rhapsody and Rhapsody for Intel in terms of deployment platform and we have the yellow box for Windows and now the things here to note is that underneath you have Windows retail you have an Intel and you have Microsoft Windows whether it's 95 or NT and above for the look and feel you also have Windows so if you develop an application to the yellow box on Windows ok using this develop deployment and development platform your application will have the Windows you can feel we are trying to go as far as we can to be a perfect good citizen for Windows I think that's very important for your market or for example just to speak someone that we use the native Java VM that's available on Windows another deployment platform that we announce today is yellow box for Mac OS so again you'll be able to program to the yellow box there may be a few restrictions for example we don't think that you'll get Fred at this point but that remains to be defined but for the most part your applications just recompile and run on a Power Mac using Mac OS so this is the product family you have to complete rest platform or take a complete with us and the look and feel and you have to deployment platforms and with some tools of course that yellow box for Windows and yellow box for micro s we believe with that you can write your application to the yellow box and run everywhere about 200 percent of the market so I think that's important for you now you may say ok that's that sounds good but when we load that to cure so let me first show users a road map and using that picture of this morning you have the Mac OS track and the Rhapsody track which the developer released this summer the primarily early next year and the unit middle of next year so before I talk about those releases with more details like the developer relief and I'd like to go back a little bit in history and talk about the last three months last December I think it was the end of December there was this kind of major earthquake for the company I was working for and we started working on what would become Rhapsody but of course it was very hard to to collaborate with another company that a different organization Exeter Exeter so so the real kicker for Rhapsody was early February when we could officially merge your teams now the first thing we did is we gathered all the pieces of code that we had from different sources and merge them together and we had like four different streams of code to it we to integrate and merge and one of them was NK line acts that was running on PowerPC and with the mach kernel and so so we took all those different streams and and managed to compile the kernel and unlink it which was another important milestone that was reached by the end of February now after that what happens it's typical of ringers you enter a very very long tunnel okay where you have no visible progress for months okay and you don't know when you'll have the label progress so that was really scary I think for all of us we had fast but okay we were still somewhere in the tunnel so the way it works is that well you crash a machine just a little bit later every day but that's your fill and refreshing the machine so and it's also very successful progress and you can do some things in parallel but but someone has to sit at the kernel debugger and then find the next bug and then fix it and then go to the next one and it's a very very scary and the is the beginning of April we finally saw the light at the end of the tunnel and that was the first unix prompt so after that things accelerated quite a bit because also we could do some parallel development and so for example the blue box team work night and day for like about five days I think at max barracks running all the way to maximize which is a significant milestone because that means that all the binary stuff is is there at that point and in parallel the first great sauce managed to get this bit of script on screen and then showing signs of life that then was that you saw on Power PC so that was mid-april within a few days we had the blue box going all the way to the finder and running the first Mac OS application and that's also a very exciting moment then we got the Java VM working on PowerPC by the end of April and May 2nd that so that ten days ago we got to BC user UNIX prompt okay that's when you can run program in user mode and have that kind of programs then because and after that it's very machine independent the same day we were able to have the first zero application running on PowerPC and you've seen this morning there was create ok that was shown at the end of every session and that's an application running on PowerPC and that's a third-party application so that happened since May 2nd the last few days by the way I think the team has done an incredible work like night and day to get to that so today it's WWDC and you should all have a CD that T is prelude to recipe and watching this CD well sorry no PowerPC we we had no time to prepare those bits onto the CD and probably you don't want to have that kind of setup that we have here because we're still booting up the network for example so so that not so kind of things that you want to do what you have is open step 4 - and also you have where objects and the underlying frame are called enterprise of experiments that enables you to access any database and what we want you to do with this CD is first to verify that that we are serious about cross-platform and it's important for you but that some people say an apple course platform well this should be a proof of commitment and also we want you to stop writing openstep god ok because you can do that today and there will be a very high degree of compatibility with the yellow box because we are not changing much we are making a lot of additions but very few changes so you should be for the most part source compatible so we believe that this CD will enable you to jumpstart your development to the yellow box and then this summer you will get the developer release this release will be CD to register developers and this is not a release for end-users which is a release for you for for developers we expect all developers to be able to use that reason except maybe device driver developers but because we don't believe that at that point in time we'll have the final EP is for device rivals we want to have things like the whole setup ready the plug and play and there's no time in terms of quality we strongly believe in using your own products so we are developing today on top of the yellow box ok the environment that has been demonstrated by transit yellow box and environment is what we live on for for development so in terms of quality we expect that the quality will be good enough for you to live and develop on the yellow box into Rhapsody in terms of configurations we are going to support only a very small set of configuration namely eighty-five hundred and eighty six hundred which is a hard call okay we realize that but we can delay the release if you want to support more but I suspect a lot of you wouldn't want that well hey is that the majority of people who want to wait we can do that that should be a possibility then those are primarily and that's early next year this is our release that for all developers this is the time when we will have the final API there maybe we won't have all the editions say for example in for Qt ml we may only have like portions of QT ml but what we want to have is binary compatibility between the Premier Li and the unified release so that the applications that are developed in that timeframe will continue to work when we come out with unified this release is release again for developers and it will also be a release for certain classes of user we expect to have early adopters early and user adopters of course but also we will have this release for server server application and we also have the blue box not fully there but partially there and it should be good enough to enable you to run productivity apps so that means that the network may not be high performance yet but we'll get there in the unified time frame in terms of the configurations we'll try to support as many as we can in that time frame and again we'll have to have this with hot colors when when to stop okay when to shave versus when versus supporting more platform architecture and we will try to support Powerbooks then this means we have the power management so the intent here is to support your power books and you plug it in and then it should work in terms of you I furnish and this really this release should have a punish that's at least as good as next step we won't be quite all the way to go to the Macintosh yet but but we expect to be at least as with that next step now in the unified time frame and that's middle of next year and this is a release that should have a very high degree of British which is a release for end users will have drivers available for most of the PowerPC devices we will have time between premiere and unifying to tune it for performance and we expect to apply some of the lessons we've learned over that 10 years of dealing with object-oriented frameworks and performance tuning of those frameworks we expect to apply some of those lessons to to Java and so we expect to have the best performing Java in that time frame so blue box will be there in fuel capable of running most unmodified that macro application and we'll have the best UI best UI overall that's our expectation so the message here is that there will be a lot of customers for you in that time frame so this is one of the targets here having said that I'd like now to introduce Ken Barristan who is the manager of rest of the evangelism Ken thank you the time [Applause] how's it goin eh this is the Canadian portion of our multicultural presentation today I want to spend a couple minutes just reinforcing some of the things that have been mentioned both in the keynote as well as Ricardo's and Bertram's presentation to talk about the developer opportunities that we see with grab city we have a group within Apple developer relations that's focused on making sure that the developer community is successful to make sure that your voice is heard within the product groups the technology groups for marketing groups and I'm leading and managing our efforts in terms of rhapsody evangelism just a couple personal comments I've spent the last couple of months getting to know a new new group of engineers it's actually a melding of folks that have been working on operating system projects at Apple and obviously our friends from Redwood City and this group of people are very very proud about the technology they've been working on as you've seen in the demonstrations this morning an incredible amount of progress has been made in a short period of time and we do want to present as much information as we possibly can to explain what the technology is describe what the opportunities are but certainly from a developer community perspective the message this week is more than just a new operating system from Apple Computer the yellow box and the ability to take new applications and move them to a variety of platforms is really critical to ensure that you're successful but I don't want people to get lost in terms of the cross platform story being the only motivation for this project in fact it's the the element of the technology that really will allow you to build fantastic compelling and innovative solutions that aren't possible today that really is the key message it's a critical requirement that you'd be able to deploy that investment across platforms but it's not a least common denominator solution it really is an API in a platform that allows you to build things that may not have been possible previously it certainly allows you to shorten the time that it takes to build great products you've probably heard a couple of the quotes a number of people that talk about productivity improvements anywhere from three to ten times compared to competing development environments development tools I've spent the last several months talking to a number of developers that have built products either an open step directly or next step before that and you find small groups of people that have been able to make incredible achievements without having the resources that you know a 50 project team might be able to have for the Macintosh or Windows or other larger platforms and they all attest to the productivity that they're able to get the richness of the the objects that they can rely on the fact that the system encourages the notion of reuse that allows them to leverage 30 to 60 percent of their previous project in a new one so they can react very rapidly to new trends to new opportunities and I think that is a very compelling and a very key message that this platform brings also the integration and the fact that from a Java centric environment you can build solutions that fully exploit not only just the capabilities that a yellow box brings but also integrates with other native solutions that are running on the platform either the technology that's part of Rhapsody that Apple computer supplies but also interoperability between other applications still exploiting the virtues of the system independence you get with Java bytecode just as a reminder this is the yellow developer platform yellow box taking center stage in terms of providing the services the API and the capabilities that you need for building great applications I think it's important to take a look at the audience's for this platform certainly this crowd here is made up of largely ISVs companies that have been building and shipping products in shrink-wrap form or others hopefully we have a nice mixing of people that have spent years of this conference in this room as David Pratt's wellpoint identity in his opening remarks but also people that have been developing to next step and openstep over the last couple years to the Mac community we're going to show you some of the things that some of the the open step developer communities have been able to build over the last couple years and while it's true they may have a bit of a jump start on you I know how creative you guys are I know how you able to build incredible applications on platforms from Apple in the past and I expect you to show us proud in the coming months in coming years and to the openstep developers I'll watch out for these guys but you do have an opportunity and this is going to be a very very exciting for exciting platform for deploying solutions but there's probably a mix of other people that have not quite been in the shrink-wrap business and I've talked to many many developers who are either exploring the web as a platform for next generation development and it's certainly the case with web objects as a product but also web objects and the frameworks that were integrating in with the Blubaugh in with the yellow box you will be able to build web enabled applications either grafting out of your existing products or maybe exploring new product categories that again may not have been possible in the past there's also a great opportunity for system integration and VARs being able to take the flexible dynamic solutions that are created packaging them together to solve specific needs and if you're in the shrink-wrap business there are opportunities you'll have to expand the scope to customize your applications and maybe go places where previous programming models haven't allowed you and certainly we have a number of higher education and corporate developers in the audience who will be able to build better solutions that are more robust that have greater connectivity with the internet and Internet's and again raise a corporation's productivity through the benefits that this platform brings and obviously in terms of deployment this slide represents a full spectrum of coverage bertrand talked about near hundred percent coverage for your solutions it really is important that the yellowbox framework is platform-independent and allows you to deploy solutions for grab city rad city for Intel Mac OS is a very important point and we're really happy that we're able to announce that we're extending the platform to both of Apple's operating systems in the dual operating system track also being able to leverage that investment and driving forward with Windows 95 and Windows NT I'm going to spend a couple minutes demonstrating a little bit about the yellow box from a development platform perspective and I think this is really fair to say that this is a bit of the discovery process that I took when I first started exploring the open step tools and the next step tools so I'm going to walk over to the other end of the stage and we're going to go to one of the machines that John Landry was using previously this machine is running an open step 4.2 I'm going to do the demonstration on this system instead of one of the yellow box machines because this is what you'll be receiving with prelude to Rhapsody and I think it's important that we show you the current tool set and we've obviously hinted enough about the the new user experience is going to be let me just hide this application I'm going to bring up an application known as project builder I don't think you've seen a formal demonstration of project builder and interface builder yet there's a couple sessions of the conference that it will go into compiled significally more depth but I'm just going to create a very quick application that we should all know and love and I'm going to call it really simple text I'll just leave out the text so I'm going to build before you an application that probably exists 70 or 80 times on your hard drives simple text and let's see it's been quite a few years since I've done any real active programming but let's see what we're able to pull together here this is the main interface for project builder where we can browse through all of the classes the header files other sources that have been created I'm not as fast a type or as jon'll and weird but here's the three lines of source code the project builder kicks out for us let me crank up point size you can see it this is basically the first three lines that are necessary to actually instantiate the openstep frameworks and the main application object we have places here for storing images other resource types let me go into the user interface portion I'm going to open up interface builder interface builder is the application that allows it to visually construct the interface for the application and you've seen this in a couple of demonstrations I'm going to go very very quick and let's see if we can build ourselves a nearly full service application the first item that I'm going to manipulate is our default menu I'll bring up a tool inspector that will let me change the name to be really simple the menus that it provides for us as the default are great but they're not quite complete enough I think we want a document menu we'll probably want a font menu and that's for good measure throwing a text menu probably change the order that a little bit and we want to be able to print so I'll drag out a new item type double click on it label it print I would probably want to command key let's see all good applications have to have about boxes so we got to do that really really quick and we'll label that about we'll go to our palette that gives us our default set of control types so we'll create a little credits panel and I won't type in too much let's put in ok box now I'm going to connect up some of these things so I want the ok box to result in a close of the window so we'll connect that I probably want to hook up the above box to my about command so first of all let's make sure that's not disabled and when the user chooses this particular item out of that menu I'm going to have the window open up and become visible make it the key window will close that off now in the main window that it gives us first of all we probably need to call this untitled I'm going to do a couple things I'm going to go to a more sophisticated palette that has a very rich object known as an NS text view this is a very sophisticated text object we actually have a session later in the conference that talks about all of the attributes and capabilities that you get in the text system within openstep let me drag in a couple buttons just to show how powerful this is let's say loosen and tighten now let me connect up a couple things the first thing is we want this application to print so I'm going to connect the print command to the main view you can see all of the actions of this particular object supports is quite quite a few but the one I'm interested in is in is print so we'll hook up the printing but I also want to show off the text system itself so I'm going to hook up the loosen button to the kerning capability that we get within the text object there's loosen kerning and we'll turn on taken kerning and we basically have a full-featured application as John showed we can actually test the application running directly within interface builder I'm going to quit though really quick and actually go into the build process compile that application again all three lines of code so the compiler is starting obviously you're going to learn a lot more about project builder but project builder has a number of interesting capabilities when I go back to the desktop though and I'll go to my home directory there's the the folder really simple and there's really simple app I double click on it it launches it gives me a default untitled menu I go to the about box there's the about box the ok button actually closes the application I can say welcome to prelude to Rhapsody will show that a bunch of things we get for free like a font panel so I'm going to increase the point size and AV technology is always my favorite demo to show for kerning and there we have default default capability directly in the system rich text management including full kerning ligatures and other capabilities and an application that was written the three lines of code project that private Billy calls the textview is only one example of a collection of objects that are incredibly rich that allow you to build very very compelling solutions if we could switch over to the the other machine though I do want to show the fact that this is truly a cross-platform environment just like your favorite cooking show I have this other recipe prepared in an oven this is the same project the same three lines of source code that project builder created to be fair I did tweak the interface so that it would be the user interface that which should be native for a Windows environment but project builder again is a tool that is available for doing development we take a look at the main interface it's basically the same we can show the fact that the source code is in fact the three same identical lines of source code from header files all the way down let me just go right into the application directory though and show you that I actually have a win32 executable called really simple when I double-click on that I get the application I have my abode box we have the same textview let me bring up the same text panel the interface should obviously be very familiar and because the yellow box for Windows also includes the full displayed PostScript engine we have all of those capabilities in both environments it's not a least common denominator solution whatsoever so this is basically the process that I went through when I first got up and running with with openstep both Mach 4 Intel as well as the antia version and the first thing that I started thinking which possibly is going to be reminds right now is while this is great for something like simple tax can you build a really mature large robust application out of it so I went scoping through the internet to find applications that look like they had been built for open step and I found an application called create from stone design we saw that very early in the keynote and this is an application that again has been written to the open step specification and I've got this application up it convinced me that the displayed PostScript engine that backs the imaging model for open step was in fact very very fast very very quick an application like create seems to be every bit as capable as any other drawing package that I haven't have on this environment and it really demonstrated to me that this is a technology that literally can do what we say that allows you to build your application wants and deploy it on a variety of platforms because this is an application that seems so well poised to take advantage of a very limited and unique opportunity we had in the last couple days meshing invited Andrew stone to adjoin us up in Redwood City where the powerpc bring up effort for Rhapsody is taking place to see if there was any hope of getting a demo on a PowerPC this week at the developer conference as you saw from the keynote that was successful I'd like to invite Andrew on stage and just have him walk us through a little bit about his product and what his experience has been with open step and supporting the car speed thank you again all right thank you when Gil was talking about the light that is the core of what creates about the whole idea I love display PostScript first of all and so you see all these little buttons and knobs up here they allow you to quickly add all these effects to your objects that you draw so for example you can have your fills and whatnot it's sort of a wheels and knobs interface to PostScript and so for example you can add your multiple and I was very impressed with that team over-read would see this thing just built compiled and ran of course we're still working on a few little things but I was very impressed so the whole mental model of create is that you should be able to play and so you want to put a shadow on your object you can just change the angle and of course what create really leverages on is the power of Rhapsody so you get so much for free for example printing text handling and stuff like that so let's I'm going to show you it so you can take all these effects and apply them to various things like here let me get that off there section and stick your text in various paths and whatnot and my favorite is the Rose coming it down this is a real test of the display postscript engine because you're really pounding on it here let's crank up the number but I think one of the other powerful things that you're getting is the ability to do that's great the rich text handling and because hey how often am I going to get to stand in front of all you guys we cut a CD for the conference that runs on your Prelude so be sure to stop by the developer pavilion I'll give you a huge demo and pick up your CD so that you can have something to play with other than just developing apps something to do with your spare time but this is what's going to turn Apple around I know it and if you don't believe me stick around thank you very much so how can you start well it took a lot of effort to get those packages into your bags but we are very glad that we're giving you the the current state of the openstep tools as well as the enterprise Enterprise object frameworks and web objects this certainly is a great opportunity to explore to learn more coming out of the conference there's also a fantastic documentation on the CD that's been updated since the postings on the Apple and next websites so very much the call to action is get started today also during this week again I urge you to check out the Rhapsody hands-on lab both blue box lab as well as the the yellow box where we're going to be conducting an open step text tutorial very similar to what I just walked through on stage hopefully you'll be able to create something a little bit more complete in terms of what you can expect from Apple developer relations as it relates to Rhapsody moving forward we do have both a focused evangelism team and a focused developer technical services team that's being put in place to make sure that we offer the level of service and and capabilities that you need out of us from an evangelism team I have 11 individuals that cover the entire gamut of the various technologies that make up Rhapsody and the yellow box don't please feel free to contact me at barrestin at Apple comm we can put you in touch with your appropriate people in fact all of the evangelists will be put up on our dev world website indicating their area of specialty in focus our technology services team is ramping up and will be in place to support the developer release they will be offering a broad range of services and we're trying to create a support organization that is much more than just traditional DTS in the past and please stay tuned for details about how that's going to transpire now unfortunately with Prelude we just are not able to offer direct support in your efforts to get this early jump start we don't have enough support infrastructure from the next organization we also don't have the support infrastructure in place yet but we're very much looking for the community to come together and serve as a sub supporting group of individuals by frequenting various news groups in fact a number of Apple people will be on various news groups composit hardware next is a great place to get up and running support for configuring the system we're also creating a special website as part of dev world that has a bunch of self supporting documentation tutorials tips and techniques and we're just going to try and populate that with as much information as possible to make sure that your experience with the prelude effort is as smooth and it's efficient as possible I will warn you that installing the mock release on that CD can be an adventure you have to get into the bowels of Intel machine to make sure you have the right devices we promise you promise you the power mac developer release will not be anything like that in terms of feedback since January we've had an email address Rhapsody - dev - feedback at Apple comm we've taken well over a thousand messages of feedback inquiries in the last couple months this remains the best vehicle for you to share your thoughts with us we have a process where information comes in and gets categorized it may is then made available to either engineering teams marketing teams and it really helps us in the decision making process and you'll see in the week after the conference a very very detailed and thorough frequently asked question document will go up on the website largely based on the feedback that's coming through this email address in terms of the road map to the Rhapsody session we have 21 sessions in total in the Rhapsody track we hope that you can attend as many as possible there will be feedback forums as well but I do want to point out a number of other sessions and other tracks that have a very strong role within Rhapsody in the yellow box in particular section 405 building Java based applications for Rhapsody Scott Forstall will talk to you through and walk you through the process of building applications using Java as a framework and as a language also session 415 the uncommon object model describes Rhapsody's runtime and in particular how the dynamic runtime from the yellow box meshes and bridges with the dynamic runtime the Java provides the web object sessions will also be very informative in describing what is web objects and what are the developer opportunities that you have to take your products to the web multiprocessing in particular our direction for SMP will be covered in hardware track and we were a little concerned that we would have several thousand people here trying to get into our various hands-on lab and not being able to during session time so we've decided to keep the Rhapsody hands-on lab open all night or at least late night on Thursday so we'll keep the lab open until 1:00 a.m. to try and get as many of you through as possible so with that I really thank you for your attendance today we want to make this a great platform for you please let us know I'm how we can make it so thank you very much [Applause] [Music] by travelpod member you