Channels ▼

JVM Languages

Programming Paradigms

Source Code Accompanies This Article. Download It Now.

Oct99: Programming Paradigms

Michael is editor-at-large for DDJ. He can be contacted at [email protected]

My childhood expectations about New York City in the summer were formed by watching the movie The Seven-Year Itch. Wives and children all packed off to the Hamptons for the summer, a city filled with bored, overheated white-collar workers afflicted with a dangerous itch and sultry blondes who lust after their air conditioning. I've visited New York in the summer several times since then and it has never appeared to me as anything remotely like that picture, but somehow I still expect Marilyn Monroe to come down the stairs. I hasten to add that in these fantasies I am always cast in the role of bemused journalist/observer, rather than overheated white-collar worker. No seven-year itcher I.

Apple Computer, though, came to the Big Apple this July (for the MacWorld Expo NY'99) with a serious itch. The duration of the dry spell is about right. Apple was the sexy computer company when it released the Macintosh way back in 1984, and held on to its sex appeal for a few years as it made some attractive moves, bringing out the Mac II and the Mac Plus. It looked good out there in front of the desktop publishing parade, and AppleTalk and HyperCard turned a lot of heads.

But by 1989 the bloom was starting to fade. The next years were grim for the Mac and its admirers. That elusive sexiness didn't return to the Mac until Steve Jobs came back, just about seven years later, in 1996. Then came the unbroken string of profitable quarters, the rationalized product grid, and new machines that invoked the old Apple. First the iMac, flaunting its curves and colors, playing peek-a-boo with its see-through shell. Then the business side of the product grid got sexy. And now in July of this year Apple was in New York to announce its consumer portable, filling out the product grid with arguably the sexiest Mac everthe iBook.

The Hand of the Mouse

While flying into New York I was listening in on a conversation two rows behind me. I didn't have to strain; the guy doing most of the talking wasn't bothering to keep his voice down. "Junk!" he shouted. "For the past 10 years, everybody's been using junk!" He then went on to extol the virtues of his Mac G3 Powerbook, which he obviously did not consider junk. It wasn't clear whether he was labeling Apple's past computers junk, or its competitors', or everyone's, but it was clear that Steve Jobs was going to have at least one fan in the audience for his keynote address Wednesday morning.

Turns out he had thousands. The keynote apparently set some attendance records. Of course, if the word got out that actor Noah Wyle would be introducing Jobs, that might account for it...After Wyle did his Steve impression, right out of Pirates of Silicon Valley, Jobs came on stage to announce Apple's seventh consecutive profitable quarter, so profitable that the company could afford to buy back a half billion dollars worth of stock. When he got around to products, the first product that he described wasn't really a product. I'm not sure what it is.

I guess QuickTime TV is a branding concept. It's a label that Apple is wrapping around: 1. the QuickTime 4 Player, 2. QuickTime Streaming Server, 3. Akamai's technology for caching and rebroadcasting, and 4. content streams from ABC News, ESPN, Rolling Stone, VH1 and Disney. Jobs described these as, respectively, 1. the receiver, 2. the station, 3. the broadcast network, and 4. the content. Put them all together and you've got TV, he explained. Hmm.

I concede that QuickTime is hot and all of these pieces are nifty, but if the QuickTime TV thing is more than a marketing gimmick, I don't get it. The content partners Apple has lined up are interesting, though. Through Pixar, Jobs has a tight relationship with Disney and you can see the hand of The Mouse here. Several of the channels are Disney properties.

The Stealth Portal

Jobs also announced Mac OS 9, formerly OS 8.7, due out in October. He had little to say about the release, which by all reports has some distance to go before it's fit for public consumption. But he did showcase one feature that will be released with that version: Sherlock 2. The next rev of Apple's search technology, Sherlock, changes its purpose fundamentally. Up to now it's been a handy tool for searching the Internet, batching searches via multiple, selectable search engines, and bundling their results into one window. The next version introduces channels, which will allow you to do much more. A shopping channel uses search engines appropriate to product searching, and displays results appropriate for comparison shopping, including price and availability. For auction sites, the closing time of the auction is returned. A news channel searches for news and displays appropriate results, including the story date. A people channel searches LDAP servers and returns different results still.

A tool that lets you do comparison shopping, with the selection of search sites controlled by you rather than sold to the highest bidder, will put exceptional market power in the hands of the consumer, where it belongs. Other channels are possible, too, of course. In my opinion, Sherlock is revolutionary technology masquerading as a search engine. A stealth portal? More than a search engine, anyway.

The Fly

Opinions were divided on whether the consumer portable was Jobs' biggest announcement. You and I are not going to run out and buy one of these for our own use, but we may buy one for someone else. The specs, briefly: 12.1-inch 800×600 active-matrix TFT display; 300-Mhz PowerPC G3; up to six hours running time on the battery; 56K modem; 10/100BASE-T Ethernet; antennas for wireless networking; full-size keyboard; 24x CD-ROM drive; USB port; 32-MB SDRAM expandable to 160 MB; ATI RAGE Mobility graphic controller with 4-MB SDRAM video memory and 2X AGP; 3.2-GB IDE hard disk drive; a power adapter "that lets you wind up its cord like a YoYo;" and built-in stereo headphone jack. No audio-in jack, no video ports, and no floppy disk drive (no surprise). Price: $1599, predicted to drop to $1299 in a few months to make room for a faster model.

You've seen the pictures by now. Curves that suggest a more sophisticated eMate, colors taken from the iMac palette, translucent plastic, part of the shell rubberized to make it more rugged. I was intrigued, later that morning, by the way people reacted to the demo machines on the show floor: There was a lot of feeling of the machine, stroking of the rubber case. I don't know exactly what that means, but how about this: As I typed away at one of the iBook models, I ran my eye down the line of a dozen or so machines. Almost every one had a fly sitting on the rubberized top edge of the case. Why does the iBook draw flies? I haven't a clue.

Network Tarmac

I may be among those who thought that the wireless networking was a bigger deal. Apple has endorsed the IEEE 802.11 wireless networking standard in a big way by building it into every iBook and creating a product, the AirPort Base Station, based on it. You still have to buy a $99 AirPort card for your iBook and a $299 AirPort Base Station to use it, but that's an excellent price for the technology.

Each Base Station can support up to 10 computers at distances up to 150 feet, possibly on adjacent floors of a building. The Base Station has a 56K modem and an Ethernet port. It can function as an Internet router, sharing a single Internet connection among the iBooks in the vicinity. It communicates at 11 Mbits/sec., which will be fine for Internet access. There's more beneath the hood, but we may have to wait until the iBook and the AirPort Base Station get out the door to see just what they can do. One story I've heard is that an iBook connected to a nonwireless network can provide wireless access to other iBooks without any Base Station. Other wireless products are in the works, and it's reasonable to expect that Apple will be pushing to provide wireless access across its product line.

I'm convinced that this is just the beginning of the wireless story for Apple. And for those asking, "Now that they've filled out the product grid, what's next?" I think wireless may be one answer.

This Book Has no Plot

I was prepared to hate Gary Rivlin's The Plot to Get Bill Gates (Random House, 1999; ISBN 0-8129-3006-1). The title just sounded to me like cheap sensationalism. A book editor tells me that the recent tech-industry books about Gates and Ellison and AOL aren't selling all that well; maybe someone thought that this one would do better if spiced up with a conspiracy-theory title.

When I got into the book I found some decent writing and analysis on Microsoft and its competitors. Rivlin's a good writer. But I don't know that I'd say, based on this book, that he's a good author or a good reporter, because I found the book to lack cohesion and originality. Even the conspiracy-theory premise doesn't tie all the chapters into one story. And Rivlin seems to rely far too much on other books. Having read a lot of his sources, I kept encountering stories I'd read before. And although I don't know that this is a bad thing, the book really doesn't justify its sensationalistic title. By the end of the book, you really don't come away with a sense of a conspiracy against Bill Gates so much as a sense that a lot of people really don't like Bill Gates or Microsoft. Which you probably went into the book with. Rivlin actually undermines one of the conspiracy theories I've heard, pointing out that, far from buying Senator Orrin Hatch's (R-Utah) opposition to Microsoft with contributions, Utah-based WordPerfect and Novell were heavy contributors to the Democratic party. When I finished the book, it struck me that Rivlin might have been better able to defend the notion of a real plot against Gates if he had focused on just one of Microsoft's competitors.

Granted, Scott McNealy can't make a speech without peppering it with Microsoft jokes. Granted, Ray Noorda made opposition to Microsoft and Bill Gates a moral crusade. Granted, Oracle and Sun and Netscape and AOL and IBM and other companies have worked together to combat what they perceive as a threat from Microsoft. Say they have conspired. This seems to me to be good business in a business environment so dominated by one company. (Okay, the McNealy and Noorda behavior may also reflect some personal quirks of their own.)

But what intrigues me is IBM's behavior over the past couple of years. This embracing of Java and Linux deserves study. It seems to me to go beyond IBM's traditional hedging of bets, the company's willingness to offer its customers any technology they want, while making sure that what they will want most is IBM's own products. IBM's early and aggressive commitment to Java is remarkable in a company one hardly thinks of as quick to respond to changes in the market. And IBM's support for Linux is growing to the point where it could almost be called advocacy.

As Rivlin documents, there is deep hatred of Microsoft and of Bill Gates in the halls of IBM. It's hard to picture IBM making product-line decisions motivated by hatred of Bill Gatesharder than picturing Oracle twitching to the whims of Larry Ellison. Stillthe IBM that is today embracing every nonMicrosoft technology that comes along is not the same IBM that smugly expected to take over the PC industry in 1981. Ellison and McNealy were founders of that industry, sort of. Anyway, they are of the generation of risk-it-all entrepreneurs who rode the revolution from hobbydom to Wall Street. It's not surprising to see them and their companies acting as though this were still a game of marbles between them and a few other boys. Sure they're out to get Gates. But it's open warfare, not some conspiracy that needs to be unmasked. But IBMthere's the real story, I think. A book on how IBM is making decisions these days, and the extent to which its corporate strategies are based on a hatred of Microsoftthat's a book I'd read.

The Soul of Silicon Valley

One of the books not listed in Gary Rivlin's acknowledgments is Po Bronson's The Nudist on the Late Shift (Random House, 1999; ISBN 0-375-50277-7). Perhaps the similarities are due to both writers drawing on the same original sources. If so, Bronson, a writer for Forbes and Wired, makes better use of those sources. For example, he paints a highly realistic and evocative picture of Bill Gates at an Agenda conference. You would swear that Bronson was there with a video camera, somehow insinuating himself between Gates and his handlers, picking up the comments muttered under his breath, the nuances of his body language. A careful reading of that chapter of Bronson's book leads me to think that he constructed the entire scene based on conversations with two people who were there.

Bronson set out to capture the spirit of Silicon Valley in a series of essays about people in the Valley. Some of his attempts are more effective than others and he is handicapped, as most journalists are, by not being technical enough to really understand what's going on behind the screen. But I've never seen the job of Silicon Valley soul-searching done more effectively or entertainingly.

Stealth Stacks

Since I'm (mostly) focusing on Apple this month, here's a tip for HyperCard authors (I know you're out there) trying to make their stacks look like Java applets.

The book Java Look and Feel Design Guidelines (Sun Microsystems, Addison-Wesley, 1999; ISBN 0-201-61585-1) defines a flush 3D button effect that you might like to implement. Here's how: Center a field behind the button, four pixels wider and taller than the button, and set the style of each to opaque. Use Color Tools to color both the same color as the background, and give each a single-pixel bevel. The field bevel insets the field, the button bevel bumps the button back out, and the result is a button at the same level as the background but with a moat around it. Totally Javaesque. To keep the button and field lined up even if you move or resize the button, give the field the same name as the button and add this handler to the script of the button; see Listing One.

If you give the button this script you don't really have to worry about centering the field or setting its height and width; just create it, set its style to opaque and its name to the button's name, color it and add the single-pixel bevel, and then wave the cursor in front of the button once to get the field sized and positioned.

A two-pixel bevel on both button and field produces a strong moat effect.


Listing One

on mouseEnter
  -- Keep the framing field in place behind this button.
  -- (Assumes button and field are both in background.)

  lock screen
  put the short name of me into myName
  put the rect of me into myRect
   -- Size and position the field to frame the button
  set the left of field myName to -2 + item 1 of myRect
  set the top of field myName to -2 + item 2 of myRect
  set the right of field myName to 2 + item 3 of myRect
  set the bottom of field myName to 2 + item 4 of myRect
   -- Make sure the field is behind the button
  repeat while the partnumber of field myName > the partnumber of me
    select field tool
    click at the loc of field myName
    doMenu "Send farther"
  end repeat
  unlock screen

end mouseEnter

Back to Article

Copyright © 1999, Dr. Dobb's Journal

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.