Archive for September 2010

Tuesday, September 28, 2010


Karsten Kusche has released DataLibraryCreator, which stores binary files in a static library and makes their data available via exported symbols.

Apple 27-inch LED Cinema Display Review

Anand Lal Shimpi reviews the new display:

Overall the new 27-inch LED Cinema Display isn’t the knockout I had hoped it would be. You get 90% of the resolution of a 30-inch display, in a more compact package. The ability to charge your notebook (if you’re a modern Apple user) is a nice convenience as well. And at $999 it’s actually more affordable than most 30-inch LCDs. With a 120Hz panel and RGB LED backlighting it could have been both forward looking and near perfect, instead what we have is a display that’s good, but not great.

He doesn’t like the glare from the glass or the lack of a height adjustable stand. I’m a bit tempted to replace my 30-inch Dell because it’s noisy, the color quality isn’t great, and the built-in USB hub no longer works. Also, I’d like to be free from the problems with the Mini DisplayPort to Dual-Link DVI Adapter. However, I’m not eager to lose 160 vertical pixels.

Saturday, September 25, 2010

Further Ping Integration in iTunes 10.0.1

Jason Sims:

Previously, there was a hidden setting that allowed you to reverse the behavior, so the default action was to show the item in your own library, and required holding [Option] to jump to the iTunes Store. If you changed that setting (as I did, since I use those arrows to navigate my own library far more often than linking to the iTunes Store), the behavior is actually still reversed in 10.0.1 (the default action shows the item in your own library), but the subheading in the menu displays the wrong thing; when it says “Show in iTunes Store”, you’ll actually be taken to your own library, and vice-versa.

Friday, September 24, 2010


Jeff LaMarche and Daniel Jalkut discuss whether to set Objective-C ivars to nil in your -dealloc methods. LaMarche responds. Assuming reasonable quality code, I’m not sure that it makes a huge difference either way, though I tend to lean towards Jalkut’s “don’t mask symptoms” camp. Jeff Johnson makes an interesting point in a comment:

As Mac developers who distribute via the internet, we can get a crash report (from a user, not from Apple, grr!), find the bug, fix the crash, and release a software update all within an hour. Thus, we tend to favor not ‘coddling’ our code, as Daniel puts it. iOS developers, on the other hand, are hostages to the app store approval process. Of course, if your iOS app is crashing in production, one wonders how it got through the approval process in the first place or what the point is of the process, but in any case, your coding precautions may be different for that case.

This sounds like an argument for using macros so that you can easily change your decision based on how you are testing or deploying the code.

JavaScript Off

Michel Fortin:

I’ve been browsing the web with Javascript turned off more and more frequently lately. While to a web developer this might look like I’m crippling the user experience, to me most of the time I find it more pleasurable. Even though I’m on a Core 2 Duo, websites are noticeably faster with Javascript turned off.

I gave up on this some years ago. In practice, too many sites require JavaScript or work much less smoothly without it.

Apple Headphone and Camera Patents

Fast Company:

Apple’s beef is with the existing leaf-spring contact system, which is bulky due to the restrictions of the physical form of the connector itself. Basically, the complex plastic restraints and springy contacts themselves mean you can’t easily choose the size and shape of the socket. And that means you have limitations on the format of the audio device you’re building, including device thickness and placement of the socket on the motherboard.

The other patent application is for a flash with multiple directional light elements.

Grace Hopper Interview

YouTube has a great 1986 video of David Letterman interviewing Rear Admiral Grace Hopper, developer of the first compiler (via Joel Levin):

Letterman: “So how did you know so much about computers?”
Hopper: “I didn’t! It was the first one!”

Still sharp at age 79.

Wednesday, September 22, 2010

If Not You, Then Who?

Kevin Hoctor:

It’s easy to feel discouraged because your software is in use by hundreds instead of thousands or thousands instead of millions. It’s easy to feel overwhelmed because you don’t have the time to see your vision in full bloom. It’s easy to give up and let someone else deal with creating the solution, but don’t do it. You’ll be cheating the world out of an experience only you can provide.

I’ve been happily using MoneyWell for about a year now. Hoctor talks about designing it for himself, and I can tell that it wasn’t designed for me. I don’t use the signature features: direct connect banking, envelope budgeting, or cash flow management. However, he’s built an application that’s also flexible enough to work the way I want. Even though you may not have reached your vision (yet), you may still end up solving a problem that someone else had.

