All about toasters: If IBM made toasters... They would want one big toaster where people bring bread to be submitted for overnight toasting. IBM would claim a worldwide market for five, maybe six toasters. If Xerox made toasters... You could toast one-sided or double-sided. Successive slices would get lighter and lighter. The toaster would jam your bread for you. If Oracle made toasters... They'd claim their toaster was compatible with ail brands and styles of bread, but when you got it home you'd discover the Bagel Engine was still in development, the croissant Extension was three years away, and that indeed the whole appliance was just blowing smoke. If Sun made toasters... The toast would burn often, but you could get a really good cuppa Java. Does DEC still make toasters?... They made good toasters in the '80s, didn't they? If Hewlett-Packard made toasters... They would market the Reverse Polish Toaster, which takes in toast and gives you regular bread. If Tandem made toasters... You could make toast 24 hours a day, and if a piece got burned the toaster would automatically toast you a new one. If Thinking Machines made toasters... You would be able to toast 64,000 pieces of bread at the same time. If cray made toasters... They would cost $16 million but would be faster than any other single-slice toaster in the world. If The Rand corporation made toasters... It would be a large, perfectly smooth and seamless black cube. Every morning there would be a piece of toast on top of it. Their service department would have an unlisted phone number, and the blueprints for the box would be highly classified government documents. The X-Files would have an episode about it. If the NSA made toasters... Your toaster would have a secret trap door that only the NSA could access in case they needed to get at your toast for reasons of national security. If Sony made toasters... The Toastman, which would be barely larger than the single piece of bread it is meant to toast, can be conveniently attached to your belt.. If Fisher Price made toasters... "Baby's First Toaster" would have a hanā-crank that you turn to toast the bread that pops up like a Jack-in-the-box. And, of course: If Microsoft made toasters... Every time you bought a loaf of bread, you would have to buy a toaster. You wouldn't have to take the toaster, but you'd still have to pay for it anyway. Toaster '95 would weigh 15000 pounds (hence requiring a reinforced steel countertop), draw enough electricity to power a small city, take up 95% of the space in your kitchen, would claim to be the first toaster that le'ts you central how light or dark you want your toast to be, and would secretly interrogate your other appliances to find eut who made them. Everyone would hate Microsoft toasters, but nonetheless would buy them since most of the good bread only works with their toasters. If Apple made toasters... It would do everything the Microsoft toaster does, but 5 years earlier. And now: If Alcatel made toasters... ...ANY IDEA? If Alcatel made toasters ... You would have the choice between A3942, A3940 and A3822, but don't try to ask the seller about the differences: he really doesn't know. They wouldn't toast the bread as you like, but indeed they'd toast it according to a certain standard. Please be shure that you have the right patch level before plugging the appliance to mains current. If your toasts are not okay, your bread is for sure out of standards. If Alcatel made toasters... They would make 27 different versions. Each national unit (those things that don't exist any more) would produce there own toaster which they would have to keep selling because the officiai Alcatel toaster (which only exista on paper 'at the moment' ) just doesn't have the right features for the local market. The German toaster would cough, splatter and kerblanf if you put Spanish bread in it, the French toaster would meltdown with anything other than finely sliced baguettes. Alcatel Management would insist on standardising the toasters - local management would nod their heads wisely in agreement and go off and do their own thing. If Alcatel made toasters... several international meetings would take place for a couple of years to analyze the market in the past three or four years to find out if there is really a necessity for toasters and work eut some schedules. Once everybody has a toaster in the market it would be decided to buy a five people company that had developped a nice, cute one and put it into the market. Meanwhile a four hundred engineer team would design a small, green handle (delayed only two years on schedule in spite of the Norwegian workers strike when moved to sahara to work, and with a 65 Gbytes software controled alarms program) to fulfil the Namibian specs, where at least three pieces are foreseen to be sold. several demos will give the opportunity to the different bosses to say that without rheir contribution Chat goal would have been impossible and to show up their infinite skiff in manouvring the little handle. If ALCATEL Made toasters, first it would assemble a team of experts to produce 2 tons of paper describing the functionality and interfaces of the toaster, then after 18 month long discussions and another extra year for integration, a toaster needing -48v and an 19' rack would emerge. of course it would be redundant and would probably cost around 1 Kecu per toasting slot. Of course it would be marketed by Lwo separate organizations and once in the market, we would discover that ten other teams in ALCATEL have already developed a slightly different toaster. Not to mention the user interface would run on a separate machine. And a last one : A STORY FOR OUR TIMES Once upon a time, in a kingdom not far from here, a king summoned two of his advisors for a test. He showed them both a shiny metal box with two slots in the top, a control knob, and a lever. vJhat do you think this is?" One advisor, an engineer, answered first. "It is a toaster," he said. The king asked, "How would you design an embedded computer for it?" The engineer replied, "iJsing a four-bit microcontroller, I would write a simple program that reads the darkness knob and quantizes its position to one of 16 shades of darkness, from snow white to coal black. The program would use that darkness level as the index to a 16-element table of initial timer values. Then it would turn on the heating elements and start the timer with the initial value selected from the table. At the end of the time delay, it would turn off the heat and pop up the toast. come back next week, and l'll show you a working prototype." The second advisor, a computer scientist, immediately recognized the danger of such short-sighted thinking. He said, "Toasters don't just turn bread into toast, they are also used to warm frozen waffles. vJhat you see before you is really a breakfast fard cocker. As the subjects of your kingdom become more sophisLicated, they will demand more capabilities. They will need a breakfast food cooker that can also cook sausage, fry bacon, and make scrambled eggs. A toaster that only makes toast will soon be obsolete. If we don't look to the future, we will have to completely redesign the toaster in just a few years. "vJith this in mind, we can formulate a more intelligent solution to the problem. First, create a class of breakfast foods, specialize this class into subclasses: grains, pork, and poultry. The specialization process should be repeated with grains divided into toast, muffins, pancakes, and waffles; pork divided into sausage, links, and bacon; and poultry divided into scrambled eggs, hard-boiled eggs, poached eggs, fried eggs, and various omelet classes. "The ham and cheese omelet class is worth special attention because it must inherit characteristics from trie pork, dairy, and poultry classes. Thus, we see that the problem cannot be properly solved without multiple inheritance. At run time, the program must create the proper object and send a message to che: object that Baya, 'cook yourself.' The semantics of this message depend, of course, on the kind of object, so they have a different meaning no a piece of toast than to scrambled egqs. "Reviewing the process BO far, we see that the analysis phase has revealed that the primary requirement is to cook any kind of breakfast food. In the design phase, we have discovered some derived requirements. specifically, we need an abject-oriented language with multiple inheritance. Of course, users don't want the eggs to get cold while the bacon is frying, so concurrent processing is required, too. "vJe must not forget the user interface. The lever that lowers the fard lacks versatility, and the darkness knob is confusing.' Users won't buy the product unless it has a user-friendly, graphical interface. vJhen the breakfast cocker is plugged in, usera should see a cowboy boot on the screen. Users click on it, and the message 'Booting UNIX v. 8.3' appears on the screen. (UNIX 8.3 should be eut by the time the product gets to the market.) Users can pull down a menu and click on the fards they want to cook. "Having made the wise decision of specifying the software first in the design phase, ail that remains is to pick an adequate hardware platform for the implementation phase. An Intel Pentium with 16MB of memory, a 520 MB hard disk, and an svGA monitor should be sufficient. If you select a multitasking, abject oriented language that supports multiple inheritance and has a built-in GUI, writing the program will be a snap. (Imagine the difficulty we would have had if we had foolishly allowed a hardware-first design strategy to lock us into a four-bit microcontroller!) ." The king had the computer scientist thrown in the moat, and they ail lived happily ever after.