My daily readings 09/10/2011
Daring Fireball: The New Apple Advantage
Design is largely about making choices. The PC hardware market has historically focused on three factors: low prices, tech specs, and configurability. Configurability is another way of saying that you, the buyer, get a bigger say in the design of your computer. (Bright points out, for example, that Lenovo gives you the option of choosing which Wi-Fi adaptor goes into your laptop.) Apple offers far fewer configurations. Thus MacBooks are, to most minds, subjectively better-designed — but objectively, they’re more designed. Apple makes more of the choices than do PC makers.
But now that Apple’s products are more popular, we’re beginning to see another benefit to Apple’s lesser degree of configurability: greater scalability. Apple needs larger quantities of fewer different components to manufacture the same number of computers as other companies. It’s not just the economies of scale that all companies get when they sell 3 or 4 million laptops in a quarter — it’s greater, because Apple’s 3 or 4 million laptops sold share a larger number of the exact same components.
The new MacBook Airs are iPad-like. I’ve called my 11-inch Air an “iPad Pro”, and the more I use it, the more that feels true.1
Apple is selling more MacBooks than ever before, but their range of models is shrinking
, not expanding. As SSD prices fall, I expect Apple to drop the “Air” and “Pro” distinctions and simply offer four Air-like MacBooks: 11, 13, 15, and 17 inches.
It’s the Jobs side of the equation that Apple’s rivals — phone, tablet, laptop, whatever — are able to copy. Thus the patents and the lawsuits. Design is copyable. But the Cook side of things — Apple’s economy of scale advantage — cannot be copied by any company with a complex product lineup. How could Dell, for example, possibly copy Apple’s operations when they currently classify “Design & Performance” and “Thin & Powerful” as separate laptop categories?
design patterns – What does your Objective-C singleton look like? – Stack Overflow
Singleton pattern – Wikipedia, the free encyclopedia
In software engineering
, the singleton pattern
is a design pattern
used to implement the mathematical concept of a singleton
, by restricting the instantiation
of a class to one object
. This is useful when exactly one object is needed to coordinate actions across the system. The concept is sometimes generalized to systems that operate more efficiently when only one object exists, or that restrict the instantiation to a certain number of objects (say, five). Some consider it an anti-pattern
, judging that it is overused, introduces unnecessary limitations in situations where a sole instance of a class is not actually required, and introduces global state
into an application.
Singleton Classes « Matt Galloway’s iPhone Apps
Singleton classes are an important concept to understand because they exhibit an extremely useful design pattern. This idea is used throughout the iPhone SDK, for example, UIApplication has a method called sharedApplication which when called from anywhere will return the UIApplication instance which relates to the currently running application.
You can implement a singleton class in Objective-C using the following code:
Posted from Diigo. The rest of my favorite links are here.