WWDC2001 Session 202
Transcript
Kind: captions
Language: en
good afternoon hello and welcome to
firewire Mac OS 10 overview today we'd
like to review the current status of the
firewire Hardware on the macintosh
summarize the functionality of firewire
on Mac OS 10 review some recent
developer products and activities review
some details regarding the firewire
technology specifically and touch on
1394 be the next generation of firewire
of course we'll have some demos too
first thing I'd like to touch on is that
firewire is available on 100% of the
Macintosh platform that's new for this
year firewire is an integral part of the
Macintosh connectivity strategy and if
you make a FireWire device you can be
sure that the Macintosh product line
will provide reports for your device to
connect to
FireWire harbour overview all of the
products have 400 megabits per second
interface to ports on a desktop those
are the iMac the g4 tower and a cube and
one port on portables that's the
excusing that's the iBook and the
PowerBook g4 they all provide cable
power and that's for giving power to
hard drives and to hubs and they have
the 16 6 pin connector which is easy to
use it's very durable and it's the only
one that provides cable power they're
also open HCI compliant which is the
industry standard and implement 1394a
which is the latest update to the spec
including bug fixes and performance
enhancements firewire on Mac OS 10 is
equivalent in functionality to Mac OS
9.1 including a built-in DVD Drive err
for QuickTime applications TV capture
export device control and it also
includes built-in mass storage drivers
for hard disks MMO drives CD CD drives
the default master drivers are reliable
they provide good performance preclude
precludes need for implementing
installing other drivers from third
parties however it doesn't preclude
third-party third-party developers to
write their own drivers to add
additional capabilities such as
performance or the encryption of the
data on the drive
I'd like to spend some time comparing
some terminology of the drivers for
firewire on Mac OS 9 and 10 initially
there's a driver description on Mac OS 9
that can be found in two drivers code
fragment on Mac OS 10 that's in the
bundle the driver description is used
for driver matching and Driver loading
the scheduling is very similar on Mac OS
9 and Mac OS 10 for calling in to your
your driver Mac OS 9 and Mac OS 10
supports synchronous and asynchronous
calls additionally on Mac OS 10 the
driver framework provides a foundation
for your driver development previously
on Mac OS 9 USB scuzzy firewire all had
their own way of driver matching and
loading on Mac OS 10 driver matching and
loading is based on a comments on common
services provided by IO kit
so I like to go over a few things that's
been happening in the firewire space
over the last year there's a whole bunch
of new peripherals in every category a
wide range from smart card readers to
raid disk systems from digital still
cameras to television sets there's an
increasing convergence between computers
and consumer electronics with respect to
firewire I'd like to note one of the
devices on the screen and the lower left
is the Sanyo ID shot that uses SB p2 via
firewire has lots of storage supports
video stills and motion video and
firewire was chosen since it is the best
interface available for this product
there are a lot of new mass storage
firewire devices supporting between 15
and 20 megabits per second performance
with new devices on the way
additionally there are some RAID storage
systems these are these provide
effective convenient large capacity
storage systems they're very friendly
and they're very easy to use and it
takes advantage of fire wires plug and
play technology there are DVD players
this one can hold up to 200 DVDs it's a
single highest capacity storage device
and 200 DVDs can store well over a
terabyte of data there are scanners for
firewire these provide significant
increased performance compared to
alternative interfaces they can be
shared with any Macintosh on the
firewire bus and all of the legacy
interfaces do not allow this there are a
number of interfaces you can select
between for your device to support and
here are some things to consider when
selecting your device interface if you
need more than a megabyte per second
then firewire is your choice often
you'll in standard user configurations
there'll be multiple devices on the bus
so you should also consider bandwidth
Headroom for your device in that
scenario additionally if you have a
device that requires greater than 700 K
per second throughput
well then firewire is your choice also
there's been a good deal of talk about
the digital hub concept lately and Apple
is very excited about using the
Macintosh as the digital hub I'd like to
go over some topics relating Firework to
the digital hub and how your device can
benefit from being part of this the Mac
is the center of the digital hub and
firewire is the connectivity for this
hub your devices will play in this arena
if they support firewire and the
applications will benefit from this
supporting these devices also another
thing is the customers will gain value
with their peripherals because they can
use them together in conjunction with
the other devices on the firewire bus
I'd like to introduce Eric Anderson the
manager of the fire wire software team
and we're going to go through a couple
of performance demos
[Applause]
the first thing we like to demonstrate
is DV capture on OS 10 it's a pretty
good real time example of performance
from OSN of the firewire software stack
so what you're seeing is play through
right now on the computer and let's do a
little bit of a capture it's 30 frame 30
frames per second frame accurate capture
so we'll select that clip do a little
playback
and see how nice and smooth it is we can
also do full screen who want to see the
real performance
okay this is new since last year last
year in Mac os10 we couldn't show you
any kind of DB now we have iMovie
running just like nothing unusual what
happened to it
not that anything unusual did happen to
the next demo we'd like to show is
performance to an external firewire disk
it's about 15 megabytes per second last
year at this time we had an experimental
DV driver or sorry an experimental disk
driver and now we are shipping default
disk drive disk drivers in Mac OS 10
that are reliable and provide good
performance and we'll see that right now
this is copying from the external drive
onto the internal
that's it there was 129 megabytes ok
that's the end of the demo let's go back
to the slides
so many choices okay I'm going to tell
you now a little more detail about
firewire technology this is the
introductory session we have a whole
nother session tomorrow at this time
about programming for firewire and Mac
OS 10 I'm just going to cover some of
the basics that everybody needs to know
about firewire what is I'm sure most of
you know this but what is firewire why
do we call it a serial bus what's I
Triple E 1394 I Triple E 1394 is an
industry standard that specifies this
technology firewire is just a name that
Apple uses when we talk about 1394 it's
a little easier to remember than 1394
we've made a lot of effort to make this
name widely known it has excellent
customer recognition we would like you
to use the name firewire also to do that
you need a license from us which is free
you can also get the firewire logo from
us for free it's in the same license
there's details in the URL on the QA
slide so what's a serial bus why does
this matter a serial bus as opposed to a
parallel interface means the data flows
serially one bit at a time this means
that the data can go long distances with
ease because very few wires are required
to carry the signal on a parallel
interface like scuzzy or PCI or PC
parallel port many wires carry the
signal in parallel that works fine for
short distances like PCI but over a long
distance it's very difficult because on
each of those lines the bits will show
up at slightly different times because
of different lengths in the cable a
serial bus doesn't have this problem so
a serial bus can go long distances with
a thin friendly easy-to-use cable and
why is it called a bus a bus is a
technology where everybody sees the same
messages everyone is sharing the same
communication media this is different
from say the Internet where packets are
routed from node
depending on where they're trying to go
on a bus if I say something
everyone here is it generally most of
them will ignore it but the one person
who really wanted the message will
listen to it why is it bus good for 1394
a bus is really low cost because you
don't have any routing logic you simply
send the message everyone gets it
the person who it's for sees the bits
for them and receives it everyone else
ignores it so a serial bus is a very low
cost
high performance customer friendly
solution and that's why this technology
was adopted in firewire so what have we
done recently in firewire as Greg
mentioned all of our products today have
the industry standard 1394 open HCI they
all have 1394a 2000 which is the very
latest revision of the specification
nothing changed from a functional point
of view but 1394a brings us bug fixes
clears up ambiguities in the spec has
some performance improvements in the
arbitration so that's in all of our
products now as Greg mentioned all of
our products provide cable power the
fire in firewire can be considered the
cable power this allows you to run hard
drives hubs cameras innovative new
devices that hopefully some of you will
ship this sets firewire apart from other
interfaces there's much more power
available on firewire all of our
products today support all firewire
speeds 100 megabit for your camcorders
400 megabit for your hard drives 200
megabit for that oddball device that
somebody shipped it's 200 megabits
they're out there but they're hard to
find we also support booting from
firewire in all of our devices this
works in Mac OS 9 and it works in Mac OS
10 you can use a firewire hard drive to
boot any computer that we sell today
this is more convenient than you might
think if you have a tendency to do bad
things to your hard drive and finally we
have what's called target disc mode in
all of our products today target disc
motifs like scuzzy disk mode if you
remember back when power books had
scuzzy interfaces you could reboot the
power book with a special scuzzy cable
connected and it would act as if
was a disk drive you could connect it to
another Macintosh through that scuzzy
port and see all the files on the
desktop in a volume well we don't have
scuzzy on any of our products anymore
but we have firewire on all of them so
we've implemented target disk mode in
firewire it's essentially the same idea
but there's a couple of key differences
scuzzy disk mode was limited to portable
computers firewire disk mode is
available in everything we sell just
like booting from firewire this is more
useful than you may realize if you
haven't tried and target disk mode it's
very easy to do I'm going to demonstrate
it give it a try
you'll find it may be a very easy way to
move files from one computer to another
using just a firewire cable
target disk mode is implemented in open
firmware so you simply reboot the
computer and hold down the letter T the
computer that you're connecting it to
needs to be running an echo s9 or Mac OS
10 if you have Mac OS 9 you need
firewire support version 2.3 point 3 or
later if you're running Mac OS 10 it's
just built-in and ready to go so let's
switch to the split-screen demos now
okay up here we have to Power Mac g4
systems hiding under this table one of
them is already in target disc mode I
simply held down the letter T while
booting it it displays this delightful
dancing firewire icon to tell you it's
in target disc mode the other machine is
running Mac OS 10
connect the firewire cable between them
and all the volumes from the machine and
target discommode become available on
the machine running Mac OS 10 I don't
need all three of these there's three
partitions on this Drive they simply
show up as three firewire volumes I can
copy a file over target disk mode just
by dragging it like any other file so if
you haven't tried this you can see how
easy it is just take any two of our
current products doesn't need to be a
portable reboot one of them hold down
the letter T wait till you see the
dancing firewire icon plug into the
other one and it will show up on the
desktop it's one other thing we've
changed from last year if you were
paying attention you already noticed it
this is now much faster than it was last
year it's more than 500% faster this is
that same 129 megabyte file the Gregg
copied earlier it's not quite as fast as
a native fire harddrive but it's a huge
improvement
okay let's go back to the slides
now this year we have something
completely new to talk about I Triple E
1394 B this is the future a FireWire
1394 B is coming people have been
working on this for a long time this is
an enhancement to the firewire standard
that's backwards compatible but offers a
lot of new features we are going to
incorporate 1394 B in our products I'm
not allowed to say when but now would be
a good time for you to start making
peripherals to connect to us 1394 B
brings much higher speed 800 megabits is
the starting point 16 hundred megabits
is also possible
these are factor of two improvements
over the four hundred megabit interface
that we have today another big new
feature in 1394 B is the support for
long haul cables firewire today is
limited to about 4.5 metres per cable
1394 B defines some optional new media
such as optical fiber that can stretch
this by a factor of 10 or more 50 metres
or beyond this will really open up
firewire to some new application areas
for example consider a professional
music studio or a theater application
where you might want to send digital
audio fairly long distances or consider
an industrial application where for
safety reasons you might want a hefty
amount of distance between your firewire
device and the person who's actually
operating the computer what makes 1394
be faster it's not just eight hundred
and sixteen hundred megabits 1394 B has
a new mode of operation called beta mode
we didn't simply double the clock rate
for what we're doing before if you're
communicating at 800 or 1600 or using
any of the new media you'll be
communicating in beta mode beta mode has
many arbitration improvements to give
higher performance in particular the
arbitration is done in parallel with
communication so while I'm sending a
packet to somebody the arbitration takes
place in parallel for who gets to use
the bus next
this means you can get essentially 100%
utilization of the bus for payload
transfer where today some small amount
of the bus is used up in arbitration so
800 megabits is not just twice as fast
as where we are today it's even a little
bit faster than that
the 1394 B standard has been in work for
a long time it passed its official
ballot with the I Triple E the ballot
review committee is now incorporating
all of the feedback that they got as far
as typos and clarifications it's in its
final edit mode right now this is the
time to start working on products with
1394 B if you're a developer and you
need silicon to implement a 1394 B
product talk to greg or talk to our
developer relations and we'll put you in
contact with people who can provide that
solon one of the most visible changes to
customers from 1394 B is that there are
going to be some changes to the cable in
particular there's a new connector for
1394 B which has nine pins as opposed to
the six pin connector that we have today
at first glance this may seem
undesirable because it's yet another
change but there's a really good reason
for this all the cables that have been
sold to date can't go 800 megabits and
they'd not gonna work well if you
plugged them into the new technology so
a new connector that is qualified for
this speed has been defined so that it
can be attached to new cables that are
also qualified for this speed the nine
pin connector still uses ordinary copper
ports it's about the same size as the
six pin connector that we have today it
has nine pins because they've added
individual signal grounds for the
twisted pair lines in order to improve
the signal quality there's also a ninth
pin for cable detector that gives us
some flexibility for future enhancements
the key thing about this connector is
that it's still a copper interface and
this means that if you attach it to
silicon that is bilingual you can have
full compatibility with existing
firewire devices because we use a copper
interface on the connection today a
bilingual firewire port is capable of
operating at all of today's speeds and
at least one of 1394 B speeds and it
will automatically detect what kind of
equipment it's connected to and
communicate accordingly when we have
products with this ninepenny connector
on them the customers will need two new
kinds of cable is really very simple
there will be a cable with a nine pin
connector on one end and a 6 pin
connector on the other end this will
enable you to use any of today's
peripherals with a 1394 be capable
computer there's also a cable with a
nine pin connector on one end and the
four pin sometimes called the DV
connector on the other end this enables
direct connection to all of today's
camcorders and other devices that have
that little four pin connector this
cable is just a piece of wire it doesn't
have any circuits in it there's nothing
expensive about it so it should be
really very easy for customers to move
to 1394 B just by replacing one or two
of the cables in their system all of the
cables they have today connecting their
devices today can remain you only need
one new cable to connect to the computer
that has 1394 B of course there's also a
cable with nine pin connectors at both
ends and that's used for device and a
computer that have 1394 B together
as Hardware developers we hope that you
will use the 9-pin corrector connector
but we hope you'll use it correctly
because it's a new connector and it
represents something better
in the future it may be very tempting to
try to use it right away
you must use the nine pin connector if
you have a 13 94 B Phi the physical
layer interface chip in your device you
have to use that connector in order to
communicate correctly at the new high
speeds it simply won't work on the old
connector but here's the important point
you must only use the new connector if
you have real 1394 B silicon in your
product this is really important we've
heard people say oh I can put that
connector on my products today don't do
that
this will cause big problems for
customers massive confusion do not put
the new connector on an old non 1394 B
device and don't put the old connectors
on the 1394 B device if your device
makes 1394 B it must have only 1394 B
connectors just let the customer buy the
right cable to connect it to whatever
they want to connect it for don't try to
be fancy and use the wrong connector
because they can recycle a cable that
will just create chaos everybody clear
on that there's gonna be a quiz okay
backwards compatibility we know
Macintosh customers love backwards
compatibility 1394 B is designed to be
fully backwards compatible all of the
significant changes in 1394 B are in the
physical layer this is called the Phi
this is the silicon that actually
connects to the wire that drives the
twisted-pair lines and sends bits up and
down the cable new devices that have
1394 B in them can be directly connected
to old 1394a and even 1394 1995 Hardware
new devices can work with the old
Hardware app the old hardware speeds for
example all of the computers we've ever
sold with firewire could connect to a
1394 B hard drive they'd simply connect
to it at 400 megabits a future computer
might connect to it at 800 megabits so
you can make a device with 1394 B
and you're not locking out any part of
the market the millions of machines
we've already sold can use your device
similarly old devices and software can
work with your new device and they'll
work just as fast as they always have
your camcorder will continue to work at
a hundred megabits your scanner will
continue to work at four hundred
megabits nothing gets any worse if you
connect it to 1394 be and if all your
devices or any of your devices are 1394
be they can communicate amongst
themselves at the new high speed so it's
very flexible very easy to use
nobody's been ruled out it should be a
very pleasant experience for customers
just use the right connector so what are
we changing in software for 1394 B
almost nothing a lot of software guys
had their hand in designing the spec so
what a great outcome if you're writing a
device driver or you're writing an
application you probably don't have to
change anything
people today using our API don't specify
the speed they want to communicate at we
simply give them the best possible speed
that continues to be true with 1394 B if
your device can do it we'll send it a
packet at 800 or even 1600 megabits in
the core firewire services the actual
operating system very few changes are
required we need to add a couple bits to
keep track of the new high speeds that's
about it we expect to have no trouble
delivering that well in advance of
anyone needing it 1394 B also defines
optical fiber as I mentioned earlier
this is a way to go much greater
distances than you can today 50 meters
even 100 meters is defined at various
speeds on 3094 B with optical fiber this
is not for everybody
100 meter cable 100 meter firewire cable
is great but if I'm burning DVDs on my
firewire DVD Drive it's not gonna do me
much good to put the Drive 300 feet away
from my computer that's kind of
inconvenient now if I've got a firewire
security camera or maybe a firewire
microphone out in the studio that would
be a great use for fibre but a lot of
devices don't need this
we recommend that most devices simply
use the copper
nectar because customers who need fiber
can purchase a FireWire hub that has
copper on one side and fiber on the
other side 1394 bee is designed so that
all that's needed in such a hub is a Phi
plus whatever fiber optic transceiver
you need for the kind of fiber that's in
use so the hub does not have to be
expensive anyone who wants to go a long
distance even with their DVD burner
could get two of these hubs run fiber
between them and go great distances but
most devices really aren't going to need
this so just consider fiber as something
that enables new applications not
something that has to be on every
camcorder I certainly don't expect to
see it on any camcorders okay I'd like
to ask Greg to come back up reg is going
to tell you about the resources that we
make available to you firewire
developers in order to encourage you to
develop hardware and software that uses
firewire on Macintosh
once Greg's done then we will both be
back for QA I'd like to point you guys
it's resources that are available to
help give you some information for doing
firewire software development one of the
most important things is our software
development kit and that can be found at
the URL listed on the page additionally
we have email resources that you can
utilize one of them is firewire at Apple
comm which basically goes right to me
and if you have some questions that you
want to talk to directly to Apple about
you can send the question there tends to
be less technical than the technical
firewire questions mailing list which is
comprised of both Apple engineering and
third-party software developers so you
can get some fairly quick responses to
some of your more difficult technical
questions by sending them to that
mailing list additionally I wanted to
mention one thing about the SDK it
contains two new debugging tools that
were previously unavailable with the SDK
Firebug and fire cracker which are very
useful for debugging your firewire
device
I'd like to summarize some things to do
for you to generate your firewire device
to fit into the firewire world much more
easily
first of all please take advantage of
bus power we provide it it makes a much
better customer customer experience and
the product is much more successful in
the marketplace by using bus power
we provide bus power on all of our
products including portables and you can
see the values there
additionally take advantage of the multi
host topology this is very useful for
firewire devices such as scanners or
printers where you can connect it to the
firewire bus and any Macintosh on the
firewire bus can utilize the device
additionally please recognize that the
1394a specifies a range of eight to
thirty volts
you should tolerate the full range
within the spec and preferably operate
in this range because you will encounter
devices on the bus you will you will
encounter devices on the bus in this
range of the spec some other things to
do use the standard six or nine pin
connector only use the foreigner'
megabit per second fly or faster for
your devices additionally you should
provide two or three connectors for
large devices customers enjoy daisy
chaining devices together and you don't
want to be a dead end in the firewire
bus previous history scuzzy scuzzy
devices that had only one scuzzy port on
them didn't fare too well in the
marketplace because customers were
really interested in daisy chaining
these devices together and we're
experiencing a similar trend with
firewire devices also please use a
unique serial number this is very
important for example if you have two
devices let's say if you're a disk drive
manufacturer you have two
drives if they don't have unique serial
serial numbers the drivers will not be
loaded properly by the operating system
because that's how we go about
identifying the devices on the bus
additionally during a bus reset the
unique serial number is very important
because this is how the firewire bus
configures and knows about the devices
on the firewire bus itself one final
note please don't use the minimum ROM
that's the four byte it's the four byte
rom one of the main reasons we recommend
against using that is there is no gooood
involved or included in the minimal rom
please take advantage of the firewire
logo licensing as Eric mentioned it's
free and it's available additionally for
the Mac logo you can license that and
get it the same location that you can
get the firewire logo market research
has shown that the firewire logo is very
recognizable more recognizable than
other 1394 logos and customers tend to
purchase products which have the
firewire logo so take advantage of that
I'd like to review some related sessions
that are we going to be having this week
one is a FireWire in-depth session which
is going to be at the Civic Auditorium
that's actually across the street and
we'll be there tomorrow afternoon
there's a feedback forum on Thursday and
finally there's a firewire plugfest on
the Apple Campus in the piano bar come
by look at a bunch of devices have some
fun and and drink some beer bring oh
bring devices to wait it's a plugfest
you're supposed to bring devices here's
some contact information you can send an
email to me at firewire at apple.com
or additionally my counterpart Craig
Keithley who's the firewire and USB
technology manager you can contact him
him directly also
you