|Home » Industry Watch » Coldspots
Snow Leopard: Under the Hood 2
√ Safari now tabs to first entry field. When entering a new page. Previously one had to hit the tab key oneself.
√ Mail empty trash. Mail wants ⇧⌘⌫ to empty trash after all these years with the familiar ⌘K.
√ Mail previous recipients. No longer allows tabbing into list for fast delete but 'delete' button is today coupled to a keyboard shortcut. Small steps.
√ Preview crop sizes. Preview shows crop sizes as you drag. Very good move.
√ QTX. The new QuickTime Player is just awesome. Icon is ugly but app is genius. Watch out for its PLIST - bloats to over a meg in no time. This has to do with 'recent documents' so clear the list and plist is reduced to 74 bytes.
√ NSTextView. Now puts wavy lines under words asynchronously on a per-fold basis as one of the last parts of rendering the visible view. Previously it only looked at things when the caret moved over them. Getting at the continuous spell checking menu item is difficult. Things were actually more practical the old way even if this feature is very very fast.
√ Spell checking. The new 'automatic' setting needs going into System Preferences to set up properly - and even then it's going to snag. The idea of automatic spell checking by language is cool - the system implies it can detect what language is being input. And that's awesome. But in practice it can't - if it finds what it thinks is a spelling error in an early dictionary it won't look any further. Blooper.
√ NSTableView Hidden Columns. Rather than allow negative minimum widths (they're still accessible programmatically - knock on wood) the table view now offers the relatively unwieldy ability to hide columns. Saving table view settings implies an empty array in preferences for the hidden columns that weren't hid. This goes against Apple's otherwise excellent track record of never saving something to a PLIST if it has no content or value.
√ appendFormat:. IDE now burps on format strings that do not imply additional arguments. This is tantamount to declaring printf("Hello world.\n"); is a programming error.
√ Deprecated APIs. There's too much ambition in changing APIs for seemingly trivial purposes. A lot of effort is going into standardising them but is it necessary to change NSFileManager's copyPath: to copyItemAtPath:? It's as if the new APIs are redesigned to make sense to people who aren't particularly experienced in computer science.
√ Open Recent. Now coupled with the setting in the 'appearance' preference pane. H/T to Rohan Lloyd.
√ Multithreading. It's not smooth. Things like opening sheets or launching programs actually drags a dual core 64-bit processor. It shouldn't - not if process and thread management is implemented properly. This is a spooky thing reminiscent of floppy drives and intense pointing device operations. But that didn't happen on the powerful processors of today.
√ Safari image rendering. Safari used to wait with rendering images until it had everything - which gave the impression the program was faster. Now it uses the FF method - render line by line as it gets the bytes.
√ Hyperlinks in Mail. Hyperlinks in messages aren't always clickable. You have to jiggle things around a bit sometimes to make them so. Links can come up in black rather than hyperlink blue. No known workaround yet - just jiggle things until it they start to work again. Very annoying bug.
√ Table view multiple selections. They're better but they're still not right. A click on a row should always designate the row as the 'selected row' which is used to calculate subsequent selections. This still doesn't work. Assume an array of ten rows in a table view; click on row 5 to select, hold down shift and click on row 10; hold down shift and click on row 1. The selected rows are 5, 10, and then 1. But the programmer responsible for this blooper sees only one selected row. Apple management need to let these coders have more experience using their user interface before letting them børk code that's been good for twenty plus years.
√ NSTextView speedup. Not so fast. Sluggishness witnessed in 10.5 found again in 10.6.
√ Address Book binary. What happened on the 10.6.1 update? It's gone. Back to the install disc to copy out the original.
√ ACLs. Snow Leopard has 'deny everyone delete' ACEs on /Applications, /Applications/Utilities, and /Library but nothing on /bin, /private, /sbin, /Users, /usr, or even /System. There's a different kind on /Volumes (see below). /dev, /home, /net, and /.hotfiles.btree use the extended user flag 0x8000 (hidden).
Coldspots: Snow Leopard: Under the Hood 1