Issue 1-2, December 13, 1995

Be Engineering Insights: Programming Should Be Fun

By Benoit Schillings

The first time I realized that an Apple II was able to turn a pixel on or off, I was hooked. At that time, programming was pretty easy—no big manual to read, no Ph.D. was required, just energy and imagination. Then came the "modern" machines. Suddenly, I had to read and understand in great detail massive amounts of documentation. "Let's write a small program" was a thing of the past. Well, I think the fun is back. After doing my regular system work at Be (if such a thing exists!), I often sit down and write a small application.

Why is the BeBox fun to program? I guess the main reason is that most of the operating system design and application framework was done by people with experience in writing real programs. As a result, common things are easy to implement and the programming model is CLEAR. You don't need to know hundreds of details to get simple things working. The second reason is speed. We all want fast machines, so the BeBox was designed with performance in mind—performance at both the user and operating system levels.

Why is the BeBox fast? Well, first because it uses a large number of threads at the system level. For instance, a single window always has two threads associated with it: One on the client side, which is used when drawing in the window, and one on the application server side, which is used to execute the client's requests. This simple idea takes advantage of the dual-CPU architecture without the application programmer having to know about it. In a certain sense, for the duration of a graphic operation, one of the CPUs turns into a super graphics coprocessor. In the same way, when you do a lot of small writes to a file, the actual writing to the file is performed by another thread. In this case, the second CPU becomes a dedicated I/O processor. Finally, we always look at the machine as a whole. Since we can control all aspects of the software, we can optimize the subtle interaction of many different components.

Why did I come to work for a company like Be? Well, I couldn't resist the opportunity to design and build a machine for MYSELF. This is very much the state of mind I had when we started: What would be MY dream machine? There is, of course, room for a lot of improvement in the system, but the basic concepts are now in place.

Now I can learn from your experience and needs to create YOUR dream machine, as well as mine. After five years of pain, I have a machine shaped by my desires; I hope that you like it and that you come to agree that programming is fun again.


Be Developer Profile: Illusions Gaming Co.

"As nerds, it's always fun to mess with the coolest hardware, especially when it's from a company that's driven by technical people" says James Coliz, when asked why his small Illusions Gaming Co. is interested in developing software for the BeBox.

This 25-person development company in Sausalito, California, specializes in video games for Sega Genesis and the recently released Sony PlayStation, the advanced video game system that captured everyone's attention at the last Consumer Electronics Show. Illusions is also pouring resources into the new Sega Saturn CD-ROM-based video game system.

Neither PlayStation nor Saturn have reached huge installed bases. But Illusions can't resist the opportunity to work with the most advanced hardware. They were immediately intrigued by the BeBox.

"We have to deal with a lot of the things they talk about; MIDI, sound mixing, and network communications" Coliz says. "The idea is to see how far we can push it. We're doing it because it'll be fun."

In addition, Illusions is intrigued by the possibility of developing hot, 3D, networked games for the BeBox, an opportunity which isn't available on the soloist-oriented Sega and Sony systems.

It's also a good business opportunity, Coliz says. If he'd had to work with the traditional game distribution model and royalties for the BeBox, Coliz might have passed. But he says Be's promise of an electronic software distribution system opens the possibility of a good return with a minimal investment in distribution.

Coliz and his partner, Darren Barlett, started Illusions Gaming four years ago with their own money. The company reached $1 million in sales last year, mostly from royalties on its Sega Genesis games. For the most part, Illusions is a creative services and engineering company. It employs 13 artists, designers, and animators plus six full-time programmers. It was also credited with some animation work in Walt Disney's The Lion King.

"We have all these resources and it'll be great to take one more platform and get something fun out of it," Coliz says. "That's the whole point."


Killer Apps

By Jean-Louis Gassée

I'm often asked if I can describe the "killer app" for the BeBox. This raises enough questions for a series of columns. But let me start with the moniker itself and the notion of "guide geeks." I much prefer the phrase "tractor application" to "killer app." The kinetics in the metaphor are more appealing. Each one of the existing platforms enjoys one or more applications that really pulled it into the market. We'll review them in a moment. That's where the guide geeks come in.

Only the leading-edge, sometimes called bleeding-edge, users and programmers have the skills and the vision to explore the possibilities of what we've built and to unfold the contents of its genes.

Based on my reading of the history of our industry, I believe the people involved in building the platform, because of their close involvement, develop myopia and can't see the tractor apps in the distance.

For instance, when they designed the Apple II, the two Steves had no idea that Bob Frankston and Dan Bricklin were going to invent VisiCalc, the big time tractor. When he set out to design the original IBM PC, Don Estridge had no idea that a transcendental meditation teacher named Mitch Kapor would create Lotus 1-2-3, at one time the most successful application on the platform. Back to Apple, when Steve Jobs and Jef Raskin started building what became the Macintosh, they had no idea Messrs. Kitamura, Warnock, and Brainerd (at Canon, Adobe, and Aldus) would create desktop publishing, still a leadership application for the Mac. And the creators of the Amiga didn't have the Video Toaster in mind when they started either. You see my point. Rather than betting that we're less myopic than our noble and worthy elders, let's accept that we're shortsighted—and do something to compensate for it. Let's use the more technically inclined and aggressive users as guide geeks towards the next innovative applications, the next genre. Today, if I ask a mainstream user, s/he will want more, smaller, faster, cheaper. And there are a wealth of interesting developments taking place along those lines—more disk space, more processor speed, ISDN, and so on. (I'd like less expensive memory, but for some reason, this seems to be the lone exception.) But this is all derivative of what's happening today. We need to find the discontinuities where our new baby can flourish.

I'm also often told that everything that can be done has been done already—nothing really new can happen anymore. I've heard this many times since I introduced a distant ancestor of today's PCs, the HP 9100A, in France in 1968. Since then, the industry hasn't been boring. How many people knew about the Internet and the web three years ago? No one in the mainstream—and many people in geekdom.


Be OS Contest

We're holding a contest to find a name for the Be operating system! We've tried all kinds of things, BeBUZZ (BeBasic Understanding Zone Zystem), BeBRAIN (Be Runtime Alleged Intelligence Nub), and so on, with no success.

HELP US! What do you think the Be Operating System should be called?

We're waiting for your great, creative ideas. Please e-mail your proposals to contest@be.com. Enter as often as you like.

We'll have a nice prize for the winner and we'll randomly select 10 entrants to receive Be T-shirts

Creative Commons License
Legal Notice
This work is licensed under a Creative Commons Attribution-Non commercial-No Derivative Works 3.0 License.