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