Archive for June 2004
Wednesday, June 30, 2004
Developing for Dashboard is nothing like developing for Konfabulator. There was almost zero chance that I would develop a a widget for Konfabulator. I’d have to learn a completely new platform, and anyone who wanted to use my widget would have to buy a license for that platform’s runtime. Dashboard gadgets, on the other hand, are Web pages. I already know HTML and CSS, and I have a collection of tools for working with them. The runtime is free. If I want to use Cocoa or Java, I can do that, too. John Gruber says:
In terms of attracting hobbyist-level developers, Dashboard is going to be an order of magnitude more approachable than Cocoa application development. If you know HTML and CSS, you can design a gadget layout. If you know JavaScript, you can program a gadget.
I can’t think of any possible way that gadget development could be based on something that would enable more Mac nerds to get up and running writing their own gadgets.
The Konfabulator developers are in an unfortunate situation, partially of their own making, but what’s getting lost in that coverage is that the Mac is now a platform for writing client-side Web applications.
Dashboard Konfabulator Mac
Tuesday, June 29, 2004
An interview from 2000 with Ritchie, Stroustrup, and Gosling (via the new Lambda).
Scott Knaster:
The Microsoft-baiting banners (e.g. “Introducing Longhorn,” “Redmond, start your photocopiers”) are silly. Microsoft isn’t shipping these features, but neither is Apple, until next year. So I guess it’s “Our vaporware is less vaporous than your vaporware.”
The photocopier line is especially silly, since Spotlight and Dashboard look like responses to Longhorn (or other software, depending on your perspective). Apple should grow up.
Brent and Erik respond to Safari RSS. I think it will help both of them.
Conference Mac Mac OS X 10.4 Tiger WWDC
With UI Actions, you attach a script to a native Mac OS X application, and the script will be triggered automatically by user actions you specify, such as opening or closing a window, selecting a menu item, editing a text field and many others. An attached script can query the target application for useful information about the user action that triggered it, including a reference to the affected UI element and all of its attributes such as position, size, title, role and value. Using this information, every attached script can draw upon the full capabilities of AppleScript, including Apple’s new GUI Scripting, to amplify and enhance the power of the target application.
Thursday, June 24, 2004
Tomas Jogin:
To begin with, they, the beggars—and some of the undead minions—all want an “invite.” Not an invitation, mind you, they want an “invite.”
Nicholas Riley:
lftp is really amazing. Perhaps it seems odd I'm saying this for a command-line utility, but it does what I mean, virtually every single time.
Ben Hammersley has posted a short Perl script that collects TODO
comments from source files and puts them into an RSS feed. I read TODO comments in BBEdit’s search results browser, but I'm tickled that finding and displaying them is so easy with Perl’s File::Find and XML::RSS.
Wednesday, June 23, 2004
Joel Spolsky’s essay on how Microsoft
lost the API war is typical Joel. It’s informed and well-written,
and yet because some of the minor points and assumptions are
unsupported, I don’t quite believe the conclusion. When I read an essay
at Daring Fireball (which you should support),
the points usually click into place. I can often see early on where
Gruber is going to take an argument and how he’ll get there. Then it’s
just a matter of watching the exquisitely crafted dominos fall. Would
Joel on Software read like that if I had a Windows
background instead of a Mac background?
In any case, my main problem with Spolsky’s argument is that he sees .Net
as almost a Netscape 6 kind of
rewrite. But imagine if Mac OS 9 applications ran as first-class
citizens on Mac OS X and if Carbon had automatic memory management and
were accessible from a variety of modern languages. Now, maybe I’m all
wrong, but I see this as good for Microsoft. They’ve maintained
compatibility for Win32 applications. If there’s no return on your
investment for porting to .Net, then don’t do it. At the same time, it
is now much more attractive for developers to write new applications
that will only work on Longhorn. Good developers like good tools; by
providing good tools (and lots of marketshare—large numbers of people
will upgrade to Longhorn), Microsoft will ensure that Windows
development remains vibrant.
The “MSDN Magazine” technologies that Microsoft is always trying to
sell to developers sound like QuickDraw GX, OpenDoc, and PowerTalk.
Nice as these technologies were, Apple was never fully behind them. But
by Spolsky’s own admission, the MSDN Magazine Camp has won. .Net is not
a novelty, but a bet-the-company initiative. And not a very risky bet
at that—unlike sticking with Win32 forever. Long-term, Win32
is a lose, and not just because of the Web. Microsoft realized this
before most people. There was no way to restore the old jewel’s luster,
so they built a new one, .Net, to keep desktop developers locked in,
and to try to lock in the Web developers as well.
Speaking of Web developers, John Gruber has
some interesting thoughts about Web applications:
The persnickety little UI details I obsess over — these are nothing
compared to the massive deficiencies of even the best web app. But most
people don’t care, because web apps are just so damned easy to use.
What’s interesting is that web apps are “easy” despite their glaring
user experience limitations.
What I missed when I dismissed them a decade ago is that web apps don’t
need to beat desktop apps on the same terms. What’s happened is that
they’re beating them on an entirely different set of terms. It’s all
about the fact that you just type the URL and there’s your email.
I have two things to say about Web applications. First, they will
continue to only make sense for certain kinds of functionality. The Web
is becoming more important, and yet desktop isn’t going away. This is
because software isn’t a zero-sum game like mindshare is. New Web
applications don’t necessarily mean fewer desktop applications. On the contrary, we’ll need more desktop applications just to help
build Web applications, and wrappers like Watson and
Netflix Freak to make them easier to use. These are, of course, markets that .Net is aimed at capturing.
Second, I think the interesting thing about Web applications is how
they play with our expectations. As bad as even the best Web
applications are, they somehow feel better than non-native Mac
applications—because they’re good for what they are. Exclude, for the
moment, the benefits of being able to use a Web application, with your
data, on any computer. Would you rather use Gmail or Chandler? Yahoo!
Calendar or the original Palm Desktop?
Monday, June 21, 2004
Is it a bad sign that aliases on my drive keep changing to point to
different files and folders? For instance, on Thursday I discovered
that the alias to my downloads folder now pointed to the Eudora
application. This sort of thing has been happening on and off for
months. Disk Utility and DiskWarrior both say the drive is fine.
Tuesday, June 15, 2004
PayPal is spinning its
new fee structure as a good deal, but the reality is that if you
sell between $1,000 and $10,000 per month, you’ll pay a higher
fee after August 6. Your fee only decreases if you’re selling more
than $100,000 per month.
Monday, June 14, 2004
Clotho is a
Mac OS X IDE for OpenMCL, a
free Common Lisp environment that can call Cocoa. Alpaca is a simple
text editor—basically NSTextView with a REPL—that
demonstrates calling Objective-C from Lisp. The bridging is not as
pretty as PyObjC’s, but on
the other hand you get Lisp’s expressiveness and compiled-code speed.
Joe Mullins:
On the newly released G5s, there is a new feature in the Setup
Assistant that launches on first boot. It has been called system
migration by macfixit. I thought I would give our readers an in-depth
look at this new feature.
Thursday, June 10, 2004
Mark Cuban:
At this point, many entrepreneurs think the next step is to take all this feedback, update their 100 page business plans and go out and raise money. It’s as if the missing link for success in a business is cash to get started. It’s not. Far more often than not, raising cash is the biggest mistake you can make.
Dave Hyatt:
iTunes does not use WebKit to render the music store. What you see when you visit the iTunes music store may look “Web-like,” but it isn’t HTML, and it isn’t rendered by WebKit.
Tuesday, June 8, 2004
Jason Snell:
iTunes does the heavy lifting. When iTunes plays back standard audio content (AAC, MP3, audiobooks, music streams), it decompresses those file formats and creates what’s essentially a raw, uncompressed audio stream. That stream is compressed on the fly using Apple’s Lossless Compression, encrypted, and sent to the AirPort Express. AirPort Express decrypts the stream, decodes it, and outputs it…
Monday, June 7, 2004
I’ve posted some scripts for use with SpamSieve. Some show how to use the “score” script command to separate the very spammy messages from the ones that are more likely to be false positives. Others let you quickly discard the accumulated spam or redirect the non-spam messages to a second account that you check from a dialup or handheld. Leave a comment if you want to suggest a new script or contribute one that you’ve written.
SpamSieve
Lee Bennett:
[Exif Untrasher is] a free utility that attempts to recover images deleted from a memory card—even if you formatted it instead of erased it. I’m here to tell you first-hand that it works.
Exchangeable Image File Format (EXIF)
The important thing to remember here is that the product is called AirPort Express. It’s a base station with some music capabilities, not a music device with wireless capabilities.
Buoy is an interesting public-domain wrapper for Swing. It uses reflection to let you create Cocoa-style connections between event generators and event handlers, without the cruft of using interfaces and anonymous adapter classes. For instance, the Java:
widget.addEventLink(ActionEvent.class, obj, "doSomething");
is loosely equivalent to the Objective-C:
[widget setTarget:obj];
[widget setAction:@selector(doSomething:)];
Several benefits fall out of this design, and Buoy also makes other improvements to Swing. For instance, (like Cocoa) Buoy doesn’t generate events when you manipulate widgets programmatically.
I don’t write Swing code anymore, but if I did I’d surely want to use something like Buoy.
Saturday, June 5, 2004
John Gruber makes some well-argued points about security myths, but the real story here is his implication that Mac users live in a good neighborhood in spite of Apple.
Zero tolerance, on the part of the user community, is the only policy that can work.
It’s similar to the “broken windows” theory of urban decay, which holds that if a single window is left unrepaired in a building, in fairly short order, the remaining windows in the building will be broken.
A fine theory, and it also applies to individual software projects.
Wednesday, June 2, 2004
Gary Robinson:
I don’t think most people in the antispam community should get too worried about this patent, unless they specifically know that their filter carries out the claim limitations mentioned above.
I read the patent myself first, so as not to be influenced, and interpreted it the same way Gary did. That’s not to say that I like it, but some of the negative reaction seems to be overblown.
The June issue of ATPM is out.