Lion’s Killer Features

Kimba the white lion is the one!

Maybe Mac OS X 10.8 will be White Lion.

I don’t think I’m not breaking any NDAs by saying this (since it’s all over the web and a lot of it is on Apple’s own Lion Page, although the more interesting stuff is on the Developer version) but 10.7 looks like a huge upgrade over Snow Leopard — a bigger upgrade than Leopard was over Tiger. What are the killer features? Well, not the UI frippery. The interesting thing is not just how deep and powerful all this new stuff is, but how interdependent it is.

Versions. Lion’s file system is version-controlled. Every time you open a document, every hour, and every time you save, a new version is recorded. This goes beyond Time Machine because (a) it doesn’t require a Time Machine volume to be around, and (b) Time Machine saves versions of files at intervals, so multiple saves within an interval (which can be quite long for a MacBook, say) are going to be overwritten. What isn’t clear from just reading the summary (I’ve not yet downloaded and installed the preview) is how much of this comes “for free”. (If it does require apps to use the new API, the API is very simple, you override a method to return true.) It could be pretty nasty to automatically version control giant video files, but it would also kind of suck if it only works for new versions of apps. I suspect it works for everything by default; apps can definitely fine-tune their behavior (much as with Time Machine). Either way, it’s a huge feature.

(Versions apparently depends on another new feature called File Coordination which is designed to help prevent multiple processes from corrupting files by serializing file access among processes. Aside from anything else, this deals with the obvious use-case where you have the same file open in two different apps. I haven’t highlighted this as a major feature in itself since I don’t really understand it.)

Autosave. Because saving is non-destructive, saving automatically is a no-brainer. Lion saves all your work automagically. The idea that this has been brought back to the Mac from iOS might be good marketing but it’s disingenuous. Most iOS Apps have destructive save behavior — in fact it’s quite infuriating with some. iOS doesn’t do anything to help — the only thing that might help is that Apple will probably reject submitted apps whose behavior is too pathological (but this is not dependable based on my experience).

Resume. Lion remembers an application’s state between launches. And because everything is saved automagically and the OS remembers App state, it can quit apps to free up resources whenever it wants to. OooooOOOOooooh.

Overlay Scrollbars: forget everything else that’s been added to the UI, scrollbars are no longer ugly or a waste of space.

AV Foundation. Just as Core Image allowed any talented programmer to whip up a reasonably decent Photoshop-wannabe and Core Animation allowed every indy developer to turn prosaic source control front ends into UX masterpieces, AV Foundation will allow anyone with the inclination to whip up a non-linear video editor. Expect at least two or three Pixelmator-quality video compositors to appear within the next six months.

Security. Apple is providing developers with tools to intentionally sandbox their applications (“Sandboxing and Privilege Separation”). If your app doesn’t need to do file i/o you can let the OS know and even if it gets infected by malware it will still be sandboxed. This is probably not a huge deal for third-party developers, but chances are Apple will use this functionality extensively in its own apps (e.g. Safari) and strongly encourage certain other software vendors (Adobe, Oracle, Microsoft) to do likewise. Given that the common “surface vulnerabilities” of OSes tend to be applications written by a few very large development teams this gives them tools to make their software much less vulnerable.

Other sites have noted that Filevault has been improved to support full-disk encyption, which should be more useful and less buggy than FileVault is right now. Mac.blorge points out that 10.7 includes full malware protection, Google Safe Browsing in Safari, and improvements to ASLR.

Mac OS X Server merged into Client. This may be huge — I don’t know. But the basic premise seems to be that you can have as many of Mac OS X Server’s features running on your Mac as you want or not. Whether this will prove as convenient as, say, running MAMP remains to be seen. It sounds nice though.

Full Multi-User Support. You can remotely log in as a different user while your Mac is being used. Effectively, a Mac is now a time-shared system. (Should make for some really interesting Hackintoshes.)

Air Drop. Convenient system for sharing files locally with zero setup.

As for other stuff. Well, the new UI widgets will probably get used like crazy for a while and then fade into the background. (Maybe folks will finally ditch drawers and use popovers instead.) Springboard looks nice, but then it’s replacing Application Folder Chaos. The full screen app stuff, Mission Control, new gestures — the devil is still in the details. Spaces seemed huge but ended up being a dud. Expose I use occasionally. OTOH I frequently accidentally zoom things with the unintentional pinch gesture which overlaps too much with the right-click gesture. A lot of the gesture stuff is already in Snow Leopard anyway and I don’t see many people using it.

Oh yeah, 10.7 adds TRIM support for SSDs. (TRIM support can improve SSD performance and longevity. Don’t worry though — with normal use SSDs will be just fine without it.)

Finally, 10.7 drops Rosetta support. (Rosetta is the PowerPC emulator that allows pre-Intel apps to run on Intel Macs.) I don’t know about you, but I haven’t run anything under Rosetta for ages. Dropping Classic support was a much bigger deal since there are still useful apps that never made the OSX transition. Recompiling an OSX app for a new CPU architecture is a much easier exercise than porting from Classic to OSX (and then there’s apps that had been orphaned long before OSX came out, like Studio/32).

So, Lion looks like a must-have upgrade, but I doubt it will be $29.

The NeXT Machine Rocks

