Archive for August 31, 2015

Monday, August 31, 2015

NSProgress Enhancements

Jaanus Kase:

One important conceptual update is that we can now use and compose NSProgress in two ways. Implicit composition is what was there before, with the notion of the current progress object for a thread. That continues to work as before. In addition, though, there is a new method of explicit composition that Apple recommends using if you control all the pieces of a system.


The new explicit composition brings along a much clearer way of working with task weights (or child NSProgress weights).

WWDC 2015 Session 232 (video, PDF):

So all of the properties on NSProgress are key value observable, clients can add the KVO observers to update their UI.

For example, a client can update their UI progress views progress with the NSProgress as fractionCompleted property, or update a label with a localizedDescription.

Also be aware, that these KVO callbacks might not necessarily be called on the main thread.


Don’t use fractionCompleted to determine completion. […] Use completedUnitCount and totalUnitCount instead, unless your progress is indeterminate or the totalUnitCount is 0.

Objective-C to Swift Converters

Swiftify is a Web site and Web API (via Honza Dvorsky).

iSwift is a Mac app, also with a Web API (via Chris Hauk).

6 Only-for-iPad Gestures

Ben Patterson:

All well and good, but there’s another (and arguably easier) way to the multitasking screen for iPad users: just swipe up with four or five fingers.


If you want to switch apps without dealing with iOS’s multitasking screen, try this: Using four or five fingers, swipe from left to right or right to left.


If you turn your iPad so it’s in “portrait” orientation, however, the inbox pane will disappear, leaving only your currently open message. To see the inbox again, you’ll have to tap the inbox arrow in the top-left corner of the page…

…or, just do this: Make a short swipe gesture from left to right within the body of a message.

Alas, it looks like swipe selection on the keyboard is going to be another iPad-only gesture.

Details in the iOS App Store App

Dr. Drang:

I understand what’s going on during those 5–10 seconds. The badge on the app’s icon might have been out of date because it isn’t updated continuously, so now the app is communicating with Apple to get the correct number of updates that are available. What I don’t understand is why they can’t just use the same number that was showing on the icon as a placeholder until the new information has been retrieved. It’s disconcerting to launch the App Store because I see that two updates are waiting, only to see—initially, at least—that there are no updates waiting. Apple’s apps should be more polished than that.

More annoying is what happens when I tap the Search button. I get a lot of whitespace, a list of suggestions I have absolutely no interest in, and a search field at the top of the screen that I have to tap on before I can start typing.

Permanently Hide the iCloud Column in iTunes

Jason Sims:

Turns out you now have to also go to the Movies and TV Shows tabs and set the same View menu option for each of those as well — “Only [Movies/TV Shows] Available Offline”). Then (and only then) will the iCloud column actually disappear everywhere. Obviously music playlists have nothing to do with Movies or TV Shows, so this must just be another delightful new bug.

If you actually want to be able to browse and watch Movies and TV Shows you’ve purchased without downloading them all first, well…too bad.


Peter Bright:

As has been the case for many years now, reducing power consumption remains Intel’s top priority for Skylake. Not only does reduced power consumption enable the company’s processors to be used more widely—client Skylake processors will span everything from 4.5W tablet and ultralight systems up to 95W desktop devices, a 20-fold difference in power envelope—it also enables greater performance. Reduce the power used by one part of the chip and the extra thermal headroom (and current draw) can be spent on other parts of the chip; this is the underlying principle of Turbo Boost.


With this new design, the eDRAM is always coherent, since it is privy to all writes made to main memory, regardless of which core makes them. This also means that it can cache any data, even if it’s stored in memory that is marked as “uncacheable” by the operating system. The design also enables both PCIe devices and the display engine to read to and write from the cache.


Skylake has some “more of the same” aspects to its power conservation—more individual parts of the processor can have their frequency adjusted or powered down to allow finer tuning of power consumption—though these have been extended. For example, most code either never uses the AVX2 instruction set, or uses it extensively; it’s rare for applications to only use AVX2 every now and then. When faced with workloads that never use AVX2, those instruction units are powered down.


In Skylake, the power management is more cooperative. The operating system still has some control—for example, it can force a low frequency for extending battery life, or more commonly, it can set a range of acceptable frequencies—but the processor itself handles the rest. Rather than just choosing between P0 turbo states, the processor can pick between the full range of P states, from the minimum frequency all the way up to P0. […] This means that the processor is both quicker to react to new work, boosting the frequency as needed, but also much quicker to cut the frequency when idle.

Joe Rossignol:

Last month, a leaked Intel slide deck revealed that “Y” series Skylake processors appropriate for the 12-inch Retina MacBook will have up to 17% faster CPU performance, up to 41% faster Intel HD graphics and up to 1.4 hours longer battery life compared to current-generation Core M architecture.

Update (2015-09-02): Ian Cutress (comments):

All of the Core M processors are launching today, as are the i3/i5/i7 models and two new Xeon mobile processors. From a power perspective this means Intel is releasing everything from the 4.5W ultra-mobile Core M through the large 65W desktop models, along with the previously released 91W desktop SKUs.


The most interesting to me is that Intel apparently stopped publishing transistor counts starting with the 14nm node.

This is significant because as structure sizes become smaller, the restrictions on possible layouts (so called DRCs, design rule constraints) become ever stricter. For example, you can't just place wires wherever you want; you have to take into account the relationship to other wires. With stricter rules, the end result may be that the effective scaling achieved is worse than what the structure size suggests, because the rules force a lower density of transistors.

Joe Rossignol:

Intel announced a number of new 45-watt “H-Series” processors, but none with the higher-end Iris Pro graphics Apple uses in the 15" Retina MacBook Pro. Skylake H-Series chips with Iris Pro graphics are not expected to launch until early 2016, and Intel has yet to release detailed specs on these chips.