If you’re one of the millions of Internet users perturbed by junk email, find out why it appears in your mailbox, where these people get your address, and how to deal with the situation reasonably. Also in this issue, news on 28.8 software for GeoPort users and the latest release of MkLinux, a timely essay on how software upgrades can erode customer confidence, and the first part of Matt Neuburg’s review of QuicKeys 3.5.
MkLinux DR2 — Last week, Apple released DR2 of MkLinux, a version of the Linux operating system for Power Macintosh they’re describing as a "beta quality" release. MkLinux DR2 is a significant improvement on DR1, offering much better performance, better serial, SCSI, and networking support (including AppleTalk), and many bug fixes, although support for PCI Power Macs has yet to arrive. MkLinux DR2 is available via FTP and CD-ROM, but due to its huge size, I recommend the $20 CD-ROM from Prime Time Freeware. [GD]
Apple Telecom 3.0… Maybe — A common question we receive at TidBITS is "When is Apple going to release the 28.8 Kbps version of the GeoPort software?" We’ve been just as confused about this software as everyone else, but lately some consensus is emerging among public and private sources. After numerous promised release dates, demos at Macworld Boston, and abortive appearances on Australian and Swedish servers a few weeks ago, it appears that Apple will generally release Telecom 3.0 in late October.[GD]
Matt Neuburg’s article on Now Utilities 6.5 in TidBITS-345 touched on an issue that is fast becoming a serious flaw in the way software is sold. The concept of "upgraditis" is infecting more and more software companies and threatens the stability, usability, and long-term value of software.
It used to be you could count on a major upgrade of a software program once every two or three years. Now it’s a year, and in many cases, less than a year. Usually, a major upgrade increases the program’s system requirements (RAM, power, storage, and so on), involves a new file format, potential incompatibilities with other programs, and yet another learning curve.
With all those negatives, it’s no wonder companies must push flashy new features in order to convince users to upgrade. Even worse, the upgrade cost may not be much of a discount over the street price or "competitive upgrade" many companies offer. I resent this tremendously. I support a product by purchasing a legal copy and faithfully sending in my registration card, and if I’m lucky, I save a $5 off the street price of the software! (Even sillier is the practice of many companies to charge you $10 shipping and handling on a $25 upgrade when you can go to the store and buy it new for $29.95.)
An excellent example of this trend is my copy of WordPerfect 3.0. I bought it for $99 a couple years ago, and it works fine (I don’t have a Power Mac). I don’t find any of the new features very compelling, but of course it’d be nice to have the current 3.5 version. But Corel wants $89.99 to upgrade! I might as well buy a brand new copy. (The competitive upgrade price is now $89.99.)
I rarely take the bait any more. I stopped upgrading After Dark three versions ago. I still use Now Utilities 4.0, Quicken 3 still works for me, and I never bothered upgrading Kai’s Power Tools or Bryce (the upgrades cost too much). Even my copy of FreeHand is at version 4.0 – though I probably will upgrade to version 7.
I see a few solutions. One is extremely low-cost upgrades for existing customers. (I’m talking $10 to $25 here, and just media or even online distribution – use the registration numbers as passwords – manuals can be extra.) My favorite idea is a subscription-based system, similar to how Metrowerks CodeWarrior is distributed. This would give the developer (and the user) consistent, scheduled releases, and it would relieve the developer from having to include all the hot features at once. The new features are phased in over a year of quarterly releases so the user isn’t inundated with a completely different interface. The user knows in advance they get a certain number of free upgrades, and after that they must resubscribe. [Some people have pointed out that subscription systems can be problematic if the company promises features that aren’t met, or if they ship buggy software to meet a promised date. -Adam]
These problems associated with software upgrading aren’t just mild complaints or isolated incidents; it’s rapidly becoming an industry-wide crisis. (Just look at the problems with upgrading Microsoft Office or Word 6.)
Software development is at a crossroads. Making software a commodity devalues the product. Developers must act now to preserve the value of their labor. If they don’t, users will have less and less incentive to bother purchasing legal copies and upgrading. Technology like plug-ins and Open Doc’s Live Objects will make this even more of an issue. (For example, is it acceptable to pay more for a plug-in or a Live Object than for the original program?)
As for me, I’ll stick with Now Utilities 4.0.
"The question is," said Humpty Dumpty, "which is to be master – that’s all."
– Lewis Carroll
Perfecting the relationship between form and function is no easy thing for a software developer. To be sure, no amount of graphical bells and whistles can compensate for flawed functionality. Nevertheless, there’s no denying that interface makes a difference – a huge difference. No matter how valuable a particular feature, if triggering its performance involves steps too numerous, obscure, counter-intuitive, repetitive, annoying, or daunting (for reasons rooted in the peculiarities of the human psyche), people won’t use it, or (if they must) they’ll dislike it.
CE Software’s QuicKeys (QK) first appeared in 1987; TidBITS has been mentioning it since version 2.0 came out in mid-1990 (issue #16!). [In part, this is because QuicKeys played an invaluable role in the weekly distribution of TidBITS for our first five years. -Adam] Its function is to help you get round the formal shortcomings of other programs. It’s splendid that CE has recently promulgated QK 3.5, even though 3.5 is primarily an "interfacelift." The current version, 3.0, has been in place since mid-1993. In this first part of a two-part article, we’ll provide a general description of QK 3.5; next week, we’ll put this upgrade under the microscope.
Baby, You Can Drive My Computer — QK’s function centers on an extension which can perform certain fundamental Macintosh actions – hit a key, choose a menu item, click or drag the mouse, open a file – as if there were an invisible user at the controls. Its form comes from the various ways you can access, or trigger, that functionality, such as by pressing a certain keystroke, and from the dialogs that let you configure QK by associating a particular trigger with a particular action.
Why is this useful? Four main reasons come to mind. But, before I describe them, I should explain that a QK action is either "universal" to the computer as a whole or specific to a particular application. An application-specific action and its keystroke are available only when that particular application is frontmost. This means the same key combination can be used to trigger different QK effects in different applications, or a keystroke can invoke a universal action regardless of the application. You can have application-specific keystrokes override or nullify universal ones: thus, a universal keystroke could be made to apply to all but one particular application.
- The first use of QK would be to customize an application so that it behaves more like other applications, reducing the number of different keyboard shortcuts I must memorize. For instance, I sometimes use an application which does not use Command-W as the keyboard shortcut for closing the frontmost window; instead, it uses it to mean Save. But I have a habit of using Command-W to mean Close, and Command-S to mean Save. So, I set up QK so that, in this application, when I hit Command-W, QK closes the window (by clicking its close box), and when I hit Command-S, it saves the document (by choosing the Save menu item).
- Secondly, sometimes QK can perform a basic function that an application cannot. For instance, some applications have no menu command to move the frontmost window to the back, bringing the next window to the front. QK can perform this action in any application, so I can use the same keystroke to perform it universally.
- Third, substituting a keystroke action for a mouse action saves me both time and muscle strain. Many applications lack a command to scroll the window up or down, or jump to the start or end of the document; one must click in the scrollbar. With QK, I press a key, and QK does the clicking.
- Fourth, QK can string actions together. Such a string is called a "sequence." Where you find yourself performing the same set of actions repetitively, QK may be able to perform them for you. Are there certain phrases which, for one reason or another, you often use in your email? A single action from you, and QK can type any of them. Do you sometimes need to silence your computer quickly? You hit one keystroke, and QK opens the Sound control panel, chooses Volumes from the pop-up menu, clicks the Mute button, and closes the control panel. Are there certain combinations of font and size that you frequently use? No need to select twice from the menubar each time you change; you perform one action, QK does the rest.
Sequences can help you circumvent an application’s irritating interface, too. When I used CE’s QuickMail 3.5, the steps required to address a new message to go out over the Internet were numerous and tedious; as I recall, you had to ask to address the email, click the "special" button, type something in the "first name" box, replace the contents of the "server" box with "Internet", type the address in the "address" box, click OK, and click OK again. With QK, a single keystroke triggered a sequence that created and addressed a new Internet email from the contents of the clipboard.
Hiyo, Trigger — Sooner or later you will run out of easily remembered keystrokes to serve as triggers; and over the years QK has evolved various additional types of triggering event.
One of these is Time: the action is performed in response to the arrival of a certain moment. Time, for QK, can be reckoned absolutely or in seconds from the startup of a particular application (or the Mac as a whole). Using absolute reckoning, you might have your Mac perform unattended routine actions, such as running a disk optimization or a backup once a week late at night. Using application-relative reckoning, you might automate responses to an application starting up, like clicking away a splash screen or dialog.
You can also trigger actions by choosing from a special QuicKeys menu. This menu can appear hierarchically in your Apple menu, in the menubar, and/or as a pop-up menu. You decide which QK actions should appear in the menu, and at any moment the menu limits itself to universal actions plus those specific to the frontmost application.
There is also the reference card, a QK action which, when triggered, displays a modal dialog containing all currently available QK actions; clicking one triggers it. The reference card is also good for reminding you of specific keystrokes for actions (the QK menu listing doesn’t).
You can also create a tiny double-clickable application to trigger a QK action; such an application is like an alias, and can be located and started up in the same convenient ways.
In mid-1992, QK 2.1.2 introduced a new type of trigger, SoftKeys. This was itself a QK action which, when triggered, displayed a previously configured modal dialog consisting of ten buttons, numbered 1 through 0 as on the top row of your keyboard, plus the name of a QK action written next to each. Clicking a button or typing the corresponding number-key dismissed the dialog and triggered that QK action. Since the QK action triggered through a SoftKeys dialog might be to put up a different SoftKeys dialog, you could have a series of such dialogs referencing one another until you reached the action you actually wanted to perform. SoftKeys was supposed to bring your various QK actions under a convenient category-based control, but in reality it was horribly reminiscent of those DOS-based successions of modal "menus" that many of us switched to the Mac to escape from in the first place.
In 3.5, QK has wisely abandoned SoftKeys, and sensibly implemented toolbars take its place. Toolbars can be universal or application-specific; an application can have multiple toolbars. You can customize the icons, and there is "hot help," with the name of the QK action appearing when the mouse is over its icon. Toolbars come in three types. The first two are "floating" (windoid) and "embedded" (movable but docked to the edge of the screen); their visibility can be toggled by a keystroke or in the QK menu (the floating type can also be clicked away), and is contextual in that a visible application-specific toolbar vanishes when you leave that application and reappears when you re-enter that application. The third toolbar type is "click-and-go," which behaves more like SoftKeys did: you must invoke it to make it visible, and it vanishes when you click an icon.
Some Mac users have strong negative feelings about toolbars in general, but no one is compelled to use this feature; others will surely welcome the capacity to add powerful customized toolbars to any application. I hope users will be able to navigate the toolbar editing interface, though; it’s confusing and clumsy. For instance, you can’t create or edit an action while you’re working on a toolbar; and you’re able to install in a toolbar destined for one application an icon for an action belonging to another application (clicking it does nothing).
Cliffhanger — So much for what QK 3.5 does. But what about what you must do to configure it? How well does QK fit in with other ways of driving your Mac, such as AppleScript? And how good is 3.5 as an upgrade? Find out when this article continues next week!
If you’ve been on the Internet for any length of time, the odds are excellent that you’ve received unsolicited email announcements and advertisements. These messages vary widely: one day you might receive information about a get-rich-quick scheme, the next an ad for an Internet service provider. Some messages are controversial and pernicious, including political harangues and hate-filled diatribes. Others are just odd, such as an ad for hand-knitted kitty-boots, or (I’m not making this up!) an announcement that extraterrestrials from Saturn want to set up a bottle-cap recycling program in New Jersey.
Although the problem isn’t new, the recent growth of the Internet has been accompanied by an explosive expansion in "bulk email" or "spam," and followed in recent months by an angry backlash. An entire industry is springing up around bulk email, and now the issues are headed for the courts. Although this article can’t discuss every aspect of bulk emailing, it does provide some background, and explains how to respond reasonably to junk email.
Pros — Since I’m personally inundated and annoyed by bulk email, I cannot claim to represent the viewpoints of those who send it. However, in discussing the topic with several people who condone bulk mailings, some rationales surprised me.
For the most part, bulk emailers believe they are providing a service by distributing information, thereby helping their recipients make informed decisions. In the United States, they believe their activities constitute free speech. Internationally, bulk email seems to be viewed as free enterprise that could only be curtailed by international trade agreements – agreements which, if they existed, would be nearly impossible to enforce. Further, in the U.S., bulk emailers feel the Internet is a public resource (since it was created in part with taxpayer monies), and that an email address is a matter of public record, like a street address. Many bulk emailers argue their activities should be encouraged since they’re an "improved" form of postal advertisements: they can be better targeted, take less time to deal with (mail messages can be deleted in a few seconds, and no physical object needs to be transported), and have less environmental impact, since no paper and little fuel is used to deliver them.
Almost universally, bulk emailers believe their activities are justified. Further, some are selective with their mailings, sending only 50 or 100 highly targeted messages. Some also work hard to prune their mailing lists of addresses or whole domains that object to their mailings.
Of course, many are much less conscientious, holding contempt for those who take issue with their activities, or arguing (often effusively) that objecting to bulk email is nothing more than economic, technological, and cultural elitism. There are also a few bulk emailers who are new to the Internet and seem to have no idea their actions might be problematic.
A few bulk emailers also make an interesting point: users who most strenuously object to bulk email tend to have been on the Internet for a few years, whereas new Internet users seem to have far fewer objections to bulk email. And here’s another surprise: unless a recipient actively objects to receiving a message, even the most conscientious of bulk emailers usually interpret that message as a success. They choose to believe that while the recipient may not have been interested in the material in that particular message, that recipient did not object to receiving it, and is thus a reasonable target for future mailings.
Cons — The arguments against bulk email are numerous and well-known; I’ll only summarize a few here. First, unlike postal mail, most Internet users pay to receive email at a flat rate, timed, or per-byte basis, so in many cases unwanted email is literally paid for by the recipient. Further, since the cost of bulk email is considerably lower than the cost of sending advertisements via postal mail, bulk email can be more easily abused and arrive in considerably higher volumes. Bulk email is also far more likely than postal advertisements to be inappropriate or personally offensive, not to mention in violation of state or local legislation. An argument can even be made that repeated targeting by bulk emailers constitutes harassment.
The most common objection to bulk email, however, is the annoyance. Most Internet users consider bulk email to be irritating and one of the Internet’s largest drawbacks. They may feel that unsolicited mailings violate their privacy or interfere with their effective use of the Internet.
Perhaps the worst-case scenario is a bulk mailing gone bad. It’s possible for a poorly-conducted bulk mailing to deliver thousands of copies of a message to a single account. Another troubling case is a mailing (or the backlash from a mailing) which overwhelms an Internet site or forces it to go offline. Events like these are widely considered to be attacks on individuals or entire sites, and usually provoke hostile and resource-consuming responses, potentially impacting untold thousands of Internet users.
The Spam Industry — During the last two years, businesses and software products built around the bulk emailing concept have sprung into existence. Beginning with commercial endeavors by expert spammers who would sell themselves as hired guns to spread a message as widely as possible, the bulk email arena has lately been dominated by programmers and entrepreneurs looking to make a quick buck. Some write programs that collect email addresses or that can perform bulk mailings to thousands of people in a few hours. Others collect and sell mailing lists, and still others offer complete bulk mailing services, setting up Internet sites as bulk email clearinghouses. Many of these endeavors are visible and public, and at least one is being taken to court.
Bulk emailers get your address using a number of methods:
- Usenet trawling: Many bulk emailers use programs that scan all available Usenet newsgroups for email addresses, compile comprehensive lists, then remove duplicates. This is also used to create targeted mailing lists; for instance, a bulk emailer may assume that anyone posting in the comp.* hierarchy must be interested in computers. Similarly, geographically-specific lists can be created from Usenet groups related to cities or regions. Though scanning Usenet is an arduous task, any respectable computer can pull out thousands of addresses an hour. Ironically, services like AltaVista and Deja News make this process even easier for bulk emailers.
- Provider-trawling: Although this tactic is most often applied to online services like CompuServe or America Online, bulk emailers use programs to scan member directories and discussion forums to generate lists of users of online services. Bulk emailers wanting to generate a list of users at large Internet providers (like Netcom or EarthLink) may sign on using a trial account, then use directory listings or programs like Finger to generate lists of valid usernames.
- Mailing list trawling: Bulk emailers also scan large and popular mailing lists for email addresses. This tactic works best on large lists where lots of email addresses appear in the text of messages.
Collectively, these processes produce thousands of mailing lists, many of which overlap significantly. Removing your address from one doesn’t remove it from the others, and your address can easily be re-added. Some bulk emailers do handle list removals responsibly; however, overwhelmingly, these lists merely grow.
What Can I Do? — Unfortunately, there is no sure-fire way eliminate bulk email. As the problem gets worse, you can expect services to appear offering spam-free email accounts, and email filtering software will become increasingly sophisticated. In the meantime, the most effective way to stop bulk email is to make your objections known:
- Reply to the sender of the email, saying that you do not wish to receive such mailings, and that you object to such activities. If the message offers a way to remove yourself from a list, use it. Many addresses that bulk email appears to be sent from are forged, so be aware these messages may bounce.
- Examine the headers of the message to determine the site where the message originated. (This information is usually in the bottommost "Received:" header line.) Although this information can be forged, it’s usually more useful than the names of intervening sites. Write a mail message to the username "abuse" or "postmaster" at that site, with a brief, polite note, the full headers of the message you received, and the message itself. Try to leave the subject line intact. This is the text I use to reply to junk email:
"I received the following unsolicited bulk email ("spam"), which apparently originated from your site. Please take appropriate action to ensure this doesn’t happen again."
Although you may not receive a response to these messages, Internet providers usually a warn a bulk emailer that the activity should stop. If the mailings continue, the provider will usually terminate the account.
- Some Internet providers and online services have local email addresses or newsgroups where you can report bulk email messages. With enough information, the provider can then handle the matter for you. Check your provider’s or online service’s help system or customer service information.
In the event you receive bulk email from an Internet domain specifically set up to send bulk email, these tactics are likely to fail. If you’re familiar with utilities like Whois and Traceroute, you might be able to identify that site’s upstream providers and complain to them, but that’s too detailed to discuss here.
The Future of Bulk Email — The current inability to stop bulk emailers has led to calls for regulation, perhaps by modifying existing laws applying to the postal service or fax machines. Although the issues are very complex, here in the United States, communications law experts I spoke with generally agreed existing legislation would adapt poorly to email, particularly in the case of laws designed to prevent junk faxes. Of course, legislation passed here would be difficult to enforce within the country and wouldn’t apply elsewhere.
The first court cases regarding bulk email are getting underway now and will be watched closely by the online community. No matter what the outcome of these cases, the success of bulk emailers is likely to spawn services geared to eliminating bulk email. Already, there’s talk of building live, authenticated filters into email clients – every time you checked your mail, your mail program would check for a new set of anti-spam filters set up by your provider or perhaps by a subscription-based service anywhere on the Internet. With a small editorial staff and decent connectivity, providing frequently updated bulk email filters isn’t a technological challenge.
In the meantime, if you’re one of the few who likes bulk email… I know where you can get some great hand-knitted booties for your cat.