About | Buy | Forum | Industry Watch | Learning Curve | Products | Search | Twitter | Xnews
Home » Learning Curve » Developers Workshop » One Year with Lion

One Year with Lion (3)

Year Two might be better.


Buy It

Try It

CUPERTINO (Rixstep) — Apple's OS X 10.7 Lion was introduced one year ago next week. It's been a bumpy ride. Lion's successor is due out within days. Let's hope for something a bit better.

'More Preview'

It's not just the crashes and the 'walled garden' with Preview. There are myriad other fails and annoyances to keep you pulling your hair out and asking 'why Tim why?'

  • Cropping and resizing. Now that Apple got on the 'resize on any edge' bandwagon, it's impossible to grab a selection rectangle on a window border. And Apple, always helpful, will resize your image if you try to drag the window edges away.
  • Save a version. It's just ridiculous.
  • 'Locked' files. Unix doesn't have 'locked' files, you witnits! This is such embarrassingly silly technology, it's been around since 10.5, and it won't go away because everyone at 1 Bloop is too embarrassed about it. But now Preview can 'decide' a file is locked simply because you haven't edited it in a while!
  • Saving without asking. This can be particularly enervating. Preview for Lion saves everything you do - it doesn't wait for your command. Brilliant.

Apple are rumoured to revert here for 10.8. Let's hope so. Preview is too important an app.

'Toolbar Item Separators'

They're still there in the system - and legal - but NSToolbarSeparatorItemIdentifier and NSToolbarCustomizeToolbarItemIdentifier are politically ignored. The only PC way to separate toolbar icons in 10.7 is with full spaces - 'ugly' and 'clumsy' are two words that immediately come to mind.

'File Wrapper Genius'

Apple changed the underlying code for opening text streams. A code base that's worked well for the life of OS X and OPENSTEP and NeXTSTEP before it.

A file wrapper is a way for a text system to add content to a rich text stream. Apple usually use the extension .rtfd for the directories that house such wrappers.

There's only one catch: the new code dealing with file wrappers can't understand that a directory it's been given can be an ordinary directory and not a file wrapper. That's right - it's those wacky Apple assumptions again. So drop a directory on an app that routes through Apple's code (without having plastered on yet another Apple workaround) and things go due south.

'Preferences Goes Wild!'

That's the only way to say it. There's always a good explanation for things like this. But that still doesn't make them right. Apple have in one fell swoop quadrupled the number of preference files in your system.

Apple never got that 'elegance in simplicity' thing. Or 'stability in simplicity'. Maybe they should go visit the pyramids. And send a postcard to the Pogueman who famously quipped that they seem to try to improve their systems until they're ultimately unusable.

Your Lion preference file gets LSSharedFileList.plist, plist.lockfile, and LSSharedFileList.plist.lockfile. Dandy!

And Preview can do even better, as you suspected.

com.apple.Preview.LSSharedFileList.plist
com.apple.Preview.LSSharedFileList.plist.lockfile
com.apple.Preview.plist
com.apple.Preview.plist.lockfile
com.apple.Preview.SandboxedPersistentURLs.LSSharedFileList.plist
com.apple.Preview.SandboxedPersistentURLs.LSSharedFileList.plist.lockfile

'Message.framework'

Apple are scared to death they'll have the same malware outbreaks Microsoft had. Of course there's no reason to fret - they're not running Windows! But Apple's trusty gurus don't seem to grasp much of Unix or understand the difference between a 'real' OS like Unix and the excuse for an OS Microsoft sell.

The Message.framework they've always had is still there. So client apps can still link to it and produce valid executables. But the code has been disabled and starting with Lion it doesn't do anything.

//
//  NSMailDelivery.h
//  Message
//  
//  Copyright © 1997–2011 Apple Inc. All rights reserved.
//

/*! @header
    <code>NSMailDelivery.h</code> includes the class
    <code>NSMailDelivery</code>, which allows applications to send
    email using Mail.
 
    This API is deprecated. See  <a href="http://developer.apple.com/samplecode/SBSendEmail/index.html">SBSendEmail</a>
    for alternatives.
 */

