Get Lion

July 20th, 2011

Today Apple released OS X Lion, aka Mac OS X 10.7, the latest in the decade-long run of incredible updates to Mac OS X.

I encourage everybody to upgrade to Lion. I’ve been running it for months in pre-release form, and even while the bugs were being ironed out, I found the experience of using it to be (mostly) superior to running 10.6.

If you want a more detailed analysis of Lion’s features, sit down with a tall glass of your favorite beverage, and read John Siracusa’s famously detailed review. If you’re looking for a quicker overview, check out Jason Snell’s Macworld review, or my developer buddy Matt Gemmell’s guest appearance at the Guardian UK.

Supported Systems

We have known for some time that Mac OS X Lion would drop support for a number of Macs. In particular, all Macs that do not support Intel’s 64-bit memory addressing are not qualified to install the OS. But I was curious to know a bit more about how Apple makes this determination when, say, a user is browsing the Lion “product” in the Mac App Store.

As I described in an an earlier post, you can learn a lot about a product in the App Store by inspecting the HTML that makes up the product page, and by manually loading the references resources. In the case of Lion, the “Buy Now” button contains a number of parameters intended to inform the Mac App Store client about whether a sale should be allowed, and what some of the conditions of sale are. In the case of Lion, here is the raw HTML:

<button is-rental="0" dk-id="30" is-pre-order="0" preflight="http://a5.mzstatic.com/us/r1000/
065/Purple/cd/82/29/mzm.tvvarwmu.pfpkg" item-name="OS X Lion" bundle-id="com.apple.InstallAssistant.Lion" version-string="10.7" buyparams="productType=C&amp;price=0&amp;salableAdamId=444303913&amp; pricingParameters=STDRDL" large-icon="http://a4.mzstatic.com/us/r1000/083/Purple/00/00/00/ lion.170x170-75.png" is-install-button="0" is-update="0" check-is-osx-server="http://r.mzstatic.com/static/isOSXServer.pfpkg" is-free-download="0" adam-id="444303913" metrics-leaf="1" metrics-loc="Buy" class="button-area" aria-label="Install, OS X Lion, Free">    <span class="price">Install</span>    <span class="left-cap"></span>    <div class="inner"><span>Install</span></div>    <span class="right-cap"></span>  </button>

If you load the “preflight” URL content from the command line, and unarchive it with the “xar” tool, you get a few files including a file called “Distribution”:

% mkdir TestFolder; cd TestFolder
% curl -O http://a5.mzstatic.com/us/r1000/065/Purple/cd/82/29/mzm.tvvarwmu.pfpkg
% xar -x -f mzm.tvvarwmu.pfpkg
% more Distribution

Inside you will see a number of constant constraints such as hostArchitectures=”x86_64,i386″, but also more nuanced tests that, for example, test the current computer’s motherboard model ID with a fixed list of allowed values. Presumably this will prevent the App Store from allowing (without some hacking) downloading Lion and installing it, for example, on a Dell PC that happens to meet the ostensive hardware requirement.

Perhaps the most heartwarming bit of code in this relatively complex document is a small function call from the start of the test for whether the install should be allowed on this computer:

function isSupportedPlatform(){

        if( isVirtualMachine() ){
                return true;
        }

It has already been announced that Lion 10.7 will finally support virtualization, e.g. with the use of products such as VMWare or Parallels. This install-time test seems to drive home how true that is.

The iPad Category

July 13th, 2011

I, like most, have been perplexed by the persistent rumors that Apple is gearing up to release a third iPad this fall. For those of you who don’t follow the product lineup closely, the iPad 2 was released just earlier this year, so Apple releasing a successor to that product so soon after would be a deviation from their more usual approach of shipping major updates to a product every 1 or 2 years.

I like Manton Reece’s take on recent speculation that it won’t be an iPad 3 so much as an iPad Pro:

This isn’t a replacement for the current iPad; it’s another layer to the product lineup. And like the awkwardly-named iPod Photo from 2004, I bet the iPad Pro is meant to be temporary.

But I disagree about the temporary nature of such a high-end counterpart to the iPad. Apple likes to segment the market and then keep it that way. There are four completely different classes of iPod for sale in the Apple Store, and iPhones that range in price from $49 (with a contract) to $649.00 (unlocked).  Mac Minis currently start at $699 while the beefiest Mac Pro starts at $4,999.

Apple’s segmentation seems to achieve the classic goal of taking a little or a lot of the customer’s money, depending on how much they have to spend. But many folks are inspired to buy in at several price-points for a single product line. I own a Mac Mini and a MacBook Pro. An iPod Nano and an iPod touch. An iPhone 4, and, well, my wife takes good care of my iPhone 3G. I also own an iPad. Will I buy an iPad Pro if it comes out this fall? If it puts my iPad 1 to shame (which the iPad 2, frankly, did not), then yes, I’ll probably buy one of those too.

I’ll be surprised if Apple doesn’t take the same approach with iPad that they usually do: the low-end unit is always surprising powerful for the price, but outdone by some whiz-bang innovations at the high end. No, they don’t apply this strategy to all of their products, but this isn’t some hobby for them. As Jony Ive says in a recent commercial, the iPad “defines an entire category.” Let’s see how Apple intends to fill that category out.

FastScripts 2.6: 64-Bit Compatible

July 11th, 2011

FastScripts 2.6 is now available, featuring 64-bit compatibility so it can “run with the big dogs” on modern Macs. I also fixed a few pesky bugs, and this marks the debut of FastScripts in the Mac App Store.

  • 64-bit compatibility for optimal performance on modern Macs
  • Add support for FKeys F17-F19, available on many modern Mac keyboards.
  • Fix a bug where deleted folders remain visible in menu
  • Fix an issue with case-change-only name changes causing duplicate menu items

Enjoy the update, and “keep on scriptin’!”

Ready For Lion

July 6th, 2011

As Apple prepares to release Mac OS X 10.7 (“Lion”), some of you are probably wondering how Red Sweater’s software will fare on the new system.

I’ve been testing pre-release versions of Lion for months, and I’m happy to report that all shipping versions of my apps are 100% compatible with Lion. Even better, MarsEdit’s new full-screen mode is already adapted to work well with Lion’s built-in full-screen feature, and I have plans to improve the full-screen experience both in Lion and on 10.6.

After Apple releases 10.7, let me know if there are other ways I can change the software to work better with Lion’s features.