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