Mavericks is for free!

I was pleasantly surprised when I realized Apple is releasing Mac OS 10.9 Mavericks for free. That is not the only good news, Apple will be releasing iLife and iWork for free for people buying new systems.

As I see it, Apple wants all it’s customers to use the latest version of the OS. I can break down the advantages into 3 categories.

Mac guys still dislike Microsoft!

Mac guys still dislike Microsoft!

Apple
Apple is diverging into different product markets. I don’t think Apple has the manpower at its disposal to work on all the products. This year there were news around, that Apple had moved developers from OS X team to work on iOS, so that iOS releases on time.

If all or most users migrated to a fixed version of OS Apple can reduce the size of development team needed to work on support activities for older version of OS like Snow Leopard (10.6), Lion (10.7) and Mountain Lion (10.8). This would free up developers to work on development of newer products.

Apple plans to use free OS updates to coax people to upgrade to newer version of the OS.

How will it affect Apple’s bottom-line?
It will end up working out well for an Apple. Apple is a unique PC maker in that they make both software and hardware. Apple is already releasing iOS updates for free and I think there are more benefits providing free updates and Apple can manage it.

Developers
How often have you written a piece of code in ifdef‘s because your application was meant to run multiple versions of the OS. At least I have had to write it quite frequently. Cocoa is a dynamically growing Framework. Every year a new version of Mac OS or Xcode releases new API’s are added and some older ones are deprecated. More often than not most companies prefer having single code base for an application for ease of development and support. This just leaves developers without much of an option, ifdef is the only option.

Just take look at the number of people using Windows XP (release date: August 24, 2001). There have been three major OS release since Windows XP and most companies still provide support for Windows XP.

Both Windows XP and Snow Leopard have sizable market share and any developer would not want to ignore the market.

End Users
Real winner is the end-user. Imagine getting new version of the OS every other year for free!

All in all I think it is a great move. Similar to Kid Rock charging 20$ for concert tickets.

Now the pressure will be on Microsoft and other proprietary OS maker to provide free upgrades to the user! But I don’t expect them to follow suite. Microsoft is not a hardware manufacturer and cannot afford to release either MS Office suite or Windows OS for free. Personally I believe, I deserved a free upgrade from Windows Vista to Windows 7.

Opinion Poll Link

Mountain Lion Gatekeeper

This is the first in a series of 3 posts documenting the working of Gatekeeper and signing of the plug-ins and the installers.

Gatekeeper is Apple’s security feature that is designed to protect Mac OS X users from malicious software.

Gatekeeper will be able to run in three modes:
1. Mac App Store: The default mode, a stricter mode in which users will only be able to install applications downloaded from the Mac App Store.
2. Mac App Store and identified developers: Relaxed mode that allows users to install applications downloaded from the Mac App Store or identified developers (Applications signed using certificate generated by Apple.)
3. Anywhere: Any application can be installed.

Gatekeeper options

While option 1 is the safest, option 3 is like being back on Lion or any other previous version of Macintosh. Option 2 seems like a good middle path which quite a few developers will take.

Important points to remember regarding Gatekeeper:
1. The Gatekeeper does not check or restrict Plug-ins, Frameworks etc.
2. Any software already installed—and that has been run at least once—will continue to run even after Gatekeeper is enabled. Gatekeeper checks on first launch of an application.
3. Gatekeeper uses OCSP (Online Certificate Status Protocol) to verify the certificate, OCSP talks to servers over the Internet.
4. Gatekeeper validates/checks all the installer.

For more information on Gatekeeper behaviour refer: Macworld article and tidbits article

I did few experiments to understand the Gatekeeper better.

Check 1: Downloaded a pkg installer (unsigned) on 10.6 and ran it on 10.8 from a pen drive
I Downloaded a pkg installer which doesn’t work (not signed) on 10.8 (Mountain Lion) on 10.6 (Snow Leopard) using Google Chrome and transferred it to a pen drive next day and tried installing it. The Gatekeeper detected that the pkg was not signed. The behavior was same when I downloaded the installer from a mail server.

Downloaded on Snow Leopard but Gatekeeper detected it.

Check 2: Downloaded a pkg installer (unsigned) on 10.8
I Downloaded an pkg installer which doesn’t work (not signed) on 10.8 on 10.8 and tried installing it again Gatekeeper was up to the task. The behavior was same when I downloaded the installer from a mail server.

Check 3: Downloaded a signed pkg installer on a fresh 10.8 machine without internet
Basically this machine had Mountain Lion Preview 4 and my signed installer was not used on this machine. I pulled out the LAN cable (WiFi was turned off) and I tried to install my package using the pkg installer. Gatekeeper allowed the installer to run without any warning. Looks like OCSP (Online Certificate Status Protocol) is not the only check Gatekeeper performs. Good news is that Gatekeeper doesn’t need the machine to be connected to internet for it to verify the certificates. The behavior was same when I downloaded the installer from a mail server.

Check 4: Downloaded an application (unsigned) on 10.6 and ran it on 10.8 from a pen drive
The application didn’t have a pkg installer. I just had to drag and drop the app into “Applications” folder. Copy worked fine but when I tried to launch the application, Gatekeeper kicked in. I used an older version of TextWrangler to generate the issue.

Check 5: Downloaded an application (unsigned) on 10.8
Same as Check 4. Gatekeeper wouldn’t allow me run the application. I used an older version of TextWrangler to generate the issue.

Check 4 and 5

Check 6: Downloaded a signed application on a fresh 10.8 machine without internet
Gatekeeper verified and allowed the application to launch.

Gatekeepers doesn’t quite meets my expectation. I would be very happy if it starts validating frameworks, plug-ins and command line tools that the user can download from internet. There are already improvements in Gatekeeper implementation in Mountain Lion GM over Mountain Lion Preview 3. But it is a good start none the less.