iPhone OS: bug fixes (Xcode 3.1 and Xcode 4)

Objective-C was close to the top three most popular programming languages, writing software for the iPhone OS, only one fifth had any experience programming for OS X, the App Store has become the Klondike of the XXI century. It’s time to create the world’s best development environment, immediately and at any cost, Xcode 4. And what was wrong with the old one?

Public iPhone SDK (tools and libraries) are not planned, it was not to be – newborn device was delicate and fragile, to prevent its depths the crowd of strangers was scary, especially digital evil irresistible and invincible captured the world.

But the force of attraction of the new platform was so powerful, and the iPhone, for all its magic, was a product of earthly technology, and a half-two months after the start of sales in the network can be read, in detail, how it works, how to get to code his programs (and the command architecture ARMv7 was widely known in the industry), the essence of all mysteries was revealed.

In a very short time, to replace the primitive programs of the “hello world” came the real app, turns the iPhone into something even more incredible. And, in October 2007, Steve admitted his mistake and promised to reveal all the secrets in the beginning of next year. Winter.

Public iPhone SDK was not planned and is not seriously designed. Apple employees used to develop operating system and application programs for it what kind of scaffolding around the building. Which required special training, and normal programmers was unacceptable.

Now, in the shortest possible time (preferably “yesterday”) needed to create an iPhone SDK, turning a blind eye to the inevitable until the flaws and simplifying everything. But the most important: the complex developer needs to impress, to instill a sense of simplicity and lightness, to be insanely great – in spite of an incredibly short time.

Most importantly, time. Then do everything again, carefully and methodically, taking into account the comments and suggestions. While doing nicely, and that worked – in principle.

The emphasis on a crazy project put Steve, specific goals were set , Scott Forstall, and the rest you can imagine yourself…

Mission impossible

This was not the first nor the last case of the use of “Apple analog Turbo Boost”, where a significant portion of the units of the company have suspended work on their tasks and were included in the teams working on components of insanely great project, close to their areas of competence.

Don’t try this. How and why they have it worked, I don’t know – perhaps they had some secret technology impact on people because of common human logic, it simply could not work. Something very important that is usually overlooked, they didn’t. Indian magic?

Induction was even more rigid than on previous occasions – will be something to remember!

They were in time. Everything turned out even better than expected. Did not disappoint. App Store the development environment and the unique method of their distribution has transformed software development for iPhone in a real Klondike. But the iPhone is a bestseller and a role model.

But it is the obverse side of the coin. Flip.

The price of victory

What was the name of the iPhone SDK consisted of several components.

The easiest component was the library. Debugged several years before the condition is close to perfect, they did not require radical changes. They had to hide from the ordinary programmer that is capable to harm the system, something to simplify. Came not perfect, but decent.

To create an infrastructure of distribution was harder, and easier. All of this was created from scratch, there was no need to look back and to achieve compatibility with something designed for other purposes. Was a bit confusing and difficult than desired, but tolerable.

The most difficult was to turn those “scaffolding” in the organic part of the Xcode development environment which had to break down the walls, destroy the communication and to lay a new. Rush, as always, led to errors, the correction of which gave rise to the whole cascades of new, confusion was piled up in confusion.

What became Xcode after mission impossible was awful – but it worked. First hundreds of thousands of apps appearing in the App Store was developed in Xcode 3.x, and many hundreds of them were fantastically good.

Project Marble

In the second half of 2008 mobilized the employees returned to their task, ready at any moment, on the first call, again to take part in something insanely great, and DTBU (Developer Tools Business Unit) charged to develop (again, carefully and methodically) a new development environment. The project was assigned the code name Marble (marble). Steve had always fulfilled its promises.

In 2010 the Marble project was first shown publicly, the participants of the WWDC. It was not Xcode, the product is different from previous versions of Xcode more than the first Xcode in 2003 differed from the latest version of Project Builder, but those who should think about titles and names are already decided: Marble announced as Xcode 4.

In 2011 the beta version of Xcode 4 have been available to developers registered with Apple on a confidential basis. So in the big world no one knew about the present tsunami of outrage, which fell on “Xcode 4” closed forum for Apple developers.

Our first beta was a huge amount of bugs, there were inconsistencies and bad decisions, they also wrote – but the main sore point was different. That’s all changed. It was not like before. Old habits no longer worked. The plugins were not supported, and according to the developers of Xcode do not even planned (then they still appeared).

Even the keyboard equivalents of the commands have changed. The interface is “one-window”, or rather Windows was much less than before – but not rush to conclusions, the details will be reported in a separate opus, if anyone is interested.

It was a totally new development environment. My first impression was shock and horror – I lived in different versions of Xcode and Project Builder for more than ten years did not understand. As always, I tried to jot down a simple program. And quickly got confused in three pines.

New was much. For example, Interface Builder (program-link user interfaces of these “live” objects) became part of the main application development environment, now the interface files can be opened in adjacent panels, and even bind controls to the source code of a conventional “left click” and dragging from the source context to the receiver (sorry for the intimate details). It was so cool and unexpected! It would be great if not for glitches. Glitches in the first beta was too great a number. But it and beta.

The shock soon passed. As the addiction I fell into the opposite extreme. From time to time I had to go back to Xcode 3.2.x, where innovations caused me surprise and indignation in the first hours of experience with Xcode 4, I already missed it.

To be continued

To discuss the history of Apple you can in our Telegram chat.

Leave a Reply

Your email address will not be published. Required fields are marked *