Archive for the 'Reviews' Category

Amadeus Pro’s noise-removal filter

Thursday, February 11th, 2010

Many of you may remember an audio editor named Amadeus II. It turns out that there is a successor to it now, named Amadeus Pro.

One of Amadeus Pro's features is the ability to remove noise, quickly and simply. Find, within the audio, a patch of nothing but noise, and choose “Sample Noise”. This trains the filter for that audio. Then, select the whole thing (or nothing), and choose “Suppress Noise”.

That's it. Sample Noise, then Suppress Noise.

Here's the result, as demonstrated by a 12-second clip from a recording, ripped from cassette, of Haydn's Symphony #49, “La Passione”:

(This is actually from a quiet section; I amplified it before filtering it so that you can hear the hiss at the start.)

That's not to say that it only works on music. I'm also using it on the audio for forthcoming CocoaHeads Lake Forest videos.

This feature alone is worth the $40 for this application.

Before anybody mentions Audacity: Yes, Audacity has a Noise Removal tool, but it lacks the It Just Works factor of Amadeus's noise-remover. Audacity gives you three settings to think about, with names only an audio engineer could love. (“Frequency smoothing”?!) In Amadeus, all you need to tell it is “here's what noise sounds like. Go kill it.” This (plus a native Mac OS X interface) is worth the money to me.

The iPod Radio Remote and Griffin Navigate

Saturday, January 9th, 2010

Some of you know that I use a second-generation iPod nano (the best iPod ever) with an iPod Radio Remote. There are two generations of iPod Remote; here they are side by side:

iPod Remote and iPod Radio Remote