I just got the new Twitter client from the new Mac App Store. It’s lovely and minimalist and seems to be missing an integrated URL shortener. (Tweetie, upon which this app is supposedly based, offered a choice of three — go figure.)

Fact is, I’m sick of having some apps with URL shorteners and some without and for the mechanism being different from one place to another. Then it occurred to me that this was exactly the kind of thing “Application Services” — you know, that clumsy feature from NeXTStep that’s been in Mac OS X since it was called Rhapsody but no-one ever uses — are for. And I dimly recalled that Automator lets you create services.

So I googled “mac os x url shortener service” and found this. Here’s the AppleScript snippet from that article:

on run {input, parameters}
  set dlstring to ((path to temporary items folder as string) & "shortURL.html")
  tell application "URL Access Scripting"
    download ("http://bit.ly/api?url=" & (item 1 of the input)) to dlstring replacing yes
  end tell
  set x to open for access dlstring
  set aurl to read x
  close access x
  return aurl
end run

I then launched Automator, created a new service, and wasted a bunch of time trying to figure out how to import AppleScripts into Automator. (Apparently you don’t — you use the “Run Applescript” Automator Action.)

Automator in Action

And now I get system-wide URL shortening. (Sadly it’s two levels deep in the global context menu, but at least I know it’s always there.)

P.S. all this work was redundant because the new Twitter client automagically shortens URLs and counts the tweet’s length assuming a shortened URL. But because it does this completely transparently but with no visual indication (e.g. ghosting in the shortened URL or something) it’s not obvious. So while it’s nice to have a URL shortening service that works everywhere on my Mac now, I don’t need it for Twitter.app.

Childhood’s End

Today, the App Store is live. Simply update your Mac to 10.6.6 and then select App Store from the Apple Menu.

First Impressions

  • A lot of very polished “name brand” software and very little obvious junk. This is not Android marketplace or even the iOS App Store. A pretty good selection for day one.
  • Yes, the icon does suck.
  • Yes, Angry Birds is the bestselling App (apparently the $4.99 intro price is “50% off”).
  • Twitter is free, so I grabbed that as my first test. Seamless. It just works. No password required. (Note that there’s no clean uninstall process yet!)
  • I also found the Penny Arcade games selling for $3.99 each so I grabbed them. (I have to say my first impressions are very positive; I’ve never seen 3d toon-rendering and 2d cartoons so well integrated before.) Again, both installed quickly and worked perfectly.

Transitioning

There’s no way, right now, to upgrade an existing license by going to the App Store. For that matter, the iOS App Store has been around for a couple of years now and there’s still no mechanism for version upgrades there, either. (Or free trials.) What the iOS App Store does have is “in App purchases” which, I think, represent a superior model for handling upgrades (since I don’t think you should have to pay for compatibility or bug fixes, just new features). We shall see how existing developers adapt.

Right now, I see several different approaches to the transition:

  • Stick it in the App Store at the same price. Things, Omnigraffle Pro, Fake.app, and a bunch of other well-known programs are simply the same price in the App Store as online (plus or minus a few cents in some cases). I can’t tell what the prices of products I already have installed are (e.g. Coda, BBEdit.) but I assume most are priced identically to the existing online price.
  • Offer free upgrade to next major version. Cheetah 3D is $149.99 on both the App Store and the website, but anyone buying C3D now gets a free upgrade to v6.
  • Reduce Price. Autodesk Sketchbook Pro is $29.99 in the App Store. The Windows version is around $70 from Amazon. Aperture 3 is $79.99 in the App Store (take that, Lightroom and Photoshop Elements). And the iLife Apps are $14.99 individually, while the iWork Apps are $19.99 individually. (Not only is this cheaper than buying them bundled as boxed sets, it may be even better since App Store licenses are probably like Family Packs — but I can’t confirm this.)
  • Reduce Price and Abandon Online Sales. Pixelmator is simply moving to the App Store and it’s reducing its price to $29.99 and promising 2.0 will be a free upgrade — $29.99 is the kind of price you’d have expected the upgrade to 2.0 to cost, so this is a pretty canny way of dealing with the App Store’s limitations.

Some other observations:

  • I own a BBEdit license, and BBEdit is available via the App Store. The App Store detects I have it installed but won’t let me rate or review it since I didn’t buy it through the App Store. I’m guessing it won’t let me update it via the App Store either. (In fact, Barebones just replied to my tweet on the subject informing me that BBEdit’s in-app updater will continue to work as normal, which is exactly what I expected.)
  • I own a Cheetah 3D license but it’s in a subdirectory I’ve named and versioned and the App Store doesn’t detect it.
  • There really needs to be a free trial mechanism for pricier apps and I don’t mean in-app purchases.

Interesting things to look out for

Will we see prominent free/open source projects, such as Firefox, Chrome, Blender, Inkscape, The GIMP, and OpenOffice.org appear in the App Store?

When will we see some interesting market share plays in the App Store? For example might we see a trailing contender in a market (e.g. Lightwave in the 3D market) perform some kind of big gamble and stick their product in the App Store at a dramatically reduced price? Arguably pricing Aperture 3 at $79.99 is an example of such a play, and I can easily imagine Apple putting a lot of its software products into the App Store at very aggressive prices (Final Cut Express/Pro, Logic Express/Pro, and so on spring to mind).

What else will Apple unbundle? Will I be able to buy Motion separately from Final Cut Studio?