Tom Insam

NNW subscriptions

So I wanted to see which of my NNW () subscriptions were dead. And I wanted to get the hang of AppleScript. Right.

set errorlog to ""

tell application "NetNewsWire"
  repeat with check in subscriptions
    set err to error string of check as string
    if length of err > 1 then
      set errorlog to errorlog & “Error for ‘” & ((display name of check) as string) & “’ (” & (RSS URL of check as string) & “): ‘” & ((error string of check) as string) & “’r”
    end if
  end repeat
end tell

tell application “BBEdit”
  make new text window with properties {contents:errorlog}
end tell

Pretty nifty. Course, you have to have BBEdit. But making it use TextEdit shouldn’t be hard.

we need micropayments


Oh yes, micropayments. Our saviour. Everyone’s got a stack of internet business plans that’ll turn into liquid gold the very second the micropayment infrastructure arrives. I know I do. So where is it?

Lee Maguire

this morning, blech pointed me at a wonderful daring fireball article about file replacement and the trash and things. Now, most of my comments on this stuff is said better by other people, as usual, but there’s one point that I feel hasn’t been covered.

Application bundles, .pkg files, etc, these are all files from the point of view of the user - I can almost never get the finder to behave as if they’re something else. Even copying them around, the finder displays the copy as if it’s only one file, a win over the way Risc OS did this. (oh, yeah, riscos. It had bundles 10 years ago. whatever, stale rant.) But they’re not, they’re folders. So, instead of files replacing files, folders replacing files, etc, we have to special-case bundles as well. That takes us from 4 possible interactions (file-file, folder-file, folder-folder, file-folder) to 9. Quite a jump.

Personally I’m a fan of the ‘trash the overwritten thing’ approach, and let the user do what they wanted. But on the other hand, I’ve been bitten really quite badly by the ‘running things out the trash’ problem. You can’t run them by double clicking them, because the trash is ‘special’. But you can run them if the dock points at them… Very annoying.

tabbed browsing

Dave Hyatt, the insane fool who is the public face of Safari, has actually asked for comments about the UI of Safari. So naturally every single comment and trackback mentions tabbed browsing. Hell, there’s even a comment saying roughly ‘I’ve never used tabbed browsing, but lots of people clearly like it, so they should put it in’. I consider this another good reason to kill all humans.

My house as a whole isn’t a big fan of tabbed browsing. blech will grouch on about them for hours. hitherto has actually ranted in a public place about them. But given the massive number of pro-tab advocates out there, I find myself needing to stick an oar in and splash as many people as possible as well, just to keep things even. And not only that, but I have the opportunity to trackback to someone who’s invited it. Oh, the excitement.

So. Tabbed browsing. it’s been around a while, I personally first remember it in Opera, but my first serious exposure to it was in Galeon, under Gnome 1. And verily, it was Good. I could put my browser on one virtual desktop, set all links to open in tabs, and then click links merrily from other apps. When I was done, I’d go back to the desktop that held my web browser, and gosh, look, there’s a big heap of links here! Shiny! When I switched to Phoenix (or whatever it’s called nowadays) under Gnome 2, I used in exactly the same way. And it was still good. And faster than galeon, even.

But that’s all missing the point. I was forced to use tabs there because the window-switching system is totally brain-dead under Gnome. I typically have 20+ browser windows open. Hell, I can have 40 if I get distracted. (aside: I loved galeon for this - the crash recovery was second to none. I’m afraid to open that many windows under any other operating system because if the browser dies, I lose them all.)

The problems with window-based browsing:

  • Opening links pops a window to the top of the stack. I hope Alt-Tab works properly, because it’s a pain finding what you were just doing otherwise.
  • If I’m using a taskbar, all the window buttons get tiny. I can’t pick the browser I want. I can’t pick any other app either, for that matter. All the buttons say ‘Docu…’ - really handy, that.
  • If I’m using some sort of window list, all my non-browser windows are hidden in the huuuge list of browsers. Oh, and the 10 windows called ‘Terminal’, that was great too.
  • I’m not even going to describe what the Alt-Tab list looked like. Ok, I am. 40 ‘web’ icons. Brilliant.

