Apple’s lawyers are on the hunt again, this time with Intel and Microsoft in their sights, and the issue is purloined QuickTime code. Matt Neuburg checks in with an editorial about Hollywood’s inability to get the facts of electronic life right in movie fiction; Geoff reviews Apprentice II, a CD-ROM of source code; Nigel Perry starts looking in depth at Nisus Writer. Finally, we take a look at the Communications Decency Act of 1995. Such fun.
Net Valentines — It’s undoubtedly too late for people to use this Internet site to send a paper Valentine’s Day card, since by the time you read this Valentine’s Day should be in full swing or even over – at least in those parts of the world that celebrate the holiday. But, should you be storing up ideas for next year, check out Greet Street’s Web page at the URL below, where you can buy greeting cards and even have them personalized and mailed for you. The prices seem pretty reasonable, assuming that you aren’t the sort who’s shocked at the cost of greeting cards to begin with.
Of course, plenty of other Valentine’s Day-related sites have sprung up on the Internet, some just for a few days, and Yahoo has collected a nice set of pointers to the best ones. [ACE]
The Apple Multimedia Kit (item M3153LL/A) includes a coupon for three free CD-ROM titles. Apparently some of the kits sold during the recent holiday season had a form with an incorrect expiration date of 31-Dec-94. In fact, the offer expires 31-Dec-95, and Apple will continue to honor all coupons redeemed until that time. Current kits have a coupon with the correct date. [MHA]
QuickDraw GX — Those of you close enough to the bleeding edge to be using QuickDraw GX might enjoy this Easter egg, sent in by Charles Wiltgen <[email protected]>. "Select a GX desktop printer, hold down Shift-Option-Command and choose Open from the File menu. It gives you a very cool, simple demo of GX’s geometry capabilities." [TJE]
Trying to reach the digitalNation FirstClass server (see TidBITS-262) via the Internet? Those not familiar with FirstClass may find some additional details helpful. Our article specified that you must use port 3004 on IP address <184.108.40.206> when trying to open a connection with the FirstClass Client software, but didn’t go into further details. After you enter "220.127.116.11" (without the quotes) in the Server field and choose TCP-IP.FCP from the Connect Via pop-up menu, click the Setup button next to that pop-up menu, then click the triangle next to Advanced Settings to reveal extra options. Enter "3004" (without the quotes) in the TCP Port field, then click the Save button. You should also make certain that the userid you’ve selected is going to be unique: if you try to connect with a userid that happens to be in use, you won’t be able to register as a new user. [MHA]
A number of Mac programming wizards (their names are on some of the most well-known Macintosh programs available) have banded together to form The Mac Group. The mission of The Mac Group is simple – if you are a large company that simply has to ship an important product or risk losing big bucks, The Mac Group will fly in, find the bugs, and fix them so you can ship your product. Their pricing falls into the "if you have to ask, you can’t afford it" category, since they all still have programming day jobs that they put on hold to ride to your rescue. But in this high-stakes world of product deadlines, some hired guns might be just the ticket.[ACE]
Movies arrive in tiny, faraway New Zealand well after they’ve opened elsewhere (if they arrive at all), so it was only the other day, and quite by chance, that I caught Disclosure – and was hopelessly confused, thanks to the filmmaker’s ignorance of the Internet.
The film’s plot and details of action depend almost totally upon the current state of computer and networking technology, with such things as fast CD-ROM drives, CU-SeeMe conferencing, and virtual reality figuring heavily. Now, I can suspend disbelief as well as the next person, so it didn’t bother me when a user controls a virtual reality program through a speech recognition technology beyond anything we see today. I also wasn’t concerned when email was rendered without scroll bars, so all messages were necessarily very short – I could accept that as GUI poetic license. Besides, none of these things impinged upon the basic plot.
Not so, however, the facts about how email is coded and sent. The film depends upon arousing our suspicions that Michael Douglas’s office communications are being somehow sabotaged: he leaves a phone message that the recipient claims never to have received, his user privileges are reduced, and his disks are taken away. So when he starts receiving a series of anonymous email messages to which he cannot reply because they contain no "From" header information, I naturally thought: "Wow, whoever’s doing this to him is some serious hacker!"
Wrong. It turns out later that the messages come via the Internet from outside by perfectly ordinary means. No explanation is offered for how the headers were suppressed – nor why, since Douglas eventually has no difficulty ascertaining their physical source through a Whois query. In the end, no hacking of any sort turns out to be involved; they’re just ordinary Internet email messages.
So, because the filmmaker apparently didn’t know that you can’t normally send Internet email without at least some form of "Reply-to" header information being attached, I was misled – meaning, not that I guessed the whodunit incorrectly, which would be fine, but that I misperceived the plot, the physical facts of what the movie was intending to portray before my eyes.
This keeps happening in films today: those based on Michael Crichton novels (of which this is one) seem particularly prone. We all remember being confused watching Jurassic Park when a QuickTime movie – complete with a controller at the bottom of the window and a "thumb" button moving slowly across it as the movie played – was treated by the actor as a live CU-SeeMe communication.
I’m struck by these phenomena, not because they’re errors, but because they’re genuinely startling and confusing to users for whom cyberspace and a graphical interface are the common coin of everyday life. And there are many such users; email and QuickTime are not rarities. Hollywood filmmakers are accustomed to creating science fiction effects that conceive the future for us; but now, when the "future" is here, they’re still treating it as fiction and haven’t caught up with the facts. This leads to the paradoxical result that movies – for whose makers the technologies portrayed are exotic – are showing to audiences for whom those same technologies are mundane! The result is as mystifying as if Hollywood had decided to portray people driving cars, but, not actually having seen a car, they got the number of wheels wrong, or which side of the road you drive on.
Surprise! Late last week, Apple named both Intel and Microsoft in a lawsuit claiming that the two companies used QuickTime for Windows code to boost the performance of onscreen video in their products. This follows a lawsuit Apple filed in December against The San Francisco Canyon Company, with whom Apple had contracted in 1992 to write code for the Windows version of QuickTime. Apple alleges that Canyon subsequently incorporated major portions of QuickTime code written for Apple into products written for Intel to enhance Microsoft’s Video For Windows (VFW), and that some of these changes later found their way into Microsoft’s latest shipping version of VFW (1.1d). Apple claims that attempts to address this issue directly with Microsoft and Intel resulted in the companies’ belittling QuickTime’s technology and refusing to seriously acknowledge the issue. Even Bill Gates himself was "not particularly helpful in resolving the situation," according to David Nagel, in charge of Apple’s AppleSoft division. Apple is seeking damages and an order to stop distribution of the software.
Microsoft said Friday in a press release that the low-level driver code is not used in currently shipping versions of Windows (nor is it planned to be included in Windows 95) and that they had every reason to believe they had all necessary rights to use the code they licensed from Intel. Moreover, Microsoft claims that they repeatedly requested information from Apple in order to resolve the issue, but that Apple neither gave Microsoft specific information nor provided evidence to demonstrate either its ownership or Microsoft’s infringement. "We’re disappointed that Apple chose to go to court rather than provide the information we sought," said Microsoft’s Bill Neukom.
Although the version of Video for Windows in question, 1.1d, does not ship with Windows itself, it is widely available through developer’s kits, online services, and multimedia products from Microsoft and other companies. Microsoft says performance improvements in Video for Windows were implemented in version 1.1c and have nothing to do with the disputed code. In an interesting related move, the same day Apple named Microsoft and Intel in this lawsuit, Apple announced it will no longer charge third-party developers a fee for distributing QuickTime with their products.
In a move that’s incited all manner of protest throughout the Internet community (and especially among Internet providers), Senator Jim Exon of Nebraska has introduced Senate bill 314, titled The Communications Decency Act of 1995. This bill would expand current FCC regulations on "obscene" and "indecent" telephony and telegraphy to cover any content carried by all forms of electronic communications networks. This would place significant criminal liability on telecommunications and network providers if their network was used in the transmission of any material deemed to be "obscene, lewd, lascivious, filthy, or indecent," as provided under the Communications Act of 1934.
Essentially, if enacted, this bill would compel Internet providers to restrict the activities of their users (for instance, by preventing them from using email, conferencing services, Usenet, FTP, and the like), or to monitor every private communication, file transmission, email message, news posting, etc., to ensure no activity for which they could be held liable was taking place. Penalties provided under this bill are up to two years in prison or $100,000 in fines. The text of S. 314 appears to be substantially identical to S. 1822 of the 103rd Congress, offered by Senator Exon last year and which failed with the Senate Telecommunications Reform bill. However, given the more conservative tone of the 104th Congress and legislators’ growing unwillingness to oppose "morality" legislation of this nature, S. 314’s chances of eventual passage may be substantially better.
Although it’s not likely many people would favor legalizing email harassment (in the same way most people don’t seem to think telephone harassment should be legal), S. 314 holds service providers liable for the "decency" of materials transferred through their networks. To draw a parallel, a real-world equivalent of this bill could mean holding the builder of a street liable for armed robbery because someone used that road to transport stolen goods from a crime scene. Under S. 314, the only exceptions to this bill would be government-decreed common carriers like telephone companies. Although U.S. legal standards of decency and obscenity have been matters of controversy since the nation’s founding, there is concern amongst the online community that such legislation could suppress open discussion of often-controversial issues such as homosexuality, abortion, controlled substances, or abuse.
According to the most recent edition of the Electronic Frontier Foundation’s EFFector Online, Senator Exon and his staff may not have been aware that the text of their bill had such broad potential for criminalization and a rewrite is apparently being considered. Senator Exon seems to have been motivated to introduce this bill in response to incidents of "Internet stalking" and email harassment, such as a current case involving a University of Michigan student posting a fictional story of rape and sexual torture.
Contact information for the Senate Commerce Committee and Senator Exon can be found on a variety of sites around the net; a pointer to CapWeb is included below. Discussion of S. 314 can be found on the newsgroups <comp.org.eff.talk> and <comp.org.cpsr.talk>.
EFFector Online, 10-Feb-95
Electronic Messaging Association
Celestin Company recently released the second edition of its Apprentice CD-ROM, a compilation of source code, tools, and technical information for Mac programmers. This new version updates materials released on the first edition of the CD-ROM (see TidBITS-228) and adds new information, code, and tools.
The Apprentice CD-ROM consists mainly of free and shareware code and development resources that are available from a variety of sources. And that’s the CD-ROM’s main strength: although most of this material is available elsewhere, the sheer task of locating and assembling it would take forever. Having it all in one place and well-organized (and searchable!) is a big asset to both fledgling and experienced Mac programmers. Apprentice comes with pre-compiled indices for Easy View, FileMaker, and On Location which make searching the CD-ROM’s 600+ megabytes a breeze.
Although there may not be code here for everything one could wish, the breadth and depth of the project is surprising. Apprentice contains code, frameworks, and libraries for a wide variety of tasks: anti-aliased text, Photoshop plug-ins, sprites and GWorlds, custom controls, window and dialog handling… that’s just a start. It also offers source from various versions of applications and games, including Eudora, Disinfectant, Glider, and OutOfPhase. There are more than 15,000 items of examples, source, and associated files (most in C, C++, and Pascal), a number of libraries and routines for MPW, Symantec, and CodeWarrior, plus full-fledged implementations of C, Forth, Perl, Lisp, Prolog and other programming languages. As one measure of the CD’s breadth, I found the original source code for a program called Rae, ported to the Mac back in 1986 by Steve Hawley (a fellow Oberlin graduate who now works for Adobe) – Rae drops and accumulates smiley faces at the bottom of your screen. With about 10 minutes of tweaking, I managed to make it run again. I’m sure Steve would be pleased, or shocked… or both.
Lest you think Apprentice might only be useful for certifiable wireheads, the disk contains a ton of material to help people get started with programming, including resources for HyperCard, debugging tools and demos, application frameworks, beginners materials and working examples, digest archives (including the <comp.sys.mac.programmer> newsgroup and the Mac Scripting list), FAQs and info files on common topics and languages, plus specs on common data formats and protocols. All in all, if you’ve ever had an urge to crack open the Toolbox, the Apprentice CD is a good and inexpensive place to start. If you’ve already taken the plunge, Apprentice can save you hours in download time alone, not to mention the time you’d waste hunting for that certain special code snippet. Apprentice’s indexes contain URLs to original source material wherever possible, so looking for updates or additional materials is easy. If Celestin Company continues to regularly update the disk, Apprentice will remain an excellent resource for some time to come.
Apprentice is available for $35 ($25 for registered owners of the first version of Apprentice). Information and an order form are online at:
Celestin Company — 360/385-3767 — 360/385-3586 (fax) —
[Welcome to our Nisus Writer review! Because the review is somewhat lengthy, we plan to run it in three parts: text processing, word and document processing, and multimedia. So, this week, keep reading to find out about Nisus Writer’s text processing features, and stay tuned for next week’s installment about word processing features. -Tonya]
Late last year, Nisus Software released Nisus Writer, the long-heralded update to Nisus. The last major release to Nisus was about four years ago, with an update (Nisus 3.4) in between (see TidBITS-168). Updates to Nisus were promised, with Nisus Software even advertising "Nisus XS," but nothing appeared. Nisus Writer was released last October with a maintenance update coming out just in time for Christmas (see the URL below for the update and a demo). Nisus has always been a product with a loyal following, and its users – admittedly with growing impatience – eagerly awaited the update.
Nisus Writer wasn’t made from the same mold as other word processors. To understand it, you must understand that Nisus Writer combines a text processor, a word processor, and a smattering of multimedia tools. I will address each area in turn, and try to share the flavour of Nisus Writer and how it differs from Nisus. In the rest of this review "Nisus" means both Nisus and Nisus Writer; "Nisus Writer" means only Nisus Writer.
Nisus Writer, at 1.9 MB in size and with a 3 MB RAM allocation, is bigger than Nisus’s more svelte 513K on disk and suggested RAM allocation of 1 MB. Much of the size increase comes from the lack of compression: previous versions of Nisus used the AutoDoubler Internal Compressor (as did the first release of Nisus Writer – updates are no longer internally compressed). File saving time also seems to have increased, so if you have the regular backups preference set, you get disconcerting pauses at the interval you’ve specified once your file grows past about 30 pages. One feature which speeds up Nisus is that it keeps documents in RAM, but this is also one of its disadvantages if you wish to work on long documents that are larger than Nisus’s available memory, since there is no way to chain smaller documents into a longer one. Based on unscientific measurements, Nisus feels faster than Word 5.1, Nisus Writer a bit slower.
Text Processing: — Nisus Writer comes from the same company that produces QUED/M, a highly regarded macro-programmable editor for programmers. Given this heritage, Nisus has superb text processing capabilities. Nisus offers keyboard and mouse commands for moving the cursor, selecting text, and extending a selection forward or backward by character, word, line, sentence, paragraph, screen, or document. Nisus provides a unique discontiguous selection feature along with a slightly more common rectangular selection.
For Cut and Paste operations Nisus offers ten clipboards and such unusual but useful operations as "append to clipboard" and "swap selection with clipboard."
Nisus Writer adds little to the text processing facilities of Nisus, but that is because these features were already so comprehensive! The editing window has had minor 3D-style interface improvements and some of the menus have been reorganised – this might make the program a little easier to use but adds little additional functionality.
WorldScript — Nisus is a WorldScript I and II compatible editor and handles right-to-left and multi-byte languages with ease. It supports European, Scandinavian, and Japanese languages with the appropriate Language Module and/or Apple software. Users can also purchase a Language Key and extend Nisus to support Arabic, Cyrillic, Eastern European, Farsi, Hebrew, and Chinese. The Language Key, also known as a dongle, must be plugged into your Mac’s ADB port. This feature was universally loathed by Nisus users, but Nisus Software has kept it in order to avoid piracy and to satisfy contracts with overseas partners who required the dongle in exchange for technical and marketing assistance. [See TidBITS-170 for a fleshed out discussion of this complex issue -Tonya].
In mixed left-to-right and right-to-left text, Nisus handles selections correctly. The Find/Replace command handles multilingual text both through its support for fonts and special PowerFind wildcards that match character sets in the languages. Nisus also supports glossing. [As one example, people use glossing to place Hiragana or Katakana pronunciations above Kanji characters. -Tonya]
Finding and Replacing — Nisus provides an unparalleled Find/Replace feature, offering three levels of complexity: Normal (just text), PowerFind (a simple, icon-based GREP), and PowerFind Pro (full GREP). You can also find and replace using character formats and styles. So, for example, if you want to find text in 10-point italic Geneva and change it to 14-point bold Helvetica, Nisus easily handles the job. Another example of the flexibility of the Find/Replace command: consider the task of finding all dollar amounts in a file, such as $45, and placing them in brackets together with "NZ" (after all, this review comes from New Zealand!), so $45 would become [NZ$45]. In PowerFind, the Replace operation could be written as:
Find: $(Digit)(1+) Replace with: [NZ(Found)]
(Note that in PowerFind, "(Digit)", "(1+)", and "(Found)" would appear as icons.)
Nisus Writer adds a "sounds like" (or "fuzzy") find feature which is useful if you’re not sure of how a word is "spelt."
Nisus provides multiple levels of undo and redo, up to 32,767 steps with a default of 300! If you perform a complex Replace operation and end up with a mess, just undo it.
Nisus allows you to open multiple files at once, limited only by memory. This is a real limit as Nisus is a memory-based editor and cannot edit files larger than will fit into memory. This is an area Nisus Writer could have improved upon but did not. On the plus side, the Find/Replace command can search multiple files, whether open or closed, which makes handling groups of files easier. [Of course, if you can give Nisus a lot of memory, as I do when I wish to perform multiple searches through 30 or 40 large files of the chapters of my books, being RAM-based means that Nisus can handle all the files quickly and easily, unlike in other word processors. -Adam]
Macros — Nisus supports a macro programming language which is a curious mix of two dialects: the menu dialect and the programming dialect. Macros (either coded or recorded) help you easily accomplish extremely complex operations, especially with the help of PowerFind statements. For more sophisticated programming concepts like loops, you will end up typing code in the programming dialect, which is not as easy as it could be. The combination of the two dialects is peculiar, with a strange mix of menu command equivalents and programming language features such as arrays and stacks – some of the language also attempts to appear object-oriented. That said, the macros are powerful and, once learned, a useful tool, even if the phrase "great hack" comes to mind when studying them!
Macros could do with improvement: they execute onscreen, so while a macro runs dialog boxes may flash up and have text "typed" into them, and menus will flash away. Macro speed is often a problem, but even though macros can take a long time, doing the same job by hand would typically take far longer.
[The folks at Nisus Software point out that they believe they’ve cut down on the amount of onscreen macro executing for the Nisus Writer 4.0 release, thus somewhat addressing this concern and speeding up macro execution times. -Tonya]
Two sought-after features – multiple open macro files and AppleScript compatibility – have not arrived with the upgrade. The lack of AppleScript is a major blow to scripters, though Nisus Writer does support Frontier (the runtime-only version of which is supplied). Using Frontier, it is possible for Nisus Writer macros to control other applications, but Nisus Writer itself cannot be controlled. The manual covers Frontier in just two pages, with no details of the UserTalk language – so writing Frontier scripts is not easy.
Text Processing Conclusion — Nisus Writer runs slower than Nisus on some operations, particularly Find/Replace on long documents has become much slower. Fortunately, in a few low-key tests that I ran on a beta copy of the next release of Nisus Writer (version 4.0.7), the Find and Replace feature ran 33 percent faster on average, although this is still 50 percent slower than the average speed of Nisus 3.4L. These times could easily improve before shipping.
Among Macintosh word processors, Nisus Writer is unparalleled for text and multi-lingual processing. In fact, if you need to handle multi-lingual text then Nisus might be the only real choice, depending on the languages you need.
[For people wanting more opinions and resources related to Nisus, check out the Nisus Writer page on World of Words. -Tonya]