Thursday, September 16, 2010

Kindle 3 First Impressions

Marco Arment:

The screen has been significantly improved, and there are subtle layout differences…Note how the removal of the top bar and elimination of the margin below the progress indicator has added space for three more lines of text per page at this font size. There’s a new font chooser as well: on most content, you can select between “regular”, “condensed”, and “sans serif”…I still prefer the “regular”. There’s also a line-height option, but the default (pictured) is the largest, and the two smaller settings decrease legibility too much for my taste.

Thursday, September 9, 2010

App Store Changes

Apple has issued a statement saying that they are relaxing sections 3.3.1, 3.3.2, and 3.3.9 of the iOS Developer Program License Agreement. Theoretically, Flash-based apps are now allowed, although Apple reserves the right to ban apps that “rapidly” drain the battery. More importantly, it is once again possible to use interpreters, alternative languages, frameworks, and developer tools. This is excellent news, although it’s important to note that it’s basically a reversal of the damage done in April, rather than an improvement over the status quo ante. By my interpretation of the guidelines, useful apps like Briefs are still forbidden because the interpreted code is not bundled into the app. iOS remains a restricted platform for developers.

They’ve also published the App Store Review Guidelines, though you’ll have to join the iOS developer program and pay $99 to read the official copy. John Gruber calls attention to some of the more interesting rules. I see this, along with Apple’s insistence that it wants to be “more transparent,” as a small positive step. Most of these guidelines were already known, but it’s certainly valuable to have them written down. It remains to be seen whether anything will be different in practice. Apple can still make up rules as they go along and hold apps in limbo without rendering a verdict.

Also, some of the rules are scarier now that they’ve been made explicit. For example, no third-party browsers, no apps that “duplicate” apps that are already in the store, no apps that are simply “content aggregators,” and restrictions on commentary unless you’re a “professional political satirist.” Some rules remain unwritten: there’s no mention of the prohibitions for “limited audience” or competing with Apple’s built-in apps.

Lastly, there are some veiled threats such as “If you run to the press and trash us, it never helps.” Adam Engst writes:

Shining a light on situations like this is exactly what the press should be doing—the public does not have a right to know everything about Steve Jobs’s private life, but knowing that Apple is rejecting political satire from the App Store is absolutely in the public interest.

I continue to agree with Jesper about the bottom line:

I don’t think it’s unfair for Apple to have a list of the applications produced for its platform that it believes is decent and upstanding, and which it is proud to be associated with. I just don’t think that that list should be the same as the list of all applications that can run, ever.

Google Instant Search = Instant Echo Chamber

Bob Warfield:

How does Google Instant Search contribute to the Echo Chamber? Well anyone who has bothered to look through keyword information on their website will see that people find sites through a bewildering array of queries. Some might even say much of it is accidental, but looking over these lists gives a wonderful window onto how your content is found and perceived by others. How often do we get to commit such telepathy with our followers? Rarely. Yet, Instant Search will substitute popular searches for those individually created. More people will be driven off the back roads search trails and onto the superhighways that lead to whomever controls the first few search results connected to the Instant Searches Google is recommending at the time.

Interesting implications for SEO and AdWords bidding.

Update (2010-09-11): Wade Roush has some theories.

Apple’s Secret “wispr” Request

Robert Graham (via Hacker News):

Therefore, before your app has a chance to access the network, Apple does this for you. It sends out a request to the above URL. If the request gets redirected, then Apple knows there is a portal. It then launches a dialog box, containing Safari, to give you a chance to login.

Traffic Shaping for Testing

Daniel Jalkut:

If only I could get a really slow connection to Flickr, then I could easily test this. In the old days of Mac OS 9 or earlier, I may have resorted to plugging in a slow modem to simulate the experience of the less bandwidth-fortunate. In Mac OS X however, I can take advantage of the advanced firewall software that comes bundled with the operating system, and which allows me to configure “traffic shaping” policies on the traffic coming in and out of my computer.

Wednesday, September 8, 2010

Loony Tunes

Clinton Duncan on the iTunes 10 icon:

Probably the most compelling argument against it is that most of Apple’s icons are almost photo-realistic representations, of, well, things. But given iTunes current Swiss Army Knife-like functionality, good luck coming up with an object to represent everything it does. Amongst its Apple siblings, the cartoon-like clip art feel is certainly exacerbated, and the result is to cheapen the look of iTunes—almost as if it’s a children’s music learning program, and not the world’s pre-eminent entertainment content application.