I’m now on a different platform. I use a mac. And the mac has per-application switching. So my Command-Tab list is manageable, I can switch between a relatively small number of running apps using the dock. And once I’m using the app, I can have a window list of all the windows belonging to that application. So I know I want a terminal, so I switch to the terminal app, and then I can flick through the terminals I have open until I find the right one. I can switch to the web browser, and easily get a list of open web browser windows. In fact, I can click and hold on the web browser icon, and jump straight to a required web browser with one (long) click. Handy.

Essentially, the task/window switching on the mac isn’t like windows. It’s very different, much more than appears superficially. Under windows, and under linux, tabbed browsing seems to work, giving you the same ‘switch to app, then decide what window I want’ behavior. It’s a different interface on the whole MDI nightmare that windows suffered from for so long. Under linux… hell, linux is a world to itself, as per usual, and I’m not going to judge it. But the mac has a way of dealing with this problem. It’s always had a way of dealing with this problem. People need to stop coming up with other ways to solve it, ways that aren’t as good.

Oh. And an actual feature I would like? It would be nice to be able to click on an RSS feed from a site, and have NetNewsWire subscribe to it. So I need the ability to set programs to be run for specific MIME-types. That would be nice.

The blogging/RSS community has discovered HTTP headers actually have a defined purpose. Amazing. It’s like when they discovered that HTTP actually allows you to see if a page has changed since you last downloaded it and not get the whole thing. That was fun, too.

Ok, that’s a little bit too bitter. But I can name one linux RSS reader that’s done the Right Thing here for months. </smug>

So, an experiment. Take a folder on your Mac OS X computer, and let’s hypothetically assume it’s a folder full of really important documents that you mustn’t lose. Now, rename the folder. For some reason, the name you want for the folder is ‘Really important files for my .app’ because.. uh.. dunno, you’re developing an application and you need to store files for it. Or something. Unlikely, sure, but possible.

But wait! It didn’t work! The finder just stripped off the ‘.app’ from the end of the folder name. Darn. Oh, well, these things happen. Lets get back to work… Hang on. I can’t open the folder any more. I double click on it, and nothing happens. what’s going on?

This is a truly stupid behaviour. The finder didn’t strip the ‘.app’ extension, it’s hiding it, because it thinks that the folder is now an application package. Now, application packages are a truly wonderful idea that I’d be incredibly impressed by if I hadn’t seen them 10(?) years ago in RISCOS. But your folder here isn’t an application package, it’s just a folder with a silly name.

I’m not sure where the stupidity lies here. The finder should not let you rename a folder like that, for a start. But using file extensions on a folder name to indicate that the folder is actually a fundamentally diferent sort of object (from a user point of view) is also stupid. As is the fact that you can’t rescue the folder once you’ve done it except through the terminal. Which is an advanced user concept, damnit, and I shouldn’t have to use it EVER. Hell, the only way you can even see your files again is to right/control-click and select ‘show package contents’. Of course. What a simple, basic-user findable concept.

Now, blech has pointed me at a little app for OS 9, at least, that can fix this problem - Package First Aid.

But this is almost a whole other rant. When there’s an application that exists to repair an OS fuck-up, this should be a bad thing. In the same vein, windows XP has superb system state rescue code, so you can roll-back to earlier versions. You need it because it’s so easy to completely destroy the system. Rather than fix the problem, they just produce really nice looking band-aids.

In the same way that the finder shouts at me if I change the file extension on something, it should at least shout at me if I perform a potentially destructive (and it is destructive from the point of view of a non-expert user) operation on a folder. Especially one so non-obviously destructive.

programming languages

Programming languages have grammar. There are languages like perl, where the grammar is composed almost entirely of random ‘$’ and ‘%’ symbols scattered throughout the code. And there’s languages like AppleScript, where the grammar is practically english, making it much nicer to read than perl. Hah, perl is often called a ‘write-only language’, it’s so incomprehensible.

But I loathe Applescript, and I think perl is luuurvely. And it’s for this exact rule. I can use computers. I’m a geek. And I’m prepared to learn a new grammar. That’s fine, and it’s a specialist grammar, and programming is like that, I’ve learnt a heap of these things. But english-like programming languages are confusing. I can speak english. I know how it works. In english, you can rearrange words and have the sentence still make sense. Try doing that in Applescript. Grammars that look like english, but aren’t actually english, annoy the hell out of me.