Showing posts with label Apple. Show all posts
Showing posts with label Apple. Show all posts

Thursday, 21 October 2010

John Sculley interviewed by Cult of Mac

Cult of Mac has a fascinating and surprisingly open interview with John Sculley who was Apple CEO from 1983 to 1993. He was originally brought in because the board felt that Jobs was too young to run the company. It's a very long interview so here's a few highlights:
The one that Steve admired was Sony. We used to go visit Akio Morita and he had really the same kind of high-end standards that Steve did and respect for beautiful products. I remember Akio Morita gave Steve and me each one of the first  Sony Walkmans. 
Slightly amusing in the modern-day context of the iPod. Now an example of Steve Jobs perfectionism:
The Apple logo was multicolor because the Apple II was the first color computer. No one else could do color, so that’s why they put the color blocks into the logo. If you wanted to print the logo in a magazine ad or on a package you could print it with four colors but Steve being Steve insisted on six colors. So whenever the Apple logo was printed, it was always printed in six colors. It added another 30 to 40 percent to the cost of everything, but that’s what Steve wanted. That’s what we always did. He was a perfectionist even from the early days.
And a snippet about the relationship between Apple and ARM:
The Newton actually saved Apple from going bankrupt. Most people don’t realize in order to build Newton, we had to build a new generation microprocessor. We joined together with  Olivetti and a man named  Herman Hauser, who had started Acorn computer over in the U.K. out of Cambridge university... ...when Apple got into desperate financial situation, it sold its interest in ARM for $800 million. 
Sculley on his experiences at Pepsi:
One of the things that fascinated him: I described to him that there’s not much difference between a Pepsi and a Coke, but we were outsold 9 to 1. Our job was to convince people that Pepsi was a big enough decision that they ought to pay attention to it, and eventually switch. 
The rest of the article is here

Monday, 4 October 2010

Software design matters: Apple capitalises on NextStep in a big way

It's well known that Apple have had an amazing resurgence over the last ten years. In 1997 before the return of Steve Jobs, the company was nearly dead. The Macintosh hardware strategy had caused them real problems, and MacOS desperately needed replacing. Apple knew this and tried to develop a replacement - the Copland project - but this took years and ended in failure, bogged down by the requirement of full backwards compatibility with the legacy MacOS.

When Steve Jobs arrived back at Apple, he brought with him a secret weapon - NextStep. Famously, this is the OS that Tim Berners Lee used to develop the World Wide Web. It's a Unix-like OS but with a microkernel rather than monolithic kernel of Linux and many other Unix variants. The upper layers of the OS are written using object oriented principles and design patterns. Applications are developed in Objective-C, with built-in support for message passing. Available to all applications are cleanly separated libraries to help out with common tasks. These libraries are known as kits. If this sounds familiar it's because it is exactly the architecture of Mac OS X today, which is essentially a reskinned version of NextStep. An example of a well known kit is WebKit which Safari is built on top of.

In recent years Apple has been massively successful at creating or reinventing certain device classes such as the tablet or smartphone. Their success is largely because they tailor the user interface very well to suit the hardware and usage profile of the device, made possible by an investment in software architecture. Use of OO principles and design patterns such as Model-View-Controller means applications can be quickly redeveloped for new devices while sharing the same underlying code. This removes the maintenance issues of duplicate code.

Compare this to Microsoft. Their OS platform was heavily optimised to run on the limited PC hardware of the 1990's. Although this was an achievement, it came at the cost of clean design. For example, optimising load times was often the primary reason for grouping code into the same DLL, rather than because of the functions they perform. They had a dependency nightmare.

When Microsoft introduced tablet computers a full eight years before Apple's iPad launched, they used an OS that was almost unchanged from desktop Windows. They were probably well aware that a small Start button program launcher and window controls are not ideal for small touchscreen devices, but the architecture of Windows made it very difficult to make changes in a maintanabe way.

This is an often-overlooked and very important reason why Apple has jumped so far ahead of Microsoft in the market for new devices.

Note: Microsoft have recently been working very hard on untangling the Windows codebase, and the changes are already in Vista and Windows 7. These changes are already delivering significant architectural improvements to the Windows Server product line.