Monday, September 6, 2010

Confessions of a Limited Mind

Matt Deatherage:

It seems more and more like I’m the only one with this limitation in the modern world. Most of my friends seem to handle phone calls, podcasts, and TV shows all running at the same time with perfect understanding of all of them. I know some people who read while listening to podcasts or lectures, but the thought of that just makes my brain cry.

Well, that makes two of us. I’m pretty sure that others are more effective at multitasking, but I think part of it is a differing awareness of (or tolerance for) human limitations. A person watching, say, Arrested Development will miss some of the jokes or give less attention to a conversation, but may not mind.

Sunday, September 5, 2010

Cocoa Unbound

Brent Simmons has created a new Cocoa mailing list for those frustrated by Apple’s Cocoa-Dev list not allowing discussion of certain interface design and engineering issues (via Mike Ash).

Thursday, September 2, 2010

Apple’s Trouble With TV

John Siracusa:

Any living room “solution” that doesn’t offer a way to view that hot serial drama on the night it airs or a favorite soap opera or that obscure cooking reality show your dad is obsessed with will never be a comprehensive solution. Instead, it just adds to the giant mess hanging off the back of the TV: another expense, another device, another remote, another headache.

There’s far too little content compared with cable/satellite or Netflix, and the video quality is 720p, and then only nominally. None of this is necessarily Apple’s fault, but it’s Apple TV’s problem. I think they’re on the right track with streaming rentals, though. I never wanted to “buy” large DRM-encoded files and then worry about backing them up and syncing them.

iTunes 10

To restore the stoplight buttons to their rightful horizontal orientation (via Mike Ash):

defaults write full-window -int -1

Garrett Murray:

A year ago, I compared the then-brand-new iTunes 9 against its predecessor. New year, new version of iTunes, so here’s an updated comparison. It’s amazing to see just how much visual tweaking Apple does with each new major version of the application.

He’s got a nice rollover comparison. I prefer the tighter vertical spacing and the color icons, although I like the move to making some of them more symbolic.

Shawn Blanc has screenshots of the new capacity indicator, now reflection-free.

It’s nice to see the funny tabs gone from the iPhone screen. The new recessed tabs are at least consistent with the iTunes Store, if not other Mac applications.

Jesper has some interesting comments:

It looks like the balance of power continues tipping. Info.plist now enlists an NSPrincipalClass, ITNSApplication, meaning that it uses the Cocoa startup path. (Very curiously, I can’t find that class by dumping iTunes.) Still chock full of Carbon, but it seems they’re going to do this over several versions.

I’m also following the MacInTouch reader report.

Update (2010-09-06): Pierre Igot:

While iTunes is indeed not a document-based application, it is possible to have multiple windows open in iTunes. Just double-click on the icon of any playlist or even the iTunes Store in the source list on the left of the main window.…This will open what you double-clicked on in a separate window and, guess what, that window has a title bar, which makes the vertical window controls look even sillier and uglier, because they are not even tucked in the corner of the window any more…

ATPM 16.09

The September issue of ATPM is out:

Wednesday, September 1, 2010

Dr. Gregory Parker, Department of Diagnostic Engineering

Greg Parker:

Go back to the board. Symptom: the object was allocated as an NSPathStore2. Symptom: the object’s isa pointer is now 0xa0050000, which is not NSPathStore2. What should the isa pointer’s value have been? otool and objc_getClass() agreed: the correct isa pointer should have been 0xa005f198. 0xa0050000 is suspiciously similar. Theory: something had cleared two bytes of this object, leaving a nonsense isa pointer. @"tzm-Latn" was a red herring.

Great post.

HTTP Live Streaming

Chris Adamson:

To summarize the spec: a client retrieves a playlist (an .m3u8, which is basically a UTF-8′ed version of the old WinAmp playlist format) that lists segments of the stream as flat files (often .m4a’s for audio, and .ts for video, which is an MPEG-2 transport stream, though Apple’s payload is presumably H.264/AAC). The client downloads these flat files and sends them to its local media player, and refreshes the playlist periodically to see if there are new files to fetch. The sizing and timing is configurable, but I think the defaults are like a 60-second refresh cycle on the playlist, and segments of about 10 seconds each.