Wednesday, May 16, 2012
Steve McCabe:
The developers of Perian, the free and extremely popular video format extender for QuickTime, have announced that they are ceasing work on the project. In a statement on the project’s Web site, the developers have said that it’s time to move on, their goal of making video content playback easier on the Mac having been met.
There are plenty of standalone Mac video players. Perian is interesting because it enables any application that supports QuickTime or Quick Look to play additional formats. QuickTime once had built-in support for playing Flash videos. These days, Apple would rather promote its preferred video formats than ensure that applications on its platform can play files that users encounter in the wild. (Imagine if there were popular image formats that Safari and Preview couldn’t display.) I haven’t been following the QuickTime API very closely, but my impression is that ever since QuickTime X in Snow Leopard, the entire plug-in system has been deprecated, with no replacement.
Drew McCormack:
I’ve spent the last 3-4 months integrating Core Data syncing over iCloud into Mental Case for Mac. It is not in the wild yet, but we have started beta testing with a limited audience.
To say it has been a challenge would be an understatement — it has probably been one of the hardest tasks I have ever undertaken for a Mac or iOS app.
Tuesday, May 15, 2012
Friday, May 11, 2012
Scott Hanselman (via Paul Kafasis):
The world’s most advanced phones include an icon that looks like a phone handset that you haven’t touched in 20 years, unless you’ve used a pay phone recently.
Also:
At some time in the past the magnifying glass became the “search everywhere” icon, but for some reason binoculars are for searching within a document. This makes no sense as magnifying glasses are for searching things that are near and binoculars imply breadth of search and distance. These two commands should have had their icons reversed!
Thursday, May 10, 2012
Adobe has the expected list of caveats:
- Updates will take place through the Mac App Store, not via Adobe.com for this version of Lightroom. When we update Lightroom for new camera support (about 4 times per year), the Mac App Store version may be released at a different time than the update on Adobe.com
- There is no upgrade pricing available on the Mac App Store for Lightroom customers who own Lightroom 1, 2 or 3.
- Because there is no upgrade pricing or upgrade validation currently available on the Mac App Store, there is no guarantee that upgrade pricing will be available to Mac App Store Lightroom 4 customers when Lightroom 5 and future versions of Lightroom are released.
I’m more interested in what will happen to Lightroom 4 purchases when version 5 becomes available. If there’s still no upgrade functionality, Adobe will have to remove version 4 from the store when it adds version 5. My understanding is that apps that are removed cannot be redownloaded. You can make your own backup, but the Mac App Store receipt will be tied to your Mac’s unique ID. So it seems as though if Lightroom 5 comes out and you get a new Mac, you will not be able to continue using Lightroom 4 at all. To be clear, this situation is not unique to Adobe. It is just one of the higher profile companies that is working around Apple’s lack of support for multiple versions of a product.
Secondly, this is bad for scripting and for other applications that integrate with the product. A new product in the Mac App Store must have a new bundle identifier. So any code that was using the old bundle identifier to, well, identify the application will break.
Tuesday, May 8, 2012
I’d long pigeonholed Moom as a utility for moving and zooming windows, for people who didn’t want to do so by clicking and dragging. It sounded cool enough, but not particularly useful for me. I tend to keep my windows in fixed locations and don’t need or want to reshape them into different grids.
Then I happened to see a full-page ad in the paper edition of Macworld highlighting the “Save Window Layout Snapshot” feature, which I didn’t know about. I’d tried a couple utilities to do this years ago, but was never that happy with them. And during the Mini DisplayPort adapter fiasco I’d written an AppleScript to restore my hard-coded window positions. However, Moom is easier and better, so I’ve switched. Whenever my windows get messed up—from resetting the display adapter, a kernel panic, or switching from one display to two (or vice-versa)—it quickly fixes the positions of all my windows.
Monday, May 7, 2012
Mark Dalrymple:
If g_name is non-nil, it’s a true value, so this function will be returning a true value. It might not be YES, but truth is truth in C, isn’t it? If this function returned bool, it would return the correct value.
Unfortunately, with BOOL, it doesn’t. If the address happens to have a zero lower byte, this function will return zero due to the same slicing behavior.
Ed Bott (via John Gruber):
Microsoft’s decision to remove support for playing DVD movies in Windows 8 has caused some confusion. If the VLC media player can provide DVD support for free, why can’t Microsoft? For starters, Microsoft isn’t French.
I did some preliminary testing with version 1.0.2960.1377 of Google Drive. At first glance, it seems to be a lot like Dropbox except that it’s slow and doesn’t work very well. At launch, it fills the Console with errors like:
5/7/12 2:22:58.497 PM [0x0-0x70070].com.google.GoogleDrive: objc[1082]: Object 0x2f1a8d0 of class OC_PythonString autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug
5/7/12 2:22:58.497 PM [0x0-0x70070].com.google.GoogleDrive: objc[1082]: Object 0x2f10af0 of class NSPathStore2 autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug
5/7/12 2:22:58.497 PM [0x0-0x70070].com.google.GoogleDrive: objc[1082]: Object 0x2f0f5f0 of class __NSCFData autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug
This makes it appear as if the developers weren’t very experienced with Objective-C and also didn’t test it.
Uploading took around 20 minutes for a folder with under 100 files and 100K. (I never thought I’d write the phrase “slower than iDisk.”) It reported numerous “unknown” upload errors. They kept occurring when I clicked “Retry” but did not recur after restarting the Mac.
I waited 40 minutes for it to download 17 files totaling 60 KB, after which it seemed to have stopped making progress, and I gave up. Of the files that it completely downloaded, it did not transfer the following metadata: label, creation date, extended attributes, locked flag, invisible flag. Dropbox initially had problems with these as well, but as of version 1.0 it handles them properly. (The test file with the resource fork was one of the ones that didn’t download before I gave up.)
I assume that my experience is not typical, or I would have read about more people reporting problems. But from what I’ve seen, this is one Google product that should have stayed in beta.
Sunday, May 6, 2012
Emil Protalinski (via Slashdot):
An Apple programmer, apparently by accident, left a debug flag in the most recent version of the Mac OS X operating system. In specific configurations, applying OS X Lion update 10.7.3 turns on a system-wide debug log file that contains the login passwords of every user who has logged in since the update was applied. The passwords are stored in clear text.
Anyone who used FileVault encryption on their Mac prior to Lion, upgraded to Lion, but kept the folders encrypted using the legacy version of FileVault is vulnerable. FileVault 2 (whole disk encryption) is unaffected.
User tarwinator posted about this in Apple’s support forum three months ago but didn’t get a response.
Update (2012-05-09): It’s fixed in Mac OS X 10.7.4.
Update (2012-05-10): Apple has posted a support article about the problem.
Mark Alldritt:
I am a self-funded Indie (lone) developer. I made a number of classic business blunders on the FaceSpan 5 project. I broke the golden rule: never (never!) rewrite a software product. I massively underestimated the effort required to complete the product. I set off without having sufficient resources to complete the project. Because I took so long to complete my work, the market moved on — AppleScript’s importance to the customers I intended to target declined. Some may argue that the market was never really there to provide a return for a product of this complexity. Finally, I didn’t pull the plug soon enough.
I never got into FaceSpan, but I’m a big fan of Alldritt’s main product, Script Debugger.
Josh Abernathy (via Jesper):
ReactiveCocoa gives us a lot of cool stuff:
- The ability to compose operations on future data.
- An approach to minimize state and mutability.
- A declarative way to define behaviors and the relationships between properties.
- A unified, high-level interface for asynchronous operations.
- A lovely API on top of KVO.
Those all might seem a little random until you realize that RAC is all about handling these cases where we’re waiting for some new value and then reacting.
Lots of fun with blocks, based on .NET’s Reactive Extensions (Rx).
Saturday, May 5, 2012
Sam Livingston-Gray (via Jonathan Rentzsch):
Once people achieve some level of Git enlightenment, they tend to make statements of the form ‘Git gets a lot easier once you realize X’—but that doesn’t do much for people staring up Git’s steep learning curve.
My goal with this site is to help you, Dear Reader, understand what those smug bastards are talking about.
Not that Git is easy to use, exactly, but I think it’s somewhat unfairly singled out for criticism. The repository model is very logical.
When I first started using iOS’s on-screen keyboard, it was a revelation just how much I missed the arrow keys and modifiers (for moving by word or by line and changing the selection). Apple eventually added support for text selection and cut/copy/paste, with an interface that’s intuitive but very slow. Text entry and editing remain so unpleasant that I do them as little as possible, waiting until I’m back at the Mac and its real keyboard. Daniel Hooper created a demo showing how the iPad’s keyboard could be improved (via John Siracusa). His idea is to use the keyboard as a gesture area, swiping left and right to move the cursor or change the selection. This looks like a promising approach.
Wednesday, May 2, 2012
I’ve encountered a raft of kernel panics recently (eight in the past two weeks). The backtrace is always related to com.apple.NVDAResman, which seems to be the driver for my MacBook Pro’s NVIDIA GeForce graphics card. Strangely, this has only happened with Mac OS X 10.7.3, but the panics did not begin until two months after updating to 10.7.3. Perhaps there was another update to those drivers that I don’t remember.
Aside from being annoying, the kernel panics indirectly caused a more serious problem: I repeatedly left the house with stale OmniFocus data synced to my iPhone. I’ve used OmniFocus for years, and nothing like this had ever happened, so I had gotten to the point where I didn’t think much about syncing, assuming it would just work. Furthermore, when I tried to manually initiate a sync from the iPhone, the progress indicator would just spin and spin.
I looked in the Console log and found many entries like this:
4/26/12 5:12:03.161 PM Firewall: Deny connecting from fe80:5::62c5:47ff:fe37:29aa:58959 to port 49212 proto=6
4/26/12 5:12:06.868 PM Firewall: Deny connecting from 192.168.1.105:58960 to port 49212 proto=6
The iPhone had found my Mac, but the firewall was preventing it from connecting.
I don’t understand why this happens, because I verified in the “Security & Privacy” preferences pane that httpd (the Apache Web server, which OmniFocus uses when set to sync via Bonjour) was set to “Allow incoming connections.” The problem only occurs when Lion’s auto-restore feature has automatically relaunched OmniFocus (e.g. after a kernel panic). In that situation, the firewall will continue to block connections for days.
I’m not sure whether this is due to a bug in the OS or whether OmniFocus should be doing something differently on auto-restore. However, there is a workaround: if I manually quit and relaunch OmniFocus on the Mac, the firewall suddenly opens up and allows the iPhone to connect.
The other thing I’ve learned from these panics is that two of my favorite applications, NetNewsWire and Hibari, save certain state only when they quit cleanly. After the panic, old news items appear as unread, and the Twitter timeline is scrolled to the wrong place.
Tuesday, May 1, 2012
Goran Daemon P (via Justin Williams):
Reason for rejection is the fact that if the user does not have Dropbox application installed then the linking authorization is done through Safari (as per latest SDK).
Once the user is in Safari it is possible for the user to click “Desktop version” and navigate to a place on Dropbox site where it is possible to purchase additional space.
Apple views this as “sending user to an additional purchase” which is against rules.
I’m surprised it took this long for Apple to enforce its own insane rule.
Update (2012-05-02): Bryan Bishop:
Dropbox initially tried removing a link to the desktop version of the site as a possible workaround, but the review team continued to reject apps. Earlier this evening, the company posted a version of its SDK that removed the ability to create a new account altogether. While Dropbox believes this should resolve the issue, it’s hardly a convenient solution for iOS users looking to add functionality, and should only further stoke the flames of controversy over some of Apple’s review guidelines.
Update (2012-05-13): Dropbox complied with Apple’s guidelines by removing the option to create an account.
Monday, April 30, 2012
David Carr (via MacNN):
But the plan hit a pothole after Apple, which had been looking to get into shorter works in a digital format, decided to include e-books in a promotion that it does with Starbucks. It selected Mr. Bissinger’s digital sequel as a Pick of the Week, giving customers a code they could redeem online for the book. (Mr. Bissinger said he still received a royalty of $1.50 for each copy sold.)
Amazon interpreted the promotion as a price drop and lowered its price for “After Friday Night Lights” to exactly zero. Byliner withdrew the book from Amazon’s shelves, saying it did so to “protect our authors’ interest.”
The automatic price drop was because Amazon requires that publishers let them sell e-books for the lowest available price.
Aristotle Pagaltzis:
I recently discovered the -h switch of GNU sort, added in the coreutils 7.5 release from Aug 20, 2009. With this switch, sort will do a numeric sort of human-readable size numbers, i.e. it will accept “42M” and “1.3G” as numbers and put them in the right order.
Alas, Mac OS X ships with the 5.93 version of sort from 2005.
Dave Winer:
Now they display my stories with the full URLs, even though they still route through my URL shortener, so I get the click counts. But I can see them changing that again, and replacing my URL-shortener with theirs. They now use theirs and mine. So there are three URLs in the mix: 1. The original URL. 2. My shortened URL. 3. Their shortened URL. What a contortion of TBL’s invention. And I’m sure there are more twists and turns coming.
Brian Webster:
Now, with most applications that support a tabbed interface, each tab is typically used to hold a single document, so that you can switch easily between them. I tried this with Xcode 4, but quickly found that the set of files I’m working with at any given time is usually too large for tabs to really be an effective way of managing them. The number of tabs would quickly grow to where I couldn’t find anything, and didn’t end up saving me any time. The key realization I had was that, rather than having one tab per file, I should instead have one tab for each type of task, such as editing, building, debugging, and so forth.
I liked certain aspects of Xcode 3’s user interface better, and there are some surprising omissions, but overall I don’t have a problem with the changes in Xcode 4. In many ways, it’s an improvement. Rather, the problem with Xcode 4 is that it’s been shipping as a non-beta version for over a year now, and yet it still has the reliability of beta software. Aside from later versions of Xcode 3, Xcode was pretty much always more crashy and error-prone than Apple’s non-developer apps. So was Project Builder. (The older ProjectBuilder, sans space, seemed solid to me, and it had some nice features that still haven’t made it into Xcode.) And on the classic Mac OS, Metrowerks CodeWarrior suffered from similar problems at times. (As I recall, THINK C was stable, but I didn’t do much Mac development in those days.)
Developers are people, too. If the quality isn’t good enough for iTunes or Safari, it shouldn’t be acceptable for the tools used to developer those applications. Or, for that matter, the third-party applications that we rely on.
Andrew Hanelly (on
Dave Winer’s site):
I think you just sparked the idea for a hell of a service that could be applied to any topic, especially event-based ones where you don’t want stale content from search engines, and too-thin, real-time content from Twitter. A curated feed that grabs essentials from all sources—sort of like a concierge for a timely topic.
Pavel Radzivilovsky, Yakov Galka, and Slava Novgorodov (via Hacker News):
UTF-16 is the worst of both worlds—variable length and too wide. It exists for historical reasons, adds a lot of confusion and will hopefully die out.
Portability, cross-platform interoperability and simplicity are more important than interoperability with existing platform APIs. So, the best approach is to use UTF-8 narrow strings everywhere and convert them back and forth on Windows before calling APIs that accept strings.
If you’re a Cocoa programmer, be sure you’re familiar with -[NSString rangeOfComposedCharacterSequenceAtIndex:].
Friday, April 27, 2012
John Carmack:
No matter what language you work in, programming in a functional style provides benefits. You should do it whenever it is convenient, and you should think hard about the decision when it isn’t convenient.
I love this tweet from Michael Feathers (author of the excellent Working Effectively with Legacy Code):
OO makes code understandable by encapsulating moving parts. FP makes code understandable by minimizing moving parts.
Thursday, April 26, 2012
Nilay Patel:
In the end, though, the actual wording of these documents doesn’t reveal much—they all set out to do the same thing, and they all accomplish their goals. What’s most important is how much trust you’re willing to give companies like Google, Microsoft, Apple, and Dropbox as more and more of your data moves to the cloud. Contracts are meaningful and important, but even the most noble promises can easily be broken. It’s actions and history that have consequences, and companies that deal with user data on the Web need to start building a history of squeaky-clean behavior before any of us can feel totally comfortable living in the cloud.
Tuesday, April 24, 2012
Philip Greenspun:
Five and a half years ago, I wrote a posting marveling that the Dell 30″ LCD monitor was selling for $1279. My HP-brand 30″ monitor seems to be flaking out, so I was considering replacing it with another Dell (my six year-old Dell monitor is still going strong). What’s the latest price from Dell? $1299! With LCD TV prices on a constant downward trend, how is it possible that the 30″ computer monitor remains stuck at over $1000? It is just that nobody wants this size? Newegg.com sells 27″ name-brand monitors (e.g., Samsung) for $300, but it would be hard to give up the extra size and resolution to which I have become accustomed.
Granted the current models are much better IPS displays, but I still find this surprising. I’m using a 5-year-old Dell display that also seems to be flaking out. I keep thinking some new product or price change will signal that it’s time to replace it, but that hasn’t happened yet. You’d think that, with Xcode 4 and Aperture, Apple would have some interest in producing displays larger than 27 inches. Now I think we may see a TV first.
The Mac version of Amazon’s Send to Kindle is now available (via Jacqui Cheng). There’s a (cross-platformish looking) app that supports drag and drop, a printer driver, and a contextual menu plug-in. You can choose which Kindle (or iOS device with the Kindle app) to use as the destination and also archive the files in Amazon’s cloud. Of course, you can still send files via e-mail. Meanwhile, Apple’s iBooks supports fewer file formats and can only receive files via iTunes.
Firefox is now at version 12.0. Basic AppleScript support (such as getting the URL of the current window) hasn’t worked since version 3.5, and it was intermittently broken in some earlier versions.
Amazon Supply, looks like a McMaster competitor (via Gus Mueller). There’s free 2-day shipping with a $50 order (rather than the free slow shipping with a $25 order at regular Amazon), and it works with Amazon Prime. Many of the items that I looked at don’t seem to be in stock, however.
Saturday, April 21, 2012
Gus Mueller:
No more connecting to WebDAV servers and having to deal with authentication issues and strange HTTP errors. Now you can just put your VoodooPad 5 document in a Dropbox folder and VP will detect when pages have been updated. Kirstin and I even share multiple documents over Dropbox- and we can both be working on the same document at the same time. It’s wonderful.
[…]
A side benefit to these changes is VP’s file format is a bit more robust than previously as well. I also see it as a way of future proofing VP- if Google decides next week to introduce a Dropbox competitor, VoodooPad will probably work fine with it. Or if a new SCM like Git or Mercurial shows up tomorrow that you want to stuff VP into, it should “just work.”
I like developers who publish release notes and make their documentation available in multiple formats.
VoodooPad is a $25 dollar upgrade from any previous version, as well as for a full purchase for a limited time.
New users can probably thank the Mac App Store for that discount. This is one of the first apps I’ve seen that requires Lion. I expect there to be many more soon.
Gus Mastrapa:
A white pickup truck pulls up and parks on the street; enter vintage computer collector Tony Diaz. He made the 80-mile drive up from Oceanside to help Mechner mine his old floppies for their lost treasures. From the bed of his pickup, he unloads crate after crate of old Apple II computers, drives and cable. He’s brought everything that might possibly be necessary today. If those disks have information on them, he’s going to extract it.
Jordan Mechner’s journals about the making of the game are available in an e-book, and the source code is available on GitHub:
This archive contains the source code for the original Prince of Persia game that I wrote on the Apple II, in 6502 assembly language, between 1985-89. The game was first released by Broderbund Software in 1989, and is part of the ongoing Ubisoft game franchise.
MacNN:
After first advising users on how to work around the flaw, Microsoft today pulled the Service Pack 2 update for its Office 2011 Mac software in order to find the cause of an issue that was corrupting identity databases in its Outlook e-mail client. Though the SP2 update is still available for manual download, the company has stopped pushing SP2 out using AutoUpdate until it resolves the problem, according to a post on its Office for Mac blog.
I’ve received reports from customers that the update corrupted their Outlook database, broke Sync Services, and more. SpamSieve users who have already updated to SP2 should see this thread.
Wednesday, April 18, 2012
Dan Frommer:
A look at the companies’ growth rates tells the story well: While Amazon has grown sales by 41%, 40% and 28% the past three years, Best Buy’s fiscal year sales growth rates have been 2%, 0%, and 10%.
The surprising thing to me is that, at least through 2011, Best Buy still had more revenue than Amazon. Off-hand, I think everyone I know—including my grandmother—spends more at Amazon each year. I bought books from Amazon before ever setting foot in a Best Buy (because there was then no local one). Now I buy books, digital content, cloud services, hard drives and other electronics, sporting goods, and even soap, vanilla, and cookware from Amazon. The last time I shopped at Best Buy was a few years ago when I had a gift certificate. That’s when I noticed that they no longer have much of a music section but have a whole rack of iTunes gift cards in different styles.
Tuesday, April 17, 2012
Patently Apple (via MacNN):
As a graphical user interface produced by an application program, one embodiment of the invention includes at least a browse window generated by the application program. The browse window enables a user of the application program to browse through a plurality of media items. The browse window includes at least: a first list of first selectable items, with at least one of the first selectable items being capable of being selected by the user; a second list of second selectable items, with at least one of the second selectable items being capable of being selected by the user; and a third list of third selectable items, with at least one of the third selectable items being capable of being selected by the user. The second selectable items of the second list are dependent on a first selection by the user of at least one of the first selectable items from the first list.…
This just sounds like column view (which Xerox’s Smalltalk had in the 1970s) applied to media items.
As a graphical user interface produced by an application program, one embodiment of the invention includes at least an application program window generated by the application program. The application program window concurrently includes at least a sub-window and a next control. The sub-window displays media information for a first set of media items. The media information for the first set of media items is received by the application program from a remote server over a network. When the next control is activated, the sub-window displays media information for a second set of media items. The media information for the second set of media items is also received by the application program from the remote server over the network.
This seems pretty ridiculous.
iKamasutra (via Craig Hockenberry, who calls it “Every developer’s greatest fear”):
After several years and 13 million users, Apple summarily removed iKamasutra from the App Store on February 20, 2012, ostensibly for adding brown hair coloring to our drawings. Then, on March 14, it was just as arbitrarily pulled from the Google Play Store. I have been trying to understand Apple’s and Google’s sudden concerns and address them, but with limited feedback and no real dialog from them, despite all our efforts, our options have dwindled.
They added brown hair to improve usability, Apple complained, so they changed it back, and then Apple rejected the app for duplicating apps that were already in the store. The irony: iKamasutra was the first app of its kind.
Lee Wochner:
I just got a “Rate Reduction Notice” from The New Yorker magazine. Evidently, as a “preferred subscriber,” I am entitled to “specially reduced rates” when I extend my subscription now. In this case, my special rate reduction would put me at $64.99 for the year — an incredible savings of $216.54 off the cover price!
I got one of these letters today, and it’s not a reduction for me, either. If you subscribe by phone, you can ask for the “professional” rate of $39.99 per year. I’d rather read it on my Kindle, but I get the the dead tree version because it’s the only one that makes it easy to save the articles that I like. Cutting them out and feeding them into my scanner produces much better results than trying to save pages from the subscribers-only Web site.
Monday, April 16, 2012
Path Finder 6 adds support for access control lists (ACLs), OpenMeta, batch file renaming, and hex editing. I don’t use Path Finder as a Finder replacement. Rather, I launch it every once in a while to do certain operations that the Finder can’d do and that are somewhat of a pain to do in Terminal. It’s normally $40, $35 for the first week, and $15 for upgraders.
Manton Reece:
If Web 2.0 made data more accessible, iCloud takes that same data and…keeps it closed. It’s a step forward on user convenience and a step back on interoperability.
He thinks this is Apple’s plan, that Apple isn’t interested in solving the interoperability problem, and that’s fine. I think it’s a poor long-term strategy for Apple to cede the interesting cloud use cases to Web APIs and other companies.
When Steve Jobs said that Dropbox was but a feature, perhaps he was revealing a blind spot. The cloud, or the Web, is more like a platform. If Apple doesn’t want to provide the APIs, developers will find others to build on. This is probably good for the world at large, but it’s somewhat of a missed opportunity for iCloud.
Rainer Brockerhoff:
RB App Checker Lite helps users and developers to check code signatures and receipts for applications from any source. It will show certificates, requirements and entitlements, cross-check all this information for consistency, and check that the application’s resources have not been altered after signing.
The user interface has too many popovers for my taste, but it looks like a big improvement over using codesign in Terminal. It would be nice to see support for checking the Gatekeeper compatibility with older versions of Mac OS X.
Friday, April 13, 2012
Federico Viticci:
As Streza noted, even when iCloud launched six months ago, “it really felt like a beta that Apple would be iterating on quickly”. Last summer, when Apple was beta-testing iOS 5 and OS X Lion with registered developers, a shared belief amongst app makers was that implementing iCloud integration would take a while. Six months after the public rollout in October 2011 and 10 months after the company’s announcement (and beta release) at WWDC, the situation still isn’t much different for many developers.
It seems as though the Core Data syncing, in particular, is nowhere near ready for primetime. Thus, Apple should commit to keeping the MobileMe Sync Services API working beyond June. More generally, Apple seems to be taking the “it just works” philosophy too far. When something inevitably goes wrong, there needs to be a way for developers (or even users) to get under the hood to see what happened and fix it.
Mike Ash:
Nib memory management is similar between Mac and iOS but just different enough to be annoyingly confusing. Fortunately, it’s easy to mitigate the confusion by sticking to areas where the two platforms behave identically, which results in best practices anyway. Always use a Cocoa controller to load nibs rather than loading the nib directly yourself. Always declare properties for your outlets. As with any property, if your outlet properties are strong, then you must release the backing instance variable in dealloc (or let ARC do it for you).
I kind of wonder why they didn’t fix the top-level objects issue when introducing NSNib. It’s not even mentioned in the documentation.