How to Give a BeOS DemoThe document below is intended to help you give a thorough demo of most aspects of the BeOS. Remember that each demo has a personality of its own, so don't feel bound by the order or items detailed below. Feel free to substitute your own application choices and make it a really custom demo. You might also read Scott Paterson's article in the Be Newsletter, Issue 87 ("Thank you, thank you very much" -- Elvis Presley) which gives 13 tips on giving a better demo. This document also assumes you have some working end-user knowledge of the BeOS and bundled Be applications. You should have also installed the optional items which include sound, MIDI, and movie files (used during the demo). The demo below, given at a leisurely pace, allowing pauses for spontaneous applause and a few interruptions (burning questions), easily takes 45 minutes, allowing for 15 minutes of questions/answers, and further demos to fill a one hour time slot. Note: You'll want to start the demo by giving the audience your hardware environment so they have some context. For example, our Demo Tour machines have the following configuration: A Ming's Special UMI PC Let's Get StartedSpeak: Okay, let's get into a demo of the Be Operating System. I'm actually going to start by rebooting the system to show how you boot into an alternative operating system on a personal computer. Action: Restart/reset the computer. This also serves as your sacrifice to the 'Demo Gods'. By restarting, you will be working with a known, fresh system (Newsletter tip 12). Speak: This concept is not new in the Intel world where there are 30 or more operating systems and some of the best selling utilities are operating system boot managers such as System Commander or Partition Magic. The BeOS comes with a boot manager allowing you to use any number of operating systems. Speak: When you're first booted into the Be system, you are greeted by an application called the Tracker, which is basically your interface to the operating system. It allows you to manipulate files and folders. There is a hierarchical file system so you can open a folder to view more folders and files in order to navigate down the directory tree. Action: Double click on a folder to show the files and folders contained within (the develop folder is a nice folder for this since it has another level of folders that lead to files.). Double click on another folder and show it's contents. Close those folders, leaving the develop folder open. Speak: All of the windows in the BeOS are live, so when I drag them around the screen, you don't get outline dragging, rather the whole window moves. When I resize a window, the contents are redrawn on the fly and you'll notice that the scroll bars activate and deactivate as needed. Finally, items that fall behind a window are not back buffered, but are redrawn on the fly. This helps to minimize the memory footprint of the BeOS. The main concept to get here is that the user interface is not radically different from other operating systems and there is virtually no learning curve to using the BeOS. Action: Drag the documentation window around the screen to show live dragging of entire window image. Resize this window to show the contents being redrawn and the scroll bars activating and deactivating. Move this window on top of items in the root level disk window and uncover those items (do this a few times while explaining that these items are not back buffered). Action: Close all windows. (You should always be cleaning up after yourself so as not to end up with a cluttered desktop). Speak: Up here in the top right hand corner I have a utility called the Deskbar. It does a number of things such as keeping a list of the current active applications. Action: Use the Be menu to launch clock, note that clock now appears in the list. Speak: If you don't want your application list to grow longer with each newly launched application, you can customize the look of your Deskbar by pushing it up to minimize it such that you have to click on the application icon to get to the list. Action: Click and drag upward on the lower right hand corner of the Deskbar which will minimize it. Click on the application icon to show the listing. Speak: You can actually place the Deskbar in any corner or top or bottom of the screen. For example, if you like more of a Windows look, you can place it at the bottom. Action: Move the deskbar across the top, in the left hand corner, bottom left hand corner, bottom, etc., finally returning unminimized to the top right hand corner. Speak: There is also a Be menu. I'm going to open the Be folder for a second (it helps if you've already made the Be folder an alias inside of itself so you don't have to go digging through /boot/home/config/be) and place something in it. You'll now notice that that item now appears in the Be menu. It's a quick way to get to frequently used applications and data. Action: Click on the Be menu showing its contents. Open the Be folder and place a file in it (or a link). Click on the Be menu again to show that the item is now listed. Remove the file from the Be menu and put it back in its proper location (or trash it if it was a link). Speak: There's a unique command in the Be menu beside restart and shutdown. There is also this 'show replicants' item. If you watch the lower right hand corner of the clock when I select, 'show replicants,' you'll notice a little hand has appeared. The BeOS has a lightweight component architecture for applications where pieces of applications can be dragged and reside on the desktop or in other applications. For example, the hand in the clock shows me that I can drag the clock face and embed it into the desktop. Action: Select the Be menu and choose 'show replicants.' Click and drag the face clock onto the desktop. Show that it's still live by clicking on the face of the embedded clock to change its appearance. Speak: Let me bring up another example of this. I'll launch the Pulse application which is our CPU monitor. You'll notice the little hands next to the buttons that turn the processors on and off. I can drag one of these buttons out onto the desktop and be turning a processor on and off using it. Even if I quit the original applications, these pieces are still fully functional and belong to the Tracker. Action: Using the Be menu, launch Pulse. Drag processor button 2 onto the desktop. Turn the processor off and on. Quit Clock and Pulse, show that the button and the clock are still functional by turning the processor off and on and changing the face appearance. Remove the replicants by control-command clicking on the hands. Leave 'show replicants' on. Speak: One area of focus at Be is on ensuring there is a responsive user interface because even if all of the underlying parts of an operating system are functioning, but the user interface is not responsive, you might as well have a hung system. To that end, I'd like to show you a few things running. This is 16 bit stereo audio being played off of the hard drive at 44.1 KHz. Even though I'm playing this file, I still have full access to the interface. I can be moving this sound panel around. I can open up another folder and launch another application and play with it. I can even open a movie. Action: Play one of the sound files by double clicking it. Move the sound panel around the screen a bit leaving it off to the side so you have room for another application and a movie. Open the apps folder. Launch Minesweeper and play for a second or two. Remember to close folder windows when you are done with them. Open the movies folder and launch Animation 1. Speak: The BeOS is a heavily multi-threaded operating system. So, when I click and drag this movie around the screen, you'll notice that things don't stop processing, the movie continues to play all of its frames in millions of colors. The sounds continues to play well. I can even drag windows across windows or use the Be menu. This should give you a taste of the responsiveness of the BeOS user interface. I'm going to try to stress out the system a little later on, but first I'd like to show you some of the applications that come with the BeOS. Action: Click and drag the movie around the screen. Drag the sound panel back and forth across the front of the movie. Quit all applications. Open the demos folder. Speak: These applications are not intended to be full featured applications, however they are here to show off different aspects of the BeOS. The first one I'll show you is Font Demo. One concept Be espouses is real time manipulation and feedback. One area in which this makes great sense is font manipulation. For example, in my document I can scale font size up and down in real time. I can be doing this while I cycle through the installed True Type fonts. I can also shear the font back and forth and even rotate it. Action: Launch Font Demo. Resize the font to fit the screen (go larger than the screen, then back down to fit the size of the screen). Then press the "Start Cycle" button. Shear the font back and forth. Rotate the font back and forth ending with a full circle rotate that leaves the font slightly angled. Quit. Speak: I'm going to bring up Pulse again along with a Mandelbrot set. The mandelbrot set calculates and draws an image based on a complex mathematical equation. Action: Launch Pulse and Mandelbrot. Place Pulse in the upper left hand corner so everyone can see processor utilization. Place Mandelbrot to the far right. Speak: You'll notice that the PPC chip is a fast processor as it handles calculating and rendering the mandelbrot set in real time even if I turn the iterations all the way up. Action: Select a region in the mandelbrot to zoom in on. Select 1024 from the Iterations menu, zoom in again. Speak: What I'm really showing you here besides performance is that it's virtually impossible not to write a multi-threaded application under the BeOS. As soon as an application opens a window, and most applications do at least that, you get a thread on the OS side and one on the application side. The programmer didn't need to know anything special to accomplish this, it happens automatically. This particular application has four threads and the programmer did worry about what he was doing in the final two threads. The even and odd scan lines are calculated and drawn each in their own thread, so when I go to iterate down, the OS scheduler says, 'I've got two threads to execute and two CPU's, I'll put one thread on each CPU.' Threads are also given a priority and these threads have a priority such that they soak up whatever excess CPU is available. Action: Select a zoom region in the Mandelbrot and let go as you talk about the OS scheduler. Speak: Let me launch another copy of Mandelbrot. You can make your applications single or multi-launch. I'll turn the iterations up and zoom down a few times. I want to get both of these going at the same time. To make that a little easier, I'm going to turn one of the processors off so that you are essentially running on a single processor machine. I'll turn it back on here as they get about half way done and you can see the sudden increase in performance. That's because the BeOS dynamically assigns threads to whatever is the next available processor. That's an example of true Symmetric Multi-processing. Action: Launch another copy of Mandelbrot, make the window a bit smaller so you can position it under Pulse. Select 1024 from the Iterations menu. Zoom down a few times. Turn off the second processor. Zoom down on both mandelbrots (it takes practice because you first need to click once on the mandelbrot window to activate it and then again to select an area to zoom in on). After the mandelbrots get about halfway down the screen, turn the processor on (again, you might click on Pulse to activate that window while you wait for the right moment to turn the processor back on). Quit all. Speak: Now I'd like to show you some 3D. There are two 3D options for developers. There is an implementation of OpenGL for the BeOS and Be has their own 3D kit for highly interactive 3D, which is what I'll be showing you now. I'm going to use the book for this example. You can see how nicely the pages turn back and forth. If I pull the mouse hard, the pages will whip and warp accordingly. Action: Launch 3dmov. It will probably come up with the spinning cube. Select Book from the options menu and then close the cube window. Raise the book by dragging on the upper part of the spine. Now grab a lower corner and turn the page back and forth (takes practice to make this work smoothly). Speak. A gray book is pretty boring, so let's put something in our book. What you'll notice is that even with these images, the pages continue to turn smoothly back and forth. Those are static images, so lets put something else in our book. Now I've got two QuickTime movies playing on the pages which still move back forth smoothly. Notice that while I move the pages, the movie continues to play while it's being rendered on the available surface of the page. Action: Place an image file on each of the pages. Move the pages back and forth. Turn to a blank page. Place two movies on the pages. Move the page back and forth making sure it's easy to see that the movie is still playing while you are moving the page. Quit. Speak: The BeOS is an Internet ready OS and uses TCP/IP as its native networking protocol. I can have multiple ethernet cards and multiple IP addresses. There's built in support for PPP (Point to Point Protocol) for dial in connectivity to the Internet. There is a built in FTP server for file transfers and Telnet server. You can log in remotely to the BeOS and launch applications from the command line. I'll show you that command line in just a few moments. All aspects of the networking can be changed and restarted on the fly without having to reboot the computer. Action: Using the Be menu, open the Network preferences panel from the preferences folder. As you talk about the different areas, point them out with the hand pointer. Speak: Also included is a web browser called NetPositive. This is a simple browser that allows you to view HTML documents. It was important to include this simple tool because all of BeOS documentation is in HTML and many BeOS developers are providing their documentation in HTML. In fact, the whole BeOS API, the BeBook, is here in HTML. You can certainly use NetPositive to browse web sites as well. Action: Launch NetPositive. Click on the documentation link. Click on the back button. If connected to the Internet, click on the Be Home page icon. Close window. Speak: There is a Posix compliant layer in the BeOS and an implemention of the BASH (Bourne Again Shell). Basically, this is a command line interface to the BeOS and the same directory structure. I can 'cd' into the bin directory and if I do a listing, you'll see a bunch of the GNU utilities here. These were moved over to the BeOS by simply recompiling. None of the source code was changed. So I could do something UNIXy like find all the lines in a long directory listing that have a 49 in them. Action: Launch Terminal. Type "cd bin". Type "ls". Type: "ls -l | grep 49" Speak: Since I'm not doing much right now, I've got a pretty idle system. If I type the 'ps' command, I'll get a listing of all the threads that are running. You can see that even on an idle system, there are about 40 threads listed. You'll notice that the threads that make up the Terminal application are running under Team XX. Each team runs in its own protected memory address space, so if an application mishandles an error and crashes, no other team is affected. Action: type "ps" and watch all the threads go by. Scroll up to the top to show all the threads, then scroll back down. Locate and point out the Terminal team and it's associated threads. Type 'exit' to close the window. Speak: I've shown you audio data being played off the hard disk, I'd like to show you two more audio data formats that the BeOS support. The first is support for audio CD ROMs. Like most operating systems, the BeOS plays audio CD ROMs, but is also doing something unique. The BeOS is running the bits off the CD and through the operating system, so applications can subscribe to the audio stream and manipulate those bits. Action: Launch the CD Player (using Be menu) and play a track. After explanation, select stop. Quit. Speak: The other audio format that is supported is MIDI. As you probably know, MIDI files contain performance data such as the tempo of the music and the instruments being played, a keyboard, for example, what key was pressed and how hard it was pressed. I don't have a hardware Midi synthesizer connected to this Mac because the BeOS can synthesize Midi sounds direct from software that's built in. Action: Launch a Midi file which will automatically begin playing through the Simple Midi player. Quit. Speak: Also included is a Midi patch panel so you can play with the data in a Midi file. For example, I can just play the keyboard if I want to. I can play the file that is loaded. Change the tempo of the music to go faster or slower. I can solo out an instrument. I can mute it out. I can see the keys being played and if I don't like the instrument, I can just change it. Action: Drag a Midi file onto the Midi application. Play the keyboard by dragging across the keys. Start the loaded Midi file playing by pressing the forward arrow. Increase the tempo by increasing the tempo value in the upper right hand corner. Reset the number to its original value. Choose an active instrument to use and click on S to solo then unclick. Click on M to mute, then unclick. Click on K to show the keys that are playing and leave this selected. Click and hold on the instrument to change it (select something like Tubular Bells.) Quit. Speak: Okay, let's get a few things going here. First I'll start the CD player again. You can minimize any application by double clicking its yellow tab. Action: Launch the CD player using the Be menu. Start the CD player. Double click the yellow tab to minimize. Speak: Let's also get a few applications running. Action: I usually keep links to the following applications in a folder so that I can select and double click to launch all at the same time (the BeOS launches applications quickly, and this really shows it off). Font Demo, Pulse, NetPositive, Minesweeper, and mandelbrot. Speak: Let's tidy this up a bit so you can see all the applications I have here. I'll put the CPU monitor in the upper left so you can watch as I stress the system over time. I'll clean up Font Demo and place it down here. You'll notice that NetPositive has been enabled with the replicant technology, so I'll drag a live browser window and embed it into the desktop and then quit NetPositive altogether. Let's place Minesweeper up next to Pulse. I have the mandelbrot set and I'll make that a little smaller and move it to the lower middle of the screen. Action: Move Pulse to the upper left hand corner. Resize Font Demo smaller and then make the font fit the screen, shear and rotate it a bit. Get rid of the Controls panel by double clicking the yellow tab and place the Display window in the lower right hand corner. Grab the hand in the Netpositive window and drag the replicant window onto the desktop above Font Demo (it's okay if part of the window is offscreen). Quit NetPositive. Move Minesweeper up next to Pulse. Resize Benoit Mandelbrot to slightly wider than Minesweeper, iterate down, move this window down next to Font Demo, in the middle of the screen. Close your folder window (from which you launched all these applications). Speak: Now let's get a movie running as well. I'm going to turn the timing off on the movie so it will play the frames as fast as it can. Action: Turn Caps-Lock on. Launch a movie. Place it up next to Minesweeper. Make sure you don't cover Deskbar (you'll probably have to cover half of Minesweeper) since you'll want everyone to be aware of just how many applications are running. Speak: Let's get some 3D going as well. I'll make it a little smaller so that it fits in our remaining space and I'll throw an image on it. Action: Launch 3dmov. Select Pulse from the Options menu. Close the spinning cube window. Use the right arrow key to make Pulse smaller and then resize the window to fit. Move it into the blank space under Pulse (CPU monitor). Drag an image onto the pulsing 3D object. Speak: What you'll notice at this point is that you are starting to max out the CPU utilization. The nice thing about the BeOS is that there is a long degradation curve and continue to evenly distribute system resources between all the applications that are running here. Since I see a little CPU availability now and again, let's load another movie. Action: Point out the CPU Monitor (Pulse) with the mouse. Launch a movie and place it over the embedded NetPositive window. End of Demo. That's the end of the main demo sequence. You may take questions at this point in time or even spend some time showing off third party applications downloaded from BeWare. | |||
Copyright © 1999 by Be, Inc. All rights reserved. Legal information (includes icon usage info). Comments, questions, or confessions about our site? Please write the Webmaster. |