The original is on the left. It was for the 2G iPod (that's what I had, anyway) and possibly some other models. That remote didn't have a radio tuner in it. The one on the right, the one that has a Dock connector and looks like a 2G iPod shuffle, is the iPod Radio Remote.

The iPod Radio Remote never did work with the iPhone and iPod touch. Every introduction of a new iPhone or iPod touch model (including the originals) made clearer that they'd either make a third generation or kill it. Sometime around the time when they introduced the new Apple Remote, they chose the latter.

At some point, Griffin Technology introduced their Navigate. I spotted one today at Walmart for $20 on clearance and snapped it up. Walmart normally sells it for $50, and MSRP is $60.

Not only does the Navigate work with my 1G iPod touch, it adds a display showing the current track. The iPod Radio Remote never had this! The picture on Griffin's website doesn't do it justice; it actually looks much better, as shown in this video:

(If you want to really see how good it looks, click through to the YouTube page and watch it there.)

Like the Radio Remote, the Navigate has a clip. Unlike the Radio Remote, it's not a moving part; it's just a fixed, flexible (but not too flexible, but not too stiff, either) bit of plastic. Time will tell how easy it is to break.

True to its name, you can even use it to navigate your music: It will let you pick a playlist, artist, or album to listen to, and change the shuffle setting. However, it does not let you go straight to a specific song, which makes that feature useless for me. I understand why that limitation exists, though: It would be much more difficult to scroll to it with the Navigate's buttons than with the iPod's own click wheel or touch screen.

Navigating the FM band isn't exactly easy. When moving along the frequency band itself, next and previous move one frequency-stop at a time. You can set presets, but only four of them. It's not at all obvious how to set and use them; I'll leave it to the manual to explain it. Ameliorating this problem is that it remembers the last station you had tuned, so it's not like you're going to have to deal with the preset menu every time you turn on the radio.

I do have a couple of significant problems with it.

The first is that it doesn't remember your volume setting. (The Navigate has its own volume setting, separate from the iPod's; the iPod's volume setting has no effect on audio through the Navigate. This is another difference from the Radio Remote, which had no volume of its own.) The Navigate doesn't have a battery; it relies on the iPod for power, so it goes dead when you unplug it. Then, when you plug it back in or plug it into a different iPod, it's back to the default volume, which is quite loud for me. This will probably grate on me a bit.

The other problem is that it doesn't fit in my iPod touch's Dock connector with its SeeThru hard case on it. My iPod nano doesn't have a case on it, so I don't have that problem with that iPod. If you don't have a case on your iPhone or iPod touch (or other iPod), or you use a different case that won't conflict with Griffin's Dock connector, then this won't be a problem for you.

I hope a future version of the Navigate will remember the volume setting and have a slightly thinner Dock connector so that it isn't blocked by my iPod touch's case. Even now, though, I consider the Navigate a worthy successor to the iPod Radio Remote, primarily because of the display, secondarily because of the iPod touch (and iPhone) compatibility.

Energizer’s 15-minute NiMH charger

Thursday, December 10th, 2009

Some of you remember that a few years ago, Rayovac introduced their “IC³” NiMH batteries and chargers. The IC³ chargers could charge the IC³ batteries in 15 minutes, but only the IC³ batteries—they could charge regular NiMH batteries, but in the usual 6–8 hours. Naturally, the magic batteries were expensive: $20 for a four-pack of AA.

At some point (I bought mine earlier this year, if I remember correctly), Energizer introduced their own 15-minute NiMH charger. Unlike Rayovac's, this one doesn't require special batteries; it'll charge any NiMH AA or AAA batteries. It can do up to four batteries at once, with the restriction that if you load both slots 1 and 2 or both 3 and 4, they must form a matched pair (no mixing ages or mAh ratings within a pair).

Besides requiring Rayovac's special batteries, the IC³ charger had other problems: Copious RFI output, and a very loud fan to keep the batteries from overheating. Energizer's charger has no RFI that I've been able to notice, and while it does also have a fan, its noise level is much more reasonable.

The Energizer charger has a car cigarette-lighter plug, so that you can charge batteries in your car. The IC³ charger plugged straight into the wall. I don't use that, but maybe you could.

There is one catch to the Energizer charger's “15-minute” claim: 15 minutes is its time for 2200 mAh batteries like the ones it comes with; higher-capacity batteries will take a few more minutes. That's actually good, compared to the IC³ charger, which charged in either exactly 15 minutes (Rayovac's own special batteries) or 6–8 hours (anything else). Energizer's charger doesn't have any special requirements, so it'll finish in 15–20 minutes no matter what NiMH batteries you put in it; the charging time scales with the batteries' capacity.

It's hard to find online. Amazon.com has it twice, but doesn't sell it themselves; the two listings are from independent sellers. Target.com doesn't have it, even thought I bought mine at Target (physical store).

The prices on Amazon are a little over $30; a bit expensive compared to other chargers, but it's helped me be much better about keeping my camera's batteries charged, so I deem it worth it.

In order that this review should not end without a link, here's the chargers section of Energizer's website. Unfortunately, they don't have a way to link to a specific charger; you'll have to find it in the list and click on it. That will give you a photo so you can find it at a store. Alternatively, here's Google Products.

The successor to iShowU

Thursday, September 10th, 2009

As you may be aware, I've used iShowU in the past to record screencasts. Yesterday, after iTunes 9 came out, I went to record a screencast of one of its features, but was stymied because iShowU, even as of 1.74 (its current version), stopped working in Snow Leopard.

So, on Twitter, I solicited recommendations for a new screen-recording tool.

iShowU doesn't work under Snow Leopard. What's a good replacement?

(Not ScreenFlow, not QTX)

After some of the nominations came in, I wrote a list of features I require:

My requirements:

  1. A rectangle, not necessarily whole screen
  2. Animation codec
  3. Size presets
  4. Good UI

QuickTime X fails at the first three points: It can only record the whole screen, and only in H.264. Its UI is “good” through extreme simplicity, which it achieves through (presumably deliberate) lack of features.

ScreenFlow's exclusion is special. I've always been put off by a passage from its marketing copy:

ScreenFlow has advanced algorithms that only encode areas of change on your screen.

OK, so either they're unnecessarily sucking up my CPU with “advanced algorithms”, or they're using a Quartz screen-refresh callback (like they should be doing) and calling it “advanced algorithms”. Neither possibility impresses me.

Here are the other contenders, in order by nomination.

Snapz Pro X, nominated by Steve Streza, fails point four, as I harshly told him in reply. (Sorry!) As I said in my reply, it's designed for taking static pictures; every time I've used it, I've found that that UI doesn't work well for creating movies. I don't remember whether it satisfies points two and three or not.

Camtasia, nominated by Chris McQueen, has been around on Windows for a long time, but recently joined the Mac market as well. It looks nice, but it's way too pro-caliber for me. On the other hand, if I didn't already have Final Cut Express, I'd probably take a harder look at it for its editing tools.

(Say, I wonder if my old version of Final Cut Express (3.5) works in Snow Leopard. Hrm.)

This is the point in the timeline where I published my list of requirements.

I dismissed Screen Mimic, nominated by Rob Rix, for three reasons: First, I'd already found my winner, which strangely received no nominations. Second:

Flash-based screen recording for OS X

It's not as bad as that makes it sound (well, not as far as I can tell without downloading the demo, anyway). What they mean by “Flash-based” appears to be that it can export the recording as Flash video as well as QuickTime. It's probably a nice enough app, but the idea that it's designed around Flash put me off.

The third reason was that there are no screenshots. I know these are screen-recording apps and it's good to eat your own dog food, but static pictures are good, too. I can load and look at a full-res static picture much more quickly than I can load up even a half-res video. The faster I get to like your app, the more likely you are to make a sale; conversely, throw delays in front of me, and I'm likely to give up.

The final nomination, from Uli Kusterer, was Screenflick. It looks nice enough, but fails point 3 (presets).

The winner, which I found independently, is Screenium. It's simple, it satisfies all of my requirements, it works in Snow Leopard, the trial limitation is pretty good (full quality, but no more than 30 seconds per recording), and the price is only $29. It even has a button to set the target rectangle to that of a specific window, which was perfect for the video I had in mind at the time. Plus, it has QuickTime export built-in, so I no longer have to use QTAmateur for that.

Here's the video, which I recorded using Screenium's trial mode. (If you don't want Vimeo's scaled-down version, hit the download link in the lower-right for the full-res QuickTime movie I uploaded. That'll be up for about a week.)

Thanks again to everyone who replied for all of their nominations.

Targus Chill Mat follow-up

Sunday, May 24th, 2009

I wrote previously about the Targus Chill Mat. Two Chill Mat generations later, it's time for an update.

When I wrote the previous post, I had only the first-generation Chill Mat, and Targus had just introduced the second generation. I finally bought one a few months ago.

It does seem more effective at cooling than the first-gen, but the price I paid for that is that it's loud—so loud that I would intentionally put it aside and go back to the first-gen for my monthly trips to CocoaHeads Lake Forest.

Last week, visiting Walmart for the first time in a long time (they remodeled it! it sucks less now!), I noticed that there is now a third generation. I picked it up for $20, partly out of curiosity regarding just where they stashed the cable, since I couldn't see it from outside the package.

For those of you not familiar with the Chill Mats, they're powered by USB. One end looks like the end of a DC power cable (as from a wall-wart), and the other end is a USB A connector.

The first and second generations had a problem where bouncing around inside your laptop bag with the DC connector plugged in would cause the connector to become loose, and eventually stop making reliable contact. The first-generation also had an inline power switch, which was even easier to break; they knocked that off with the second-gen, so let us not speak of it again.

The third-generation adds a nifty feature: Set into the underside of the mat is a hollow cleat, with a clip on each side of it. You wrap the cable around the cleat and hold it in place by snapping it into the clips, and you put the USB connector inside one end of the cleat and the DC connector inside the other end.

This cleat feature should help relieve the fragility issues that plagued the DC connector on previous Chill Mats, because now I have a better place to store the cable than plugged into the jack.

The third-generation is also much better about noise (to the point that I'll feel comfortable bringing it to CocoaHeads), but the trade-off is that it cools much less effectively than the second-gen. Even so, I think it's good enough. (In case you're wondering, it is a little louder than the first-gen.)

All told, this is the best Chill Mat yet, and it will be my Chill Mat for all uses from now on.

UPDATE 2009-05-24: When I went to add links to this post, I noticed the Chill Mat for Mac on their website. I haven't seen this in any store. If you find or order one, I'm curious to hear how well it works (you can set iStat Menus to show your MBP's external temperature) and how loud it is.

finetune vs. Pandora

Tuesday, January 13th, 2009

The most popular mix-and-match-music app, according to the completely objective score of how often I hear its name, is Pandora.

Pandora's application icon.

Most of this popularity came with their release of an iPhone app back in July 2008. The iPhone app makes the site portable: previously, you could only listen to Pandora while chained to a browser (or a SSB), but now you can listen to it anywhere that's in cell range.

Pandora now has competition.

finetune's application icon.

It first appeared in AppShopper's free iPhone apps feed on 2008-11-08, but I didn't see it then (I probably scrolled past it). I did see it when they released their 1.1.3 update back on 2008-11-31.

Its name is Finetune. Like Pandora, it's free.

The differences:

  • Unlike Pandora, Finetune doesn't require an account.
  • Pandora has an option to jump over to the iTunes Store to buy a song; Finetune has no such feature.
  • Finetune only creates stations based on artists; Pandora lets you name an artist, song, album, or composer.

I think Finetune does a slightly better job of selecting songs that are similar to the work of the requested artist. (Sometimes this is hard, as in the case of the Beatles, who produced very diverse work.)

One major drawback to Finetune is that, since it only lets you select based on artist (performer), not composer, it really sucks for classical music. (The service has it, but it's little better than shuffle-play.) If you want a customized classical station, Pandora is currently your only option.

(Note: I wrote this before Pandora 2.0 came out, but it's still accurate. If anything, Pandora 2.0 is even better for classical now, since you can now make stations by genre.)

Review: BurnBall

Tuesday, January 13th, 2009

On 2008-12-12, Tim Haines, the developer of BurnBall, contacted me on Twitter to offer me a free promo code. I accepted, and played the game on my first-generation iPod touch.

The game is basically Qix with a Sonic-the-Hedgehog-esque theme. Based on that, I give you this pull-quote:

If you like Qix, you'll like BurnBall.

As it happens, I don't like Qix. The main thing about Qix that frustrates me is that enemies can kill you just by touching your trail while you're cutting off another piece of the level. This makes some sense for the Tron-based theme of some of the other Qix work-alike games, but it has the effect on gameplay that you can't make any but incremental progress, especially after the first few levels, as the number of enemies goes above 2. Your only hope is that your enemies will see some shiny thing and leave you alone long enough to let you complete your wall; otherwise, you can only complete the level a little bit at a time.

One way in which somebody could improve Qix would be to let enemies go right through your wall, and compensate by making them more aggressively pursue you. Then, you'd stand a reasonable chance of completing the wall, if you can just dodge the enemies. Another way would be to have enemies bounce off the wall, which would provide you with a way to restrain them while you draw more wall—but that may make the game too easy.

BurnBall is graphically different enough from Qix that it could pull off either change, although it probably should be an alternate game mode.

So, basically, the only reason I dislike BurnBall is because I dislike Qix games in general.

That said, BurnBall is a very good Qix game, being both well-drawn and responsive to your control. (Since I originally drafted this post, there's been an update that tweaked the tilt response; I haven't tested it.)

BurnBall has an advantage over Qix work-alikes on other platforms, in that you can move in any direction—you're not limited to up, down, left, and right. You move by tilting the iPhone.

Another advantage of BurnBall over other Qix work-alikes is that Haines holds high-score competitions with monetary prizes on the app's Facebook page. He also posts a free promo code every time that page gets another 100 subscribers, so you may not even have to buy the game.

If you'd rather not wait for the next promo code, the app is 99¢ on iTunes.

iPhone sudoku follow-up: ACTSudoku

Tuesday, July 29th, 2008

A couple of weeks ago, I posted a list of requirements for an iPhone sudoku app. At the time, no app satisfied all of the requirements, but one did come close.

Pierre Bernard of Houdah Software posted a comment that his sudoku app, ACTSudoku, satisfied all but one of the requirements I listed. The only one remaining was rotational symmetry, which he asked about.

In response to our dialog on that post, he added rotational symmetry in ACTSudoku 1.1, which Apple has now approved. You can download it now for $2.99 USD (or free if you bought one of the earlier versions).

UPDATE 2008-08-01: As of yesterday, there's now a free version of ACTSudoku, which only generates easy puzzles. This is good if you'd like to try it for yourself, but you don't want to spend $3 just yet.

The interface is simple enough:

ACTSudoku's interface is a sudoku grid on a wooden background, with the difficulty below it on the left and the timer below it on the right. At the bottom is a toolbar with three items: A + button, an Info button, and an X button.

Notice that there's no row of numbers for input. The obvious thing to try is tap on a cell, and it works:

Tapping on a cell brings up a square pop-up containing nine numerals, possibly colored by pencil-marks.

In other words, the interface is obviously postfix. The key word there is “obviously”: One of my requirements was that it must be obvious how to input numbers.

The input method is not perfectly obvious, however. One thing that stumps a lot of people (going by Bernard's response to some iTunes reviews) is the fact that simply tapping on a number in the pop-up enters a pencil-mark, rather than locking in the number. You must hold down briefly to set a number in the cell. In the comments on the previous post, I suggested swapping these behaviors; I maintain that suggestion. (UPDATE 2008-10-29: ACTSudoku 1.5 added a preference to do this. It does, indeed, make a tremendous difference in the app's usability.)

You may be wondering what all the green dots are. Those are pencil-marks, filled in automatically by the game. This is optional; you can turn it off in the settings, if you want to be completely free to make mistakes.

ACTSudoku's settings are in the Settings app; the only control there, as of 1.1, is a light-switch controlling the automatic pencil-marks.

With the automatic pencil-marks turned on, the game will not let you enter a wrong number. With them turned off, the game will let you enter a wrong number. Either way, you can clear the cell by tapping again on the cell and holding down on the giant number.

If you tap on a cell with a number filled in, the pop-up has only that number, and it fills the entire size of the pop-up. Holding down on it clears the cell (and, if automatic pencil-marks are turned on, restores the marks). In this screenshot, the cell has a 4 filled in.
Hold down on that giant 4 to clear it from the cell.

Of course, ACTSudoku is not perfect. It has some minor problems:

  • The interface confusion that I noted above. A long tap sets the number, whereas a short tap sets a pencil-mark. This arrangement makes no sense with automatic pencil-marks turned on—and they're on by default. It would make much more sense to have the tap lengths the other way around.
  • The northern, eastern, southern, and western blocks are have dimmed-looking gray backgrounds, for no apparent reason. This is slightly distracting (but not enough to qualify as “garish”). I would prefer if all the blocks were uniform white.
  • I'd like to be able to turn off the timer. Again, I find this distracting.

However, it satisfies all of my requirements, so I declare ACTSudoku the winner of the iPhone sudoku race. Congratulations to Houdah Software!

The Targus Laptop Chill Mat is a piece of crap

Sunday, March 30th, 2008

Under my MacBook Pro, I use a Targus Laptop Chill Mat. The Chill Mat is an active-cooling pad: it contains two fans that suck in air at the top (i.e., between the laptop and the mat) and thrust it out the back.

And it is a piece of crap.

I'm currently on my second Chill Mat. The first one died when the connector in the mat went loose, so that the cable's connector no longer made a good connection with it. I sent that one in for warranty service, and got back the one I was using up until a few days ago. The way this one died is that the inline power switch on the cable is now permanently off, and just flops around; I cannot turn it on.

Looking at the website in preparation for this post, I noticed that the Chill Mat shown on the website looks different from mine. Maybe they've redesigned it, and the hardware is more reliable now. I intend to investigate this.

But, if that fails, I have three choices:

  1. Send this thing in for warranty service again.
  2. Surgically remove the inline switch, and hope the connector doesn't flake out.
  3. Get a different active-cooling pad.

I'm seriously considering #3, but I'm not sure of my options. (I am definitely not open to passive-cooling solutions such as Targus' coat rack.) Having made one bad choice before, I now turn the decision over to you.

Can you recommend a good USB-powered active-cooling pad for a 15″ MacBook Pro?

Opacity

Wednesday, February 13th, 2008

As you may have read on wootest's weblog, Like Thought Software released its new image editor, Opacity, today.

Before I go any further, here's full disclosure: The developer invited me to beta-test the app, and I did. He also gave me a free license for this purpose (the app normally costs $89 USD). Also, I have some code in the app, because it uses IconFamily, which I contributed a patch to a long time ago.

OK, that's everything. Now, to borrow from wootest's disclaimer on the same topic:

Don’t confuse this as simple tit-for-tat back-scratching, though. Had I … had no involvement whatsoever, the application would still have been every bit as brilliant, and I would have come out just as strongly in favor of it.

I love this app.

Opacity is an image editor designed to enable app developers to create multiple-resolution and any-resolution graphics easily. It's built for that specific purpose, and the Opacity website even says so. This app really is not intended for anything other than user-interface graphics.

Key points:

  • It's mostly vector-based, but it also has primitive raster tools.
  • It has non-destructive Core Image filter layers, similar to Photoshop's adjustment layers. (Contrast with Acorn, which makes you apply each filter permanently. You can't go back and edit the filter parameters.)
  • It has built-in templates for most common icon types.

Opacity has several important features over past editors:

  • It has built-in support for multiple resolutions. Every Opacity document has one or more resolutions, and you can add and delete them at will.
  • It has a target-based workflow. Each Opacity document is, essentially, a “project” for one image; every target in the document results in one image file in an external format, such as TIFF or IconFamily (.icns). (The application now calls these “factories”, but early betas did, in fact, call them targets, and I prefer that terminology.) You can build each target factory or all targets factories at will, and there's an option to build all whenever you Save.
  • You are not limited to the stock suite of transformations (e.g., Rotate 90°, Scale, Flip Vertical); you can make your own.
  • You can create folder layers to group layers (especially filter layers) together, and these folder layers can be nested as deeply as you want.
  • When configuring a Core Image filter that accepts an image as a parameter (e.g., Shaded Material, Blend with Mask, or one of the Transition or Composite filters), you can use any layer in the document—even folder layers.

Opacity is not perfect. Some things don't quite work like you would expect: for example, vector objects do automatically appear in every resolution, but pixels that you draw or paste don't automatically get mirrored to the other resolutions; instead, Opacity waits for your explicit say-so (the Clone Current Layer's Pixels to Other Resolutions command). Opacity also still has a couple of major bugs: Flip Horizontal, for example, takes way too long in one document that I created. Personally, I didn't expect it to go final this early, and I recommend that you wait until at least 1.0.1.

But those are dark linings in a silver cloud. Once all the major bugs are fixed, I believe that this app is how you will create your application's custom toolbar and button images for the modern resolution-independent world.

Notes on Sapiens

Tuesday, October 2nd, 2007

Sapiens, which I found on the DFLL, is a new app launcher that serves as a mouse-based counterpart to Quicksilver.

(Of course, Quicksilver can do a lot more than launch applications. Sapiens can't, so it's a counterpart in only the app-launching aspect.)

One thing I noticed is that when it's running, it gets two Dock tiles:

One of them is the application bundle as I see it in the Finder, which is what I added to the Dock myself, and which is no longer running; the other is the application behind the running Sapiens process, which appears in the Dock for only that reason.

That's if you add it to the Dock from the Finder, of course. That's what I did. If you just drag the running process into place, you'll have only one tile.

The reason for this weird behavior is that Sapiens is actually two applications: The front-end app (which, I guess, just checks whether you've run Sapiens before and shows you the intro movie if you haven't seen it yet), and the real app (which runs in the background and is the real app-launcher app).

Speaking of the intro movie:

The Resources folder for the front-end app contains the introductory movie as a Shockwave Flash (SWF) file, and an HTML file to display it.

What?

Seriously, this is a Mac application. QuickTime is always available, and it's a lot easier to put a QuickTime movie into a QTMovieView (just type the name into the field in IB) than it is to put a Flash movie into a WebView. (And I don't think you even need the HTML file. You could just load the SWF file itself into the WebView.)

The idea is cool, and the app seems to implement it well enough. If I see any other weirdness, I'll add it here.

MacUpdate alternatives

Saturday, June 30th, 2007

Following the recent flap about MacUpdate prematurely listing Perian 1.0 before it had really gone 1.0, I think it appropriate to present a list of software-listing sites that are not MacUpdate. If you want to boycott or just casually avoid MacUpdate, whether for that reason or other reasons, this list will help you do that.

You'll know some of these, but you may not know all of them. I'll start with the ones you probably know and build up to lesser-known sites. That said, the order is not strict, so just because site A came after site B doesn't necessarily mean site A is any better or lesser-known.


  • VersionTracker: The old standard. This was the very first Mac-specific software-listing site, and MacUpdate's primary competition (indeed, MacUpdate exists to compete with it).

    VT's main downside is used to be that it is was a very ad-heavy page. This inspired MacUpdate's founding principle: fewer (initially no, as I remember it) ads, so that the page would load faster.

    One handy—though well-hidden—feature is that on the “Updates by Category” tab, at the bottom, there's a list of single-license lists, including a freeware-only list.

    UPDATE 2007-07-06: VT has mostly done away with ads, and has a freeware view. Thanks to Hoopla for pointing out my error and the freeware view in a comment.

  • Download.com: The other old standard. I'm not sure which is older. Unlike VersionTracker, Download.com was for Windows (maybe even DOS) first, then added Mac software later.

  • Softpedia: A more recent entry (at least on the Mac). It's quite similar to Download.com and Tucows, IMO. You can tell that they were a Windows site first because of what every developer they list gets: an (unintentionally-)amusing email certifying that the developer's software is virus-free, along with an icon on the listing page indicating the same certification. Mac users (at least those who haven't used Windows recently) see this “100% virus-free” graphic and think “Yeah? Why wouldn't it be?”.

    One nice feature is that, like VT, it lets you filter the list to only freeware.

    UPDATE 2007-07-06: The same update as above. Specifically, I added “, like VT,”.

  • Tucows: The third of three (that I know of) sites that originally only listed DOS/Windows software; also the other other old standard. I never used it much, but it's much better than I remember it: the last time I tried it, I couldn't figure out how to download any of the software listed.

  • iUseThis: The newest entry into this field. The hook of iUseThis is that it works similarly to digg: If you use an app, you can go to its listing and vote it up (that is, digg it) using the “i use this” button. AppFresh integrates it, which is nice if you're both an iUseThis user and an AppFresh user. (Be sure to click the button on AppFresh's iUseThis listing for mad cyclicality.)

  • Macintosh Products Guide: The elder of Apple's two software-listing sites. Though it's open to any software, the MPG emphasizes commercial products.

  • Apple's Mac OS X Downloads: I suspect this isn't well-known, because Apple's main effort to publicize it is a menu item in the Apple menu. (It's much better-known among Dashboard widget authors, as it was the first site indexing widgets.) Trying to help that, MacBreak did a recent MacBreak Minute about it. (To be clear, I had already known about it before the MacBreak episode.)

    Not to be confused with the Macintosh Products Guide, listed above.

    (Added a few minutes later: Chris tells me it actually does bring in a fair number of downloads, especially if you get featured.)

  • Pure-Mac: Unlike the others, Pure-Mac places less of an emphasis on the running list of new and updated titles, instead presenting above the fold its list of categories. This is Pure-Mac's central feature: the other sites simply maintain a blob of software that you search with a field, whereas Pure-Mac breaks them down into smaller category blobs.

    Pure-Mac is also probably the fastest-loading of the sites, because it uses static pages rather than CGI.

    Full disclosure: I do know the maintainer somewhat, as both I and the maintainer have been regulars on the same IRC channel at the same time. That didn't affect Pure-Mac's placement within this list.

  • HyperJeff: Perhaps the smallest of the software-listing sites (though Pure-Mac gives it a run for its money). HyperJeff's site lists libraries and frameworks alongside applications, and notes whether each app is Carbon, Cocoa, or Java. He has written about his catalog's characteristics on his “Why this listing exists” page.

  • Open Source Mac: A simple, digested list of what the maintainers think are the best open-source apps on the Mac. If you'd like to use as little closed-source software as possible, this is a good first stop.

    Full disclosure: Adium is listed here, and I'm one of Adium's developers. Again, that didn't affect the placement of the site within this list.

  • Mac Games and More: Guess what it emphasizes!

    I found this one upon searching Google for “mac software” to check whether I'd missed any. I've never used it before, so I haven't much to say about it.

You know, I never realized how many Mac-software listings there are before making a list. There are nearly a dozen listed here. That's a cool fact right there.

Really cheap flash memory

Thursday, June 28th, 2007

At your local Micro Center, behind the counter, they have USB flash-memory sticks for $16 for 2 GB.

Here's a photo comparing the size of the stick to the size of a US 25¢ coin. The stick is about twice as long as the quarter, and ⅔ of the width.

There is a catch: It comes with a second read-only memory device containing preinstalled software for Windows. Fortunately, this is easy to disable with a simple fstab rule.

The main storage device, on the other hand, is easily reformatted in Disk Utility. The stick is USB 2.0, as you can see from my dd results:

Plugged into my keyboard (thereby constrained to USB 1.1)

dd bs=62914560 count=1 if=/dev/zero of=temp          %/Volumes/Stick of data(0)
1+0 records in
1+0 records out
62914560 bytes transferred in 63.105605 secs (996973 bytes/sec)

Plugged directly into one of my USB 2.0 ports

dd bs=62914560 count=1 if=/dev/zero of=temp          %/Volumes/Stick of data(0)
1+0 records in
1+0 records out
62914560 bytes transferred in 11.250311 secs (5592251 bytes/sec)

In case you're wondering, 62,914,560 bytes is 480 megabits, the theoretical maximum throughput of USB 2.0. If I were using 100% of that bandwidth, the write would have happened in one second. As it was, the write did about 5+⅓ MiB per second over USB 2.0, and 1920 MiB per second over USB 1.1.

Pretty good for $16, I think.

UPDATE 2008-11-29: Sometime in the last few months, Micro Center reorganized the front of their store. Now, the cheap store-brand flash memory is in racks right there on the counter.

And prices have come down even further, of course. Now, 4 GiB will cost you $10. And they no longer limit you to USB thumb drives: they now offer SD cards, as well.

Comparison of compressed archive file sizes

Saturday, May 12th, 2007

While writing an upcoming blog post, I decided to get some hard numbers. So here is a comparison of archive formats and compressors.

The input is Adium 1.0.3. Specifically, I copied the volume of the official disk image to my RAM disk; this created a folder. I deleted the custom “disk image” icon from the folder (using Get Info), but otherwise left it intact.

I created a script that starts each compression process, followed by a wc -c command to print its size in bytes. Prior to running the script, I created one zip file using the Finder; all other files were generated from the script.

These are the results:

BytesFilenameComment
8108955Adium_1.0.3.7z
8479898Adium_1.0.3-Binary.sitxStuffIt 11, “Best Binary Compression” method, compression level 5 (of 5)
11464784Adium_1.0.3-StuffIt.tbzStuffIt 11, tar+bzip, compression level 9
11472453Adium_1.0.3-pbzip2.tbztar and pbzip2
11507671Adium_1.0.3-cjf.tbztar cjf
13209615Adium_1.0.3-StuffIt.tgzStuffIt 11, tar+gzip, compression level 15 (of 15)
13363283Adium_1.0.3-UDBZ.dmghdiutil create -format UDBZ
13690168Adium_1.0.3.tgztar czf
14723809Adium_1.0.3.sitxStuffIt 11, “Choose Method by Analysis”
14757937Adium_1.0.3-UDZO9.dmghdiutil create -imagekey zlib-level=9
15554735Adium_1.0.3-StuffIt.zipStuffIt 11, Deflate method, compression level 15 (of 15)
16010091Adium_1.0.3.zipFinder's “Create Archive of” command
30497119Adium_1.0.3-zip.zipzip -r9

7-zip and StuffIt X are included for academic purposes only, since the average user doesn't have a decompressor for them. (The decompressors are The Unarchiver for 7-zip and StuffIt Expander for StuffIt X.)

Those two formats, the oddballs, are the clear winners—both break the 1-MiB barrier. These are followed by bzip2, gzip, and finally zip.

Specific engines do make a difference. StuffIt's engine won across the board. pbzip2 beat tar cjf, which is strange, since pbzip2 uses libbzip2. Even StuffIt's tgz beat UDBZ, and the two command-line tbzs beat it by a couple of MiB (probably the size difference in the uncompressed meats). For gzip compression, StuffIt beats GNU zip. (The StuffIt X format, with the “Choose Method by Analysis” method, appears again in between gzip and UDZO; apparently, StuffIt's analyzer needs some work.) Finally, zip: It seems obvious that the implementation of zip(1) is amazingly bad, considering how badly it got beaten by both StuffIt and Finder.

StuffIt made an impressive showing in this test, and interface-wise, I'm happy to say that it's a lot better than it was back in versions 6–8. I may start using it again for future compression work. (No, I'm not being paid by Smith Micro.)

Of course, your mileage may vary.

ICeCoffEE and Services are your friends

Thursday, April 12th, 2007

ICeCoffEE is an APE extension by Nicholas Riley that lets you ⌘-click on a URL in any NSTextView to open that URL in your favorite browser.

But it has another feature that's far more useful than that.

ICeCoffEE is named after ICeTEe, an extension for Mac OS that also provided the ⌘-click feature. ICeTEe added it to TextEdit (that's the “TE” part; TextEdit was the text-editing control in Mac OS, and it's totally separate from TextEdit.app). But ICeCoffEE has one other feature, which I find far more useful. It's a two-part feature:

  1. It adds a Services menu to your contextual menu.
  2. And you can edit that menu.

What that means is that rather than having to mouse all the way up to the Application menu, then rifle through an enormous list of services*, you can instead simply right-click on the view that already has your focus, and find the service you want among the set of services that you actually use.

(Before you mention ServiceScrubber: That works by editing applications' Info.plists. Not a good way to go about it. I'd rather have services specifically excluded from the Services menu without having to edit any part of the applications. ICeCoffEE provides this.)

This is pretty big. The major reason why people don't use services—even in the face of ThisService, which is the greatest developer tool since Interface Builder—is having to cross half the screen and then wade through several dozen menu items. ICeCoffEE solves both of those problems, so now you have no excuse not to use the full power of services in your work.

It also lets you put the Services menu in the menu bar, but while that beats having it hidden in the Application menu, I don't think that that's as cool as having it in the contextual menu. Worse, it doesn't let you edit the menu-bar Services menu. The one in the contextual menu is a hundred times more useful.

ICeCoffEE is free and a UB, and works in any Cocoa app. You'll need Mac OS X 10.1 or later, though current versions require 10.3.9 or later.

* My Services menu has 46 menu items in it, and that's counting submenus as 1 each.

How to make the HP Photosmart M425 work on a Mac

Monday, March 12th, 2007
  1. Get out the HP drivers CD.
  2. Put it in one of these.
  3. Push the button.

Silly me, trying to use a device with the Mac drivers that come with the device. Turns out it works just fine with the built-in Mac OS X drivers, either via PTP (whatever that is), or as a mass-storage device. In fact, Image Capture works the same either way.

With the HP drivers, a program called “HPCamera_PTP” would crash whenever I plugged in the camera, whether I did this in Image Capture or iPhoto. I found that switching the camera to mass-storage mode (“Disk Drive” in the USB Configuration menu) worked around that problem nicely, and Image Capture (and iPhoto) even work transparently in this mode.

Later, I was tinkering with Image Capture in some way (I forget why) and noticed that it has its own PTP driver. This gave me an idea, and having long ago uninstalled the HP uselessware, I switched the camera back to PTP mode (“Digital Camera” in the USB Configuration menu) and plugged it back in. Huzzah! It worked exactly as it did in mass-storage mode.

Kudos to Apple for making it do the Right Thing either way. Antikudos to HP for making non-functional drivers.

I also got a new scanner yesterday, a CanoScan LiDE 600F. Unfortunately, it doesn't work without drivers. Fortunately, its drivers work. (Both devices let me use Image Capture without touching any of the apps that come with them, which I consider mandatory given the nearly-consistent asstasticity of the UIs of such apps in general.)

Screencast codec showdown

Friday, December 8th, 2006

So I'm looking at making some screencasts in iShowU. I noticed that, thanks to QuickTime, it supports rather a lot of codecs:

iShowU's codecs pop-up menu, showing 29 different codecs of various suitability.

Dizzying, isn't it?

So I asked the Goog about some of the codecs, and also more generically about screencast codecs. H.264 is a popular choice, but I found no comparison to other codecs nor any discussion of what any of the codecs is particularly good at.

I also had a small amount of previous experience with the difference between codecs. I've watched two of rentzsch's screencasts: “Introduction to Core Data” and “Embedded Cocoa Frameworks”. The former is 1024×768 using H.264; the latter is 800×600 using Sorenson 3. “Introduction to Core Data” looked flawless; “Embedded Cocoa Frameworks”, OTOH, had noticeable artifacts. I wondered at first what the difference was, and after I found out, whether there wasn't a better codec with which to implement screencasts.

Part of the problem is that there really isn't a codec that's been well-optimized for screencasting. Video codecs have historically been optimized for, well, video — that is, video shot with a camera. Screen images usually don't change much except to follow mouse movements; a compressor specifically optimized for recording the screen should make a big difference in screencast file sizes. Are you listening, Apple? (Or Ambrosia?)

Anyway. In order to find the perfect (so far) screencast codec, I recorded a brief screencast using iShowU in demo mode using the None (no-compression) codec, and used QTAmateur by Michael Ash to export it to all the other codecs.

The results? Well, you'll just have to read the screencast codec showdown for yourself. ☺

SketchFighter 4000 Alpha

Friday, December 1st, 2006

First, despite the name, this apparently is a regular release. The Get Info string says it's version 1.0.0 — no alpha there. The name of the game is “SketchFighter 4000 Alpha”, in a misplaced attempt at increasing the whole sci-fi-ness of it.

Second:

Save points must die.

Seriously. Every game that has save points can be massively improved by replacing them with a “Save game” command in the menu.

Third, the save games are next to useless. They save your last location, but not the deaths of all the enemies and objects you've blown up. So when you restore, SURPRISE! All your enemies have come back from the dead, and they're understandably pissed.

And fourth, a note to all game developers: Please ship your games set by default to windowed mode, not full-screen. Nobody has a CRT anymore, and nobody has an LCD with a native resolution of 800×600 anymore. More to the point, maybe I don't want to start right into your game right away; I'd like to go through the Options first, and as long as I'm doing that, there's no reason for me to not to have my email and IM windows visible.

The best developer tool since Interface Builder

Tuesday, October 31st, 2006

Yesterday, wootest created an app called ThisService. I'll put this disclaimer right up front: He is a reader of this blog, and he allowed me to test a prerelease version of ThisService. But neither of these facts affects the opinion that I'm about to state.

ThisService is the greatest developer tool since Interface Builder.

UNIX has an interface paradigm called the “filter”. This is an application that reads zero or more input from its standard input special-file, operates on or with the data in some way, and writes zero or more output to its standard output special-file. This simple design is amazingly versatile, and highly conducive to simple but effective IPC.

NeXT took the same concept and extended it to the GUI with what it called System Services. Some of you may have seen these; they live on in OS X, more or less unchanged as far as I've seen. And their operation is pretty much the same: take some input (or not), do something to or with it, and emit some output (or not).

So John Gruber, according to himself, had the idea for an application that takes a filter program and makes a system service from it, and put this idea to wootest. Didn't take him long, apparently; I beta-tested it last night, and the app is now at 1.0.

ThisService 1.0 main window.

Pretty simple. You give ThisService the filter's name, location, behavior, and an optional hotkey, and it will create a system service application for you.

Services are very versatile. Consider the Objective-C service, or the Copy File Path service, or CalcService, or Tidy Service. Quite a range of functions, no? But Apple does not make a very big deal of the Services system's existence, and so the feature sits unused by most users. When's the last time you visited the Services menu?

And yes, this is despite the fact that many Apple applications — some of them big-name, some of them more quiet necessities — provide services. In fact, core OS X apps provide most of the services on most people's systems. This, of course, is because on the whole, nobody else knows about Services.

I think that ThisService will change all that. The fact you can now write an OS X service in Python/Perl/awk/C/$FAD_LANGUAGE in exactly the same way that you would write a UNIX filter makes creating services now trivial. So I think that we'll see plenty of applications in the future built with ThisService, perhaps with a badge somewhere on the webpage proclaiming that fact, with instructions like this:

This application is an OS X “system service”.

  • To install it, simply drag it to your Home/Library/Services folder (first creating that folder if necessary). It will then be available in most applications.
  • To use it, choose “service-name” from the Services menu in the Application menu (the menu just to the right of the Apple menu).
  • To remove it, take it out of the Library/Services folder, e.g. to the Trash.

(Feel free to copy the above instructions, even if you don't use ThisService to create your service.)

The first wave or two of these new services will be geek-oriented. Programmers will take their existing stashes of filters that they've created (such as mine) and make services out of them and put them on their websites. Thus, the first influx of service users will be geeks (including, but not limited to, other programmers).

But then I predict a larger resurgence in services. People will start making new services from other filters that have broader utility, like sort. There may even be a new attraction to making services directly, either from scratch, or from a UNIX filter but with a GUI on top to specify options (i.e. not using ThisService). And then I think the larger, non-technical userbase will start using services.

It will be a great day.

Photoshop sucks

Monday, February 20th, 2006

Blunt enough title for you?

I'm mainly referring to CS2. I've been playing with it intermittently for the past 30 days, and I have built a list of complaints, all of which together stop me from pushing $180 across the counter for the upgrade from 5.5. I mainly arrived at that decision while making the screenshots for BZ Soundboard.


Selections can't be moved under stupid circumstances.

Namely, when the current layer is hidden, you can't move the selection. Huh?

Can't drag-and-drop image files into open images.

Photoshop won't accept the drop. You'd think it would at least check the file's name and HFS type. Even better would be to run some kind of file(1)-like scan of the file.

The app insists upon old Mac OS behavior.

Many people like the old behaviour where clicking on any window of an app would bring them all forward. And there are several hacks that bring this to Mac OS X. But this should NOT be forced in an application. Photoshop does this, and it shouldn't.

Can't unlink a single layer from a set of linked layers.

Instead of you have to unlink all of them at the same time. Why? Photoshop 5.5 let you do this. Why can't CS2?

No Unicode support in text layers.

Paste this into a text layer: ☃

Oddly, it'll show up fine in the layers list; it just won't render into the image correctly. You get “?” instead.

Excessive use of combo boxes.

Why do I have the ability to enter text here?

Screenshot of Photoshop's ‘Character’ (text settings) palette. Highlighted is a combo-box for entering the font.

Photoshop does provide completion, which is nice, but it should still be a plain pop-up menu. I can enter font names into that with the same effect. Even better, in the Mac version of Photoshop, it should use the Font Panel.

Non-standard UI elements.

Here's one example:

Screenshot of Photoshop's gradient editor. Highlighted is the color pop-up for a key-point in the gradient. The arrow of the pop-up is excessively large.

Notice the hugemongous arrow. And this is a pop-up menu, not a pull-down menu. You could argue that this is a combo box, but at least on OS X, combo boxes have a text field attached. This should have the double-arrows like you see in the pop-up higher in the dialog. It also needs some kind of indicator (like 'F'/'B') when the foreground or background color is selected, as opposed to a static color.

I don't mind so much this being custom, but it doesn't look or work like a native UI element.

Preferences key combo is wrong.

Since Mac OS X, it should be ⌘,. Photoshop's default is ⌘K. I don't know how they thought of this selection, but it's been around forever, and should now be retired.

Stupid save bugs.

  1. You can't Save A Copy of a file, in PNG format, with alpha. But you can Save it As, in PNG format, with alpha. Huh?
  2. If you Save a file As in PNG format, then the window changes to reference the PNG file and the file appears saved (no “dirty” indicator in the close widget). All of this is correct. But if you then try to close the window, it's suddenly dirty, and Photoshop complains that it “has not been saved completely because the current file format does not support all the features of your document”. Why didn't you tell me this would happen when I saved the file?

Corrupted TIFF files.

Make sure that the “Save Transparency” checkbox in the TIFF options dialog is turned off (at least if you have an alpha channel). If it's turned on, Cocoa can't read your TIFF files.

No alpha support.

It is 2006, Adobe! EVERY graphics application outside of the Creative Suite supports alpha channels!

And amazingly enough, alpha support has actually regressed. Photoshop CS2 would not export the alpha of the two largest screenshots on the BZ Soundboard page (the resize screenshots). I don't know if there is some hard-coded limit on the number of pixels that Photoshop CS2 will blend with an alpha channel, or if there's some deeper bug, but CS2 pretended that the alpha did not exist when exporting to PNG or TIFF. I opened the PSD files in 5.5, and it exported the alpha flawlessly.


One thing I noticed while compiling this list: A number of these bugs seem to be in the class of “we've always done it this way”. Time for a refactor? (And I mean a real refactor, not just moving stuff around like they've done in every major version.)


An update (2008-03-23)

Since I originally published this post more than two years ago, several new image editors have emerged. Most people, I think, can replace Photoshop with one of these, and never miss the lost functionality.

All of these require Mac OS X 10.4 (because they all use Core Image). Prices in $ are US dollars.

  • Acorn ($50) is one of the two most popular—everybody who I know uses either Acorn or Pixelmator uses Acorn). I consider this the 21st-century update of MacPaint, and I mean that as a compliment. Start with this one—you will probably be satisfied.
  • Core Image Fun House (free) is the most basic editor you can get. It provides nothing more than filtering and cropping, and it doesn't give you much help with the cropping (nor with scaling). However, it's free, and you already have it: it's one of the Mac OS X Developer Tools, as well as one of the sample-code applications.
  • Pixelmator ($59) is the most Photoshop-like, and the other most popular editor (it has the most downloads on MacUpdate and VersionTracker). If Acorn is too different from Photoshop for you, or you're missing some of the more-advanced features, Pixelmator may be more your speed.
  • DrawIt is available in two versions: DrawIt Lite is free, whereas the full DrawIt is €29 ($42 as of this writing). It's the most different of all the apps: The UI is essentially vector-based. The reason is that, in DrawIt, every operation is non-destructive. It accomplishes by making everything a layer. This works well, so you should definitely give DrawIt a try.
  • Iris is the only one I haven't personally used. It's currently a public beta; you can pre-order it for $39, or wait until version 1.0, which will be $79. The screenshot suggests that the UI is a cross between Pixelmator and Acorn.