Archive for December 2002
Tuesday, December 24, 2002
Jakob Nielsen (via Erik Barzeski):
Every year brings new mistakes. In 2002, several of the worst mistakes in Web design related to poor email integration. The number one mistake, however, was lack of pricing information, followed by overly literal search engines.
I think what annoys me the most is a variation on #6: when sites use JavaScript to show a link in the browser status bar that isn’t where the link you’re hovering over actually goes. For instance, VersionTracker makes it look like clicking a download link will download a .sit or .dmg file, but clicking the link actually takes you to their ad page. By the time I realize that, I’ve option-clicked the link and end up with a .php file in my downloads folder.
Monday, December 23, 2002
John Gruber has updated bbdiff, his command-line script for using BBEdit’s Find Differences command. If you comment out some of his defensive programming like so:
# Make sure there are two, and only two, file arguments.
# my $count = @ARGV;
# if ($count != 2) {
# die usage();
# }
You can set it as CVL’s opendiff tool to compare revisions using BBEdit instead of FileMerge. If the files to compare weren’t previously open in BBEdit, closing the differences window will close both files. This is one of those little interface touches that make BBEdit so great.
By the way, I finally posted my little AppleScript for diffing the top two BBEdit windows. When you don’t need to set any options, it’s much quicker than going through BBEdit’s Find Differences window.
Daring Fireball is rightly concerned, but GUI scripting is definitely a net positive:
What I fear, however, is that GUI Scripting will provide cover to lazy and ignorant developers who do not wish to provide genuine scripting interfaces to their applications.
Following Bill Bumgarner’s
lead, here are plug-ins for
PHP and
Ruby.
Saturday, December 21, 2002
Friday, December 20, 2002
Nathan Fillion:
So, here we all are. It seems that we are a living embodiment for
the show. We are Browncoats, fighting a war we were never meant to
win, but fighting none the less. The Fox Alliance has spoken, leaving
us to make due with the cards we’ve been dealt. If you are anything
like me, you’ve been pulling the record tabs off your precious
Firefly VHS tapes, pushing along through your life still bitterly
fighting the war from within.
I love Firefly. Walking around the cargo bay, the bridge, it’s all
been terribly painful. It does still live inside me, though. With
every “gorram” or “them as can” I throw unknowingly into my daily
conversation, or everytime I sit in the Captain’s chair that lives in
my heart, I smile with the knowledge of what we’ve accomplished here.
We may have been on the losing side, still not convinced it was the
wrong one. I can’t remember who said that.
If ever you see me on the street, just nod and say, “Captain.”
You’ll make my day.
Chris Hanson has it right.
John C. Welch has been trying to rebut (part 1, part 2) John Gruber’s comments on the Finder (article, followup, Your Mac Life interview, Reflux). I disagree with most of Welch’s position.
The OS 9 Finder is a good piece of work. But, after 17-18 years of optimization, you’d expect it to be. If you view Jaguar as version 2.0 of OS X, then you need to compare it to Mac OS 2.0, and I expect that in 15 years or so, the Finder in OS X will be a much nicer piece of work.
The OS X Finder had the opportunity to learn from those years of refinement. If it is to replace the OS 9 Finder, it should be better—now. Sadly, it is not.
The OS 9 Finder was static; it was as done as it was ever going to be, and it wasn't going to grow in any new directions.
That’s simply false. MDJ has already explained why.
I’d also say that this idea that Mac OS 9 is so easy to use—as if you were born with the ability to use the OS 9 Finder like a baby does a pacifier—is tripe.
Welch is right here, and I think Gruber overstated his case about the intuitiveness of the OS 9 Finder. However, what matters more than ease of learning is ease of use. Here is where the spatial Finder is a big win, because it takes advantage of what the human brain can do subconsciously. John Siracusa and Bruce Tognazzini have already explained this at length (and there are probably better links to their writings, but I don’t have time to find them now).
I also find it curious that Gruber talks about how he wants the OS X Finder to be simpler, but then wants Apple to implement different types of windowing methods, depending on how you view a folder. That increases complexity and decreases consistency. And this would be an improvement?
If I understand Gruber correctly, he wants the Finder to support separate spatial and browser (Columns view) windows. That is, the two types of windows would be visually distinct and it would not be possible to change a given window from one type to the other. Unlike Welch, I think this would be a big improvement and would reduce complexity. If two things are fundamentally different, they should look different. Making them look the same in the name of consistency would only be deception and would cause the user to make false assumptions.
Along these same lines, I think it was a mistake to call the Finder’s commands for copying and pasting files Copy and Paste. They do not adhere to the clipboard’s standard behavior. If you copy a file and then modify it, pasting it will paste the modified version. Further, if you copy a file and delete it (or unmount its volume) you can no longer paste. In trying to be consistent (using the standard Copy and Paste nomenclature), the Finder has deceived the user and created lots of opportunities for confusion.
Gruber also advocates creating what would become a second Finder, namely the “Column view Finder,” which would behave in an inconsistent fashion, depending on whether you single-click or double-click on an icon.
In the current OS X Finder’s Columns view, single-clicking lets you browse down a level and double-clicking opens a new window. That’s not inconsistent, is it? On my reading, Gruber’s proposal is that double-clicking in either a spatial or browser window would always create a new spatial window. That seems very consistent to me.
I find it far easier, under OS X, to show that a window is just the way you look at folders, applications, hard drives, etc. This is a level of abstraction that is more natural.
This is a matter of opinion/measurement, of course, but I think the point with the classic Finder is that the one-to-one mapping makes the abstraction unnecessary. The user thinks that the window is the folder, so there is no need to learn how the abstraction works.
Welch goes on to mention some of the things that are nice about the OS X Finder: the affordance for the path popup, Go to Folder…, and the possibility of using Columns view. He then says “If you feel more comfortable with the OS 9 paradigm, use that as well.”
A lot people who like the OS X Finder approach criticism of it like so:
- The OS X Finder does much more than the OS 9 Finder did.
- The OS 9 Finder had some problems, and the OS X Finder fixes some of them.
- If you see the need for anything other than Columns view, then you are backward and afraid of change.
- But even so you should love the OS X Finder because it supports Icon view and List view, too.
Here’s where I (and I think many of Welch’s “MacMacs”) stand:
- The OS X Finder does much more than the OS 9 Finder did.
- The OS 9 Finder had some problems, and the OS X Finder fixes some of them.
- Columns view is a nice addition, but I also want spatial views that work. If Apple can’t make the spatial stuff work because of the chameleon windows, then they need to break out Columns view into a separate window type.
- There are a lot of things the old Finder did better than the new one (labels, Put Away, speed, windows that auto-update when their contents change) that do not in any way conflict with the new features in the OS X Finder.
- The fact that the OS X Finder has made unrelated improvements does not excuse its regressions. OS X Finder advocates would do well to understand the specific criticisms rather than dismissing them with “I like the new Finder better.”
Although there are differing opinions about the value of various old and new Finder features, there is little actual conflict. I think it’s possible for the Finder engineers to satisfy both groups.
The December 2002 developer tools are out, and now Project Builder can use BBEdit as an external editor. I still prefer the BBEdit error browser (it updates the line numbers of errors as you edit the file—how cool is that?), but being able to double-click an error in PB and have it selected in BBEdit is a
huge improvement.
Bill Bumgarner notes the release of
PyObjC 0.8, and he’s also written
specifications to enable syntax highlighting of Python in Project Builder.
Don’t forget to tune into the two-hour
Firefly pilot tonight. It’s at 8 EST on Fox.
After
missing the two-weeks-ago episode “War Stories,” I was able to get a copy on VCD thanks to the kindness of Beth Aweau. Unfortunately, my DVD player is too old/cheap to play VCDs, and OS X’s QuickTime Player can’t play them either.
MacVCD X can play VCDs on OS X, but I wanted to convert the movie into an MPEG file I could play with QuickTime. To do this, I opened the
.dat file in OS 9’s QuickTime Player and saved the movie as a self-contained file. Then I used vcdgear’s
-dat2mpg converter.
VCDGearX is an AppleScript Studio interface for vcdgear, but I couldn’t get it to work so I ended up using the command-line tool inside VCDGearX’s application package.
Sunday, December 15, 2002
Lambda:
One of the classic papers about incremental and parallel garbage collection. Communicating sequential processes, implementing cooperative multitasking, are the form of parrallism used. The main goal was to design an algorithm with as little synchronization and mutual exclusion as possible.
Ovidiu Predescu:
I think the JSR 201 should broaden the scope of the proposed extensions. Instead of proposing just some minor syntactic sugars to the Java syntax, it should try to extend the language in such a way that allows unlimited extensibility of the syntax by means of macros.
Keith Devens:
On ::Manageability:: there’s an interesting post about how bad Microsoft’s CLR is for running interpretive languages.…I told my friend that this is what Microsoft does…even though they supposedly provide a common framework, they favor their own blessed language. It’s the same with C#.
Eric Albert:
Today’s Philadelphia Inquirer reports that Stanford is starting a privately funded program to do human stem cell research by cloning embryos. This is an end run around the President's attempt last year to block embryonic stem cell research, since the program won’t be dependent on federal funding.…Politics shouldn’t try to stop science, especially in areas in which the potential benefits of the research are huge.
Eric Albert:
How Appealing points to a Washington Post story that surprisingly has received little notice elsewhere. Apparently Microsoft offered to pay the legal fees of any state that didn’t appeal the recent antitrust decision. All but two states accepted the offer and decided not to appeal.
Antitrust Legal Microsoft
Saturday, December 14, 2002
Bill Bumgarner highly recommends
TFM 1.1, a developer documentation viewer and search utility. I think it’s a
great idea, but so far I’m not thrilled with the implementation. There are lots of visual glitches, and it crashes while indexing some of the sample documents. I couldn’t figure out how to view more than one section of a document at a time (or even open the HTML file in iCab). Also, it doesn’t seem to like that I’ve replaced
~/Library/Application Support with a symlink. If a future version is more polished and adds AppleScript support, I’d definitely buy it. For now, I’ll test drive it to see how useful the search feature is. Why does it seem like we still haven’t caught up to
THINK Reference (which has got to be about ten years old now)?
Dave Winer:
Mitch Kapor tries to take the high road, but Wired puts him on the low one—with “10 Things I Hate about Outlook.” Oy. Same old stuff. Apparently it’s impossible for anyone to do anything without it being about Microsoft.
Friday, December 13, 2002
“Firefly is a good design. People don’t appreciate the substance of things. Objects in space. People miss out on what’s solid.” —Jubal Early
Go to Firefly: Immediate Assistance for information on petitioning other networks (like UPN) to pick up Firefly. You can send a free, full-color postcard from USPS NetPost.
Not surprisingly, Fox has cancelled its brilliant show Firefly, after placing it in the 8 PM Friday slot, withholding its pilot, airing the initial episodes out of order, pre-empting it with baseball, and failing to advertise it. Joss Whedon promises not to give up, but if the show does come back it won’t be until next fall. Mac guy Jason Snell has written the best eulogy I’ve seen.
Thanks to the cast and everyone at Mutant Enemy. Your work has brought me much laughter and joy.
What to do now? Why enjoy “Objects in Space,” of course—it starts in five minutes.
Take my love, take my land
Take me to where I cannot stand
I don’t care ’cause I’m still free
You can’t take the sky from me
Take me out to the black
Tell ’em I ain’t comin’ back
Burn the land and boil the sea
You can’t take the sky from me
There’s no place I could be
Since I found Serenity
You can’t take the sky from me
Thursday, December 12, 2002
Steven Levy (author of
Hackers and
Insanely Great) has written an
article on the rising importance of Google.
Tim O’Reilly wrote a great article on piracy and online distribution.
There is nothing in technology that changes the fundamental dynamic by which millions of potentially fungible products reach millions of potential consumers. The means by which aggregation and selection are made may change with technology, but the need for aggregation and selection will not.
Services like Kazaa flourish in the absence of competitive alternatives.…The current experience of online file sharing services is mediocre at best. Students and others with time on their hands may find them adequate. But they leave much to be desired, with redundant copies of uneven quality, intermittent availability of some works, incorrect identification of artist or song, and many other quality problems.
Wednesday, December 11, 2002
E7L3 (no permalink, alas) links to some course notes about the
Evolution of Programming Languages and maintains a list of
Computer Science Classics. (via
Keith Devens)
Ain’t It Cool News really doesn’t like the new
Star Trek movie. I haven’t seen it yet, so I don’t know how accurate the review is, but it seems very plausible based on what Berman and crew have done with the once-great series. It’s like they’re in some kind of franchise-destroying competition with George Lucas.
Sun has an interview with Richard Gabriel, who says that software creation is not purely an engineering discipline.
What do people do when they’re being trained, for example, to get a Master of Fine Arts in poetry? They study great works of poetry. Do we do that in our software engineering disciplines? No. You don’t look at the source code for great pieces of software. Or look at the architecture of great pieces of software. You don’t look at their design. You don’t study the lives of great software designers. So, you don’t study the literature of the thing you’re trying to build.
I think we should.
Kuro5hin has a discussion about how to remain anonymous on the Internet without relying on proxies like anon.penet.fi that for legal reasons are (probably) no longer effective.
Chris Turner points to an animation showing the
boundaries of the U.S. and the individual states changing from colonization to the modern age.
Due to the way
BBEdit handles Unicode and the way Cocoa handles different flavors of the clipboard, pasting from
OmniOutliner into BBEdit can cause BBEdit to switch its script system and change the font away from my preferred
ProFont. The solution is to change the characters in OmniOutliner’s RTF Export preferences to the same ones that are in its Text Export preferences. Then it won’t put any Unicode on the clipboard and everyone will be happy. (Thanks to Jim Correia.)
Tuesday, December 10, 2002
Freshly Squeezed Software has released
MailDrop 1.2, a powerful utility for sending mass e-mails that are customized per-recipient (like with a mail merge). I contributed some code to this new version. You can get 20% off if you buy it this month.
Monday, December 9, 2002
As setup for its upcoming debunking of Leander Kahney’s Cult of Macintosh, today’s MDJ examines the role of the press in Apple’s misfortunes.
Press Watch begins a double-length feature today with a look at how the “Cult of Macintosh” came to be. You probably never joined a cult or think of your decisions as irrational, but lots of reporters and at least one book author are eager to portray you as such to make a quick buck. It’s important because when the press decides something about Apple Computer or its customers, it tends to stick for years and may not be reversible. We look at the Wall Street Journal’s 1993 decision that Apple Computer was in business trouble as a primary example, leading into why the press is so fond of “cult” characterizations. All this sets background for why a certain new book is not only insulting but, in the end, unbelievable, as you’ll see in part 2.
[...]
History is a funny thing. The biggest crisis Apple Computer faced in the last decade was not the mismanagement that led to over US$1.5 billion in losses in a two-year period, but rather the sales drop-off that came from months and months of daily stories wondering about Apple Computer’s future. Whether the reports listed dramatic sales collapses that didn’t exist or dramatic software sales fall-offs that didn’t exist, the major press found a reason almost every day to speculate that Apple Computer might be bankrupt in a few months. The losses and write-offs to fix the company hurt, but what hurt more were the billions in dollars annually from customers who, thinking they saw handwriting on the wall, “moved on” to Windows. Apple’s market share has not yet recovered from that eighteen-month attack.
Saturday, December 7, 2002
I’ve posted a new BBEdit script:
BBEdit has a great feature called Close & Delete, which is available when you hold down Shift and view the File menu. In BBEdit 7.0 and later, the utility of this time-saving feature is greatly diminished because BBEdit asks if you’re sure that you want to delete the file. This script restores the old behavior of the command. If you delete the file by accident, you can always recover it from the trash can.
Ashley Karyl, a
SpamSieve beta tester, wrote me to say that he’s found a great way to speed up the training process: sign up for a Hotmail account. Since he uses
Entourage, which can retrieve messages directly from Hotmail, this is an easy source of spam—letting him add almost 150 spam messages in the last week. “There is a lovely sense of poetic justice in doing all this.”
Bill Bumgarner links to Peter Norvig’s
Python IAQ (there’s also a
Java IAQ) and posts some information about his
.python file.
Daniel Sandler links to
ProFont, a great monospaced font for coding and e-mail. He also links to a
post by Joss Whedon about Friday’s
Firefly episode, “War Stories.” I’ve got to agree with Joss that there is something amazing about this show. It’s about the only TV I watch, and I’m completely in love with it. Over Thanksgiving, I showed my parents “Out of Gas” and “Ariel,” but they don’t see what I see (even though they like sci-fi and westerns, and speak Chinese). They didn’t even think it was funny. My brother gets it, though, and he’s about as obsessed as I am. I don’t know how Fox
expects it to ever get
ratings if they refuse to advertise it. Daniel
missed the denouement of “War Stories,” but due to a VCR snafu I missed all but the first five minutes. I am currently trying to get a copy through
ScoopMe!.
Bo Johan Peter Lindberg links to an article about Group Think and Saturday Night Live.
One of the peculiar features of group dynamics is that clusters of people will come to decisions that are far more extreme than any individual member would have come to on his own.
Thursday, December 5, 2002
Lambda has some
comments on the
JSR 201 and links to an interesting
wiki with comments on the
Java 3.0 proposal.
Technical Note TN2064 explains:
how to ensure that a Mach-O application built against the latest version of Mac OS X can run effectively on older versions of Mac OS X, and what you should do if your application contains the use of APIs that do not yet exist in the older version of Mac OS X.
(link credit to Ranchero)
Ken Bereskin:
Many people don’t realize that you can slide the preview panel up and down. There’s a hot zone near the bottom of the preview.
Perhaps that’s because there’s no affordance. The font panel would be really cool if you could type letters to navigate MenuType-style. I can’t find a link for MenuType, but I think that’s what it was called. It was a control panel that let you type to scroll through the Font menu, and it also provided WYSIWYG previews in varying sizes.
Aaron Swartz praises Robert Bringhurst’s
The Elements of Typographic Style, an excellent book that’s a lot more fun than you might think it could be. Swartz also notes that despite the book’s beauty it’s hard to actually read it because of its binding and shape (I agree). This kind of irony is all too common—despite Tog’s knowledge of computer interfaces, his
Web site was a usability disaster before he got help from
Jakob Nielson.
Daniel Sandler shows how to write objectcurry
in Python:
Called with an object and the name of a method, will return a standalone function that can be called at any time (as if it were still connected to its object).
It seems that Python doesn’t have real closures, but I was able to write make-adder
using the single-element array technique that’s often used with Java inner classes. I also found Peter Norvig’s Python for Lisp Programmers page, which has some great examples of when Python’s more mainstream syntax is and isn’t a win. Norvig says that “Python can be seen as either a practical (better libraries) version of Scheme, or as a cleaned-up (no $@&%) version of Perl.” Finally, the Xoltar toolkit adds functional programming support to Python.
Chris Turner (a pal from
ATPM who’s probably wondering when I’m going to link to his blog) links to a cool
Java-powered animation that’s in the spirit of Philip Morrison’s popular book
Powers of Ten.
Wednesday, December 4, 2002
The
December issue of ATPM is out. I think we struck a nice balance this month between columns and reviews. The columns include a lengthy
gift guide for Mac games and six
Cortland cartoons. The reviews are
AlphaSmart Dana,
BBEdit 7,
.Mac,
icKeys,
Kids GoGoGo,
Mac OS X Killer Tips, and
Ponere.