Thursday, February 16, 2012
Dear Apple, Please Bring Free Updates from iOS "Back to the Mac" with OS X 10.8 Mountain Lion
But I think the best idea from iOS, free updates, should come "Back to the Mac". This policy would allow developers to use the latest APIs as quickly as possible and help developers & Apple reduce support cost for older OS X versions more quickly. Any kind of monetary transaction is going to slow down OS X update adoption. Any iOS developer with access to analytics can see how quickly iOS 5 adoption has taken off (I've seen 60-75% already). Lion has sold 17 million copies, Apple's best selling release ever. The last reported install base was 58M Macs. Lion is on roughly 29% of all Macs. Pretty good, not nearly free iOS 5 adoption good.
17 million Lion copies is a $510M gross, no small stash of cash to throw away. Except Apple has nearly $100B (or more by now) in cash, and making up that revenue is only 398k Macs at an average selling price of $1281.
Imagine the ad Apple could deliver promising free software updates for 2 years on all their devices! Contrast that with the Android 4.0 upgrade schedule from Motorola or the confusing array of costly and confusing Windows upgrades, the comedy gold practically writes itself.
I think Apple replaces the revenue easy with a combination of Apple's cut of increased Mac App Store sales, decreased support costs, but more importantly new users. They could really amp up the expectation that when you buy a Mac, Apple "takes care of you" unlike with all those razor thin margin PCs. More importantly, it hits Microsoft where it really hurts, their wallet.
Tuesday, February 07, 2012
Easily Localize Custom NSDateFormatter Date Format Strings in iOS 4+
Any way you slice it, a lot of new code |
NSString *formatString = [NSDateFormatter dateFormatFromTemplate:@"EdMMM" options:0
locale:[NSLocale currentLocale]];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:formatString];
NSString *todayString = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"todayString: %@", todayString);
Which results in this output formatted for the US like this:
2012-02-07 09:32:16.725 Untitled 2[1803:707] todayString: Tue, Feb 7
And when the locale is, for example, Great Britain, the output is this with the same code:
2012-02-07 09:36:32.439 Untitled 2[1839:707] todayString: Tue 7 Feb
Notice this even puts a comma in or not as required by the locale!
BTW, the excellent CodeRunner (available on the Mac App Store) is perfect for quickly running these kinds of code snippets to see the output.
Friday, February 03, 2012
A Lack of Sandboxing Leadership: Apple's AirPort Utility 6.0 for Mac OS X 10.7 Lion is NOT Sandboxed
All Shall Sandbox |
Apple decreed all apps submitted for Mac App Store review on or after March 1, 2012 must be sandboxed (there's no direct link, screenshot captures for posterity). The previous deadline was November 1, 2011.There has been a ton of debate on whether sandboxing as currently implemented actual solves the problem it sets out to. I'm not going to re-litagate that here. Introducing App Sandbox (Apple developer account required) from WWDC 11 makes as persuasive a case as I've ever seen for sandboxing.
There are problems with sandboxing in Lion that Apple needs to solve, and 10.7.3 implements or fixes (Apple dev forum) a number of sandbox issues. Good arguments, documentation, fixes, and mandated deadlines that have already been pushed back aren't going to conclusively prove to 3rd party app developers they must implement sandboxing now.
Leadership does. Look at a list of Apple apps, and you're just as likely to see them not sandboxed as sandboxed. A lot of Apple's high profile apps are not sandboxed:
- Safari 5.1.3 (Apple.com)
- Some of the parts of the app like Safari Web Content are, but the main UI app isn't
- Pages 4.1 (Mac App Store)
- iBooks Author 1.0 (Mac App Store)
- AirPort Utility 6.0 (Apple.com)
- iPhoto 9.2.1 (Mac App Store)
- iTunes 10.5.3 (Apple.com)
- Xcode 4.3 (Mac App Store - Released February 16, 2012)
Thursday, February 02, 2012
Netflix is my new HBO
When I grew up in the 80s, a particularly life changing event was when my family subscribed to HBO.
There were no parental controls in those days. If you had parents like mine that put a TV in your room with HBO on it, you could watch all sorts of stuff that you had no business seeing. HBO's always had loads of cheap crappy movies to round out the expensive good stuff and original series. HBO would play those crappy movies over and over, I'd watch'em over and over again. The later at night the better, especially if it was some horror or mind fuck flick. Past midnight, I'd watch stuff that I'd never give time during the day. Nightmare on Elm Street 4? Why not, I've got time. Swamp Thing? I've only seen it 15 times, what's one more viewing.
It hit me tonight that Netflix is my new HBO. Insomnia at 3 AM? Why not Don't Look Back, subtitled because it's French, starring The Matrix Reloaded's Monica Bellucci and The World Is Not Enough's Sophie Marceau? I've got nothing better to do.
The perfect kind of late night crappy movie is the one you:
- Can fall asleep to if you get tired again
- Don't mind turning off at any point because you really don't care about the story
- Might show you a bit of skin, no matter how fleeting
- Is unintentionally funny, so you laugh at it not with it
- You can watch in the background while you do something else (like write this post)
Plus, Netflix has mostly crappy content and it's getting worse as movie studios refuse to cut deals for newer better streaming content in reasonable timeframes. Which makes Netflix kind of perversely perfect for my late night insomnia needs. I won't be turning it off again if it stays anywhere close to $8/month and keeps the obscure content and/or bad content. And to think, I haven't even entered the time wasteland of TV-MA rated Japanese anime yet!
Wednesday, February 01, 2012
Exhibit A. On Why iOS 5 Newstand Apps Should Always Be Universal
I've had the New York Times app on my iPad since Newstand launched alongside iOS 5. I don't read the content, it's just not part of my workflow. What I love however are the notifications of important events just for having the app installed. The editorial selection is perfect, so I downloaded the NY Times app to my iPhone to get the notifications there as well.
I didn't realize what I downloaded on the iPhone was not a universal app. Imagine my surprise when I got back to my iPad & through the magic of App Store automatic downloads it appears I now have two NY Times!
When the iPad first came out, I would've agreed it was acceptable to ship separate apps for one actual app to pay for the cost of adding iPad features. No more. A universal app is really just table stakes at this point There's no user experience case to be made for shipping separate iPhone & iPad apps. Multiple apps for the same app just creates user confusion on the App Store, and in cases like this, on the device as well.
And it just looks really dumb in Newstand!
Why External Links Should Maybe Open in New Tabs
UX Movement posted Why External Links Should Open in New Tabs. I've never quibbled with any of Anthony Tseng's advice before, but this time I think he misses the mark somewhat.
True, for the primarily audience of this blog, I think opening external links in a new tab makes sense. I just went back to my posts this year and changed all external links. That's the key though, this decision has to be made based on the audience of the site.
Ever watch an older user or even young but not to savy user get dumped into a new browser tab? This sentence from UX Movement completely applies:
When a new window opens, it covers the user’s earlier window. The user is left confused and wondering how to get back.
Just replace window with tab and it still applies. All these users know is the back button.
So if your trying to appeal to browser savy users, go ahead and open external links in a new tab. If however you're trying to appeal to a broader audience with less browser know how, open external links in the current window or tab.