Alternatives? SBSendEmail? Check it out.

This sample illustrates how to use the Scripting Bridge Framework to tell the Mail application to send an email message with optional attachments. The included readme file provides detailed discussion of the steps involved in creating this sample.

That's right: Apple want you to use scripting to interact with their own Mail.app to effect egress from OS X. As if that's supposed to thwart the black hats. But don't tell the UE people - they won't listen.

'Screenshot Filename Formats'

Apple took a clue from somewhere for their screenshot filenames. The idea was to generate unique filenames rather than the old 'Picture 1' 'Picture 2' and to see they sorted properly in ~/Desktop. But the genius running the show forgot that 'AM' and 'PM' with a twelve hour clock won't quite do it.

So now Apple improved things again. And for the past year - up to and including version 10.7.4 - you get this.

Screen Shot 2012-06-18 at 21.07.16 .png

Never mind that 'screenshot' is one word and recognised as such by Apple's own spell checker - but see that embarrassing space character before the extension?

Screen Shot %4u-%2u-&2u at &2u.&2u.&2u .png

Attention to detail indeed.

'Flash-22'

This is a stickler. A difficult one. For who wants to defile a great Mac computer running OS X with a product from Adobe?

Apple won't package Flash because Flash sucks and more importantly because Flash makes Apple code look particularly bad.

But Google won't let YouTube users access clips with HTML5 because the content owners - like Napster nemesis Edgar Bronfman - can't exert enough control over the open source HTML5. Flash - with its proprietary closed source - can, as we all know, let them do anything under the sun. And then some.



They get to control who gets to watch. They get to smash ads in your face. They can see from country to country who is watching and block all they please. They get to set insidious tracking data on your own personal property. And so forth.

They're not nice people.

And although Google ran an experiment a few months back where all clips were available as HTML5, the Bronfmans of the world quickly (and vociferously) objected, and today Flash is sunk deeper into the technology of YouTube than ever before.

YouTube is essentially useless with 10.7 as it ships. And 10.7 is probably more of a kludge than ever with Flash installed.

Apple might like it if their customers were significant enough in number to pressure Google to relent. But they're not.

Flash-22.

'Save As Margin Width'

It can be the little things. But it can also be the realisation that someone somewhere decided to not sweat it - and thereby stick millions upon millions of users with an annoyance for years to come.

This isn't about the zooming popping windows and message boxes known to literally give people headaches - this isn't about yet another wacky design decision. This is about not getting the job done right and saying 'fuck all' about it.

Apple have a slightly revised 'sheet' for 'save as' today. As before, there's a left margin with the names of popular destinations. Watch closely what happens when you select something such as the directory 'Downloads'.

The UI according to Apple's own algorithm will 1) put a cute bar on the selection; and 2) make the font bold.

Now 'bold' is of course a matter of printing something twice with a minor horizontal offset to the right the second time. This of course makes the selected text wider.

The 'controls' in the margin are self-correcting to an extent in that they'll do their best to expose all text that they should.

So watch how the 'save as' sheet automatically adjusts with a jerk when you first open it. The starting default width is not enough and the engineer and his quality control supervisor were asleep at the wheel.

'Screen Remnants Here to Stay?'

One | Two | Three | Four | Five | Six

See Also
Industry Watch: 10.7 Roars
Industry Watch: Lion: Kernel Panics
Industry Watch: Lion: 'Ten Days After'
Industry Watch: Got Lion? Get OWNED?
Industry Watch: Apple Lion Security Update

The Technological: OS X Lion 10.7.2 WTF?
The Technological: Lion's Bulging Scroll Bars

Developers Workshop: Apple Rooting Their Own Systems?
Developers Workshop: Fireworks in Apple's /usr/bin/clang

9,737 files (97,370 data cells) in 0.143 seconds. Beat that, Apple.

About | Buy | Forum | Industry Watch | Learning Curve | Products | Search | Twitter | Xnews
Copyright © Rixstep. All rights reserved.